import { HTMLChakraProps, RecipeProps, SlotRecipeProps } from '@chakra-ui/react/styled-system'; import { AriaToggleButtonGroupProps, AriaToggleButtonProps } from 'react-aria'; import { ToggleButton as RaToggleButton, ToggleButtonGroup as RaToggleButtonGroup } from 'react-aria-components'; import { SemanticPalettesOnly } from '../../type-utils'; type ToggleButtonGroupRecipeVariantProps = { /** * Size variant * @default "md" */ size?: SlotRecipeProps<"nimbusToggleButtonGroup">["size"]; }; type ToggleButtonGroupRootSlotProps = Omit>, "colorPalette"> & { /** * Color palette for the button group */ colorPalette?: SemanticPalettesOnly; }; type ToggleButtonGroupButtonSlotProps = HTMLChakraProps<"button", RecipeProps<"button">>; type ToggleButtonGroupRootCombinedProps = ToggleButtonGroupRootSlotProps & AriaToggleButtonGroupProps; export type ToggleButtonGroupProps = ToggleButtonGroupRecipeVariantProps & Omit & { ref?: React.Ref; }; /** * Type signature for the main ToggleButtonGroup component. */ export type ToggleButtonGroupRootComponent = React.FC; export type ToggleButtonGroupButtonProps = ToggleButtonGroupButtonSlotProps & AriaToggleButtonProps & { ref?: React.Ref; }; /** * Type signature for the ToggleButtonGroup.Button sub-component. */ export type ToggleButtonGroupButtonComponent = React.FC; export {};