import { type Assign, Select } from '@ark-ui/solid' import type { ComponentProps } from 'solid-js' import { type SelectVariantProps, select } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' import { createStyleContext } from './utils/create-style-context' const { withRootProvider, withContext } = createStyleContext(select) export type RootProviderProps = ComponentProps export const RootProvider = withRootProvider< Assign< Assign, Select.RootProviderBaseProps>, SelectVariantProps > >(Select.RootProvider) export type RootProps = ComponentProps export const Root = withRootProvider< Assign< Assign, Select.RootBaseProps>, SelectVariantProps > >(Select.Root) export const ClearTrigger = withContext< Assign, Select.ClearTriggerBaseProps> >(Select.ClearTrigger, 'clearTrigger') export const Content = withContext, Select.ContentBaseProps>>( Select.Content, 'content', ) export const Control = withContext, Select.ControlBaseProps>>( Select.Control, 'control', ) export const Indicator = withContext, Select.IndicatorBaseProps>>( Select.Indicator, 'indicator', ) export const ItemGroupLabel = withContext< Assign, Select.ItemGroupLabelBaseProps> >(Select.ItemGroupLabel, 'itemGroupLabel') export const ItemGroup = withContext, Select.ItemGroupBaseProps>>( Select.ItemGroup, 'itemGroup', ) export const ItemIndicator = withContext< Assign, Select.ItemIndicatorBaseProps> >(Select.ItemIndicator, 'itemIndicator') export const Item = withContext, Select.ItemBaseProps>>( Select.Item, 'item', ) export const ItemText = withContext, Select.ItemTextBaseProps>>( Select.ItemText, 'itemText', ) export const Label = withContext, Select.LabelBaseProps>>( Select.Label, 'label', ) export const List = withContext, Select.ListBaseProps>>( Select.List, 'list', ) export const Positioner = withContext, Select.PositionerBaseProps>>( Select.Positioner, 'positioner', ) export const Trigger = withContext, Select.TriggerBaseProps>>( Select.Trigger, 'trigger', ) export const ValueText = withContext, Select.ValueTextBaseProps>>( Select.ValueText, 'valueText', ) export { SelectContext as Context, SelectHiddenSelect as HiddenSelect, } from '@ark-ui/solid'