Skip to main content

Interface: StandardButtonProperties

Defined in: shared/types/componentProps.ts:361

Button-specific properties combining common patterns.

Remarksโ€‹

This interface combines the most common props needed for button components, serving as a standard template.

Hierarchyโ€‹

View Summary

Extendsโ€‹

Indexableโ€‹

[key: `data-${string}`]: string | number | boolean | undefined

Propertiesโ€‹

children?โ€‹

readonly optional children?: ReactNode;

Defined in: shared/types/componentProps.ts:36

Component content (text, elements, or other components)

Inherited fromโ€‹

CoreComponentProperties.children


className?โ€‹

readonly optional className?: string;

Defined in: shared/types/componentProps.ts:38

Additional CSS classes for styling customization

Inherited fromโ€‹

CoreComponentProperties.className


disabled?โ€‹

readonly optional disabled?: boolean;

Defined in: shared/types/componentProps.ts:40

Whether the component is disabled and non-interactive

Inherited fromโ€‹

CoreComponentProperties.disabled


id?โ€‹

readonly optional id?: string;

Defined in: shared/types/componentProps.ts:54

Optional DOM id forwarded to the underlying element.

Inherited fromโ€‹

DomIdentityProperties.id


aria-describedby?โ€‹

readonly optional aria-describedby?: string;

Defined in: shared/types/componentProps.ts:89

ARIA described-by reference for additional descriptions

Inherited fromโ€‹

AccessibilityProperties.aria-describedby


aria-disabled?โ€‹

readonly optional aria-disabled?: boolean;

Defined in: shared/types/componentProps.ts:91

ARIA disabled state for interactive controls that are visually disabled

Inherited fromโ€‹

AccessibilityProperties.aria-disabled


aria-label?โ€‹

readonly optional aria-label?: string;

Defined in: shared/types/componentProps.ts:93

ARIA label for screen readers

Inherited fromโ€‹

AccessibilityProperties.aria-label


aria-labelledby?โ€‹

readonly optional aria-labelledby?: string;

Defined in: shared/types/componentProps.ts:95

ARIA labelledby reference for complex labeling

Inherited fromโ€‹

AccessibilityProperties.aria-labelledby


aria-level?โ€‹

readonly optional aria-level?: number;

Defined in: shared/types/componentProps.ts:97

ARIA heading level for elements using role="heading"

Inherited fromโ€‹

AccessibilityProperties.aria-level


role?โ€‹

readonly optional role?: string;

Defined in: shared/types/componentProps.ts:99

Role attribute for semantic meaning

Inherited fromโ€‹

AccessibilityProperties.role


tabIndex?โ€‹

readonly optional tabIndex?: number;

Defined in: shared/types/componentProps.ts:101

Tab index for keyboard navigation

Inherited fromโ€‹

AccessibilityProperties.tabIndex


fullWidth?โ€‹

readonly optional fullWidth?: boolean;

Defined in: shared/types/componentProps.ts:143

Whether component should take full width of its container

Inherited fromโ€‹

StylingProperties.fullWidth


size?โ€‹

readonly optional size?: ComponentSize;

Defined in: shared/types/componentProps.ts:145

Size variant for the component

Inherited fromโ€‹

StylingProperties.size


style?โ€‹

readonly optional style?: CSSProperties;

Defined in: shared/types/componentProps.ts:147

Inline styles to apply (use sparingly)

Inherited fromโ€‹

StylingProperties.style


variant?โ€‹

readonly optional variant?: ComponentVariant;

Defined in: shared/types/componentProps.ts:149

Visual variant for component theming

Inherited fromโ€‹

StylingProperties.variant


active?โ€‹

readonly optional active?: boolean;

Defined in: shared/types/componentProps.ts:163

Whether the component is in an active state

Inherited fromโ€‹

StateProperties.active


loading?โ€‹

readonly optional loading?: boolean;

Defined in: shared/types/componentProps.ts:165

Whether the component is in a loading state

Inherited fromโ€‹

StateProperties.loading


selected?โ€‹

readonly optional selected?: boolean;

Defined in: shared/types/componentProps.ts:167

Whether the component is selected

Inherited fromโ€‹

StateProperties.selected


icon?โ€‹

readonly optional icon?: ReactNode;

Defined in: shared/types/componentProps.ts:205

Icon element to display

Inherited fromโ€‹

IconProperties.icon


iconColor?โ€‹

readonly optional iconColor?: string;

Defined in: shared/types/componentProps.ts:207

Color theme for the icon

Inherited fromโ€‹

IconProperties.iconColor


iconOnly?โ€‹

readonly optional iconOnly?: boolean;

Defined in: shared/types/componentProps.ts:209

Whether to show only the icon (hide text content)

Inherited fromโ€‹

IconProperties.iconOnly


iconPosition?โ€‹

readonly optional iconPosition?: "left" | "right";

Defined in: shared/types/componentProps.ts:211

Position of the icon relative to content

Inherited fromโ€‹

IconProperties.iconPosition


form?โ€‹

readonly optional form?: string;

Defined in: shared/types/componentProps.ts:377

Optional form id to associate the button with an external <form>.

Remarksโ€‹

This enables submit/reset buttons to live outside the form element (e.g. in a dialog footer) while still triggering form submission.


onClick?โ€‹

readonly optional onClick?: ClickFlexibleHandler<HTMLButtonElement>;

Defined in: shared/types/componentProps.ts:379

Click handler for button interactions.


onKeyDown?โ€‹

readonly optional onKeyDown?: KeyPressHandler<HTMLButtonElement>;

Defined in: shared/types/componentProps.ts:385

Key down handler for keyboard interactions (e.g., arrow-key tab navigation).


title?โ€‹

readonly optional title?: string;

Defined in: shared/types/componentProps.ts:387

Tooltip text for hover states


type?โ€‹

readonly optional type?: "button" | "reset" | "submit";

Defined in: shared/types/componentProps.ts:389

HTML button type


value?โ€‹

readonly optional value?: string;

Defined in: shared/types/componentProps.ts:400

Optional string value assigned to the underlying HTML button.

Remarksโ€‹

This is useful when a shared click handler needs to identify which button was clicked without relying on data-* attributes.