import { type Assign, TreeView } from '@ark-ui/solid' import type { ComponentProps } from 'solid-js' import { type TreeViewVariantProps, treeView } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' import { createStyleContext } from './utils/create-style-context' const { withProvider, withContext } = createStyleContext(treeView) export type RootProviderProps = ComponentProps export const RootProvider = withProvider< Assign, TreeView.RootProviderBaseProps>, TreeViewVariantProps> >(TreeView.RootProvider, 'root') export type RootProps = ComponentProps export const Root = withProvider< Assign, TreeView.RootBaseProps>, TreeViewVariantProps> >(TreeView.Root, 'root') export const BranchContent = withContext< Assign, TreeView.BranchContentBaseProps> >(TreeView.BranchContent, 'branchContent') export const BranchControl = withContext< Assign, TreeView.BranchControlBaseProps> >(TreeView.BranchControl, 'branchControl') export const BranchIndicator = withContext< Assign, TreeView.BranchIndicatorBaseProps> >(TreeView.BranchIndicator, 'branchIndicator') export const Branch = withContext, TreeView.BranchBaseProps>>( TreeView.Branch, 'branch', ) export const BranchText = withContext< Assign, TreeView.BranchTextBaseProps> >(TreeView.BranchText, 'branchText') export const BranchTrigger = withContext< Assign, TreeView.BranchTriggerBaseProps> >(TreeView.BranchTrigger, 'branchTrigger') export const ItemIndicator = withContext< Assign, TreeView.ItemIndicatorBaseProps> >(TreeView.ItemIndicator, 'itemIndicator') export const Item = withContext, TreeView.ItemBaseProps>>( TreeView.Item, 'item', ) export const ItemText = withContext, TreeView.ItemTextBaseProps>>( TreeView.ItemText, 'itemText', ) export const Label = withContext, TreeView.LabelBaseProps>>( TreeView.Label, 'label', ) export const Tree = withContext, TreeView.TreeBaseProps>>( TreeView.Tree, 'tree', ) export { TreeViewContext as Context } from '@ark-ui/solid'