diff --git a/COMPONENT_INDEX.md b/COMPONENT_INDEX.md index c042d60d..052c625c 100644 --- a/COMPONENT_INDEX.md +++ b/COMPONENT_INDEX.md @@ -921,6 +921,8 @@ None. | Prop name | Kind | Reactive | Type | Default value | Description | | :-------------- | :--------------- | :------- | :---------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| feedback | let | No | string | "Copied!" | Set the feedback text shown after clicking the button | +| feedbackTimeout | let | No | number | 2000 | Set the timeout duration (ms) to display feedback text | | iconDescription | let | No | string | "Copy to clipboard" | Set the title and ARIA label for the copy button | | text | let | No | string | undefined | Specify the text to copy | | copy | let | No | (text: string) => void | async (text) => { try { await navigator.clipboard.writeText(text); } catch (e) { console.log(e); } } | Override the default copy behavior of using the navigator.clipboard.writeText API to copy text | diff --git a/docs/src/COMPONENT_API.json b/docs/src/COMPONENT_API.json index 40cc4d90..f7698d84 100644 --- a/docs/src/COMPONENT_API.json +++ b/docs/src/COMPONENT_API.json @@ -2180,6 +2180,28 @@ "moduleName": "CopyButton", "filePath": "src/CopyButton/CopyButton.svelte", "props": [ + { + "name": "feedback", + "kind": "let", + "description": "Set the feedback text shown after clicking the button", + "type": "string", + "value": "\"Copied!\"", + "isFunction": false, + "isFunctionDeclaration": false, + "constant": false, + "reactive": false + }, + { + "name": "feedbackTimeout", + "kind": "let", + "description": "Set the timeout duration (ms) to display feedback text", + "type": "number", + "value": "2000", + "isFunction": false, + "isFunctionDeclaration": false, + "constant": false, + "reactive": false + }, { "name": "iconDescription", "kind": "let", @@ -2216,16 +2238,12 @@ "moduleExports": [], "slots": [], "events": [ - { "type": "forwarded", "name": "click", "element": "Copy" }, - { "type": "forwarded", "name": "animationend", "element": "Copy" }, + { "type": "forwarded", "name": "click", "element": "button" }, + { "type": "forwarded", "name": "animationend", "element": "button" }, { "type": "dispatched", "name": "copy" } ], "typedefs": [], - "rest_props": { "type": "InlineComponent", "name": "Copy" }, - "extends": { - "interface": "CopyProps", - "import": "\"../Copy/Copy.svelte\"" - } + "rest_props": { "type": "Element", "name": "button" } }, { "moduleName": "DataTable", diff --git a/types/CopyButton/CopyButton.svelte.d.ts b/types/CopyButton/CopyButton.svelte.d.ts index 8af33ec5..68e357eb 100644 --- a/types/CopyButton/CopyButton.svelte.d.ts +++ b/types/CopyButton/CopyButton.svelte.d.ts @@ -1,8 +1,20 @@ /// import { SvelteComponentTyped } from "svelte"; -import { CopyProps } from "../Copy/Copy.svelte"; -export interface CopyButtonProps extends CopyProps { +export interface CopyButtonProps + extends svelte.JSX.HTMLAttributes { + /** + * Set the feedback text shown after clicking the button + * @default "Copied!" + */ + feedback?: string; + + /** + * Set the timeout duration (ms) to display feedback text + * @default 2000 + */ + feedbackTimeout?: number; + /** * Set the title and ARIA label for the copy button * @default "Copy to clipboard"