import { ClassValue, StyledComponentProps, ThemeColor } from "../../types/shared.js"; import { SwitchSlots } from "./switch-varianst.js"; import { SwitchProps, SwitchThumbProps } from "@radix-ui/react-switch"; //#region src/components/switch/types.d.ts /** * Props for the switch root component. * Extends the base Radix UI switch props with additional theme customization. */ interface SwitchRootProps extends StyledComponentProps { /** * Color theme to apply to the switch component. * Controls the visual appearance of the switch in different states. */ color?: ThemeColor; } /** * Props for the switch thumb component. * The sliding toggle element that moves within the switch track. */ type SwitchThumbProps$1 = StyledComponentProps; /** * Class names for different slots in the switch component. * Allows customizing styles for specific parts of the switch (root, thumb, etc.). * * @example * ```tsx * const classNames = { * root: 'custom-root-class', * thumb: 'custom-thumb-class' * } * ``` */ type ClassNames = Partial>; /** * Props for the Switch component. * Combines root props with class name customization support. * * @example * ```tsx * * ``` */ interface SwitchProps$1 extends SwitchRootProps { /** * Class names for customizing different slots within the switch component. */ classNames?: ClassNames; } //#endregion export { ClassNames, SwitchProps$1 as SwitchProps, SwitchRootProps, SwitchThumbProps$1 as SwitchThumbProps };