'use client'
import type { Assign, SelectRootProps } from '@ark-ui/react'
import { ark } from '@ark-ui/react/factory'
import { Select, useSelectItemContext } from '@ark-ui/react/select'
import { forwardRef, type RefAttributes } from 'react'
import { createStyleContext } from 'styled-system/jsx'
import { type SelectVariantProps, select } from 'styled-system/recipes'
import type { HTMLStyledProps } from 'styled-system/types'
const { withProvider, withContext } = createStyleContext(select)
// Icon components (simplified versions)
const CheckIcon = () => (
)
const ChevronsUpDownIcon = () => (
)
type StyleProps = SelectVariantProps & HTMLStyledProps<'div'>
export type RootProps = Assign, StyleProps> & RefAttributes
export const Root = withProvider(Select.Root, 'root') as Select.RootComponent
export const ClearTrigger = withContext(Select.ClearTrigger, 'clearTrigger')
export const Content = withContext(Select.Content, 'content')
export const Control = withContext(Select.Control, 'control')
export const IndicatorGroup = withContext(ark.div, 'indicatorGroup')
export const Item = withContext(Select.Item, 'item')
export const ItemGroup = withContext(Select.ItemGroup, 'itemGroup')
export const ItemGroupLabel = withContext(Select.ItemGroupLabel, 'itemGroupLabel')
export const ItemText = withContext(Select.ItemText, 'itemText')
export const Label = withContext(Select.Label, 'label')
export const List = withContext(Select.List, 'list')
export const Positioner = withContext(Select.Positioner, 'positioner')
export const Trigger = withContext(Select.Trigger, 'trigger')
export const ValueText = withContext(Select.ValueText, 'valueText')
export const Indicator = withContext(Select.Indicator, 'indicator', {
defaultProps: { children: },
})
export const HiddenSelect = Select.HiddenSelect
export {
SelectContext as Context,
SelectItemContext as ItemContext,
type SelectValueChangeDetails as ValueChangeDetails,
} from '@ark-ui/react/select'
const StyledItemIndicator = withContext(Select.ItemIndicator, 'itemIndicator')
export const ItemIndicator = forwardRef>(
function ItemIndicator(props, ref) {
const item = useSelectItemContext()
return item.selected ? (
) : (
)
},
)