UNPKG

@hashicorp/design-system-components

Version:
40 lines (39 loc) 1.7 kB
/** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import { HdsCopySnippetColorValues } from './types.ts'; import type { HdsCopySnippetColors } from './types.ts'; import type { HdsClipboardModifierSignature } from '../../../../modifiers/hds-clipboard.ts'; import type { HdsIconSignature } from '../../icon/index'; export declare const DEFAULT_COLOR = HdsCopySnippetColorValues.Primary; export declare const COLORS: HdsCopySnippetColors[]; 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 HdsCopySnippetSignature { Args: { color?: HdsCopySnippetColors; isFullWidth?: boolean; textToCopy: HdsClipboardModifierSignature['Args']['Named']['text']; isTruncated?: boolean; onSuccess?: HdsClipboardModifierSignature['Args']['Named']['onSuccess']; onError?: HdsClipboardModifierSignature['Args']['Named']['onError']; }; Element: HTMLButtonElement; } export default class HdsCopySnippet extends Component<HdsCopySnippetSignature> { private _status; private _timer; get textToShow(): string; get icon(): HdsIconSignature['Args']['name']; get color(): HdsCopySnippetColors; get isFullWidth(): boolean; get isTruncated(): boolean; get classNames(): string; onSuccess: (args: HdsClipboardModifierSignature["Args"]["Named"]["onSuccess"]) => void; onError: (args: HdsClipboardModifierSignature["Args"]["Named"]["onError"]) => void; resetStatusDelayed: () => void; }