import { InputHTMLAttributes, ReactNode } from "react";
import { Colors } from "../../theme";
export const scales = {
SM: "sm",
MD: "md",
LG: "lg",
} as const;
export type Scales = (typeof scales)[keyof typeof scales];
export interface ToggleProps extends InputHTMLAttributes {
scale?: Scales;
checked?: boolean;
checkedColor?: keyof Colors;
defaultColor?: keyof Colors;
startIcon?: (isActive?: boolean) => ReactNode;
endIcon?: (isActive?: boolean) => ReactNode;
}
export interface HandleProps {
scale: Scales;
}
export interface InputProps {
scale: Scales;
}
export interface StyleToggleProps {
$checked: boolean;
$checkedColor: keyof Colors;
$defaultColor: keyof Colors;
scale: Scales;
disabled?: boolean;
}
export const scaleKeys = {
handleHeight: "handleHeight",
handleWidth: "handleWidth",
handleLeft: "handleLeft",
handleTop: "handleTop",
checkedLeft: "checkedLeft",
toggleHeight: "toggleHeight",
toggleWidth: "toggleWidth",
} as const;
export type ScaleKeys = (typeof scaleKeys)[keyof typeof scaleKeys];