UNPKG

@hashicorp/design-system-components

Version:
40 lines (39 loc) 1.64 kB
/** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import { HdsButtonSizeValues, HdsButtonColorValues, HdsButtonIconPositionValues } from './types.ts'; import type { HdsButtonSizes, HdsButtonColors, HdsButtonIconPositions } from './types.ts'; import type { HdsInteractiveSignature } from '../interactive/index'; import type { HdsIconSignature } from '../icon/index'; export declare const SIZES: HdsButtonSizes[]; export declare const COLORS: HdsButtonColors[]; export declare const ICON_POSITIONS: HdsButtonIconPositions[]; export declare const DEFAULT_SIZE = HdsButtonSizeValues.Medium; export declare const DEFAULT_COLOR = HdsButtonColorValues.Primary; export declare const DEFAULT_ICON_POSITION = HdsButtonIconPositionValues.Leading; export interface HdsButtonSignature { Args: HdsInteractiveSignature['Args'] & { size?: HdsButtonSizes; color?: HdsButtonColors; text: string; icon?: HdsIconSignature['Args']['name']; iconPosition?: HdsButtonIconPositions; isIconOnly?: boolean; isFullWidth?: boolean; isInline?: boolean; }; Element: HdsInteractiveSignature['Element']; } export default class HdsButton extends Component<HdsButtonSignature> { get text(): string; get size(): HdsButtonSizes; get color(): HdsButtonColors; get icon(): HdsIconSignature['Args']['name'] | undefined; get isIconOnly(): boolean; get iconPosition(): HdsButtonIconPositions; get iconSize(): HdsIconSignature['Args']['size']; get isFullWidth(): boolean; get classNames(): string; }