DocsAPI referenceHeadlessclipboard

clipboard headless API

The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.

@grassroot/ui-headless-core/clipboard

Core connector and vanilla API

9 exports
View source packages/ui-headless/core/src/clipboard.ts
DeclarationView source
ClipboardControllerts
interface ClipboardController {
attach(element: Element): void;
destroy(): void;
listenerCount(): number;
}
Name
Kind
Type
Requirement
attach
method
(element: Element) => void
required
destroy
method
() => void
required
listenerCount
method
() => number
required
Name
attach
Kind
method
Type
(element: Element) => void
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
listenerCount
Kind
method
Type
() => number
Requirement
required

ClipboardManager

interface
DeclarationView source
ClipboardManagerts
interface ClipboardManager {
copy(text: string): Promise<void>;
subscribe(listener: () => void): () => void;
getState(): ClipboardState;
destroy(): void;
}
Name
Kind
Type
Requirement
copy
method
(text: string) => Promise<void>
required
destroy
method
() => void
required
getState
method
() => ClipboardState
required
subscribe
method
(listener: () => void) => () => void
required
Name
copy
Kind
method
Type
(text: string) => Promise<void>
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
getState
Kind
method
Type
() => ClipboardState
Requirement
required
Name
subscribe
Kind
method
Type
(listener: () => void) => () => void
Requirement
required
DeclarationView source
ClipboardManagerOptionsts
interface ClipboardManagerOptions {
readonly writeText?: (text: string) => void | Promise<void>;
readonly copiedDuration?: number;
}
Name
Kind
Type
Requirement
copiedDuration
property
number
optional
writeText
property
(text: string) => void | Promise<void>
optional
Name
copiedDuration
Kind
property
Type
number
Requirement
optional
Name
writeText
Kind
property
Type
(text: string) => void | Promise<void>
Requirement
optional

ClipboardState

interface
DeclarationView source
ClipboardStatets
interface ClipboardState {
readonly copied: boolean;
readonly text?: string;
}
Name
Kind
Type
Requirement
copied
property
boolean
required
text
property
string
optional
Name
copied
Kind
property
Type
boolean
Requirement
required
Name
text
Kind
property
Type
string
Requirement
optional
DeclarationView source
ClipboardTSVOptionsts
interface ClipboardTSVOptions {
readonly columnDelimiter?: string;
readonly rowDelimiter?: string;
}
Name
Kind
Type
Requirement
columnDelimiter
property
string
optional
rowDelimiter
property
string
optional
Name
columnDelimiter
Kind
property
Type
string
Requirement
optional
Name
rowDelimiter
Kind
property
Type
string
Requirement
optional
DeclarationView source
createClipboardControllerts
declare function createClipboardController(options: {
readonly onCopy: () => string;
readonly onPaste: (text: string) => void;
readonly onCut?: () => string;
}): ClipboardController;
Name
Kind
Type
Requirement
options
parameter
{ readonly onCopy: () => string; readonly onPaste: (text: string) => void; readonly onCut?: () => string; }
required
return
return value
ClipboardController
n/a
Name
options
Kind
parameter
Type
{ readonly onCopy: () => string; readonly onPaste: (text: string) => void; readonly onCut?: () => string; }
Requirement
required
Name
return
Kind
return value
Type
ClipboardController
Requirement
n/a
DeclarationView source
createClipboardManagerts
declare function createClipboardManager(options?: ClipboardManagerOptions): ClipboardManager;
Name
Kind
Type
Requirement
options
parameter
ClipboardManagerOptions
optional
return
return value
ClipboardManager
n/a
Name
options
Kind
parameter
Type
ClipboardManagerOptions
Requirement
optional
Name
return
Kind
return value
Type
ClipboardManager
Requirement
n/a

rowsToTSV

function
DeclarationView source
rowsToTSVts
declare function rowsToTSV(rows: readonly (readonly string[])[], options?: ClipboardTSVOptions): string;
Name
Kind
Type
Requirement
rows
parameter
readonly (readonly string[])[]
required
options
parameter
ClipboardTSVOptions
optional
return
return value
string
n/a
Name
rows
Kind
parameter
Type
readonly (readonly string[])[]
Requirement
required
Name
options
Kind
parameter
Type
ClipboardTSVOptions
Requirement
optional
Name
return
Kind
return value
Type
string
Requirement
n/a

tsvToRows

function
DeclarationView source
tsvToRowsts
declare function tsvToRows(text: string, options?: ClipboardTSVOptions): string[][];
Name
Kind
Type
Requirement
text
parameter
string
required
options
parameter
ClipboardTSVOptions
optional
return
return value
string[][]
n/a
Name
text
Kind
parameter
Type
string
Requirement
required
Name
options
Kind
parameter
Type
ClipboardTSVOptions
Requirement
optional
Name
return
Kind
return value
Type
string[][]
Requirement
n/a

Framework adapters

Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.

This entry is core-only. No framework adapter package ships for clipboard yet — mount it through the vanilla API above.