import { type Assign, Menu } from '@ark-ui/solid' import type { ComponentProps } from 'solid-js' import { type MenuVariantProps, menu } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' import { createStyleContext } from './utils/create-style-context' const { withRootProvider, withContext } = createStyleContext(menu) export type RootProviderProps = ComponentProps export const RootProvider = withRootProvider>( Menu.RootProvider, ) export type RootProps = ComponentProps export const Root = withRootProvider>(Menu.Root) export const Arrow = withContext, Menu.ArrowBaseProps>>( Menu.Arrow, 'arrow', ) export const ArrowTip = withContext, Menu.ArrowTipBaseProps>>( Menu.ArrowTip, 'arrowTip', ) export const CheckboxItem = withContext, Menu.CheckboxItemBaseProps>>( Menu.CheckboxItem, 'item', ) export const Content = withContext, Menu.ContentBaseProps>>( Menu.Content, 'content', ) export const ContextTrigger = withContext< Assign, Menu.ContextTriggerBaseProps> >(Menu.ContextTrigger, 'contextTrigger') export const Indicator = withContext, Menu.IndicatorBaseProps>>( Menu.Indicator, 'indicator', ) export const ItemGroupLabel = withContext< Assign, Menu.ItemGroupLabelBaseProps> >(Menu.ItemGroupLabel, 'itemGroupLabel') export const ItemGroup = withContext, Menu.ItemGroupBaseProps>>( Menu.ItemGroup, 'itemGroup', ) export const ItemIndicator = withContext< Assign, Menu.ItemIndicatorBaseProps> >(Menu.ItemIndicator, 'itemIndicator') export const Item = withContext, Menu.ItemBaseProps>>( Menu.Item, 'item', ) export const ItemText = withContext, Menu.ItemTextBaseProps>>( Menu.ItemText, 'itemText', ) export const Positioner = withContext, Menu.PositionerBaseProps>>( Menu.Positioner, 'positioner', ) export const RadioItemGroup = withContext< Assign, Menu.RadioItemGroupBaseProps> >(Menu.RadioItemGroup, 'itemGroup') export const RadioItem = withContext, Menu.RadioItemBaseProps>>( Menu.RadioItem, 'item', ) export const Separator = withContext, Menu.SeparatorBaseProps>>( Menu.Separator, 'separator', ) export const TriggerItem = withContext, Menu.TriggerItemBaseProps>>( Menu.TriggerItem, 'triggerItem', ) export const Trigger = withContext, Menu.TriggerBaseProps>>( Menu.Trigger, 'trigger', ) export { MenuContext as Context } from '@ark-ui/solid'