@hashicorp/design-system-components
Version:
Helios Design System Components
40 lines (39 loc) • 1.7 kB
TypeScript
/**
* 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;
}