import { type Assign, Switch } from '@ark-ui/solid' import type { ComponentProps } from 'solid-js' import { type SwitchRecipeVariantProps, switchRecipe } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' import { createStyleContext } from './utils/create-style-context' const { withProvider, withContext } = createStyleContext(switchRecipe) export type RootProviderProps = ComponentProps export const RootProvider = withProvider< Assign, Switch.RootProviderBaseProps>, SwitchRecipeVariantProps> >(Switch.RootProvider, 'root') export type RootProps = ComponentProps export const Root = withProvider< Assign, Switch.RootBaseProps>, SwitchRecipeVariantProps> >(Switch.Root, 'root') export const Control = withContext, Switch.ControlBaseProps>>( Switch.Control, 'control', ) export const Label = withContext, Switch.LabelBaseProps>>( Switch.Label, 'label', ) export const Thumb = withContext, Switch.ThumbBaseProps>>( Switch.Thumb, 'thumb', ) export { SwitchContext as Context, SwitchHiddenInput as HiddenInput, } from '@ark-ui/solid'