UNPKG

@shakibdshy/react-button-pro

Version:

A flexible and feature-rich button component for React

677 lines (669 loc) 46.1 kB
import * as react from 'react'; import react__default from 'react'; import { VariantProps } from 'class-variance-authority'; import { button, buttonGroup } from '@shakibdshy/tailwind-theme'; type ButtonColor = 'primary' | 'secondary' | 'info' | 'neutral' | 'error' | 'warning' | 'success'; type ButtonVariant = 'primary' | 'outline' | 'flat' | 'light' | 'ghost' | 'text'; type ButtonSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl'; type ButtonRounded = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'none'; type ButtonVariants = VariantProps<typeof button>; interface RippleOptions { hasRipple?: boolean; rippleColor?: string; rippleDuration?: number; } interface AriaButtonProps { "aria-label"?: string; "aria-describedby"?: string; "aria-pressed"?: boolean; "aria-expanded"?: boolean; "aria-controls"?: string; "aria-haspopup"?: boolean | "menu" | "dialog" | "listbox" | "tree" | "grid"; } interface CommonProps extends ButtonVariants, AriaButtonProps, RippleOptions { className?: string; isDisabled?: boolean; isLoading?: boolean; spinner?: React.ReactNode; children: React.ReactNode; color?: ButtonColor; variant?: ButtonVariant; size?: ButtonSize; rounded?: ButtonRounded; spinnerColor?: ButtonColor | 'white'; } interface ButtonAsButtonProps extends CommonProps { as?: "button"; type?: "button" | "submit" | "reset"; } type OmitCommonProps = Omit<CommonProps, "children" | keyof AriaButtonProps>; type AnchorPropsWithoutColor = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>; interface ButtonAsAnchorProps extends AnchorPropsWithoutColor, OmitCommonProps { as: "a"; href: string; } type ButtonProps = ButtonAsButtonProps | ButtonAsAnchorProps; declare const Button: react__default.ForwardRefExoticComponent<ButtonProps & react__default.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>; type ButtonGroupVariants = VariantProps<typeof buttonGroup>; interface ButtonGroupAriaProps { "aria-label"?: string; "aria-orientation"?: "horizontal" | "vertical"; role?: "group" | "toolbar"; } interface ButtonGroupProps extends ButtonGroupVariants, ButtonGroupAriaProps { className?: string; children: react__default.ReactNode; } type UseButtonGroupProps = ButtonGroupProps; declare function useButtonGroup(props: UseButtonGroupProps): { groupProps: { className: string; "aria-label"?: string; "aria-orientation"?: "horizontal" | "vertical"; role?: "group" | "toolbar"; }; children: react.ReactNode; }; declare function ButtonGroup(props: UseButtonGroupProps): react__default.JSX.Element; type UseButtonProps = ButtonProps; declare function useButton(props: UseButtonProps): { buttonProps: { "aria-label"?: string; "aria-describedby"?: string; "aria-pressed"?: boolean; "aria-expanded"?: boolean; "aria-controls"?: string; "aria-haspopup"?: boolean | "menu" | "dialog" | "listbox" | "tree" | "grid"; className: string; } | { href: string; ping?: string | undefined | undefined; role?: react.AriaRole | undefined; "aria-label"?: string | undefined | undefined; "aria-describedby"?: string | undefined | undefined; "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined; "aria-expanded"?: (boolean | "true" | "false") | undefined; "aria-controls"?: string | undefined | undefined; "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined; download?: any; hrefLang?: string | undefined | undefined; media?: string | undefined | undefined; target?: react.HTMLAttributeAnchorTarget | undefined; referrerPolicy?: react.HTMLAttributeReferrerPolicy | undefined; defaultChecked?: boolean | undefined | undefined; defaultValue?: string | number | readonly string[] | undefined; suppressContentEditableWarning?: boolean | undefined | undefined; suppressHydrationWarning?: boolean | undefined | undefined; accessKey?: string | undefined | undefined; autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined; autoFocus?: boolean | undefined | undefined; contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined; contextMenu?: string | undefined | undefined; dir?: string | undefined | undefined; draggable?: (boolean | "true" | "false") | undefined; enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined; hidden?: boolean | undefined | undefined; id?: string | undefined | undefined; lang?: string | undefined | undefined; nonce?: string | undefined | undefined; slot?: string | undefined | undefined; spellCheck?: (boolean | "true" | "false") | undefined; style?: react.CSSProperties | undefined; tabIndex?: number | undefined | undefined; title?: string | undefined | undefined; translate?: "yes" | "no" | undefined | undefined; radioGroup?: string | undefined | undefined; about?: string | undefined | undefined; content?: string | undefined | undefined; datatype?: string | undefined | undefined; inlist?: any; prefix?: string | undefined | undefined; property?: string | undefined | undefined; rel?: string | undefined | undefined; resource?: string | undefined | undefined; rev?: string | undefined | undefined; typeof?: string | undefined | undefined; vocab?: string | undefined | undefined; autoCorrect?: string | undefined | undefined; autoSave?: string | undefined | undefined; itemProp?: string | undefined | undefined; itemScope?: boolean | undefined | undefined; itemType?: string | undefined | undefined; itemID?: string | undefined | undefined; itemRef?: string | undefined | undefined; results?: number | undefined | undefined; security?: string | undefined | undefined; unselectable?: "on" | "off" | undefined | undefined; popover?: "" | "auto" | "manual" | undefined | undefined; popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined; popoverTarget?: string | undefined | undefined; inert?: boolean | undefined | undefined; inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined; is?: string | undefined | undefined; "aria-activedescendant"?: string | undefined | undefined; "aria-atomic"?: (boolean | "true" | "false") | undefined; "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined; "aria-braillelabel"?: string | undefined | undefined; "aria-brailleroledescription"?: string | undefined | undefined; "aria-busy"?: (boolean | "true" | "false") | undefined; "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined; "aria-colcount"?: number | undefined | undefined; "aria-colindex"?: number | undefined | undefined; "aria-colindextext"?: string | undefined | undefined; "aria-colspan"?: number | undefined | undefined; "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined; "aria-description"?: string | undefined | undefined; "aria-details"?: string | undefined | undefined; "aria-disabled"?: (boolean | "true" | "false") | undefined; "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined; "aria-errormessage"?: string | undefined | undefined; "aria-flowto"?: string | undefined | undefined; "aria-grabbed"?: (boolean | "true" | "false") | undefined; "aria-hidden"?: (boolean | "true" | "false") | undefined; "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined; "aria-keyshortcuts"?: string | undefined | undefined; "aria-labelledby"?: string | undefined | undefined; "aria-level"?: number | undefined | undefined; "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined; "aria-modal"?: (boolean | "true" | "false") | undefined; "aria-multiline"?: (boolean | "true" | "false") | undefined; "aria-multiselectable"?: (boolean | "true" | "false") | undefined; "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined; "aria-owns"?: string | undefined | undefined; "aria-placeholder"?: string | undefined | undefined; "aria-posinset"?: number | undefined | undefined; "aria-readonly"?: (boolean | "true" | "false") | undefined; "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined; "aria-required"?: (boolean | "true" | "false") | undefined; "aria-roledescription"?: string | undefined | undefined; "aria-rowcount"?: number | undefined | undefined; "aria-rowindex"?: number | undefined | undefined; "aria-rowindextext"?: string | undefined | undefined; "aria-rowspan"?: number | undefined | undefined; "aria-selected"?: (boolean | "true" | "false") | undefined; "aria-setsize"?: number | undefined | undefined; "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined; "aria-valuemax"?: number | undefined | undefined; "aria-valuemin"?: number | undefined | undefined; "aria-valuenow"?: number | undefined | undefined; "aria-valuetext"?: string | undefined | undefined; dangerouslySetInnerHTML?: { __html: string | TrustedHTML; } | undefined | undefined; onCopy?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCopyCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCut?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCutCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onPaste?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onPasteCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCompositionEnd?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionEndCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionStart?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionStartCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionUpdate?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onFocus?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onFocusCapture?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onBlur?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onBlurCapture?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onChange?: react.FormEventHandler<HTMLAnchorElement> | undefined; onChangeCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onBeforeInput?: react.FormEventHandler<HTMLAnchorElement> | undefined; onBeforeInputCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInput?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInputCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onReset?: react.FormEventHandler<HTMLAnchorElement> | undefined; onResetCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onSubmit?: react.FormEventHandler<HTMLAnchorElement> | undefined; onSubmitCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInvalid?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInvalidCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onLoad?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onError?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onErrorCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onKeyDown?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyDownCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyPress?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyPressCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyUp?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyUpCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onAbort?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onAbortCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlay?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayThrough?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayThroughCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onDurationChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onDurationChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEmptied?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEmptiedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEncrypted?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEncryptedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEnded?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEndedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedData?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedDataCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedMetadata?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedMetadataCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadStart?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadStartCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPause?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPauseCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlay?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlayCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlaying?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlayingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onProgress?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onProgressCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onRateChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onRateChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onResize?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onResizeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeeked?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeekedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeeking?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeekingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onStalled?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onStalledCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSuspend?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSuspendCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTimeUpdate?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTimeUpdateCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onVolumeChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onVolumeChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onWaiting?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onWaitingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onAuxClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onAuxClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onContextMenu?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onContextMenuCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDoubleClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDoubleClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDrag?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnd?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEndCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnter?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnterCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragExit?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragExitCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragLeave?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragLeaveCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragOver?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragOverCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragStart?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragStartCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDrop?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDropCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onMouseDown?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseDownCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseEnter?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseLeave?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseMove?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseMoveCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOut?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOutCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOver?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOverCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseUp?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseUpCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onSelect?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSelectCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTouchCancel?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchCancelCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchEnd?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchEndCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchMove?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchMoveCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchStart?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchStartCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onPointerDown?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerDownCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerMove?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerMoveCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerUp?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerUpCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerCancel?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerCancelCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerEnter?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerLeave?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOver?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOverCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOut?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOutCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onGotPointerCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onLostPointerCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onScroll?: react.UIEventHandler<HTMLAnchorElement> | undefined; onScrollCapture?: react.UIEventHandler<HTMLAnchorElement> | undefined; onWheel?: react.WheelEventHandler<HTMLAnchorElement> | undefined; onWheelCapture?: react.WheelEventHandler<HTMLAnchorElement> | undefined; onAnimationStart?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationStartCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationEnd?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationEndCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationIteration?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationIterationCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onToggle?: react.ToggleEventHandler<HTMLAnchorElement> | undefined; onBeforeToggle?: react.ToggleEventHandler<HTMLAnchorElement> | undefined; onTransitionCancel?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionCancelCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionEnd?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionEndCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionRun?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionRunCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionStart?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionStartCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; className: string; } | { type: string | undefined; disabled: boolean | undefined; "aria-label"?: string; "aria-describedby"?: string; "aria-pressed"?: boolean; "aria-expanded"?: boolean; "aria-controls"?: string; "aria-haspopup"?: boolean | "menu" | "dialog" | "listbox" | "tree" | "grid"; className: string; } | { type: string | undefined; disabled: boolean | undefined; href: string; ping?: string | undefined | undefined; role?: react.AriaRole | undefined; "aria-label"?: string | undefined | undefined; "aria-describedby"?: string | undefined | undefined; "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined; "aria-expanded"?: (boolean | "true" | "false") | undefined; "aria-controls"?: string | undefined | undefined; "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined; download?: any; hrefLang?: string | undefined | undefined; media?: string | undefined | undefined; target?: react.HTMLAttributeAnchorTarget | undefined; referrerPolicy?: react.HTMLAttributeReferrerPolicy | undefined; defaultChecked?: boolean | undefined | undefined; defaultValue?: string | number | readonly string[] | undefined; suppressContentEditableWarning?: boolean | undefined | undefined; suppressHydrationWarning?: boolean | undefined | undefined; accessKey?: string | undefined | undefined; autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined; autoFocus?: boolean | undefined | undefined; contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined; contextMenu?: string | undefined | undefined; dir?: string | undefined | undefined; draggable?: (boolean | "true" | "false") | undefined; enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined; hidden?: boolean | undefined | undefined; id?: string | undefined | undefined; lang?: string | undefined | undefined; nonce?: string | undefined | undefined; slot?: string | undefined | undefined; spellCheck?: (boolean | "true" | "false") | undefined; style?: react.CSSProperties | undefined; tabIndex?: number | undefined | undefined; title?: string | undefined | undefined; translate?: "yes" | "no" | undefined | undefined; radioGroup?: string | undefined | undefined; about?: string | undefined | undefined; content?: string | undefined | undefined; datatype?: string | undefined | undefined; inlist?: any; prefix?: string | undefined | undefined; property?: string | undefined | undefined; rel?: string | undefined | undefined; resource?: string | undefined | undefined; rev?: string | undefined | undefined; typeof?: string | undefined | undefined; vocab?: string | undefined | undefined; autoCorrect?: string | undefined | undefined; autoSave?: string | undefined | undefined; itemProp?: string | undefined | undefined; itemScope?: boolean | undefined | undefined; itemType?: string | undefined | undefined; itemID?: string | undefined | undefined; itemRef?: string | undefined | undefined; results?: number | undefined | undefined; security?: string | undefined | undefined; unselectable?: "on" | "off" | undefined | undefined; popover?: "" | "auto" | "manual" | undefined | undefined; popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined; popoverTarget?: string | undefined | undefined; inert?: boolean | undefined | undefined; inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined; is?: string | undefined | undefined; "aria-activedescendant"?: string | undefined | undefined; "aria-atomic"?: (boolean | "true" | "false") | undefined; "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined; "aria-braillelabel"?: string | undefined | undefined; "aria-brailleroledescription"?: string | undefined | undefined; "aria-busy"?: (boolean | "true" | "false") | undefined; "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined; "aria-colcount"?: number | undefined | undefined; "aria-colindex"?: number | undefined | undefined; "aria-colindextext"?: string | undefined | undefined; "aria-colspan"?: number | undefined | undefined; "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined; "aria-description"?: string | undefined | undefined; "aria-details"?: string | undefined | undefined; "aria-disabled"?: (boolean | "true" | "false") | undefined; "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined; "aria-errormessage"?: string | undefined | undefined; "aria-flowto"?: string | undefined | undefined; "aria-grabbed"?: (boolean | "true" | "false") | undefined; "aria-hidden"?: (boolean | "true" | "false") | undefined; "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined; "aria-keyshortcuts"?: string | undefined | undefined; "aria-labelledby"?: string | undefined | undefined; "aria-level"?: number | undefined | undefined; "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined; "aria-modal"?: (boolean | "true" | "false") | undefined; "aria-multiline"?: (boolean | "true" | "false") | undefined; "aria-multiselectable"?: (boolean | "true" | "false") | undefined; "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined; "aria-owns"?: string | undefined | undefined; "aria-placeholder"?: string | undefined | undefined; "aria-posinset"?: number | undefined | undefined; "aria-readonly"?: (boolean | "true" | "false") | undefined; "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined; "aria-required"?: (boolean | "true" | "false") | undefined; "aria-roledescription"?: string | undefined | undefined; "aria-rowcount"?: number | undefined | undefined; "aria-rowindex"?: number | undefined | undefined; "aria-rowindextext"?: string | undefined | undefined; "aria-rowspan"?: number | undefined | undefined; "aria-selected"?: (boolean | "true" | "false") | undefined; "aria-setsize"?: number | undefined | undefined; "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined; "aria-valuemax"?: number | undefined | undefined; "aria-valuemin"?: number | undefined | undefined; "aria-valuenow"?: number | undefined | undefined; "aria-valuetext"?: string | undefined | undefined; dangerouslySetInnerHTML?: { __html: string | TrustedHTML; } | undefined | undefined; onCopy?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCopyCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCut?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCutCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onPaste?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onPasteCapture?: react.ClipboardEventHandler<HTMLAnchorElement> | undefined; onCompositionEnd?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionEndCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionStart?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionStartCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionUpdate?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLAnchorElement> | undefined; onFocus?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onFocusCapture?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onBlur?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onBlurCapture?: react.FocusEventHandler<HTMLAnchorElement> | undefined; onChange?: react.FormEventHandler<HTMLAnchorElement> | undefined; onChangeCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onBeforeInput?: react.FormEventHandler<HTMLAnchorElement> | undefined; onBeforeInputCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInput?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInputCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onReset?: react.FormEventHandler<HTMLAnchorElement> | undefined; onResetCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onSubmit?: react.FormEventHandler<HTMLAnchorElement> | undefined; onSubmitCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInvalid?: react.FormEventHandler<HTMLAnchorElement> | undefined; onInvalidCapture?: react.FormEventHandler<HTMLAnchorElement> | undefined; onLoad?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onError?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onErrorCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onKeyDown?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyDownCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyPress?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyPressCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyUp?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onKeyUpCapture?: react.KeyboardEventHandler<HTMLAnchorElement> | undefined; onAbort?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onAbortCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlay?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayThrough?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onCanPlayThroughCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onDurationChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onDurationChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEmptied?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEmptiedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEncrypted?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEncryptedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEnded?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onEndedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedData?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedDataCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedMetadata?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadedMetadataCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadStart?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onLoadStartCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPause?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPauseCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlay?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlayCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlaying?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onPlayingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onProgress?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onProgressCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onRateChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onRateChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onResize?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onResizeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeeked?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeekedCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeeking?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSeekingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onStalled?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onStalledCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSuspend?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSuspendCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTimeUpdate?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTimeUpdateCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onVolumeChange?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onVolumeChangeCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onWaiting?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onWaitingCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onAuxClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onAuxClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onContextMenu?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onContextMenuCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDoubleClick?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDoubleClickCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onDrag?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnd?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEndCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnter?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragEnterCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragExit?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragExitCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragLeave?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragLeaveCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragOver?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragOverCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragStart?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDragStartCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDrop?: react.DragEventHandler<HTMLAnchorElement> | undefined; onDropCapture?: react.DragEventHandler<HTMLAnchorElement> | undefined; onMouseDown?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseDownCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseEnter?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseLeave?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseMove?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseMoveCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOut?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOutCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOver?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseOverCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseUp?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onMouseUpCapture?: react.MouseEventHandler<HTMLAnchorElement> | undefined; onSelect?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onSelectCapture?: react.ReactEventHandler<HTMLAnchorElement> | undefined; onTouchCancel?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchCancelCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchEnd?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchEndCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchMove?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchMoveCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchStart?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onTouchStartCapture?: react.TouchEventHandler<HTMLAnchorElement> | undefined; onPointerDown?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerDownCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerMove?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerMoveCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerUp?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerUpCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerCancel?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerCancelCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerEnter?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerLeave?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOver?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOverCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOut?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onPointerOutCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onGotPointerCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onLostPointerCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLAnchorElement> | undefined; onScroll?: react.UIEventHandler<HTMLAnchorElement> | undefined; onScrollCapture?: react.UIEventHandler<HTMLAnchorElement> | undefined; onWheel?: react.WheelEventHandler<HTMLAnchorElement> | undefined; onWheelCapture?: react.WheelEventHandler<HTMLAnchorElement> | undefined; onAnimationStart?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationStartCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationEnd?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationEndCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationIteration?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onAnimationIterationCapture?: react.AnimationEventHandler<HTMLAnchorElement> | undefined; onToggle?: react.ToggleEventHandler<HTMLAnchorElement> | undefined; onBeforeToggle?: react.ToggleEventHandler<HTMLAnchorElement> | undefined; onTransitionCancel?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionCancelCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionEnd?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionEndCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionRun?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionRunCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionStart?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; onTransitionStartCapture?: react.TransitionEventHandler<HTMLAnchorElement> | undefined; className: string; }; isAnchor: boolean; isLoading: boolean | undefined; isDisabled: boolean | undefined; spinner: react.ReactNode; spinnerColor: "white" | ButtonColor | undefined; children: react.ReactNode; hasRipple: boolean; rippleColor: string | undefined; rippleDuration: number | undefined; }; export { Button, type ButtonAsAnchorProps, type ButtonAsButtonProps, type ButtonColor, ButtonGroup, type ButtonGroupProps, type ButtonGroupVariants, type ButtonProps, type ButtonRounded, type ButtonSize, type ButtonVariant, type ButtonVariants, type CommonProps, type RippleOptions, type UseButtonProps, useButton, useButtonGroup };