UNPKG

@hashicorp/design-system-components

Version:
41 lines (40 loc) 1.88 kB
/** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import { HdsCopyButtonSizeValues } from './types.ts'; import type { HdsCopyButtonSizes } from './types.ts'; import type { HdsButtonSignature } from '../../button/index'; import type { HdsClipboardModifierSignature } from '../../../../modifiers/hds-clipboard.ts'; import type { HdsIconSignature } from '../../icon/index'; import type HdsIntlService from '../../../../services/hds-intl.ts'; export declare const DEFAULT_SIZE = HdsCopyButtonSizeValues.Medium; export declare const SIZES: HdsCopyButtonSizes[]; export declare const DEFAULT_ICON = "clipboard-copy"; export declare const SUCCESS_ICON = "clipboard-checked"; export declare const ERROR_ICON = "clipboard-x"; export declare const DEFAULT_STATUS = "idle"; export interface HdsCopyButtonSignature { Args: HdsButtonSignature['Args'] & { size?: HdsCopyButtonSizes; textToCopy?: HdsClipboardModifierSignature['Args']['Named']['text']; targetToCopy?: HdsClipboardModifierSignature['Args']['Named']['target']; onSuccess?: HdsClipboardModifierSignature['Args']['Named']['onSuccess']; onError?: HdsClipboardModifierSignature['Args']['Named']['onError']; ariaMessageText?: string; }; Element: HdsButtonSignature['Element']; } export default class HdsCopyButton extends Component<HdsCopyButtonSignature> { readonly hdsIntl: HdsIntlService; private _status; private _timer; get icon(): HdsIconSignature['Args']['name']; get size(): HdsCopyButtonSizes; get classNames(): string; get ariaMessageText(): string; onSuccess: (args: HdsClipboardModifierSignature["Args"]["Named"]["onSuccess"]) => void; onError: (args: HdsClipboardModifierSignature["Args"]["Named"]["onError"]) => void; resetStatusDelayed: () => void; }