{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "z-autocomplete-root",
  "title": "Z Autocomplete Root",
  "dependencies": [
    "@base-ui-components/react@1.0.0-beta.3"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://ui.orchid.ai/r/orchid-foundation.json",
    "https://ui.orchid.ai/r/orchid-theme.json"
  ],
  "files": [
    {
      "path": "registry/ui/orchid/spectrum/atoms/z-autocomplete/z-autocomplete-root.tsx",
      "content": "\"use client\";\nimport { Autocomplete } from '@base-ui-components/react/autocomplete';\nimport { type ReactNode, createContext } from 'react';\nimport { cn } from \"../../../lib/ui-utils\";\ninterface AutocompleteItem {\n    value: string;\n    label: string;\n    disabled?: boolean;\n    [key: string]: unknown;\n}\ninterface AutocompleteContextValue {\n    align?: 'start' | 'center' | 'end';\n    side?: 'top' | 'right' | 'bottom' | 'left';\n    sideOffset?: number;\n    onItemSelect?: (item: AutocompleteItem) => void;\n    anchor?: React.RefObject<Element | null> | Element | null;\n    highlightedIndex?: number;\n    setHighlightedIndex?: (index: number) => void;\n}\nexport const AutocompleteContext = createContext<AutocompleteContextValue>({});\ntype ZAutocompleteProps = {\n    children: ReactNode;\n    items: AutocompleteItem[];\n    value?: string;\n    onValueChange?: (value: string) => void;\n    open?: boolean;\n    onOpenChange?: (open: boolean) => void;\n    disabled?: boolean;\n    className?: string;\n    autoHighlight?: boolean;\n    align?: 'start' | 'center' | 'end';\n    side?: 'top' | 'right' | 'bottom' | 'left';\n    sideOffset?: number;\n    onItemSelect?: (item: AutocompleteItem) => void;\n    anchor?: React.RefObject<Element | null> | Element | null;\n    modal?: boolean;\n    highlightedIndex?: number;\n    setHighlightedIndex?: (index: number) => void;\n};\nexport default function ZAutocompleteRoot({ children, items, value, onValueChange, open, onOpenChange, disabled = false, className, autoHighlight = true, align = 'start', side = 'bottom', sideOffset = 4, onItemSelect, anchor, modal = true, highlightedIndex, setHighlightedIndex, }: ZAutocompleteProps) {\n    const contextValue = {\n        align,\n        side,\n        sideOffset,\n        onItemSelect,\n        anchor,\n        highlightedIndex,\n        setHighlightedIndex,\n    };\n    return (<AutocompleteContext.Provider value={contextValue}>\n      <Autocomplete.Root items={items} value={value} onValueChange={onValueChange} open={open} onOpenChange={onOpenChange} disabled={disabled} itemToStringValue={(item) => item?.value || ''} autoHighlight={autoHighlight} modal={modal}>\n        <div className={cn('relative', className)} data-open={open}>\n          {children}\n        </div>\n      </Autocomplete.Root>\n    </AutocompleteContext.Provider>);\n}\nexport type { AutocompleteItem };\n",
      "type": "registry:ui",
      "target": "@ui/orchid/spectrum/atoms/z-autocomplete/z-autocomplete-root.tsx"
    }
  ],
  "type": "registry:ui"
}