@nuka-ui/core 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +135 -23
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/bundle.css +1 -1
- package/dist/components/Accordion/Accordion.cjs +2 -0
- package/dist/components/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.context.cjs +2 -0
- package/dist/components/Accordion/Accordion.context.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.context.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.context.js +19 -0
- package/dist/components/Accordion/Accordion.context.js.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +103 -0
- package/dist/components/Accordion/Accordion.js.map +1 -0
- package/dist/components/Accordion/AccordionContent.cjs +2 -0
- package/dist/components/Accordion/AccordionContent.cjs.map +1 -0
- package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContent.js +19 -0
- package/dist/components/Accordion/AccordionContent.js.map +1 -0
- package/dist/components/Accordion/AccordionItem.cjs +2 -0
- package/dist/components/Accordion/AccordionItem.cjs.map +1 -0
- package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.js +35 -0
- package/dist/components/Accordion/AccordionItem.js.map +1 -0
- package/dist/components/Accordion/AccordionTrigger.cjs +2 -0
- package/dist/components/Accordion/AccordionTrigger.cjs.map +1 -0
- package/dist/components/Accordion/AccordionTrigger.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionTrigger.js +39 -0
- package/dist/components/Accordion/AccordionTrigger.js.map +1 -0
- package/dist/components/Alert/Alert.cjs +2 -0
- package/dist/components/Alert/Alert.cjs.map +1 -0
- package/dist/components/Alert/Alert.js +35 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/Alert/Alert.variants.cjs +2 -0
- package/dist/components/Alert/Alert.variants.cjs.map +1 -0
- package/dist/components/Alert/Alert.variants.js +42 -0
- package/dist/components/Alert/Alert.variants.js.map +1 -0
- package/dist/components/AppShell/AppShell.cjs +2 -0
- package/dist/components/AppShell/AppShell.cjs.map +1 -0
- package/dist/components/AppShell/AppShell.js +14 -0
- package/dist/components/AppShell/AppShell.js.map +1 -0
- package/dist/components/AppShell/AppShellBody.cjs +2 -0
- package/dist/components/AppShell/AppShellBody.cjs.map +1 -0
- package/dist/components/AppShell/AppShellBody.js +14 -0
- package/dist/components/AppShell/AppShellBody.js.map +1 -0
- package/dist/components/AppShell/AppShellHeader.cjs +2 -0
- package/dist/components/AppShell/AppShellHeader.cjs.map +1 -0
- package/dist/components/AppShell/AppShellHeader.js +14 -0
- package/dist/components/AppShell/AppShellHeader.js.map +1 -0
- package/dist/components/AppShell/AppShellMain.cjs +2 -0
- package/dist/components/AppShell/AppShellMain.cjs.map +1 -0
- package/dist/components/AppShell/AppShellMain.js +14 -0
- package/dist/components/AppShell/AppShellMain.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.cjs +2 -0
- package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +17 -0
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.utils.d.ts +1 -2
- package/dist/components/AspectRatio/AspectRatio.utils.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.cjs +2 -0
- package/dist/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js +64 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/Avatar.variants.cjs +2 -0
- package/dist/components/Avatar/Avatar.variants.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.variants.js +32 -0
- package/dist/components/Avatar/Avatar.variants.js.map +1 -0
- package/dist/components/Badge/Badge.cjs +2 -0
- package/dist/components/Badge/Badge.cjs.map +1 -0
- package/dist/components/Badge/Badge.js +20 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/Badge.variants.cjs +2 -0
- package/dist/components/Badge/Badge.variants.cjs.map +1 -0
- package/dist/components/Badge/Badge.variants.js +97 -0
- package/dist/components/Badge/Badge.variants.js.map +1 -0
- package/dist/components/Banner/Banner.cjs +2 -0
- package/dist/components/Banner/Banner.cjs.map +1 -0
- package/dist/components/Banner/Banner.js +32 -0
- package/dist/components/Banner/Banner.js.map +1 -0
- package/dist/components/Banner/Banner.variants.cjs +2 -0
- package/dist/components/Banner/Banner.variants.cjs.map +1 -0
- package/dist/components/Banner/Banner.variants.js +20 -0
- package/dist/components/Banner/Banner.variants.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +13 -0
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.js +22 -0
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.js +14 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbLink.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbLink.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbLink.js +15 -0
- package/dist/components/Breadcrumb/BreadcrumbLink.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbList.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbList.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbList.js +15 -0
- package/dist/components/Breadcrumb/BreadcrumbList.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbPage.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbPage.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbPage.js +15 -0
- package/dist/components/Breadcrumb/BreadcrumbPage.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs +2 -0
- package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbSeparator.js +23 -0
- package/dist/components/Breadcrumb/BreadcrumbSeparator.js.map +1 -0
- package/dist/components/Button/Button.cjs +2 -0
- package/dist/components/Button/Button.cjs.map +1 -0
- package/dist/components/Button/Button.js +20 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.variants.cjs +2 -0
- package/dist/components/Button/Button.variants.cjs.map +1 -0
- package/dist/components/Button/Button.variants.js +209 -0
- package/dist/components/Button/Button.variants.js.map +1 -0
- package/dist/components/Card/Card.cjs +2 -0
- package/dist/components/Card/Card.cjs.map +1 -0
- package/dist/components/Card/Card.js +67 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/Card.variants.cjs +2 -0
- package/dist/components/Card/Card.variants.cjs.map +1 -0
- package/dist/components/Card/Card.variants.js +18 -0
- package/dist/components/Card/Card.variants.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +59 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.variants.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.variants.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.variants.js +49 -0
- package/dist/components/Checkbox/Checkbox.variants.js.map +1 -0
- package/dist/components/Chip/Chip.cjs +2 -0
- package/dist/components/Chip/Chip.cjs.map +1 -0
- package/dist/components/Chip/Chip.d.ts +8 -0
- package/dist/components/Chip/Chip.d.ts.map +1 -0
- package/dist/components/Chip/Chip.js +22 -0
- package/dist/components/Chip/Chip.js.map +1 -0
- package/dist/components/Chip/Chip.variants.cjs +2 -0
- package/dist/components/Chip/Chip.variants.cjs.map +1 -0
- package/dist/components/Chip/Chip.variants.d.ts +9 -0
- package/dist/components/Chip/Chip.variants.d.ts.map +1 -0
- package/dist/components/Chip/Chip.variants.js +296 -0
- package/dist/components/Chip/Chip.variants.js.map +1 -0
- package/dist/components/Chip/index.d.ts +4 -0
- package/dist/components/Chip/index.d.ts.map +1 -0
- package/dist/components/Code/Code.cjs +2 -0
- package/dist/components/Code/Code.cjs.map +1 -0
- package/dist/components/Code/Code.d.ts.map +1 -1
- package/dist/components/Code/Code.js +20 -0
- package/dist/components/Code/Code.js.map +1 -0
- package/dist/components/Code/Code.variants.cjs +2 -0
- package/dist/components/Code/Code.variants.cjs.map +1 -0
- package/dist/components/Code/Code.variants.d.ts +1 -0
- package/dist/components/Code/Code.variants.d.ts.map +1 -1
- package/dist/components/Code/Code.variants.js +106 -0
- package/dist/components/Code/Code.variants.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.context.cjs +2 -0
- package/dist/components/Collapsible/Collapsible.context.cjs.map +1 -0
- package/dist/components/Collapsible/Collapsible.context.d.ts.map +1 -1
- package/dist/components/Collapsible/Collapsible.context.js +13 -0
- package/dist/components/Collapsible/Collapsible.context.js.map +1 -0
- package/dist/components/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/Collapsible/Collapsible.js +35 -0
- package/dist/components/Collapsible/Collapsible.js.map +1 -0
- package/dist/components/Collapsible/CollapsibleContent.cjs +2 -0
- package/dist/components/Collapsible/CollapsibleContent.cjs.map +1 -0
- package/dist/components/Collapsible/CollapsibleContent.d.ts.map +1 -1
- package/dist/components/Collapsible/CollapsibleContent.js +28 -0
- package/dist/components/Collapsible/CollapsibleContent.js.map +1 -0
- package/dist/components/Collapsible/CollapsibleTrigger.cjs +2 -0
- package/dist/components/Collapsible/CollapsibleTrigger.cjs.map +1 -0
- package/dist/components/Collapsible/CollapsibleTrigger.d.ts.map +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.js +29 -0
- package/dist/components/Collapsible/CollapsibleTrigger.js.map +1 -0
- package/dist/components/Combobox/Combobox.cjs +2 -0
- package/dist/components/Combobox/Combobox.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.context.cjs +2 -0
- package/dist/components/Combobox/Combobox.context.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.context.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.context.js +13 -0
- package/dist/components/Combobox/Combobox.context.js.map +1 -0
- package/dist/components/Combobox/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.js +114 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Combobox/Combobox.utils.cjs +2 -0
- package/dist/components/Combobox/Combobox.utils.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.utils.js +11 -0
- package/dist/components/Combobox/Combobox.utils.js.map +1 -0
- package/dist/components/Combobox/Combobox.variants.cjs +2 -0
- package/dist/components/Combobox/Combobox.variants.cjs.map +1 -0
- package/dist/components/Combobox/Combobox.variants.js +36 -0
- package/dist/components/Combobox/Combobox.variants.js.map +1 -0
- package/dist/components/Combobox/ComboboxContent.cjs +2 -0
- package/dist/components/Combobox/ComboboxContent.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxContent.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxContent.js +28 -0
- package/dist/components/Combobox/ComboboxContent.js.map +1 -0
- package/dist/components/Combobox/ComboboxEmpty.cjs +2 -0
- package/dist/components/Combobox/ComboboxEmpty.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxEmpty.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxEmpty.js +23 -0
- package/dist/components/Combobox/ComboboxEmpty.js.map +1 -0
- package/dist/components/Combobox/ComboboxGroup.cjs +2 -0
- package/dist/components/Combobox/ComboboxGroup.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxGroup.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxGroup.js +37 -0
- package/dist/components/Combobox/ComboboxGroup.js.map +1 -0
- package/dist/components/Combobox/ComboboxInput.cjs +2 -0
- package/dist/components/Combobox/ComboboxInput.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxInput.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxInput.js +107 -0
- package/dist/components/Combobox/ComboboxInput.js.map +1 -0
- package/dist/components/Combobox/ComboboxListbox.cjs +2 -0
- package/dist/components/Combobox/ComboboxListbox.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxListbox.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxListbox.js +34 -0
- package/dist/components/Combobox/ComboboxListbox.js.map +1 -0
- package/dist/components/Combobox/ComboboxOption.cjs +2 -0
- package/dist/components/Combobox/ComboboxOption.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxOption.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxOption.js +40 -0
- package/dist/components/Combobox/ComboboxOption.js.map +1 -0
- package/dist/components/Combobox/ComboboxTrigger.cjs +2 -0
- package/dist/components/Combobox/ComboboxTrigger.cjs.map +1 -0
- package/dist/components/Combobox/ComboboxTrigger.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxTrigger.js +84 -0
- package/dist/components/Combobox/ComboboxTrigger.js.map +1 -0
- package/dist/components/CommandMenu/CommandMenu.cjs +2 -0
- package/dist/components/CommandMenu/CommandMenu.cjs.map +1 -0
- package/dist/components/CommandMenu/CommandMenu.context.cjs +2 -0
- package/dist/components/CommandMenu/CommandMenu.context.cjs.map +1 -0
- package/dist/components/CommandMenu/CommandMenu.context.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.context.js +13 -0
- package/dist/components/CommandMenu/CommandMenu.context.js.map +1 -0
- package/dist/components/CommandMenu/CommandMenu.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.js +230 -0
- package/dist/components/CommandMenu/CommandMenu.js.map +1 -0
- package/dist/components/Container/Container.cjs +2 -0
- package/dist/components/Container/Container.cjs.map +1 -0
- package/dist/components/Container/Container.js +22 -0
- package/dist/components/Container/Container.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.context.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenu.context.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.context.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.js +13 -0
- package/dist/components/ContextMenu/ContextMenu.context.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +45 -0
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.js +14 -0
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuContent.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuContent.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuContent.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuContent.js +42 -0
- package/dist/components/ContextMenu/ContextMenuContent.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuItem.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuItem.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuItem.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuItem.js +14 -0
- package/dist/components/ContextMenu/ContextMenuItem.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuLabel.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuLabel.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuLabel.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuLabel.js +14 -0
- package/dist/components/ContextMenu/ContextMenuLabel.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuRadioGroup.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuRadioGroup.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuRadioGroup.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioGroup.js +14 -0
- package/dist/components/ContextMenu/ContextMenuRadioGroup.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuRadioItem.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuRadioItem.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuRadioItem.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioItem.js +14 -0
- package/dist/components/ContextMenu/ContextMenuRadioItem.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuSeparator.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuSeparator.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuSeparator.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.js +14 -0
- package/dist/components/ContextMenu/ContextMenuSeparator.js.map +1 -0
- package/dist/components/ContextMenu/ContextMenuTrigger.cjs +2 -0
- package/dist/components/ContextMenu/ContextMenuTrigger.cjs.map +1 -0
- package/dist/components/ContextMenu/ContextMenuTrigger.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenuTrigger.js +54 -0
- package/dist/components/ContextMenu/ContextMenuTrigger.js.map +1 -0
- package/dist/components/DataTable/DataTable.cjs +2 -0
- package/dist/components/DataTable/DataTable.cjs.map +1 -0
- package/dist/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/DataTable/DataTable.js +118 -0
- package/dist/components/DataTable/DataTable.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/components/DatePicker/DatePicker.context.cjs +2 -0
- package/dist/components/DatePicker/DatePicker.context.cjs.map +1 -0
- package/dist/components/DatePicker/DatePicker.context.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.context.js +13 -0
- package/dist/components/DatePicker/DatePicker.context.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.hooks.cjs +2 -0
- package/dist/components/DatePicker/DatePicker.hooks.cjs.map +1 -0
- package/dist/components/DatePicker/DatePicker.hooks.js +141 -0
- package/dist/components/DatePicker/DatePicker.hooks.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.js +89 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.utils.cjs +2 -0
- package/dist/components/DatePicker/DatePicker.utils.cjs.map +1 -0
- package/dist/components/DatePicker/DatePicker.utils.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.utils.js +40 -0
- package/dist/components/DatePicker/DatePicker.utils.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCalendar.cjs +2 -0
- package/dist/components/DatePicker/DatePickerCalendar.cjs.map +1 -0
- package/dist/components/DatePicker/DatePickerCalendar.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePickerCalendar.js +158 -0
- package/dist/components/DatePicker/DatePickerCalendar.js.map +1 -0
- package/dist/components/DatePicker/DatePickerInput.cjs +2 -0
- package/dist/components/DatePicker/DatePickerInput.cjs.map +1 -0
- package/dist/components/DatePicker/DatePickerInput.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePickerInput.js +116 -0
- package/dist/components/DatePicker/DatePickerInput.js.map +1 -0
- package/dist/components/Dialog/Dialog.cjs +2 -0
- package/dist/components/Dialog/Dialog.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.context.cjs +2 -0
- package/dist/components/Dialog/Dialog.context.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.context.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.context.js +13 -0
- package/dist/components/Dialog/Dialog.context.js.map +1 -0
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.js +47 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/Divider/Divider.cjs +2 -0
- package/dist/components/Divider/Divider.cjs.map +1 -0
- package/dist/components/Divider/Divider.d.ts +3 -2
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/Divider.js +60 -0
- package/dist/components/Divider/Divider.js.map +1 -0
- package/dist/components/Divider/Divider.variants.d.ts +5 -6
- package/dist/components/Divider/Divider.variants.d.ts.map +1 -1
- package/dist/components/Divider/index.d.ts +1 -3
- package/dist/components/Divider/index.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.context.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenu.context.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.context.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.context.js +13 -0
- package/dist/components/DropdownMenu/DropdownMenu.context.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +49 -0
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.js +42 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuLabel.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuLabel.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuLabel.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuLabel.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +14 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs +2 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +22 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.cjs +2 -0
- package/dist/components/EmptyState/EmptyState.cjs.map +1 -0
- package/dist/components/EmptyState/EmptyState.js +40 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.cjs +2 -0
- package/dist/components/Eyebrow/Eyebrow.cjs.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.d.ts +9 -0
- package/dist/components/Eyebrow/Eyebrow.d.ts.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.js +15 -0
- package/dist/components/Eyebrow/Eyebrow.js.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.variants.cjs +2 -0
- package/dist/components/Eyebrow/Eyebrow.variants.cjs.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.variants.d.ts +6 -0
- package/dist/components/Eyebrow/Eyebrow.variants.d.ts.map +1 -0
- package/dist/components/Eyebrow/Eyebrow.variants.js +20 -0
- package/dist/components/Eyebrow/Eyebrow.variants.js.map +1 -0
- package/dist/components/Eyebrow/index.d.ts +4 -0
- package/dist/components/Eyebrow/index.d.ts.map +1 -0
- package/dist/components/FileInput/FileInput.cjs +2 -0
- package/dist/components/FileInput/FileInput.cjs.map +1 -0
- package/dist/components/FileInput/FileInput.d.ts +11 -0
- package/dist/components/FileInput/FileInput.d.ts.map +1 -0
- package/dist/components/FileInput/FileInput.js +109 -0
- package/dist/components/FileInput/FileInput.js.map +1 -0
- package/dist/components/FileInput/FileInput.variants.cjs +2 -0
- package/dist/components/FileInput/FileInput.variants.cjs.map +1 -0
- package/dist/components/FileInput/FileInput.variants.d.ts +7 -0
- package/dist/components/FileInput/FileInput.variants.d.ts.map +1 -0
- package/dist/components/FileInput/FileInput.variants.js +105 -0
- package/dist/components/FileInput/FileInput.variants.js.map +1 -0
- package/dist/components/FileInput/index.d.ts +4 -0
- package/dist/components/FileInput/index.d.ts.map +1 -0
- package/dist/components/FormField/FormField.cjs +2 -0
- package/dist/components/FormField/FormField.cjs.map +1 -0
- package/dist/components/FormField/FormField.context.cjs +2 -0
- package/dist/components/FormField/FormField.context.cjs.map +1 -0
- package/dist/components/FormField/FormField.context.d.ts.map +1 -1
- package/dist/components/FormField/FormField.context.js +18 -0
- package/dist/components/FormField/FormField.context.js.map +1 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +53 -0
- package/dist/components/FormField/FormField.js.map +1 -0
- package/dist/components/Grid/Grid.cjs +2 -0
- package/dist/components/Grid/Grid.cjs.map +1 -0
- package/dist/components/Grid/Grid.js +16 -0
- package/dist/components/Grid/Grid.js.map +1 -0
- package/dist/components/Heading/Heading.cjs +2 -0
- package/dist/components/Heading/Heading.cjs.map +1 -0
- package/dist/components/Heading/Heading.d.ts +2 -0
- package/dist/components/Heading/Heading.d.ts.map +1 -1
- package/dist/components/Heading/Heading.js +21 -0
- package/dist/components/Heading/Heading.js.map +1 -0
- package/dist/components/Heading/Heading.variants.cjs +2 -0
- package/dist/components/Heading/Heading.variants.cjs.map +1 -0
- package/dist/components/Heading/Heading.variants.d.ts +1 -1
- package/dist/components/Heading/Heading.variants.d.ts.map +1 -1
- package/dist/components/Heading/Heading.variants.js +43 -0
- package/dist/components/Heading/Heading.variants.js.map +1 -0
- package/dist/components/Icon/Icon.cjs +2 -0
- package/dist/components/Icon/Icon.cjs.map +1 -0
- package/dist/components/Icon/Icon.js +28 -0
- package/dist/components/Icon/Icon.js.map +1 -0
- package/dist/components/Icon/Icon.variants.cjs +2 -0
- package/dist/components/Icon/Icon.variants.cjs.map +1 -0
- package/dist/components/Icon/Icon.variants.js +30 -0
- package/dist/components/Icon/Icon.variants.js.map +1 -0
- package/dist/components/Input/Input.cjs +2 -0
- package/dist/components/Input/Input.cjs.map +1 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +32 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.variants.cjs +2 -0
- package/dist/components/Input/Input.variants.cjs.map +1 -0
- package/dist/components/Input/Input.variants.js +26 -0
- package/dist/components/Input/Input.variants.js.map +1 -0
- package/dist/components/Kbd/Kbd.cjs +2 -0
- package/dist/components/Kbd/Kbd.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.js +18 -0
- package/dist/components/Kbd/Kbd.js.map +1 -0
- package/dist/components/Kbd/Kbd.variants.cjs +2 -0
- package/dist/components/Kbd/Kbd.variants.cjs.map +1 -0
- package/dist/components/Kbd/Kbd.variants.d.ts +1 -0
- package/dist/components/Kbd/Kbd.variants.d.ts.map +1 -1
- package/dist/components/Kbd/Kbd.variants.js +32 -0
- package/dist/components/Kbd/Kbd.variants.js.map +1 -0
- package/dist/components/Label/Label.cjs +2 -0
- package/dist/components/Label/Label.cjs.map +1 -0
- package/dist/components/Label/Label.d.ts.map +1 -1
- package/dist/components/Label/Label.js +26 -0
- package/dist/components/Label/Label.js.map +1 -0
- package/dist/components/Menu/MenuCheckboxItemBase.cjs +2 -0
- package/dist/components/Menu/MenuCheckboxItemBase.cjs.map +1 -0
- package/dist/components/Menu/MenuCheckboxItemBase.js +46 -0
- package/dist/components/Menu/MenuCheckboxItemBase.js.map +1 -0
- package/dist/components/Menu/MenuContentBase.cjs +2 -0
- package/dist/components/Menu/MenuContentBase.cjs.map +1 -0
- package/dist/components/Menu/MenuContentBase.js +84 -0
- package/dist/components/Menu/MenuContentBase.js.map +1 -0
- package/dist/components/Menu/MenuItemBase.cjs +2 -0
- package/dist/components/Menu/MenuItemBase.cjs.map +1 -0
- package/dist/components/Menu/MenuItemBase.js +29 -0
- package/dist/components/Menu/MenuItemBase.js.map +1 -0
- package/dist/components/Menu/MenuLabelBase.cjs +2 -0
- package/dist/components/Menu/MenuLabelBase.cjs.map +1 -0
- package/dist/components/Menu/MenuLabelBase.js +16 -0
- package/dist/components/Menu/MenuLabelBase.js.map +1 -0
- package/dist/components/Menu/MenuRadioGroupBase.cjs +2 -0
- package/dist/components/Menu/MenuRadioGroupBase.cjs.map +1 -0
- package/dist/components/Menu/MenuRadioGroupBase.js +26 -0
- package/dist/components/Menu/MenuRadioGroupBase.js.map +1 -0
- package/dist/components/Menu/MenuRadioItemBase.cjs +2 -0
- package/dist/components/Menu/MenuRadioItemBase.cjs.map +1 -0
- package/dist/components/Menu/MenuRadioItemBase.js +47 -0
- package/dist/components/Menu/MenuRadioItemBase.js.map +1 -0
- package/dist/components/Menu/MenuSeparatorBase.cjs +2 -0
- package/dist/components/Menu/MenuSeparatorBase.cjs.map +1 -0
- package/dist/components/Menu/MenuSeparatorBase.js +16 -0
- package/dist/components/Menu/MenuSeparatorBase.js.map +1 -0
- package/dist/components/Menu/menuItemVariants.cjs +2 -0
- package/dist/components/Menu/menuItemVariants.cjs.map +1 -0
- package/dist/components/Menu/menuItemVariants.js +53 -0
- package/dist/components/Menu/menuItemVariants.js.map +1 -0
- package/dist/components/Menubar/Menubar.cjs +2 -0
- package/dist/components/Menubar/Menubar.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.context.cjs +2 -0
- package/dist/components/Menubar/Menubar.context.cjs.map +1 -0
- package/dist/components/Menubar/Menubar.context.d.ts.map +1 -1
- package/dist/components/Menubar/Menubar.context.js +19 -0
- package/dist/components/Menubar/Menubar.context.js.map +1 -0
- package/dist/components/Menubar/Menubar.d.ts.map +1 -1
- package/dist/components/Menubar/Menubar.js +46 -0
- package/dist/components/Menubar/Menubar.js.map +1 -0
- package/dist/components/Menubar/MenubarCheckboxItem.cjs +2 -0
- package/dist/components/Menubar/MenubarCheckboxItem.cjs.map +1 -0
- package/dist/components/Menubar/MenubarCheckboxItem.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarCheckboxItem.js +14 -0
- package/dist/components/Menubar/MenubarCheckboxItem.js.map +1 -0
- package/dist/components/Menubar/MenubarContent.cjs +2 -0
- package/dist/components/Menubar/MenubarContent.cjs.map +1 -0
- package/dist/components/Menubar/MenubarContent.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarContent.js +55 -0
- package/dist/components/Menubar/MenubarContent.js.map +1 -0
- package/dist/components/Menubar/MenubarItem.cjs +2 -0
- package/dist/components/Menubar/MenubarItem.cjs.map +1 -0
- package/dist/components/Menubar/MenubarItem.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarItem.js +14 -0
- package/dist/components/Menubar/MenubarItem.js.map +1 -0
- package/dist/components/Menubar/MenubarMenu.cjs +2 -0
- package/dist/components/Menubar/MenubarMenu.cjs.map +1 -0
- package/dist/components/Menubar/MenubarMenu.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarMenu.js +56 -0
- package/dist/components/Menubar/MenubarMenu.js.map +1 -0
- package/dist/components/Menubar/MenubarRadioGroup.cjs +2 -0
- package/dist/components/Menubar/MenubarRadioGroup.cjs.map +1 -0
- package/dist/components/Menubar/MenubarRadioGroup.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarRadioGroup.js +14 -0
- package/dist/components/Menubar/MenubarRadioGroup.js.map +1 -0
- package/dist/components/Menubar/MenubarRadioItem.cjs +2 -0
- package/dist/components/Menubar/MenubarRadioItem.cjs.map +1 -0
- package/dist/components/Menubar/MenubarRadioItem.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarRadioItem.js +14 -0
- package/dist/components/Menubar/MenubarRadioItem.js.map +1 -0
- package/dist/components/Menubar/MenubarSeparator.cjs +2 -0
- package/dist/components/Menubar/MenubarSeparator.cjs.map +1 -0
- package/dist/components/Menubar/MenubarSeparator.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarSeparator.js +14 -0
- package/dist/components/Menubar/MenubarSeparator.js.map +1 -0
- package/dist/components/Menubar/MenubarTrigger.cjs +2 -0
- package/dist/components/Menubar/MenubarTrigger.cjs.map +1 -0
- package/dist/components/Menubar/MenubarTrigger.d.ts.map +1 -1
- package/dist/components/Menubar/MenubarTrigger.js +44 -0
- package/dist/components/Menubar/MenubarTrigger.js.map +1 -0
- package/dist/components/Nav/Nav.cjs +2 -0
- package/dist/components/Nav/Nav.cjs.map +1 -0
- package/dist/components/Nav/Nav.d.ts +7 -0
- package/dist/components/Nav/Nav.d.ts.map +1 -0
- package/dist/components/Nav/Nav.js +13 -0
- package/dist/components/Nav/Nav.js.map +1 -0
- package/dist/components/Nav/NavItem.cjs +2 -0
- package/dist/components/Nav/NavItem.cjs.map +1 -0
- package/dist/components/Nav/NavItem.d.ts +7 -0
- package/dist/components/Nav/NavItem.d.ts.map +1 -0
- package/dist/components/Nav/NavItem.js +14 -0
- package/dist/components/Nav/NavItem.js.map +1 -0
- package/dist/components/Nav/NavLink.cjs +2 -0
- package/dist/components/Nav/NavLink.cjs.map +1 -0
- package/dist/components/Nav/NavLink.d.ts +8 -0
- package/dist/components/Nav/NavLink.d.ts.map +1 -0
- package/dist/components/Nav/NavLink.js +16 -0
- package/dist/components/Nav/NavLink.js.map +1 -0
- package/dist/components/Nav/NavList.cjs +2 -0
- package/dist/components/Nav/NavList.cjs.map +1 -0
- package/dist/components/Nav/NavList.d.ts +6 -0
- package/dist/components/Nav/NavList.d.ts.map +1 -0
- package/dist/components/Nav/NavList.js +14 -0
- package/dist/components/Nav/NavList.js.map +1 -0
- package/dist/components/Nav/NavSubmenu.cjs +2 -0
- package/dist/components/Nav/NavSubmenu.cjs.map +1 -0
- package/dist/components/Nav/NavSubmenu.d.ts +7 -0
- package/dist/components/Nav/NavSubmenu.d.ts.map +1 -0
- package/dist/components/Nav/NavSubmenu.js +14 -0
- package/dist/components/Nav/NavSubmenu.js.map +1 -0
- package/dist/components/Nav/NavTrigger.cjs +2 -0
- package/dist/components/Nav/NavTrigger.cjs.map +1 -0
- package/dist/components/Nav/NavTrigger.d.ts +7 -0
- package/dist/components/Nav/NavTrigger.d.ts.map +1 -0
- package/dist/components/Nav/NavTrigger.js +47 -0
- package/dist/components/Nav/NavTrigger.js.map +1 -0
- package/dist/components/Nav/index.d.ts +13 -0
- package/dist/components/Nav/index.d.ts.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.context.cjs +2 -0
- package/dist/components/NavigationMenu/NavigationMenu.context.cjs.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.context.d.ts.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.context.js +23 -0
- package/dist/components/NavigationMenu/NavigationMenu.context.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.js +220 -0
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
- package/dist/components/NumberInput/NumberInput.cjs +2 -0
- package/dist/components/NumberInput/NumberInput.cjs.map +1 -0
- package/dist/components/NumberInput/NumberInput.d.ts +16 -0
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/components/NumberInput/NumberInput.js +117 -0
- package/dist/components/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/NumberInput/index.d.ts +3 -0
- package/dist/components/NumberInput/index.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.cjs +2 -0
- package/dist/components/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/Pagination/Pagination.js +15 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Pagination/PaginationContent.cjs +2 -0
- package/dist/components/Pagination/PaginationContent.cjs.map +1 -0
- package/dist/components/Pagination/PaginationContent.js +14 -0
- package/dist/components/Pagination/PaginationContent.js.map +1 -0
- package/dist/components/Pagination/PaginationEllipsis.cjs +2 -0
- package/dist/components/Pagination/PaginationEllipsis.cjs.map +1 -0
- package/dist/components/Pagination/PaginationEllipsis.js +19 -0
- package/dist/components/Pagination/PaginationEllipsis.js.map +1 -0
- package/dist/components/Pagination/PaginationItem.cjs +2 -0
- package/dist/components/Pagination/PaginationItem.cjs.map +1 -0
- package/dist/components/Pagination/PaginationItem.js +12 -0
- package/dist/components/Pagination/PaginationItem.js.map +1 -0
- package/dist/components/Pagination/PaginationLink.cjs +2 -0
- package/dist/components/Pagination/PaginationLink.cjs.map +1 -0
- package/dist/components/Pagination/PaginationLink.js +21 -0
- package/dist/components/Pagination/PaginationLink.js.map +1 -0
- package/dist/components/Pagination/PaginationNext.cjs +2 -0
- package/dist/components/Pagination/PaginationNext.cjs.map +1 -0
- package/dist/components/Pagination/PaginationNext.js +61 -0
- package/dist/components/Pagination/PaginationNext.js.map +1 -0
- package/dist/components/Pagination/PaginationPrevious.cjs +2 -0
- package/dist/components/Pagination/PaginationPrevious.cjs.map +1 -0
- package/dist/components/Pagination/PaginationPrevious.js +61 -0
- package/dist/components/Pagination/PaginationPrevious.js.map +1 -0
- package/dist/components/Popover/Popover.cjs +2 -0
- package/dist/components/Popover/Popover.cjs.map +1 -0
- package/dist/components/Popover/Popover.context.cjs +2 -0
- package/dist/components/Popover/Popover.context.cjs.map +1 -0
- package/dist/components/Popover/Popover.context.d.ts.map +1 -1
- package/dist/components/Popover/Popover.context.js +13 -0
- package/dist/components/Popover/Popover.context.js.map +1 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +49 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/PopoverContent.cjs +2 -0
- package/dist/components/Popover/PopoverContent.cjs.map +1 -0
- package/dist/components/Popover/PopoverContent.d.ts.map +1 -1
- package/dist/components/Popover/PopoverContent.js +34 -0
- package/dist/components/Popover/PopoverContent.js.map +1 -0
- package/dist/components/Popover/PopoverTrigger.cjs +2 -0
- package/dist/components/Popover/PopoverTrigger.cjs.map +1 -0
- package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -1
- package/dist/components/Popover/PopoverTrigger.js +20 -0
- package/dist/components/Popover/PopoverTrigger.js.map +1 -0
- package/dist/components/Progress/Progress.cjs +2 -0
- package/dist/components/Progress/Progress.cjs.map +1 -0
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.js +28 -0
- package/dist/components/Progress/Progress.js.map +1 -0
- package/dist/components/Progress/Progress.variants.cjs +2 -0
- package/dist/components/Progress/Progress.variants.cjs.map +1 -0
- package/dist/components/Progress/Progress.variants.js +40 -0
- package/dist/components/Progress/Progress.variants.js.map +1 -0
- package/dist/components/RadioGroup/Radio.cjs +2 -0
- package/dist/components/RadioGroup/Radio.cjs.map +1 -0
- package/dist/components/RadioGroup/Radio.d.ts.map +1 -1
- package/dist/components/RadioGroup/Radio.js +55 -0
- package/dist/components/RadioGroup/Radio.js.map +1 -0
- package/dist/components/RadioGroup/Radio.variants.cjs +2 -0
- package/dist/components/RadioGroup/Radio.variants.cjs.map +1 -0
- package/dist/components/RadioGroup/Radio.variants.js +38 -0
- package/dist/components/RadioGroup/Radio.variants.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.cjs +2 -0
- package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.context.cjs +2 -0
- package/dist/components/RadioGroup/RadioGroup.context.cjs.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.context.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.context.js +18 -0
- package/dist/components/RadioGroup/RadioGroup.context.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +110 -0
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.cjs +2 -0
- package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +13 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +24 -0
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/components/ScrollArea/index.d.ts +3 -0
- package/dist/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/components/Section/Section.cjs +2 -0
- package/dist/components/Section/Section.cjs.map +1 -0
- package/dist/components/Section/Section.d.ts +10 -0
- package/dist/components/Section/Section.d.ts.map +1 -0
- package/dist/components/Section/Section.js +20 -0
- package/dist/components/Section/Section.js.map +1 -0
- package/dist/components/Section/Section.variants.cjs +2 -0
- package/dist/components/Section/Section.variants.cjs.map +1 -0
- package/dist/components/Section/Section.variants.d.ts +8 -0
- package/dist/components/Section/Section.variants.d.ts.map +1 -0
- package/dist/components/Section/Section.variants.js +31 -0
- package/dist/components/Section/Section.variants.js.map +1 -0
- package/dist/components/Section/index.d.ts +4 -0
- package/dist/components/Section/index.d.ts.map +1 -0
- package/dist/components/Select/Select.cjs +2 -0
- package/dist/components/Select/Select.cjs.map +1 -0
- package/dist/components/Select/Select.context.cjs +2 -0
- package/dist/components/Select/Select.context.cjs.map +1 -0
- package/dist/components/Select/Select.context.d.ts.map +1 -1
- package/dist/components/Select/Select.context.js +13 -0
- package/dist/components/Select/Select.context.js.map +1 -0
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +83 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/SelectContent.cjs +2 -0
- package/dist/components/Select/SelectContent.cjs.map +1 -0
- package/dist/components/Select/SelectContent.d.ts.map +1 -1
- package/dist/components/Select/SelectContent.js +22 -0
- package/dist/components/Select/SelectContent.js.map +1 -0
- package/dist/components/Select/SelectItem.cjs +2 -0
- package/dist/components/Select/SelectItem.cjs.map +1 -0
- package/dist/components/Select/SelectItem.d.ts.map +1 -1
- package/dist/components/Select/SelectItem.js +38 -0
- package/dist/components/Select/SelectItem.js.map +1 -0
- package/dist/components/Select/SelectSeparator.cjs +2 -0
- package/dist/components/Select/SelectSeparator.cjs.map +1 -0
- package/dist/components/Select/SelectSeparator.d.ts.map +1 -1
- package/dist/components/Select/SelectSeparator.js +17 -0
- package/dist/components/Select/SelectSeparator.js.map +1 -0
- package/dist/components/Select/SelectTrigger.cjs +2 -0
- package/dist/components/Select/SelectTrigger.cjs.map +1 -0
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
- package/dist/components/Select/SelectTrigger.js +157 -0
- package/dist/components/Select/SelectTrigger.js.map +1 -0
- package/dist/components/Select/SelectTrigger.variants.cjs +2 -0
- package/dist/components/Select/SelectTrigger.variants.cjs.map +1 -0
- package/dist/components/Select/SelectTrigger.variants.js +36 -0
- package/dist/components/Select/SelectTrigger.variants.js.map +1 -0
- package/dist/components/Sheet/Sheet.cjs +2 -0
- package/dist/components/Sheet/Sheet.cjs.map +1 -0
- package/dist/components/Sheet/Sheet.context.cjs +2 -0
- package/dist/components/Sheet/Sheet.context.cjs.map +1 -0
- package/dist/components/Sheet/Sheet.context.d.ts.map +1 -1
- package/dist/components/Sheet/Sheet.context.js +13 -0
- package/dist/components/Sheet/Sheet.context.js.map +1 -0
- package/dist/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/components/Sheet/Sheet.js +53 -0
- package/dist/components/Sheet/Sheet.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.context.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.context.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.context.d.ts.map +1 -1
- package/dist/components/Sidebar/Sidebar.context.js +13 -0
- package/dist/components/Sidebar/Sidebar.context.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/Sidebar/Sidebar.js +45 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Sidebar/SidebarContent.cjs +2 -0
- package/dist/components/Sidebar/SidebarContent.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarContent.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarContent.js +15 -0
- package/dist/components/Sidebar/SidebarContent.js.map +1 -0
- package/dist/components/Sidebar/SidebarFooter.cjs +2 -0
- package/dist/components/Sidebar/SidebarFooter.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarFooter.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarFooter.js +15 -0
- package/dist/components/Sidebar/SidebarFooter.js.map +1 -0
- package/dist/components/Sidebar/SidebarGroup.cjs +2 -0
- package/dist/components/Sidebar/SidebarGroup.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarGroup.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarGroup.js +15 -0
- package/dist/components/Sidebar/SidebarGroup.js.map +1 -0
- package/dist/components/Sidebar/SidebarGroupLabel.cjs +2 -0
- package/dist/components/Sidebar/SidebarGroupLabel.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarGroupLabel.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarGroupLabel.js +24 -0
- package/dist/components/Sidebar/SidebarGroupLabel.js.map +1 -0
- package/dist/components/Sidebar/SidebarHeader.cjs +2 -0
- package/dist/components/Sidebar/SidebarHeader.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarHeader.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarHeader.js +15 -0
- package/dist/components/Sidebar/SidebarHeader.js.map +1 -0
- package/dist/components/Sidebar/SidebarInset.cjs +2 -0
- package/dist/components/Sidebar/SidebarInset.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarInset.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarInset.js +19 -0
- package/dist/components/Sidebar/SidebarInset.js.map +1 -0
- package/dist/components/Sidebar/SidebarMenu.cjs +2 -0
- package/dist/components/Sidebar/SidebarMenu.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarMenu.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarMenu.js +15 -0
- package/dist/components/Sidebar/SidebarMenu.js.map +1 -0
- package/dist/components/Sidebar/SidebarMenuButton.cjs +2 -0
- package/dist/components/Sidebar/SidebarMenuButton.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarMenuButton.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarMenuButton.js +31 -0
- package/dist/components/Sidebar/SidebarMenuButton.js.map +1 -0
- package/dist/components/Sidebar/SidebarMenuItem.cjs +2 -0
- package/dist/components/Sidebar/SidebarMenuItem.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarMenuItem.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarMenuItem.js +15 -0
- package/dist/components/Sidebar/SidebarMenuItem.js.map +1 -0
- package/dist/components/Sidebar/SidebarProvider.cjs +2 -0
- package/dist/components/Sidebar/SidebarProvider.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarProvider.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarProvider.js +36 -0
- package/dist/components/Sidebar/SidebarProvider.js.map +1 -0
- package/dist/components/Sidebar/SidebarTrigger.cjs +2 -0
- package/dist/components/Sidebar/SidebarTrigger.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarTrigger.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarTrigger.js +79 -0
- package/dist/components/Sidebar/SidebarTrigger.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.js +16 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.variants.cjs +2 -0
- package/dist/components/Skeleton/Skeleton.variants.cjs.map +1 -0
- package/dist/components/Skeleton/Skeleton.variants.js +14 -0
- package/dist/components/Skeleton/Skeleton.variants.js.map +1 -0
- package/dist/components/SkipLink/SkipLink.cjs +2 -0
- package/dist/components/SkipLink/SkipLink.cjs.map +1 -0
- package/dist/components/SkipLink/SkipLink.d.ts +8 -0
- package/dist/components/SkipLink/SkipLink.d.ts.map +1 -0
- package/dist/components/SkipLink/SkipLink.js +16 -0
- package/dist/components/SkipLink/SkipLink.js.map +1 -0
- package/dist/components/SkipLink/index.d.ts +3 -0
- package/dist/components/SkipLink/index.d.ts.map +1 -0
- package/dist/components/Slider/Slider.cjs +2 -0
- package/dist/components/Slider/Slider.cjs.map +1 -0
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.js +75 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Slider/Slider.variants.cjs +2 -0
- package/dist/components/Slider/Slider.variants.cjs.map +1 -0
- package/dist/components/Slider/Slider.variants.js +65 -0
- package/dist/components/Slider/Slider.variants.js.map +1 -0
- package/dist/components/Spinner/Spinner.cjs +2 -0
- package/dist/components/Spinner/Spinner.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.js +52 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/Spinner/Spinner.variants.cjs +2 -0
- package/dist/components/Spinner/Spinner.variants.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.variants.js +21 -0
- package/dist/components/Spinner/Spinner.variants.js.map +1 -0
- package/dist/components/SplitLayout/SplitLayout.cjs +2 -0
- package/dist/components/SplitLayout/SplitLayout.cjs.map +1 -0
- package/dist/components/SplitLayout/SplitLayout.d.ts +15 -0
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -0
- package/dist/components/SplitLayout/SplitLayout.js +56 -0
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -0
- package/dist/components/SplitLayout/index.d.ts +3 -0
- package/dist/components/SplitLayout/index.d.ts.map +1 -0
- package/dist/components/Stack/Stack.cjs +2 -0
- package/dist/components/Stack/Stack.cjs.map +1 -0
- package/dist/components/Stack/Stack.js +16 -0
- package/dist/components/Stack/Stack.js.map +1 -0
- package/dist/components/Stepper/Stepper.cjs +2 -0
- package/dist/components/Stepper/Stepper.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.context.cjs +2 -0
- package/dist/components/Stepper/Stepper.context.cjs.map +1 -0
- package/dist/components/Stepper/Stepper.context.d.ts.map +1 -1
- package/dist/components/Stepper/Stepper.context.js +19 -0
- package/dist/components/Stepper/Stepper.context.js.map +1 -0
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/Stepper.js +55 -0
- package/dist/components/Stepper/Stepper.js.map +1 -0
- package/dist/components/Stepper/StepperContent.cjs +2 -0
- package/dist/components/Stepper/StepperContent.cjs.map +1 -0
- package/dist/components/Stepper/StepperContent.d.ts.map +1 -1
- package/dist/components/Stepper/StepperContent.js +19 -0
- package/dist/components/Stepper/StepperContent.js.map +1 -0
- package/dist/components/Stepper/StepperDescription.cjs +2 -0
- package/dist/components/Stepper/StepperDescription.cjs.map +1 -0
- package/dist/components/Stepper/StepperDescription.d.ts.map +1 -1
- package/dist/components/Stepper/StepperDescription.js +23 -0
- package/dist/components/Stepper/StepperDescription.js.map +1 -0
- package/dist/components/Stepper/StepperIndicator.cjs +2 -0
- package/dist/components/Stepper/StepperIndicator.cjs.map +1 -0
- package/dist/components/Stepper/StepperIndicator.d.ts.map +1 -1
- package/dist/components/Stepper/StepperIndicator.js +63 -0
- package/dist/components/Stepper/StepperIndicator.js.map +1 -0
- package/dist/components/Stepper/StepperItem.cjs +2 -0
- package/dist/components/Stepper/StepperItem.cjs.map +1 -0
- package/dist/components/Stepper/StepperItem.d.ts.map +1 -1
- package/dist/components/Stepper/StepperItem.js +38 -0
- package/dist/components/Stepper/StepperItem.js.map +1 -0
- package/dist/components/Stepper/StepperTitle.cjs +2 -0
- package/dist/components/Stepper/StepperTitle.cjs.map +1 -0
- package/dist/components/Stepper/StepperTitle.d.ts.map +1 -1
- package/dist/components/Stepper/StepperTitle.js +23 -0
- package/dist/components/Stepper/StepperTitle.js.map +1 -0
- package/dist/components/Switch/Switch.cjs +2 -0
- package/dist/components/Switch/Switch.cjs.map +1 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +50 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.variants.cjs +2 -0
- package/dist/components/Switch/Switch.variants.cjs.map +1 -0
- package/dist/components/Switch/Switch.variants.js +35 -0
- package/dist/components/Switch/Switch.variants.js.map +1 -0
- package/dist/components/Table/Table.cjs +2 -0
- package/dist/components/Table/Table.cjs.map +1 -0
- package/dist/components/Table/Table.context.cjs +2 -0
- package/dist/components/Table/Table.context.cjs.map +1 -0
- package/dist/components/Table/Table.context.d.ts.map +1 -1
- package/dist/components/Table/Table.context.js +11 -0
- package/dist/components/Table/Table.context.js.map +1 -0
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.js +28 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/Table.variants.cjs +2 -0
- package/dist/components/Table/Table.variants.cjs.map +1 -0
- package/dist/components/Table/Table.variants.js +13 -0
- package/dist/components/Table/Table.variants.js.map +1 -0
- package/dist/components/Table/TableBody.cjs +2 -0
- package/dist/components/Table/TableBody.cjs.map +1 -0
- package/dist/components/Table/TableBody.js +14 -0
- package/dist/components/Table/TableBody.js.map +1 -0
- package/dist/components/Table/TableCell.cjs +2 -0
- package/dist/components/Table/TableCell.cjs.map +1 -0
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableCell.js +19 -0
- package/dist/components/Table/TableCell.js.map +1 -0
- package/dist/components/Table/TableFooter.cjs +2 -0
- package/dist/components/Table/TableFooter.cjs.map +1 -0
- package/dist/components/Table/TableFooter.js +14 -0
- package/dist/components/Table/TableFooter.js.map +1 -0
- package/dist/components/Table/TableHead.cjs +2 -0
- package/dist/components/Table/TableHead.cjs.map +1 -0
- package/dist/components/Table/TableHead.d.ts.map +1 -1
- package/dist/components/Table/TableHead.js +54 -0
- package/dist/components/Table/TableHead.js.map +1 -0
- package/dist/components/Table/TableHeader.cjs +2 -0
- package/dist/components/Table/TableHeader.cjs.map +1 -0
- package/dist/components/Table/TableHeader.js +14 -0
- package/dist/components/Table/TableHeader.js.map +1 -0
- package/dist/components/Table/TableRow.cjs +2 -0
- package/dist/components/Table/TableRow.cjs.map +1 -0
- package/dist/components/Table/TableRow.js +20 -0
- package/dist/components/Table/TableRow.js.map +1 -0
- package/dist/components/Tabs/Tabs.cjs +2 -0
- package/dist/components/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.context.cjs +2 -0
- package/dist/components/Tabs/Tabs.context.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.context.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.context.js +13 -0
- package/dist/components/Tabs/Tabs.context.js.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +39 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Tabs/Tabs.variants.cjs +2 -0
- package/dist/components/Tabs/Tabs.variants.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.variants.js +24 -0
- package/dist/components/Tabs/Tabs.variants.js.map +1 -0
- package/dist/components/Tabs/TabsContent.cjs +2 -0
- package/dist/components/Tabs/TabsContent.cjs.map +1 -0
- package/dist/components/Tabs/TabsContent.d.ts.map +1 -1
- package/dist/components/Tabs/TabsContent.js +25 -0
- package/dist/components/Tabs/TabsContent.js.map +1 -0
- package/dist/components/Tabs/TabsList.cjs +2 -0
- package/dist/components/Tabs/TabsList.cjs.map +1 -0
- package/dist/components/Tabs/TabsList.d.ts.map +1 -1
- package/dist/components/Tabs/TabsList.js +52 -0
- package/dist/components/Tabs/TabsList.js.map +1 -0
- package/dist/components/Tabs/TabsTrigger.cjs +2 -0
- package/dist/components/Tabs/TabsTrigger.cjs.map +1 -0
- package/dist/components/Tabs/TabsTrigger.d.ts.map +1 -1
- package/dist/components/Tabs/TabsTrigger.js +34 -0
- package/dist/components/Tabs/TabsTrigger.js.map +1 -0
- package/dist/components/Tag/Tag.cjs +2 -0
- package/dist/components/Tag/Tag.cjs.map +1 -0
- package/dist/components/Tag/Tag.js +24 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Tag/Tag.variants.cjs +2 -0
- package/dist/components/Tag/Tag.variants.cjs.map +1 -0
- package/dist/components/Tag/Tag.variants.js +39 -0
- package/dist/components/Tag/Tag.variants.js.map +1 -0
- package/dist/components/Text/Text.cjs +2 -0
- package/dist/components/Text/Text.cjs.map +1 -0
- package/dist/components/Text/Text.d.ts +3 -0
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +21 -0
- package/dist/components/Text/Text.js.map +1 -0
- package/dist/components/Text/Text.variants.cjs +2 -0
- package/dist/components/Text/Text.variants.cjs.map +1 -0
- package/dist/components/Text/Text.variants.d.ts +1 -2
- package/dist/components/Text/Text.variants.d.ts.map +1 -1
- package/dist/components/Text/Text.variants.js +43 -0
- package/dist/components/Text/Text.variants.js.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +2 -0
- package/dist/components/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.js +31 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/Textarea.variants.cjs +2 -0
- package/dist/components/Textarea/Textarea.variants.cjs.map +1 -0
- package/dist/components/Textarea/Textarea.variants.js +26 -0
- package/dist/components/Textarea/Textarea.variants.js.map +1 -0
- package/dist/components/Timeline/Timeline.cjs +2 -0
- package/dist/components/Timeline/Timeline.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.js +14 -0
- package/dist/components/Timeline/Timeline.js.map +1 -0
- package/dist/components/Timeline/Timeline.variants.cjs +2 -0
- package/dist/components/Timeline/Timeline.variants.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.variants.js +21 -0
- package/dist/components/Timeline/Timeline.variants.js.map +1 -0
- package/dist/components/Timeline/TimelineItem.cjs +2 -0
- package/dist/components/Timeline/TimelineItem.cjs.map +1 -0
- package/dist/components/Timeline/TimelineItem.js +55 -0
- package/dist/components/Timeline/TimelineItem.js.map +1 -0
- package/dist/components/Toast/Toast.cjs +2 -0
- package/dist/components/Toast/Toast.cjs.map +1 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +45 -0
- package/dist/components/Toast/Toast.js.map +1 -0
- package/dist/components/Toast/Toast.variants.cjs +2 -0
- package/dist/components/Toast/Toast.variants.cjs.map +1 -0
- package/dist/components/Toast/Toast.variants.js +38 -0
- package/dist/components/Toast/Toast.variants.js.map +1 -0
- package/dist/components/Toast/Toaster.cjs +2 -0
- package/dist/components/Toast/Toaster.cjs.map +1 -0
- package/dist/components/Toast/Toaster.d.ts.map +1 -1
- package/dist/components/Toast/Toaster.js +33 -0
- package/dist/components/Toast/Toaster.js.map +1 -0
- package/dist/components/Toast/toastStore.cjs +2 -0
- package/dist/components/Toast/toastStore.cjs.map +1 -0
- package/dist/components/Toast/toastStore.js +89 -0
- package/dist/components/Toast/toastStore.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.context.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.context.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.context.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.context.js +13 -0
- package/dist/components/Tooltip/Tooltip.context.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +51 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/TooltipContent.cjs +2 -0
- package/dist/components/Tooltip/TooltipContent.cjs.map +1 -0
- package/dist/components/Tooltip/TooltipContent.d.ts.map +1 -1
- package/dist/components/Tooltip/TooltipContent.js +25 -0
- package/dist/components/Tooltip/TooltipContent.js.map +1 -0
- package/dist/components/Tooltip/TooltipTrigger.cjs +2 -0
- package/dist/components/Tooltip/TooltipTrigger.cjs.map +1 -0
- package/dist/components/Tooltip/TooltipTrigger.d.ts.map +1 -1
- package/dist/components/Tooltip/TooltipTrigger.js +20 -0
- package/dist/components/Tooltip/TooltipTrigger.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs +2 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +8 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/components/VisuallyHidden/index.d.ts +3 -0
- package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/hooks/use-controllable-state.cjs +2 -0
- package/dist/hooks/use-controllable-state.cjs.map +1 -0
- package/dist/hooks/use-controllable-state.d.ts.map +1 -1
- package/dist/hooks/use-controllable-state.js +13 -0
- package/dist/hooks/use-controllable-state.js.map +1 -0
- package/dist/hooks/use-escape-key.cjs +2 -0
- package/dist/hooks/use-escape-key.cjs.map +1 -0
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +16 -0
- package/dist/hooks/use-escape-key.js.map +1 -0
- package/dist/hooks/use-focus-first-interactive.cjs +2 -0
- package/dist/hooks/use-focus-first-interactive.cjs.map +1 -0
- package/dist/hooks/use-focus-first-interactive.d.ts.map +1 -1
- package/dist/hooks/use-focus-first-interactive.js +19 -0
- package/dist/hooks/use-focus-first-interactive.js.map +1 -0
- package/dist/hooks/use-focus-trap.cjs +2 -0
- package/dist/hooks/use-focus-trap.cjs.map +1 -0
- package/dist/hooks/use-focus-trap.d.ts.map +1 -1
- package/dist/hooks/use-focus-trap.js +41 -0
- package/dist/hooks/use-focus-trap.js.map +1 -0
- package/dist/hooks/use-form-field-props.cjs +2 -0
- package/dist/hooks/use-form-field-props.cjs.map +1 -0
- package/dist/hooks/use-form-field-props.d.ts.map +1 -1
- package/dist/hooks/use-form-field-props.js +17 -0
- package/dist/hooks/use-form-field-props.js.map +1 -0
- package/dist/hooks/use-media-query.cjs +2 -0
- package/dist/hooks/use-media-query.cjs.map +1 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -1
- package/dist/hooks/use-media-query.js +18 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-menu-navigation.cjs +2 -0
- package/dist/hooks/use-menu-navigation.cjs.map +1 -0
- package/dist/hooks/use-menu-navigation.d.ts +1 -0
- package/dist/hooks/use-menu-navigation.d.ts.map +1 -1
- package/dist/hooks/use-menu-navigation.js +99 -0
- package/dist/hooks/use-menu-navigation.js.map +1 -0
- package/dist/hooks/use-scroll-lock.cjs +2 -0
- package/dist/hooks/use-scroll-lock.cjs.map +1 -0
- package/dist/hooks/use-scroll-lock.d.ts.map +1 -1
- package/dist/hooks/use-scroll-lock.js +22 -0
- package/dist/hooks/use-scroll-lock.js.map +1 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +211 -10328
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +2 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +267 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +2 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +330 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.cjs +2 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +738 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.cjs +2 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +108 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +2 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +179 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +2 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +2 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +99 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +103 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
- package/dist/node_modules/class-variance-authority/dist/index.cjs +2 -0
- package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -0
- package/dist/node_modules/class-variance-authority/dist/index.js +35 -0
- package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -0
- package/dist/node_modules/clsx/dist/clsx.cjs +2 -0
- package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -0
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/tabbable/dist/index.esm.cjs +2 -0
- package/dist/node_modules/tabbable/dist/index.esm.cjs.map +1 -0
- package/dist/node_modules/tabbable/dist/index.esm.js +169 -0
- package/dist/node_modules/tabbable/dist/index.esm.js.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +2 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/styles-root.css +31 -1
- package/dist/styles.css +39 -1
- package/dist/utils/cn.cjs +2 -0
- package/dist/utils/cn.cjs.map +1 -0
- package/dist/utils/cn.js +10 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/dismiss-button.cjs +2 -0
- package/dist/utils/dismiss-button.cjs.map +1 -0
- package/dist/utils/dismiss-button.js +41 -0
- package/dist/utils/dismiss-button.js.map +1 -0
- package/dist/utils/field-base.cjs +2 -0
- package/dist/utils/field-base.cjs.map +1 -0
- package/dist/utils/field-base.js +16 -0
- package/dist/utils/field-base.js.map +1 -0
- package/dist/utils/modal-primitive.cjs +2 -0
- package/dist/utils/modal-primitive.cjs.map +1 -0
- package/dist/utils/modal-primitive.d.ts.map +1 -1
- package/dist/utils/modal-primitive.js +111 -0
- package/dist/utils/modal-primitive.js.map +1 -0
- package/dist/utils/portal.cjs +2 -0
- package/dist/utils/portal.cjs.map +1 -0
- package/dist/utils/portal.d.ts.map +1 -1
- package/dist/utils/portal.js +11 -0
- package/dist/utils/portal.js.map +1 -0
- package/dist/utils/responsive.cjs +2 -0
- package/dist/utils/responsive.cjs.map +1 -0
- package/dist/utils/responsive.d.ts +11 -0
- package/dist/utils/responsive.d.ts.map +1 -1
- package/dist/utils/responsive.js +128 -0
- package/dist/utils/responsive.js.map +1 -0
- package/dist/utils/slot.cjs +2 -0
- package/dist/utils/slot.cjs.map +1 -0
- package/dist/utils/slot.js +46 -0
- package/dist/utils/slot.js.map +1 -0
- package/dist/utils/variants.cjs +2 -0
- package/dist/utils/variants.cjs.map +1 -0
- package/dist/utils/variants.js +141 -0
- package/dist/utils/variants.js.map +1 -0
- package/package.json +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxGroup.cjs","names":[],"sources":["../../../src/components/Combobox/ComboboxGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Text } from \"@nuka/components/Text\";\nimport type { ComboboxGroupProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxGroup = React.forwardRef<HTMLDivElement, ComboboxGroupProps>(\n ({ label, className, children, ...props }, ref) => {\n const headingId = React.useId();\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [hasVisibleItems, setHasVisibleItems] = React.useState(true);\n const ctx = useComboboxContext();\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n groupRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n React.useEffect(() => {\n if (groupRef.current == null) return;\n const visible =\n groupRef.current.querySelector('[role=\"option\"]:not([hidden])') !==\n null;\n setHasVisibleItems(visible);\n }, [ctx.filterText]);\n\n return (\n <div\n ref={composedRef}\n role=\"group\"\n aria-labelledby={label != null ? headingId : undefined}\n hidden={!hasVisibleItems || undefined}\n className={cn(className)}\n {...props}\n >\n {label != null && (\n <Text\n as=\"div\"\n size=\"xs\"\n weight=\"medium\"\n color=\"muted\"\n id={headingId}\n role=\"presentation\"\n className=\"px-(--space-3) py-(--space-2)\"\n >\n {label}\n </Text>\n )}\n {children}\n </div>\n );\n },\n);\n\nComboboxGroup.displayName = \"ComboboxGroup\";\n\nexport { ComboboxGroup };\n"],"mappings":"kPAOA,IAAM,EAAgB,EAAM,YACzB,CAAE,QAAO,YAAW,WAAU,GAAG,GAAS,IAAQ,CACjD,IAAM,EAAY,EAAM,OAAO,CACzB,EAAW,EAAM,OAAuB,KAAK,CAC7C,CAAC,EAAiB,GAAsB,EAAM,SAAS,GAAK,CAC5D,EAAM,EAAA,oBAAoB,CAE1B,EAAc,EAAM,YACvB,GAAgC,CAC/B,EAAS,QAAU,EACf,OAAO,GAAQ,WAAY,EAAI,EAAK,CAC/B,GAAO,OAAM,EAAI,QAAU,IAEtC,CAAC,EAAI,CACN,CAUD,OARA,EAAM,cAAgB,CAChB,EAAS,SAAW,MAIxB,EAFE,EAAS,QAAQ,cAAc,gCAAgC,GAC/D,KACyB,EAC1B,CAAC,EAAI,WAAW,CAAC,EAGlB,EAAA,EAAA,MAAC,MAAD,CACE,IAAK,EACL,KAAK,QACL,kBAAiB,GAAS,KAAmB,IAAA,GAAZ,EACjC,OAAQ,CAAC,GAAmB,IAAA,GAC5B,UAAW,EAAA,GAAG,EAAU,CACxB,GAAI,WANN,CAQG,GAAS,OACR,EAAA,EAAA,KAAC,EAAA,KAAD,CACE,GAAG,MACH,KAAK,KACL,OAAO,SACP,MAAM,QACN,GAAI,EACJ,KAAK,eACL,UAAU,yCAET,EACI,CAAA,CAER,EACG,IAGX,CAED,EAAc,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxGroup.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAGnF,QAAA,MAAM,aAAa,2FAkDlB,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../utils/cn.js";
|
|
3
|
+
import { Text as t } from "../Text/Text.js";
|
|
4
|
+
import { useComboboxContext as n } from "./Combobox.context.js";
|
|
5
|
+
import * as r from "react";
|
|
6
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/Combobox/ComboboxGroup.tsx
|
|
8
|
+
var o = r.forwardRef(({ label: o, className: s, children: c, ...l }, u) => {
|
|
9
|
+
let d = r.useId(), f = r.useRef(null), [p, m] = r.useState(!0), h = n(), g = r.useCallback((e) => {
|
|
10
|
+
f.current = e, typeof u == "function" ? u(e) : u != null && (u.current = e);
|
|
11
|
+
}, [u]);
|
|
12
|
+
return r.useEffect(() => {
|
|
13
|
+
f.current != null && m(f.current.querySelector("[role=\"option\"]:not([hidden])") !== null);
|
|
14
|
+
}, [h.filterText]), /* @__PURE__ */ a("div", {
|
|
15
|
+
ref: g,
|
|
16
|
+
role: "group",
|
|
17
|
+
"aria-labelledby": o == null ? void 0 : d,
|
|
18
|
+
hidden: !p || void 0,
|
|
19
|
+
className: e(s),
|
|
20
|
+
...l,
|
|
21
|
+
children: [o != null && /* @__PURE__ */ i(t, {
|
|
22
|
+
as: "div",
|
|
23
|
+
size: "xs",
|
|
24
|
+
weight: "medium",
|
|
25
|
+
color: "muted",
|
|
26
|
+
id: d,
|
|
27
|
+
role: "presentation",
|
|
28
|
+
className: "px-(--space-3) py-(--space-2)",
|
|
29
|
+
children: o
|
|
30
|
+
}), c]
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
o.displayName = "ComboboxGroup";
|
|
34
|
+
//#endregion
|
|
35
|
+
export { o as ComboboxGroup };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=ComboboxGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxGroup.js","names":[],"sources":["../../../src/components/Combobox/ComboboxGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Text } from \"@nuka/components/Text\";\nimport type { ComboboxGroupProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxGroup = React.forwardRef<HTMLDivElement, ComboboxGroupProps>(\n ({ label, className, children, ...props }, ref) => {\n const headingId = React.useId();\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [hasVisibleItems, setHasVisibleItems] = React.useState(true);\n const ctx = useComboboxContext();\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n groupRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n React.useEffect(() => {\n if (groupRef.current == null) return;\n const visible =\n groupRef.current.querySelector('[role=\"option\"]:not([hidden])') !==\n null;\n setHasVisibleItems(visible);\n }, [ctx.filterText]);\n\n return (\n <div\n ref={composedRef}\n role=\"group\"\n aria-labelledby={label != null ? headingId : undefined}\n hidden={!hasVisibleItems || undefined}\n className={cn(className)}\n {...props}\n >\n {label != null && (\n <Text\n as=\"div\"\n size=\"xs\"\n weight=\"medium\"\n color=\"muted\"\n id={headingId}\n role=\"presentation\"\n className=\"px-(--space-3) py-(--space-2)\"\n >\n {label}\n </Text>\n )}\n {children}\n </div>\n );\n },\n);\n\nComboboxGroup.displayName = \"ComboboxGroup\";\n\nexport { ComboboxGroup };\n"],"mappings":";;;;;;;AAOA,IAAM,IAAgB,EAAM,YACzB,EAAE,UAAO,cAAW,aAAU,GAAG,KAAS,MAAQ;CACjD,IAAM,IAAY,EAAM,OAAO,EACzB,IAAW,EAAM,OAAuB,KAAK,EAC7C,CAAC,GAAiB,KAAsB,EAAM,SAAS,GAAK,EAC5D,IAAM,GAAoB,EAE1B,IAAc,EAAM,aACvB,MAAgC;AAE/B,EADA,EAAS,UAAU,GACf,OAAO,KAAQ,aAAY,EAAI,EAAK,GAC/B,KAAO,SAAM,EAAI,UAAU;IAEtC,CAAC,EAAI,CACN;AAUD,QARA,EAAM,gBAAgB;AAChB,IAAS,WAAW,QAIxB,EAFE,EAAS,QAAQ,cAAc,kCAAgC,KAC/D,KACyB;IAC1B,CAAC,EAAI,WAAW,CAAC,EAGlB,kBAAC,OAAD;EACE,KAAK;EACL,MAAK;EACL,mBAAiB,KAAS,OAAmB,KAAA,IAAZ;EACjC,QAAQ,CAAC,KAAmB,KAAA;EAC5B,WAAW,EAAG,EAAU;EACxB,GAAI;YANN,CAQG,KAAS,QACR,kBAAC,GAAD;GACE,IAAG;GACH,MAAK;GACL,QAAO;GACP,OAAM;GACN,IAAI;GACJ,MAAK;GACL,WAAU;aAET;GACI,CAAA,EAER,EACG;;EAGX;AAED,EAAc,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../Icon/Icon.cjs`),r=require(`./Combobox.context.cjs`),i=require(`./Combobox.utils.cjs`);let a=require(`react`);a=e.__toESM(a,1);let o=require(`react/jsx-runtime`);var s=a.forwardRef(({className:e,...s},c)=>{let l=r.useComboboxContext(),u=a.useRef(null),d=a.useCallback(e=>{u.current=e,typeof c==`function`?c(e):c!=null&&(c.current=e)},[c]);a.useEffect(()=>{u.current?.focus();let e=l.highlightOnOpenRef.current;if(e!=null){l.highlightOnOpenRef.current=null;let t=i.getNavigableOptions(l.listRef);if(t.length>0){let n=e===`first`?t[0]:t[t.length-1];n!=null&&(l.setActiveDescendantId(n.id),typeof n.scrollIntoView==`function`&&n.scrollIntoView({block:`nearest`}))}}},[]);let f=e=>{let t=i.getNavigableOptions(l.listRef);switch(e.key){case`ArrowDown`:{if(e.preventDefault(),t.length===0)return;let n=t.findIndex(e=>e.id===l.activeDescendantId),r=t[n===-1?0:(n+1)%t.length];r!=null&&(l.setActiveDescendantId(r.id),typeof r.scrollIntoView==`function`&&r.scrollIntoView({block:`nearest`}));break}case`ArrowUp`:{if(e.preventDefault(),t.length===0)return;let n=t.findIndex(e=>e.id===l.activeDescendantId),r=t[n===-1?t.length-1:(n-1+t.length)%t.length];r!=null&&(l.setActiveDescendantId(r.id),typeof r.scrollIntoView==`function`&&r.scrollIntoView({block:`nearest`}));break}case`Home`:{e.preventDefault();let n=t[0];n!=null&&(l.setActiveDescendantId(n.id),typeof n.scrollIntoView==`function`&&n.scrollIntoView({block:`nearest`}));break}case`End`:{e.preventDefault();let n=t[t.length-1];n!=null&&(l.setActiveDescendantId(n.id),typeof n.scrollIntoView==`function`&&n.scrollIntoView({block:`nearest`}));break}case`Enter`:if(e.preventDefault(),l.activeDescendantId!=null){let e=document.getElementById(l.activeDescendantId);e!=null&&e.getAttribute(`aria-disabled`)!==`true`&&e.click()}else l.freeText&&l.filterText!==``&&(l.onValueChange(l.filterText),l.onOpenChange(!1),l.triggerRef.current?.focus());break;case`Escape`:l.onOpenChange(!1),l.triggerRef.current?.focus();break;case`Tab`:l.triggerRef.current?.focus(),l.onOpenChange(!1);break;default:break}},p=e=>{l.setFilterText(e.target.value),l.setActiveDescendantId(void 0)};return(0,o.jsxs)(`div`,{className:t.cn(`flex items-center gap-(--space-2) px-(--space-3)`,`border-b border-(--nuka-border-base)`),children:[(0,o.jsx)(n.Icon,{size:`sm`,color:`muted`,children:(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,o.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,o.jsx)(`path`,{d:`m21 21-4.3-4.3`})]})}),(0,o.jsx)(`input`,{...s,ref:d,id:l.inputId,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":l.open,"aria-controls":l.listboxId,"aria-activedescendant":l.activeDescendantId,value:l.filterText,onChange:p,onKeyDown:f,className:t.cn(`flex-1 bg-transparent py-(--space-3)`,`text-sm text-(--nuka-text-base)`,`placeholder:text-(--nuka-text-muted)`,`outline-none`,e)})]})});s.displayName=`ComboboxInput`,exports.ComboboxInput=s;
|
|
2
|
+
//# sourceMappingURL=ComboboxInput.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxInput.cjs","names":[],"sources":["../../../src/components/Combobox/ComboboxInput.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Icon } from \"@nuka/components/Icon\";\nimport type { ComboboxInputProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\nimport { getNavigableOptions } from \"@nuka/components/Combobox/Combobox.utils\";\n\nconst ComboboxInput = React.forwardRef<HTMLInputElement, ComboboxInputProps>(\n ({ className, ...props }, ref) => {\n const ctx = useComboboxContext();\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n const composedRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n // Focus input and apply highlight directive when panel opens.\n // No rAF: by the time useEffect fires, Portal content and callback refs\n // are committed, so the input and option elements are in the DOM.\n // Empty deps: component unmounts on close and remounts on open.\n React.useEffect(() => {\n internalRef.current?.focus();\n\n const dir = ctx.highlightOnOpenRef.current;\n if (dir != null) {\n ctx.highlightOnOpenRef.current = null;\n const items = getNavigableOptions(ctx.listRef);\n if (items.length > 0) {\n const target = dir === \"first\" ? items[0] : items[items.length - 1];\n if (target != null) {\n ctx.setActiveDescendantId(target.id);\n if (typeof target.scrollIntoView === \"function\") {\n target.scrollIntoView({ block: \"nearest\" });\n }\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- runs once on mount when panel opens\n }, []);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const items = getNavigableOptions(ctx.listRef);\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex(\n (el) => el.id === ctx.activeDescendantId,\n );\n const nextIdx =\n currentIdx === -1 ? 0 : (currentIdx + 1) % items.length;\n const next = items[nextIdx];\n if (next != null) {\n ctx.setActiveDescendantId(next.id);\n if (typeof next.scrollIntoView === \"function\") {\n next.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex(\n (el) => el.id === ctx.activeDescendantId,\n );\n const prevIdx =\n currentIdx === -1\n ? items.length - 1\n : (currentIdx - 1 + items.length) % items.length;\n const prev = items[prevIdx];\n if (prev != null) {\n ctx.setActiveDescendantId(prev.id);\n if (typeof prev.scrollIntoView === \"function\") {\n prev.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const first = items[0];\n if (first != null) {\n ctx.setActiveDescendantId(first.id);\n if (typeof first.scrollIntoView === \"function\") {\n first.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"End\": {\n e.preventDefault();\n const last = items[items.length - 1];\n if (last != null) {\n ctx.setActiveDescendantId(last.id);\n if (typeof last.scrollIntoView === \"function\") {\n last.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"Enter\": {\n e.preventDefault();\n if (ctx.activeDescendantId != null) {\n const activeEl = document.getElementById(ctx.activeDescendantId);\n if (\n activeEl != null &&\n activeEl.getAttribute(\"aria-disabled\") !== \"true\"\n ) {\n activeEl.click();\n }\n } else if (ctx.freeText && ctx.filterText !== \"\") {\n ctx.onValueChange(ctx.filterText);\n ctx.onOpenChange(false);\n ctx.triggerRef.current?.focus();\n }\n break;\n }\n case \"Escape\": {\n ctx.onOpenChange(false);\n ctx.triggerRef.current?.focus();\n break;\n }\n case \"Tab\": {\n ctx.triggerRef.current?.focus();\n ctx.onOpenChange(false);\n break;\n }\n default:\n break;\n }\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n ctx.setFilterText(e.target.value);\n ctx.setActiveDescendantId(undefined);\n };\n\n return (\n <div\n className={cn(\n \"flex items-center gap-(--space-2) px-(--space-3)\",\n \"border-b border-(--nuka-border-base)\",\n )}\n >\n <Icon size=\"sm\" color=\"muted\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n </Icon>\n <input\n {...props}\n ref={composedRef}\n id={ctx.inputId}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded={ctx.open}\n aria-controls={ctx.listboxId}\n aria-activedescendant={ctx.activeDescendantId}\n value={ctx.filterText}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n className={cn(\n \"flex-1 bg-transparent py-(--space-3)\",\n \"text-sm text-(--nuka-text-base)\",\n \"placeholder:text-(--nuka-text-muted)\",\n \"outline-none\",\n className,\n )}\n />\n </div>\n );\n },\n);\n\nComboboxInput.displayName = \"ComboboxInput\";\n\nexport { ComboboxInput };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAInF,QAAA,MAAM,aAAa,6FAoLlB,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../utils/cn.js";
|
|
3
|
+
import { Icon as t } from "../Icon/Icon.js";
|
|
4
|
+
import { useComboboxContext as n } from "./Combobox.context.js";
|
|
5
|
+
import { getNavigableOptions as r } from "./Combobox.utils.js";
|
|
6
|
+
import * as i from "react";
|
|
7
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/Combobox/ComboboxInput.tsx
|
|
9
|
+
var s = i.forwardRef(({ className: s, ...c }, l) => {
|
|
10
|
+
let u = n(), d = i.useRef(null), f = i.useCallback((e) => {
|
|
11
|
+
d.current = e, typeof l == "function" ? l(e) : l != null && (l.current = e);
|
|
12
|
+
}, [l]);
|
|
13
|
+
i.useEffect(() => {
|
|
14
|
+
d.current?.focus();
|
|
15
|
+
let e = u.highlightOnOpenRef.current;
|
|
16
|
+
if (e != null) {
|
|
17
|
+
u.highlightOnOpenRef.current = null;
|
|
18
|
+
let t = r(u.listRef);
|
|
19
|
+
if (t.length > 0) {
|
|
20
|
+
let n = e === "first" ? t[0] : t[t.length - 1];
|
|
21
|
+
n != null && (u.setActiveDescendantId(n.id), typeof n.scrollIntoView == "function" && n.scrollIntoView({ block: "nearest" }));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}, []);
|
|
25
|
+
let p = (e) => {
|
|
26
|
+
let t = r(u.listRef);
|
|
27
|
+
switch (e.key) {
|
|
28
|
+
case "ArrowDown": {
|
|
29
|
+
if (e.preventDefault(), t.length === 0) return;
|
|
30
|
+
let n = t.findIndex((e) => e.id === u.activeDescendantId), r = t[n === -1 ? 0 : (n + 1) % t.length];
|
|
31
|
+
r != null && (u.setActiveDescendantId(r.id), typeof r.scrollIntoView == "function" && r.scrollIntoView({ block: "nearest" }));
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
case "ArrowUp": {
|
|
35
|
+
if (e.preventDefault(), t.length === 0) return;
|
|
36
|
+
let n = t.findIndex((e) => e.id === u.activeDescendantId), r = t[n === -1 ? t.length - 1 : (n - 1 + t.length) % t.length];
|
|
37
|
+
r != null && (u.setActiveDescendantId(r.id), typeof r.scrollIntoView == "function" && r.scrollIntoView({ block: "nearest" }));
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
case "Home": {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
let n = t[0];
|
|
43
|
+
n != null && (u.setActiveDescendantId(n.id), typeof n.scrollIntoView == "function" && n.scrollIntoView({ block: "nearest" }));
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
case "End": {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
let n = t[t.length - 1];
|
|
49
|
+
n != null && (u.setActiveDescendantId(n.id), typeof n.scrollIntoView == "function" && n.scrollIntoView({ block: "nearest" }));
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case "Enter":
|
|
53
|
+
if (e.preventDefault(), u.activeDescendantId != null) {
|
|
54
|
+
let e = document.getElementById(u.activeDescendantId);
|
|
55
|
+
e != null && e.getAttribute("aria-disabled") !== "true" && e.click();
|
|
56
|
+
} else u.freeText && u.filterText !== "" && (u.onValueChange(u.filterText), u.onOpenChange(!1), u.triggerRef.current?.focus());
|
|
57
|
+
break;
|
|
58
|
+
case "Escape":
|
|
59
|
+
u.onOpenChange(!1), u.triggerRef.current?.focus();
|
|
60
|
+
break;
|
|
61
|
+
case "Tab":
|
|
62
|
+
u.triggerRef.current?.focus(), u.onOpenChange(!1);
|
|
63
|
+
break;
|
|
64
|
+
default: break;
|
|
65
|
+
}
|
|
66
|
+
}, m = (e) => {
|
|
67
|
+
u.setFilterText(e.target.value), u.setActiveDescendantId(void 0);
|
|
68
|
+
};
|
|
69
|
+
return /* @__PURE__ */ o("div", {
|
|
70
|
+
className: e("flex items-center gap-(--space-2) px-(--space-3)", "border-b border-(--nuka-border-base)"),
|
|
71
|
+
children: [/* @__PURE__ */ a(t, {
|
|
72
|
+
size: "sm",
|
|
73
|
+
color: "muted",
|
|
74
|
+
children: /* @__PURE__ */ o("svg", {
|
|
75
|
+
viewBox: "0 0 24 24",
|
|
76
|
+
fill: "none",
|
|
77
|
+
stroke: "currentColor",
|
|
78
|
+
strokeWidth: 2,
|
|
79
|
+
strokeLinecap: "round",
|
|
80
|
+
strokeLinejoin: "round",
|
|
81
|
+
children: [/* @__PURE__ */ a("circle", {
|
|
82
|
+
cx: "11",
|
|
83
|
+
cy: "11",
|
|
84
|
+
r: "8"
|
|
85
|
+
}), /* @__PURE__ */ a("path", { d: "m21 21-4.3-4.3" })]
|
|
86
|
+
})
|
|
87
|
+
}), /* @__PURE__ */ a("input", {
|
|
88
|
+
...c,
|
|
89
|
+
ref: f,
|
|
90
|
+
id: u.inputId,
|
|
91
|
+
role: "combobox",
|
|
92
|
+
"aria-autocomplete": "list",
|
|
93
|
+
"aria-expanded": u.open,
|
|
94
|
+
"aria-controls": u.listboxId,
|
|
95
|
+
"aria-activedescendant": u.activeDescendantId,
|
|
96
|
+
value: u.filterText,
|
|
97
|
+
onChange: m,
|
|
98
|
+
onKeyDown: p,
|
|
99
|
+
className: e("flex-1 bg-transparent py-(--space-3)", "text-sm text-(--nuka-text-base)", "placeholder:text-(--nuka-text-muted)", "outline-none", s)
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
s.displayName = "ComboboxInput";
|
|
104
|
+
//#endregion
|
|
105
|
+
export { s as ComboboxInput };
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=ComboboxInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","names":[],"sources":["../../../src/components/Combobox/ComboboxInput.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Icon } from \"@nuka/components/Icon\";\nimport type { ComboboxInputProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\nimport { getNavigableOptions } from \"@nuka/components/Combobox/Combobox.utils\";\n\nconst ComboboxInput = React.forwardRef<HTMLInputElement, ComboboxInputProps>(\n ({ className, ...props }, ref) => {\n const ctx = useComboboxContext();\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n const composedRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n // Focus input and apply highlight directive when panel opens.\n // No rAF: by the time useEffect fires, Portal content and callback refs\n // are committed, so the input and option elements are in the DOM.\n // Empty deps: component unmounts on close and remounts on open.\n React.useEffect(() => {\n internalRef.current?.focus();\n\n const dir = ctx.highlightOnOpenRef.current;\n if (dir != null) {\n ctx.highlightOnOpenRef.current = null;\n const items = getNavigableOptions(ctx.listRef);\n if (items.length > 0) {\n const target = dir === \"first\" ? items[0] : items[items.length - 1];\n if (target != null) {\n ctx.setActiveDescendantId(target.id);\n if (typeof target.scrollIntoView === \"function\") {\n target.scrollIntoView({ block: \"nearest\" });\n }\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- runs once on mount when panel opens\n }, []);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const items = getNavigableOptions(ctx.listRef);\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex(\n (el) => el.id === ctx.activeDescendantId,\n );\n const nextIdx =\n currentIdx === -1 ? 0 : (currentIdx + 1) % items.length;\n const next = items[nextIdx];\n if (next != null) {\n ctx.setActiveDescendantId(next.id);\n if (typeof next.scrollIntoView === \"function\") {\n next.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex(\n (el) => el.id === ctx.activeDescendantId,\n );\n const prevIdx =\n currentIdx === -1\n ? items.length - 1\n : (currentIdx - 1 + items.length) % items.length;\n const prev = items[prevIdx];\n if (prev != null) {\n ctx.setActiveDescendantId(prev.id);\n if (typeof prev.scrollIntoView === \"function\") {\n prev.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const first = items[0];\n if (first != null) {\n ctx.setActiveDescendantId(first.id);\n if (typeof first.scrollIntoView === \"function\") {\n first.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"End\": {\n e.preventDefault();\n const last = items[items.length - 1];\n if (last != null) {\n ctx.setActiveDescendantId(last.id);\n if (typeof last.scrollIntoView === \"function\") {\n last.scrollIntoView({ block: \"nearest\" });\n }\n }\n break;\n }\n case \"Enter\": {\n e.preventDefault();\n if (ctx.activeDescendantId != null) {\n const activeEl = document.getElementById(ctx.activeDescendantId);\n if (\n activeEl != null &&\n activeEl.getAttribute(\"aria-disabled\") !== \"true\"\n ) {\n activeEl.click();\n }\n } else if (ctx.freeText && ctx.filterText !== \"\") {\n ctx.onValueChange(ctx.filterText);\n ctx.onOpenChange(false);\n ctx.triggerRef.current?.focus();\n }\n break;\n }\n case \"Escape\": {\n ctx.onOpenChange(false);\n ctx.triggerRef.current?.focus();\n break;\n }\n case \"Tab\": {\n ctx.triggerRef.current?.focus();\n ctx.onOpenChange(false);\n break;\n }\n default:\n break;\n }\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n ctx.setFilterText(e.target.value);\n ctx.setActiveDescendantId(undefined);\n };\n\n return (\n <div\n className={cn(\n \"flex items-center gap-(--space-2) px-(--space-3)\",\n \"border-b border-(--nuka-border-base)\",\n )}\n >\n <Icon size=\"sm\" color=\"muted\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n </Icon>\n <input\n {...props}\n ref={composedRef}\n id={ctx.inputId}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded={ctx.open}\n aria-controls={ctx.listboxId}\n aria-activedescendant={ctx.activeDescendantId}\n value={ctx.filterText}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n className={cn(\n \"flex-1 bg-transparent py-(--space-3)\",\n \"text-sm text-(--nuka-text-base)\",\n \"placeholder:text-(--nuka-text-muted)\",\n \"outline-none\",\n className,\n )}\n />\n </div>\n );\n },\n);\n\nComboboxInput.displayName = \"ComboboxInput\";\n\nexport { ComboboxInput };\n"],"mappings":";;;;;;;;AAQA,IAAM,IAAgB,EAAM,YACzB,EAAE,cAAW,GAAG,KAAS,MAAQ;CAChC,IAAM,IAAM,GAAoB,EAC1B,IAAc,EAAM,OAAyB,KAAK,EAElD,IAAc,EAAM,aACvB,MAAkC;AAEjC,EADA,EAAY,UAAU,GAClB,OAAO,KAAQ,aAAY,EAAI,EAAK,GAC/B,KAAO,SAAM,EAAI,UAAU;IAEtC,CAAC,EAAI,CACN;AAMD,GAAM,gBAAgB;AACpB,IAAY,SAAS,OAAO;EAE5B,IAAM,IAAM,EAAI,mBAAmB;AACnC,MAAI,KAAO,MAAM;AACf,KAAI,mBAAmB,UAAU;GACjC,IAAM,IAAQ,EAAoB,EAAI,QAAQ;AAC9C,OAAI,EAAM,SAAS,GAAG;IACpB,IAAM,IAAS,MAAQ,UAAU,EAAM,KAAK,EAAM,EAAM,SAAS;AACjE,IAAI,KAAU,SACZ,EAAI,sBAAsB,EAAO,GAAG,EAChC,OAAO,EAAO,kBAAmB,cACnC,EAAO,eAAe,EAAE,OAAO,WAAW,CAAC;;;IAMlD,EAAE,CAAC;CAEN,IAAM,KAAiB,MAA6C;EAClE,IAAM,IAAQ,EAAoB,EAAI,QAAQ;AAE9C,UAAQ,EAAE,KAAV;GACE,KAAK,aAAa;AAEhB,QADA,EAAE,gBAAgB,EACd,EAAM,WAAW,EAAG;IACxB,IAAM,IAAa,EAAM,WACtB,MAAO,EAAG,OAAO,EAAI,mBACvB,EAGK,IAAO,EADX,MAAe,KAAK,KAAK,IAAa,KAAK,EAAM;AAEnD,IAAI,KAAQ,SACV,EAAI,sBAAsB,EAAK,GAAG,EAC9B,OAAO,EAAK,kBAAmB,cACjC,EAAK,eAAe,EAAE,OAAO,WAAW,CAAC;AAG7C;;GAEF,KAAK,WAAW;AAEd,QADA,EAAE,gBAAgB,EACd,EAAM,WAAW,EAAG;IACxB,IAAM,IAAa,EAAM,WACtB,MAAO,EAAG,OAAO,EAAI,mBACvB,EAKK,IAAO,EAHX,MAAe,KACX,EAAM,SAAS,KACd,IAAa,IAAI,EAAM,UAAU,EAAM;AAE9C,IAAI,KAAQ,SACV,EAAI,sBAAsB,EAAK,GAAG,EAC9B,OAAO,EAAK,kBAAmB,cACjC,EAAK,eAAe,EAAE,OAAO,WAAW,CAAC;AAG7C;;GAEF,KAAK,QAAQ;AACX,MAAE,gBAAgB;IAClB,IAAM,IAAQ,EAAM;AACpB,IAAI,KAAS,SACX,EAAI,sBAAsB,EAAM,GAAG,EAC/B,OAAO,EAAM,kBAAmB,cAClC,EAAM,eAAe,EAAE,OAAO,WAAW,CAAC;AAG9C;;GAEF,KAAK,OAAO;AACV,MAAE,gBAAgB;IAClB,IAAM,IAAO,EAAM,EAAM,SAAS;AAClC,IAAI,KAAQ,SACV,EAAI,sBAAsB,EAAK,GAAG,EAC9B,OAAO,EAAK,kBAAmB,cACjC,EAAK,eAAe,EAAE,OAAO,WAAW,CAAC;AAG7C;;GAEF,KAAK;AAEH,QADA,EAAE,gBAAgB,EACd,EAAI,sBAAsB,MAAM;KAClC,IAAM,IAAW,SAAS,eAAe,EAAI,mBAAmB;AAChE,KACE,KAAY,QACZ,EAAS,aAAa,gBAAgB,KAAK,UAE3C,EAAS,OAAO;WAET,EAAI,YAAY,EAAI,eAAe,OAC5C,EAAI,cAAc,EAAI,WAAW,EACjC,EAAI,aAAa,GAAM,EACvB,EAAI,WAAW,SAAS,OAAO;AAEjC;GAEF,KAAK;AAEH,IADA,EAAI,aAAa,GAAM,EACvB,EAAI,WAAW,SAAS,OAAO;AAC/B;GAEF,KAAK;AAEH,IADA,EAAI,WAAW,SAAS,OAAO,EAC/B,EAAI,aAAa,GAAM;AACvB;GAEF,QACE;;IAIA,KAAgB,MAA2C;AAE/D,EADA,EAAI,cAAc,EAAE,OAAO,MAAM,EACjC,EAAI,sBAAsB,KAAA,EAAU;;AAGtC,QACE,kBAAC,OAAD;EACE,WAAW,EACT,oDACA,uCACD;YAJH,CAME,kBAAC,GAAD;GAAM,MAAK;GAAK,OAAM;aACpB,kBAAC,OAAD;IACE,SAAQ;IACR,MAAK;IACL,QAAO;IACP,aAAa;IACb,eAAc;IACd,gBAAe;cANjB,CAQE,kBAAC,UAAD;KAAQ,IAAG;KAAK,IAAG;KAAK,GAAE;KAAM,CAAA,EAChC,kBAAC,QAAD,EAAM,GAAE,kBAAmB,CAAA,CACvB;;GACD,CAAA,EACP,kBAAC,SAAD;GACE,GAAI;GACJ,KAAK;GACL,IAAI,EAAI;GACR,MAAK;GACL,qBAAkB;GAClB,iBAAe,EAAI;GACnB,iBAAe,EAAI;GACnB,yBAAuB,EAAI;GAC3B,OAAO,EAAI;GACX,UAAU;GACV,WAAW;GACX,WAAW,EACT,wCACA,mCACA,wCACA,gBACA,EACD;GACD,CAAA,CACE;;EAGX;AAED,EAAc,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`./Combobox.context.cjs`);let r=require(`react`);r=e.__toESM(r,1);let i=require(`react/jsx-runtime`);var a=r.forwardRef(({className:e,children:a,...o},s)=>{let c=n.useComboboxContext(),l=r.useCallback(e=>{c.listRef.current=e,typeof s==`function`?s(e):s!=null&&(s.current=e)},[s,c.listRef]);return r.useLayoutEffect(()=>{if(c.listRef.current==null)return;let e=c.listRef.current.querySelectorAll(`[role="option"]:not([hidden])`).length;c.setVisibleCount(e)},[c,c.filterText,c.setVisibleCount,c.listRef]),(0,i.jsx)(`div`,{ref:l,id:c.listboxId,role:`listbox`,"aria-label":`Options`,className:t.cn(`max-h-[280px] overflow-y-auto p-(--space-1)`,e),...o,children:a})});a.displayName=`ComboboxListbox`,exports.ComboboxListbox=a;
|
|
2
|
+
//# sourceMappingURL=ComboboxListbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxListbox.cjs","names":[],"sources":["../../../src/components/Combobox/ComboboxListbox.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport type { ComboboxListboxProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxListbox = React.forwardRef<HTMLDivElement, ComboboxListboxProps>(\n ({ className, children, ...props }, ref) => {\n const ctx = useComboboxContext();\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n ctx.listRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref, ctx.listRef],\n );\n\n // Count visible options for ComboboxEmpty. Layout effect avoids\n // flash-of-empty-state by updating before paint.\n React.useLayoutEffect(() => {\n if (ctx.listRef.current == null) return;\n const count = ctx.listRef.current.querySelectorAll(\n '[role=\"option\"]:not([hidden])',\n ).length;\n ctx.setVisibleCount(count);\n }, [ctx, ctx.filterText, ctx.setVisibleCount, ctx.listRef]);\n\n return (\n <div\n ref={composedRef}\n id={ctx.listboxId}\n role=\"listbox\"\n aria-label=\"Options\"\n className={cn(\"max-h-[280px] overflow-y-auto p-(--space-1)\", className)}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nComboboxListbox.displayName = \"ComboboxListbox\";\n\nexport { ComboboxListbox };\n"],"mappings":"oNAMA,IAAM,EAAkB,EAAM,YAC3B,CAAE,YAAW,WAAU,GAAG,GAAS,IAAQ,CAC1C,IAAM,EAAM,EAAA,oBAAoB,CAE1B,EAAc,EAAM,YACvB,GAAgC,CAC/B,EAAI,QAAQ,QAAU,EAClB,OAAO,GAAQ,WAAY,EAAI,EAAK,CAC/B,GAAO,OAAM,EAAI,QAAU,IAEtC,CAAC,EAAK,EAAI,QAAQ,CACnB,CAYD,OARA,EAAM,oBAAsB,CAC1B,GAAI,EAAI,QAAQ,SAAW,KAAM,OACjC,IAAM,EAAQ,EAAI,QAAQ,QAAQ,iBAChC,gCACD,CAAC,OACF,EAAI,gBAAgB,EAAM,EACzB,CAAC,EAAK,EAAI,WAAY,EAAI,gBAAiB,EAAI,QAAQ,CAAC,EAGzD,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,GAAI,EAAI,UACR,KAAK,UACL,aAAW,UACX,UAAW,EAAA,GAAG,8CAA+C,EAAU,CACvE,GAAI,EAEH,WACG,CAAA,EAGX,CAED,EAAgB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxListbox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxListbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxListbox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxListbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,QAAA,MAAM,eAAe,6FAoCpB,CAAC;AAIF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../utils/cn.js";
|
|
3
|
+
import { useComboboxContext as t } from "./Combobox.context.js";
|
|
4
|
+
import * as n from "react";
|
|
5
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/Combobox/ComboboxListbox.tsx
|
|
7
|
+
var i = n.forwardRef(({ className: i, children: a, ...o }, s) => {
|
|
8
|
+
let c = t(), l = n.useCallback((e) => {
|
|
9
|
+
c.listRef.current = e, typeof s == "function" ? s(e) : s != null && (s.current = e);
|
|
10
|
+
}, [s, c.listRef]);
|
|
11
|
+
return n.useLayoutEffect(() => {
|
|
12
|
+
if (c.listRef.current == null) return;
|
|
13
|
+
let e = c.listRef.current.querySelectorAll("[role=\"option\"]:not([hidden])").length;
|
|
14
|
+
c.setVisibleCount(e);
|
|
15
|
+
}, [
|
|
16
|
+
c,
|
|
17
|
+
c.filterText,
|
|
18
|
+
c.setVisibleCount,
|
|
19
|
+
c.listRef
|
|
20
|
+
]), /* @__PURE__ */ r("div", {
|
|
21
|
+
ref: l,
|
|
22
|
+
id: c.listboxId,
|
|
23
|
+
role: "listbox",
|
|
24
|
+
"aria-label": "Options",
|
|
25
|
+
className: e("max-h-[280px] overflow-y-auto p-(--space-1)", i),
|
|
26
|
+
...o,
|
|
27
|
+
children: a
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
i.displayName = "ComboboxListbox";
|
|
31
|
+
//#endregion
|
|
32
|
+
export { i as ComboboxListbox };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ComboboxListbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxListbox.js","names":[],"sources":["../../../src/components/Combobox/ComboboxListbox.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport type { ComboboxListboxProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxListbox = React.forwardRef<HTMLDivElement, ComboboxListboxProps>(\n ({ className, children, ...props }, ref) => {\n const ctx = useComboboxContext();\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n ctx.listRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref, ctx.listRef],\n );\n\n // Count visible options for ComboboxEmpty. Layout effect avoids\n // flash-of-empty-state by updating before paint.\n React.useLayoutEffect(() => {\n if (ctx.listRef.current == null) return;\n const count = ctx.listRef.current.querySelectorAll(\n '[role=\"option\"]:not([hidden])',\n ).length;\n ctx.setVisibleCount(count);\n }, [ctx, ctx.filterText, ctx.setVisibleCount, ctx.listRef]);\n\n return (\n <div\n ref={composedRef}\n id={ctx.listboxId}\n role=\"listbox\"\n aria-label=\"Options\"\n className={cn(\"max-h-[280px] overflow-y-auto p-(--space-1)\", className)}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nComboboxListbox.displayName = \"ComboboxListbox\";\n\nexport { ComboboxListbox };\n"],"mappings":";;;;;;AAMA,IAAM,IAAkB,EAAM,YAC3B,EAAE,cAAW,aAAU,GAAG,KAAS,MAAQ;CAC1C,IAAM,IAAM,GAAoB,EAE1B,IAAc,EAAM,aACvB,MAAgC;AAE/B,EADA,EAAI,QAAQ,UAAU,GAClB,OAAO,KAAQ,aAAY,EAAI,EAAK,GAC/B,KAAO,SAAM,EAAI,UAAU;IAEtC,CAAC,GAAK,EAAI,QAAQ,CACnB;AAYD,QARA,EAAM,sBAAsB;AAC1B,MAAI,EAAI,QAAQ,WAAW,KAAM;EACjC,IAAM,IAAQ,EAAI,QAAQ,QAAQ,iBAChC,kCACD,CAAC;AACF,IAAI,gBAAgB,EAAM;IACzB;EAAC;EAAK,EAAI;EAAY,EAAI;EAAiB,EAAI;EAAQ,CAAC,EAGzD,kBAAC,OAAD;EACE,KAAK;EACL,IAAI,EAAI;EACR,MAAK;EACL,cAAW;EACX,WAAW,EAAG,+CAA+C,EAAU;EACvE,GAAI;EAEH;EACG,CAAA;EAGX;AAED,EAAgB,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`./Combobox.context.cjs`),r=require(`./Combobox.utils.cjs`);let i=require(`react`);i=e.__toESM(i,1);let a=require(`react/jsx-runtime`);var o=i.forwardRef(({value:e,disabled:o=!1,className:s,children:c,onSelect:l},u)=>{let d=n.useComboboxContext(),f=i.useRef(null),p=i.useCallback(e=>{f.current=e,typeof u==`function`?u(e):u!=null&&(u.current=e)},[u]),m=d.value===e,h=`${d.listboxId}-option-${e}`,g=r.getLabel(c),_=d.filterText!==``&&!g.toLowerCase().includes(d.filterText.toLowerCase()),v=d.activeDescendantId===h;return i.useLayoutEffect(()=>(d.registerOption(e,g,f.current),()=>{d.unregisterOption(e)}),[]),i.useEffect(()=>{d.registerDisabledOption(e,o)},[d,e,o]),i.useEffect(()=>{v&&f.current!=null&&typeof f.current.scrollIntoView==`function`&&f.current.scrollIntoView({block:`nearest`})},[v]),(0,a.jsx)(`div`,{ref:p,id:h,role:`option`,"aria-selected":m,"aria-disabled":o||void 0,hidden:_||void 0,className:t.cn(`px-(--space-3) py-(--space-2)`,`text-sm`,`cursor-pointer`,`select-none`,`text-(--nuka-text-base)`,o&&`opacity-50 cursor-not-allowed pointer-events-none`,m&&!v&&`bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)`,v&&`bg-(--nuka-bg-muted) outline-none`,!m&&!v&&!o&&`hover:bg-(--nuka-bg-muted)`,s),onClick:()=>{o||(d.onValueChange(e),l?.(),d.onOpenChange(!1))},children:c})});o.displayName=`ComboboxOption`,exports.ComboboxOption=o;
|
|
2
|
+
//# sourceMappingURL=ComboboxOption.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxOption.cjs","names":[],"sources":["../../../src/components/Combobox/ComboboxOption.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport type { ComboboxOptionProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\nimport { getLabel } from \"@nuka/components/Combobox/Combobox.utils\";\n\nconst ComboboxOption = React.forwardRef<HTMLDivElement, ComboboxOptionProps>(\n ({ value, disabled = false, className, children, onSelect }, ref) => {\n const ctx = useComboboxContext();\n const internalRef = React.useRef<HTMLDivElement>(null);\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n const isSelected = ctx.value === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n const isFiltered =\n ctx.filterText !== \"\" &&\n !label.toLowerCase().includes(ctx.filterText.toLowerCase());\n\n const isActive = ctx.activeDescendantId === optionId;\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n React.useEffect(() => {\n if (isActive && internalRef.current != null) {\n if (typeof internalRef.current.scrollIntoView === \"function\") {\n internalRef.current.scrollIntoView({ block: \"nearest\" });\n }\n }\n }, [isActive]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n onSelect?.();\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n hidden={isFiltered || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isActive &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isActive && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected && !isActive && !disabled && \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n },\n);\n\nComboboxOption.displayName = \"ComboboxOption\";\n\nexport { ComboboxOption };\n"],"mappings":"sPAOA,IAAM,EAAiB,EAAM,YAC1B,CAAE,QAAO,WAAW,GAAO,YAAW,WAAU,YAAY,IAAQ,CACnE,IAAM,EAAM,EAAA,oBAAoB,CAC1B,EAAc,EAAM,OAAuB,KAAK,CAEhD,EAAc,EAAM,YACvB,GAAgC,CAC/B,EAAY,QAAU,EAClB,OAAO,GAAQ,WAAY,EAAI,EAAK,CAC/B,GAAO,OAAM,EAAI,QAAU,IAEtC,CAAC,EAAI,CACN,CAEK,EAAa,EAAI,QAAU,EAC3B,EAAW,GAAG,EAAI,UAAU,UAAU,IACtC,EAAQ,EAAA,SAAS,EAAS,CAE1B,EACJ,EAAI,aAAe,IACnB,CAAC,EAAM,aAAa,CAAC,SAAS,EAAI,WAAW,aAAa,CAAC,CAEvD,EAAW,EAAI,qBAAuB,EA6B5C,OA3BA,EAAM,qBACJ,EAAI,eAAe,EAAO,EAAO,EAAY,QAAQ,KACxC,CACX,EAAI,iBAAiB,EAAM,GAG5B,EAAE,CAAC,CAEN,EAAM,cAAgB,CACpB,EAAI,uBAAuB,EAAO,EAAS,EAC1C,CAAC,EAAK,EAAO,EAAS,CAAC,CAE1B,EAAM,cAAgB,CAChB,GAAY,EAAY,SAAW,MACjC,OAAO,EAAY,QAAQ,gBAAmB,YAChD,EAAY,QAAQ,eAAe,CAAE,MAAO,UAAW,CAAC,EAG3D,CAAC,EAAS,CAAC,EAUZ,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,GAAI,EACJ,KAAK,SACL,gBAAe,EACf,gBAAe,GAAY,IAAA,GAC3B,OAAQ,GAAc,IAAA,GACtB,UAAW,EAAA,GACT,gCACA,UACA,iBACA,cACA,0BACA,GAAY,oDACZ,GACE,CAAC,GACD,yDACF,GAAY,oCACZ,CAAC,GAAc,CAAC,GAAY,CAAC,GAAY,6BACzC,EACD,CACD,YA7BsB,CACpB,IACJ,EAAI,cAAc,EAAM,CACxB,KAAY,CACZ,EAAI,aAAa,GAAM,GA2BpB,WACG,CAAA,EAGX,CAED,EAAe,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxOption.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxOption.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxOption.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxOption.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,QAAA,MAAM,cAAc,4FA+EnB,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../utils/cn.js";
|
|
3
|
+
import { useComboboxContext as t } from "./Combobox.context.js";
|
|
4
|
+
import { getLabel as n } from "./Combobox.utils.js";
|
|
5
|
+
import * as r from "react";
|
|
6
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/Combobox/ComboboxOption.tsx
|
|
8
|
+
var a = r.forwardRef(({ value: a, disabled: o = !1, className: s, children: c, onSelect: l }, u) => {
|
|
9
|
+
let d = t(), f = r.useRef(null), p = r.useCallback((e) => {
|
|
10
|
+
f.current = e, typeof u == "function" ? u(e) : u != null && (u.current = e);
|
|
11
|
+
}, [u]), m = d.value === a, h = `${d.listboxId}-option-${a}`, g = n(c), _ = d.filterText !== "" && !g.toLowerCase().includes(d.filterText.toLowerCase()), v = d.activeDescendantId === h;
|
|
12
|
+
return r.useLayoutEffect(() => (d.registerOption(a, g, f.current), () => {
|
|
13
|
+
d.unregisterOption(a);
|
|
14
|
+
}), []), r.useEffect(() => {
|
|
15
|
+
d.registerDisabledOption(a, o);
|
|
16
|
+
}, [
|
|
17
|
+
d,
|
|
18
|
+
a,
|
|
19
|
+
o
|
|
20
|
+
]), r.useEffect(() => {
|
|
21
|
+
v && f.current != null && typeof f.current.scrollIntoView == "function" && f.current.scrollIntoView({ block: "nearest" });
|
|
22
|
+
}, [v]), /* @__PURE__ */ i("div", {
|
|
23
|
+
ref: p,
|
|
24
|
+
id: h,
|
|
25
|
+
role: "option",
|
|
26
|
+
"aria-selected": m,
|
|
27
|
+
"aria-disabled": o || void 0,
|
|
28
|
+
hidden: _ || void 0,
|
|
29
|
+
className: e("px-(--space-3) py-(--space-2)", "text-sm", "cursor-pointer", "select-none", "text-(--nuka-text-base)", o && "opacity-50 cursor-not-allowed pointer-events-none", m && !v && "bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)", v && "bg-(--nuka-bg-muted) outline-none", !m && !v && !o && "hover:bg-(--nuka-bg-muted)", s),
|
|
30
|
+
onClick: () => {
|
|
31
|
+
o || (d.onValueChange(a), l?.(), d.onOpenChange(!1));
|
|
32
|
+
},
|
|
33
|
+
children: c
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
a.displayName = "ComboboxOption";
|
|
37
|
+
//#endregion
|
|
38
|
+
export { a as ComboboxOption };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=ComboboxOption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxOption.js","names":[],"sources":["../../../src/components/Combobox/ComboboxOption.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport type { ComboboxOptionProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\nimport { getLabel } from \"@nuka/components/Combobox/Combobox.utils\";\n\nconst ComboboxOption = React.forwardRef<HTMLDivElement, ComboboxOptionProps>(\n ({ value, disabled = false, className, children, onSelect }, ref) => {\n const ctx = useComboboxContext();\n const internalRef = React.useRef<HTMLDivElement>(null);\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n },\n [ref],\n );\n\n const isSelected = ctx.value === value;\n const optionId = `${ctx.listboxId}-option-${value}`;\n const label = getLabel(children);\n\n const isFiltered =\n ctx.filterText !== \"\" &&\n !label.toLowerCase().includes(ctx.filterText.toLowerCase());\n\n const isActive = ctx.activeDescendantId === optionId;\n\n React.useLayoutEffect(() => {\n ctx.registerOption(value, label, internalRef.current);\n return () => {\n ctx.unregisterOption(value);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- register once on mount, unregister on unmount\n }, []);\n\n React.useEffect(() => {\n ctx.registerDisabledOption(value, disabled);\n }, [ctx, value, disabled]);\n\n React.useEffect(() => {\n if (isActive && internalRef.current != null) {\n if (typeof internalRef.current.scrollIntoView === \"function\") {\n internalRef.current.scrollIntoView({ block: \"nearest\" });\n }\n }\n }, [isActive]);\n\n const handleClick = () => {\n if (disabled) return;\n ctx.onValueChange(value);\n onSelect?.();\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={optionId}\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={disabled || undefined}\n hidden={isFiltered || undefined}\n className={cn(\n \"px-(--space-3) py-(--space-2)\",\n \"text-sm\",\n \"cursor-pointer\",\n \"select-none\",\n \"text-(--nuka-text-base)\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n isSelected &&\n !isActive &&\n \"bg-(--nuka-accent-bg-subtle) text-(--nuka-accent-text)\",\n isActive && \"bg-(--nuka-bg-muted) outline-none\",\n !isSelected && !isActive && !disabled && \"hover:bg-(--nuka-bg-muted)\",\n className,\n )}\n onClick={handleClick}\n >\n {children}\n </div>\n );\n },\n);\n\nComboboxOption.displayName = \"ComboboxOption\";\n\nexport { ComboboxOption };\n"],"mappings":";;;;;;;AAOA,IAAM,IAAiB,EAAM,YAC1B,EAAE,UAAO,cAAW,IAAO,cAAW,aAAU,eAAY,MAAQ;CACnE,IAAM,IAAM,GAAoB,EAC1B,IAAc,EAAM,OAAuB,KAAK,EAEhD,IAAc,EAAM,aACvB,MAAgC;AAE/B,EADA,EAAY,UAAU,GAClB,OAAO,KAAQ,aAAY,EAAI,EAAK,GAC/B,KAAO,SAAM,EAAI,UAAU;IAEtC,CAAC,EAAI,CACN,EAEK,IAAa,EAAI,UAAU,GAC3B,IAAW,GAAG,EAAI,UAAU,UAAU,KACtC,IAAQ,EAAS,EAAS,EAE1B,IACJ,EAAI,eAAe,MACnB,CAAC,EAAM,aAAa,CAAC,SAAS,EAAI,WAAW,aAAa,CAAC,EAEvD,IAAW,EAAI,uBAAuB;AA6B5C,QA3BA,EAAM,uBACJ,EAAI,eAAe,GAAO,GAAO,EAAY,QAAQ,QACxC;AACX,IAAI,iBAAiB,EAAM;KAG5B,EAAE,CAAC,EAEN,EAAM,gBAAgB;AACpB,IAAI,uBAAuB,GAAO,EAAS;IAC1C;EAAC;EAAK;EAAO;EAAS,CAAC,EAE1B,EAAM,gBAAgB;AACpB,EAAI,KAAY,EAAY,WAAW,QACjC,OAAO,EAAY,QAAQ,kBAAmB,cAChD,EAAY,QAAQ,eAAe,EAAE,OAAO,WAAW,CAAC;IAG3D,CAAC,EAAS,CAAC,EAUZ,kBAAC,OAAD;EACE,KAAK;EACL,IAAI;EACJ,MAAK;EACL,iBAAe;EACf,iBAAe,KAAY,KAAA;EAC3B,QAAQ,KAAc,KAAA;EACtB,WAAW,EACT,iCACA,WACA,kBACA,eACA,2BACA,KAAY,qDACZ,KACE,CAAC,KACD,0DACF,KAAY,qCACZ,CAAC,KAAc,CAAC,KAAY,CAAC,KAAY,8BACzC,EACD;EACD,eA7BsB;AACpB,SACJ,EAAI,cAAc,EAAM,EACxB,KAAY,EACZ,EAAI,aAAa,GAAM;;EA2BpB;EACG,CAAA;EAGX;AAED,EAAe,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../Icon/Icon.cjs`),r=require(`../FormField/FormField.context.cjs`),i=require(`../../hooks/use-form-field-props.cjs`),a=require(`./Combobox.context.cjs`),o=require(`./Combobox.variants.cjs`);let s=require(`react`);s=e.__toESM(s,1);let c=require(`react/jsx-runtime`);var l=s.forwardRef(({className:e,placeholder:l,intent:u,size:d,disabled:f,onKeyDown:p,onClick:m,...h},g)=>{let _=a.useComboboxContext(),v=r.useFormField(),y=i.useFormFieldProps({id:h.id,"aria-invalid":h[`aria-invalid`],"aria-describedby":h[`aria-describedby`],"aria-required":h[`aria-required`]}),b=f??_.disabled,x=h[`aria-labelledby`]??(v.labelId||void 0),S=_.value===void 0?void 0:_.getOptionLabel(_.value),C=h[`aria-label`]??(x===void 0?S??l??`Select`:void 0),w=s.useCallback(e=>{typeof g==`function`?g(e):g!=null&&(g.current=e),_.triggerRef.current=e,_.refs.setReference(e)},[g,_.triggerRef,_.refs]),T=_.getReferenceProps({onKeyDown:e=>{if(p?.(e),!e.defaultPrevented)switch(e.key){case`ArrowDown`:e.preventDefault(),_.open||(_.highlightOnOpenRef.current=`first`,_.onOpenChange(!0));break;case`ArrowUp`:e.preventDefault(),_.open||(_.highlightOnOpenRef.current=`last`,_.onOpenChange(!0));break;default:e.key.length===1&&e.key!==` `&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!_.open&&(e.preventDefault(),_.setFilterText(e.key),_.onOpenChange(!0));break}},onClick:e=>{m?.(e)}});return(0,c.jsxs)(`button`,{...h,...T,ref:w,type:`button`,id:y.resolvedId,"aria-haspopup":`listbox`,"aria-expanded":_.open,"aria-controls":_.open?_.listboxId:void 0,"aria-label":C,"aria-labelledby":x,"aria-invalid":y.ariaInvalid,"aria-describedby":y.ariaDescribedBy,"aria-required":y.ariaRequired,disabled:b,className:t.cn(o.comboboxTriggerVariants({intent:u,size:d}),e),children:[(0,c.jsx)(`span`,{className:t.cn(`truncate`,S===void 0&&`text-(--nuka-text-muted)`),children:S??l}),(0,c.jsx)(n.Icon,{size:`sm`,color:`muted`,className:t.cn(`transition-transform duration-150`,_.open&&`rotate-180`),children:(0,c.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,c.jsx)(`path`,{d:`m6 9 6 6 6-6`})})})]})});l.displayName=`ComboboxTrigger`,exports.ComboboxTrigger=l;
|
|
2
|
+
//# sourceMappingURL=ComboboxTrigger.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxTrigger.cjs","names":[],"sources":["../../../src/components/Combobox/ComboboxTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Icon } from \"@nuka/components/Icon\";\nimport { useFormField } from \"@nuka/components/FormField\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { comboboxTriggerVariants } from \"@nuka/components/Combobox/Combobox.variants\";\nimport type { ComboboxTriggerProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxTrigger = React.forwardRef<\n HTMLButtonElement,\n ComboboxTriggerProps\n>(\n (\n {\n className,\n placeholder,\n intent,\n size: sizeProp,\n disabled: disabledProp,\n onKeyDown: propsOnKeyDown,\n onClick: propsOnClick,\n ...props\n },\n ref,\n ) => {\n const ctx = useComboboxContext();\n const formCtx = useFormField();\n const field = useFormFieldProps({\n id: props.id,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-required\": props[\"aria-required\"],\n });\n\n const resolvedDisabled = disabledProp ?? ctx.disabled;\n\n const ariaLabelledBy =\n props[\"aria-labelledby\"] ?? (formCtx.labelId || undefined);\n\n const displayLabel =\n ctx.value !== undefined ? ctx.getOptionLabel(ctx.value) : undefined;\n\n const ariaLabel =\n props[\"aria-label\"] ??\n (ariaLabelledBy === undefined\n ? (displayLabel ?? placeholder ?? \"Select\")\n : undefined);\n\n const composedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n ctx.triggerRef.current = node;\n ctx.refs.setReference(node);\n },\n [ref, ctx.triggerRef, ctx.refs],\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n propsOnKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (!ctx.open) {\n ctx.highlightOnOpenRef.current = \"first\";\n ctx.onOpenChange(true);\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (!ctx.open) {\n ctx.highlightOnOpenRef.current = \"last\";\n ctx.onOpenChange(true);\n }\n break;\n }\n default: {\n if (\n e.key.length === 1 &&\n e.key !== \" \" &&\n !e.ctrlKey &&\n !e.metaKey &&\n !e.altKey &&\n !ctx.open\n ) {\n e.preventDefault();\n ctx.setFilterText(e.key);\n ctx.onOpenChange(true);\n }\n break;\n }\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n propsOnClick?.(e);\n };\n\n const referenceProps = ctx.getReferenceProps({\n onKeyDown: handleKeyDown,\n onClick: handleClick,\n });\n\n return (\n <button\n {...props}\n {...referenceProps}\n ref={composedRef}\n type=\"button\"\n id={field.resolvedId}\n aria-haspopup=\"listbox\"\n aria-expanded={ctx.open}\n aria-controls={ctx.open ? ctx.listboxId : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n aria-required={field.ariaRequired}\n disabled={resolvedDisabled}\n className={cn(\n comboboxTriggerVariants({ intent, size: sizeProp }),\n className,\n )}\n >\n <span\n className={cn(\n \"truncate\",\n displayLabel === undefined && \"text-(--nuka-text-muted)\",\n )}\n >\n {displayLabel ?? placeholder}\n </span>\n <Icon\n size=\"sm\"\n color=\"muted\"\n className={cn(\n \"transition-transform duration-150\",\n ctx.open && \"rotate-180\",\n )}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </Icon>\n </button>\n );\n },\n);\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport { ComboboxTrigger };\n"],"mappings":"yXAUA,IAAM,EAAkB,EAAM,YAK1B,CACE,YACA,cACA,SACA,KAAM,EACN,SAAU,EACV,UAAW,EACX,QAAS,EACT,GAAG,GAEL,IACG,CACH,IAAM,EAAM,EAAA,oBAAoB,CAC1B,EAAU,EAAA,cAAc,CACxB,EAAQ,EAAA,kBAAkB,CAC9B,GAAI,EAAM,GACV,eAAgB,EAAM,gBACtB,mBAAoB,EAAM,oBAC1B,gBAAiB,EAAM,iBACxB,CAAC,CAEI,EAAmB,GAAgB,EAAI,SAEvC,EACJ,EAAM,qBAAuB,EAAQ,SAAW,IAAA,IAE5C,EACJ,EAAI,QAAU,IAAA,GAA4C,IAAA,GAAhC,EAAI,eAAe,EAAI,MAAM,CAEnD,EACJ,EAAM,gBACL,IAAmB,IAAA,GACf,GAAgB,GAAe,SAChC,IAAA,IAEA,EAAc,EAAM,YACvB,GAAmC,CAC9B,OAAO,GAAQ,WAAY,EAAI,EAAK,CAC/B,GAAO,OAAM,EAAI,QAAU,GACpC,EAAI,WAAW,QAAU,EACzB,EAAI,KAAK,aAAa,EAAK,EAE7B,CAAC,EAAK,EAAI,WAAY,EAAI,KAAK,CAChC,CA6CK,EAAiB,EAAI,kBAAkB,CAC3C,UA5CqB,GAA8C,CACnE,OAAiB,EAAE,CACf,GAAE,iBAEN,OAAQ,EAAE,IAAV,CACE,IAAK,YACH,EAAE,gBAAgB,CACb,EAAI,OACP,EAAI,mBAAmB,QAAU,QACjC,EAAI,aAAa,GAAK,EAExB,MAEF,IAAK,UACH,EAAE,gBAAgB,CACb,EAAI,OACP,EAAI,mBAAmB,QAAU,OACjC,EAAI,aAAa,GAAK,EAExB,MAEF,QAEI,EAAE,IAAI,SAAW,GACjB,EAAE,MAAQ,KACV,CAAC,EAAE,SACH,CAAC,EAAE,SACH,CAAC,EAAE,QACH,CAAC,EAAI,OAEL,EAAE,gBAAgB,CAClB,EAAI,cAAc,EAAE,IAAI,CACxB,EAAI,aAAa,GAAK,EAExB,QAWJ,QANmB,GAA2C,CAC9D,IAAe,EAAE,EAMlB,CAAC,CAEF,OACE,EAAA,EAAA,MAAC,SAAD,CACE,GAAI,EACJ,GAAI,EACJ,IAAK,EACL,KAAK,SACL,GAAI,EAAM,WACV,gBAAc,UACd,gBAAe,EAAI,KACnB,gBAAe,EAAI,KAAO,EAAI,UAAY,IAAA,GAC1C,aAAY,EACZ,kBAAiB,EACjB,eAAc,EAAM,YACpB,mBAAkB,EAAM,gBACxB,gBAAe,EAAM,aACrB,SAAU,EACV,UAAW,EAAA,GACT,EAAA,wBAAwB,CAAE,SAAQ,KAAM,EAAU,CAAC,CACnD,EACD,UAlBH,EAoBE,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,EAAA,GACT,WACA,IAAiB,IAAA,IAAa,2BAC/B,UAEA,GAAgB,EACZ,CAAA,EACP,EAAA,EAAA,KAAC,EAAA,KAAD,CACE,KAAK,KACL,MAAM,QACN,UAAW,EAAA,GACT,oCACA,EAAI,MAAQ,aACb,WAED,EAAA,EAAA,KAAC,MAAD,CACE,MAAM,6BACN,QAAQ,YACR,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,kBAEf,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,eAAiB,CAAA,CACrB,CAAA,CACD,CAAA,CACA,IAGd,CAED,EAAgB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxTrigger.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/ComboboxTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,QAAA,MAAM,eAAe,gGAsJpB,CAAC;AAIF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../utils/cn.js";
|
|
3
|
+
import { Icon as t } from "../Icon/Icon.js";
|
|
4
|
+
import { useFormField as n } from "../FormField/FormField.context.js";
|
|
5
|
+
import { useFormFieldProps as r } from "../../hooks/use-form-field-props.js";
|
|
6
|
+
import { useComboboxContext as i } from "./Combobox.context.js";
|
|
7
|
+
import { comboboxTriggerVariants as a } from "./Combobox.variants.js";
|
|
8
|
+
import * as o from "react";
|
|
9
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
10
|
+
//#region src/components/Combobox/ComboboxTrigger.tsx
|
|
11
|
+
var l = o.forwardRef(({ className: l, placeholder: u, intent: d, size: f, disabled: p, onKeyDown: m, onClick: h, ...g }, _) => {
|
|
12
|
+
let v = i(), y = n(), b = r({
|
|
13
|
+
id: g.id,
|
|
14
|
+
"aria-invalid": g["aria-invalid"],
|
|
15
|
+
"aria-describedby": g["aria-describedby"],
|
|
16
|
+
"aria-required": g["aria-required"]
|
|
17
|
+
}), x = p ?? v.disabled, S = g["aria-labelledby"] ?? (y.labelId || void 0), C = v.value === void 0 ? void 0 : v.getOptionLabel(v.value), w = g["aria-label"] ?? (S === void 0 ? C ?? u ?? "Select" : void 0), T = o.useCallback((e) => {
|
|
18
|
+
typeof _ == "function" ? _(e) : _ != null && (_.current = e), v.triggerRef.current = e, v.refs.setReference(e);
|
|
19
|
+
}, [
|
|
20
|
+
_,
|
|
21
|
+
v.triggerRef,
|
|
22
|
+
v.refs
|
|
23
|
+
]), E = v.getReferenceProps({
|
|
24
|
+
onKeyDown: (e) => {
|
|
25
|
+
if (m?.(e), !e.defaultPrevented) switch (e.key) {
|
|
26
|
+
case "ArrowDown":
|
|
27
|
+
e.preventDefault(), v.open || (v.highlightOnOpenRef.current = "first", v.onOpenChange(!0));
|
|
28
|
+
break;
|
|
29
|
+
case "ArrowUp":
|
|
30
|
+
e.preventDefault(), v.open || (v.highlightOnOpenRef.current = "last", v.onOpenChange(!0));
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
e.key.length === 1 && e.key !== " " && !e.ctrlKey && !e.metaKey && !e.altKey && !v.open && (e.preventDefault(), v.setFilterText(e.key), v.onOpenChange(!0));
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
onClick: (e) => {
|
|
38
|
+
h?.(e);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return /* @__PURE__ */ c("button", {
|
|
42
|
+
...g,
|
|
43
|
+
...E,
|
|
44
|
+
ref: T,
|
|
45
|
+
type: "button",
|
|
46
|
+
id: b.resolvedId,
|
|
47
|
+
"aria-haspopup": "listbox",
|
|
48
|
+
"aria-expanded": v.open,
|
|
49
|
+
"aria-controls": v.open ? v.listboxId : void 0,
|
|
50
|
+
"aria-label": w,
|
|
51
|
+
"aria-labelledby": S,
|
|
52
|
+
"aria-invalid": b.ariaInvalid,
|
|
53
|
+
"aria-describedby": b.ariaDescribedBy,
|
|
54
|
+
"aria-required": b.ariaRequired,
|
|
55
|
+
disabled: x,
|
|
56
|
+
className: e(a({
|
|
57
|
+
intent: d,
|
|
58
|
+
size: f
|
|
59
|
+
}), l),
|
|
60
|
+
children: [/* @__PURE__ */ s("span", {
|
|
61
|
+
className: e("truncate", C === void 0 && "text-(--nuka-text-muted)"),
|
|
62
|
+
children: C ?? u
|
|
63
|
+
}), /* @__PURE__ */ s(t, {
|
|
64
|
+
size: "sm",
|
|
65
|
+
color: "muted",
|
|
66
|
+
className: e("transition-transform duration-150", v.open && "rotate-180"),
|
|
67
|
+
children: /* @__PURE__ */ s("svg", {
|
|
68
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
69
|
+
viewBox: "0 0 24 24",
|
|
70
|
+
fill: "none",
|
|
71
|
+
stroke: "currentColor",
|
|
72
|
+
strokeWidth: "2",
|
|
73
|
+
strokeLinecap: "round",
|
|
74
|
+
strokeLinejoin: "round",
|
|
75
|
+
children: /* @__PURE__ */ s("path", { d: "m6 9 6 6 6-6" })
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
l.displayName = "ComboboxTrigger";
|
|
81
|
+
//#endregion
|
|
82
|
+
export { l as ComboboxTrigger };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=ComboboxTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxTrigger.js","names":[],"sources":["../../../src/components/Combobox/ComboboxTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Icon } from \"@nuka/components/Icon\";\nimport { useFormField } from \"@nuka/components/FormField\";\nimport { useFormFieldProps } from \"@nuka/hooks/use-form-field-props\";\nimport { comboboxTriggerVariants } from \"@nuka/components/Combobox/Combobox.variants\";\nimport type { ComboboxTriggerProps } from \"@nuka/components/Combobox/Combobox.types\";\nimport { useComboboxContext } from \"@nuka/components/Combobox/Combobox.context\";\n\nconst ComboboxTrigger = React.forwardRef<\n HTMLButtonElement,\n ComboboxTriggerProps\n>(\n (\n {\n className,\n placeholder,\n intent,\n size: sizeProp,\n disabled: disabledProp,\n onKeyDown: propsOnKeyDown,\n onClick: propsOnClick,\n ...props\n },\n ref,\n ) => {\n const ctx = useComboboxContext();\n const formCtx = useFormField();\n const field = useFormFieldProps({\n id: props.id,\n \"aria-invalid\": props[\"aria-invalid\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-required\": props[\"aria-required\"],\n });\n\n const resolvedDisabled = disabledProp ?? ctx.disabled;\n\n const ariaLabelledBy =\n props[\"aria-labelledby\"] ?? (formCtx.labelId || undefined);\n\n const displayLabel =\n ctx.value !== undefined ? ctx.getOptionLabel(ctx.value) : undefined;\n\n const ariaLabel =\n props[\"aria-label\"] ??\n (ariaLabelledBy === undefined\n ? (displayLabel ?? placeholder ?? \"Select\")\n : undefined);\n\n const composedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n if (typeof ref === \"function\") ref(node);\n else if (ref != null) ref.current = node;\n ctx.triggerRef.current = node;\n ctx.refs.setReference(node);\n },\n [ref, ctx.triggerRef, ctx.refs],\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n propsOnKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (!ctx.open) {\n ctx.highlightOnOpenRef.current = \"first\";\n ctx.onOpenChange(true);\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (!ctx.open) {\n ctx.highlightOnOpenRef.current = \"last\";\n ctx.onOpenChange(true);\n }\n break;\n }\n default: {\n if (\n e.key.length === 1 &&\n e.key !== \" \" &&\n !e.ctrlKey &&\n !e.metaKey &&\n !e.altKey &&\n !ctx.open\n ) {\n e.preventDefault();\n ctx.setFilterText(e.key);\n ctx.onOpenChange(true);\n }\n break;\n }\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n propsOnClick?.(e);\n };\n\n const referenceProps = ctx.getReferenceProps({\n onKeyDown: handleKeyDown,\n onClick: handleClick,\n });\n\n return (\n <button\n {...props}\n {...referenceProps}\n ref={composedRef}\n type=\"button\"\n id={field.resolvedId}\n aria-haspopup=\"listbox\"\n aria-expanded={ctx.open}\n aria-controls={ctx.open ? ctx.listboxId : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={field.ariaInvalid}\n aria-describedby={field.ariaDescribedBy}\n aria-required={field.ariaRequired}\n disabled={resolvedDisabled}\n className={cn(\n comboboxTriggerVariants({ intent, size: sizeProp }),\n className,\n )}\n >\n <span\n className={cn(\n \"truncate\",\n displayLabel === undefined && \"text-(--nuka-text-muted)\",\n )}\n >\n {displayLabel ?? placeholder}\n </span>\n <Icon\n size=\"sm\"\n color=\"muted\"\n className={cn(\n \"transition-transform duration-150\",\n ctx.open && \"rotate-180\",\n )}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </Icon>\n </button>\n );\n },\n);\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport { ComboboxTrigger };\n"],"mappings":";;;;;;;;;;AAUA,IAAM,IAAkB,EAAM,YAK1B,EACE,cACA,gBACA,WACA,MAAM,GACN,UAAU,GACV,WAAW,GACX,SAAS,GACT,GAAG,KAEL,MACG;CACH,IAAM,IAAM,GAAoB,EAC1B,IAAU,GAAc,EACxB,IAAQ,EAAkB;EAC9B,IAAI,EAAM;EACV,gBAAgB,EAAM;EACtB,oBAAoB,EAAM;EAC1B,iBAAiB,EAAM;EACxB,CAAC,EAEI,IAAmB,KAAgB,EAAI,UAEvC,IACJ,EAAM,uBAAuB,EAAQ,WAAW,KAAA,IAE5C,IACJ,EAAI,UAAU,KAAA,IAA4C,KAAA,IAAhC,EAAI,eAAe,EAAI,MAAM,EAEnD,IACJ,EAAM,kBACL,MAAmB,KAAA,IACf,KAAgB,KAAe,WAChC,KAAA,IAEA,IAAc,EAAM,aACvB,MAAmC;AAIlC,EAHI,OAAO,KAAQ,aAAY,EAAI,EAAK,GAC/B,KAAO,SAAM,EAAI,UAAU,IACpC,EAAI,WAAW,UAAU,GACzB,EAAI,KAAK,aAAa,EAAK;IAE7B;EAAC;EAAK,EAAI;EAAY,EAAI;EAAK,CAChC,EA6CK,IAAiB,EAAI,kBAAkB;EAC3C,YA5CqB,MAA8C;AACnE,WAAiB,EAAE,EACf,GAAE,iBAEN,SAAQ,EAAE,KAAV;IACE,KAAK;AAEH,KADA,EAAE,gBAAgB,EACb,EAAI,SACP,EAAI,mBAAmB,UAAU,SACjC,EAAI,aAAa,GAAK;AAExB;IAEF,KAAK;AAEH,KADA,EAAE,gBAAgB,EACb,EAAI,SACP,EAAI,mBAAmB,UAAU,QACjC,EAAI,aAAa,GAAK;AAExB;IAEF;AACE,KACE,EAAE,IAAI,WAAW,KACjB,EAAE,QAAQ,OACV,CAAC,EAAE,WACH,CAAC,EAAE,WACH,CAAC,EAAE,UACH,CAAC,EAAI,SAEL,EAAE,gBAAgB,EAClB,EAAI,cAAc,EAAE,IAAI,EACxB,EAAI,aAAa,GAAK;AAExB;;;EAWJ,UANmB,MAA2C;AAC9D,OAAe,EAAE;;EAMlB,CAAC;AAEF,QACE,kBAAC,UAAD;EACE,GAAI;EACJ,GAAI;EACJ,KAAK;EACL,MAAK;EACL,IAAI,EAAM;EACV,iBAAc;EACd,iBAAe,EAAI;EACnB,iBAAe,EAAI,OAAO,EAAI,YAAY,KAAA;EAC1C,cAAY;EACZ,mBAAiB;EACjB,gBAAc,EAAM;EACpB,oBAAkB,EAAM;EACxB,iBAAe,EAAM;EACrB,UAAU;EACV,WAAW,EACT,EAAwB;GAAE;GAAQ,MAAM;GAAU,CAAC,EACnD,EACD;YAlBH,CAoBE,kBAAC,QAAD;GACE,WAAW,EACT,YACA,MAAiB,KAAA,KAAa,2BAC/B;aAEA,KAAgB;GACZ,CAAA,EACP,kBAAC,GAAD;GACE,MAAK;GACL,OAAM;GACN,WAAW,EACT,qCACA,EAAI,QAAQ,aACb;aAED,kBAAC,OAAD;IACE,OAAM;IACN,SAAQ;IACR,MAAK;IACL,QAAO;IACP,aAAY;IACZ,eAAc;IACd,gBAAe;cAEf,kBAAC,QAAD,EAAM,GAAE,gBAAiB,CAAA;IACrB,CAAA;GACD,CAAA,CACA;;EAGd;AAED,EAAgB,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../utils/cn.cjs`),n=require(`../../hooks/use-controllable-state.cjs`),r=require(`../Icon/Icon.cjs`),i=require(`../Text/Text.cjs`),a=require(`../../utils/portal.cjs`),o=require(`../../hooks/use-scroll-lock.cjs`),s=require(`../../hooks/use-escape-key.cjs`),c=require(`./CommandMenu.context.cjs`);let l=require(`react`);l=e.__toESM(l,1);let u=require(`react/jsx-runtime`);function d(e){return e.current==null?[]:Array.from(e.current.querySelectorAll(`[role="option"]:not([hidden])`))}function f({children:e,open:r,defaultOpen:i=!1,onOpenChange:f}){let[p,m]=n.useControllableState(r,i,f),[h,g]=l.useState(``),[_,v]=l.useState(null),[y,b]=l.useState(0),x=l.useId(),S=`${x}-listbox`,C=`${x}-input`,w=l.useRef(null),T=l.useRef(null);o.useScrollLock(p),s.useEscapeKey(l.useCallback(()=>m(!1),[m]),p),l.useEffect(()=>{if(!p)return;let e=d(w).length;b(e)},[p,h]),l.useEffect(()=>{p?T.current=document.activeElement:T.current!=null&&(T.current.focus(),T.current=null)},[p]),l.useEffect(()=>{p||(g(``),v(null))},[p]);let E=l.useMemo(()=>({open:p,onOpenChange:m,filter:h,setFilter:g,activeItemId:_,setActiveItemId:v,visibleCount:y,baseId:x,listboxId:S,inputId:C,listRef:w}),[p,m,h,_,y,x,S,C]);return p?(0,u.jsx)(c.CommandMenuContext,{value:E,children:(0,u.jsxs)(a.Portal,{children:[(0,u.jsx)(`div`,{className:t.cn(`fixed inset-0 z-(--nuka-z-modal)`,`bg-(--nuka-bg-overlay)`),onClick:()=>m(!1),"aria-hidden":`true`}),(0,u.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Command menu`,className:t.cn(`fixed z-(--nuka-z-modal)`,`left-1/2 top-[20%] -translate-x-1/2`,`w-full max-w-lg`,`rounded-(--radius-xl) border border-(--nuka-border-base)`,`bg-(--nuka-bg-base) shadow-(--nuka-shadow-modal)`,`overflow-hidden`),children:e})]})}):null}f.displayName=`CommandMenu`;var p=()=>(0,u.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,u.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),m=l.forwardRef(({className:e,...n},i)=>{let a=c.useCommandMenuContext(),o=l.useRef(null),s=l.useCallback(e=>{o.current=e,typeof i==`function`?i(e):i!=null&&(i.current=e)},[i]);l.useEffect(()=>{a.open&&requestAnimationFrame(()=>{o.current?.focus()})},[a.open]);let f=e=>{let t=d(a.listRef);switch(e.key){case`ArrowDown`:{if(e.preventDefault(),t.length===0)return;let n=t.findIndex(e=>e.id===a.activeItemId),r=t[n===-1?0:(n+1)%t.length];r!=null&&a.setActiveItemId(r.id);break}case`ArrowUp`:{if(e.preventDefault(),t.length===0)return;let n=t.findIndex(e=>e.id===a.activeItemId),r=t[n===-1?t.length-1:(n-1+t.length)%t.length];r!=null&&a.setActiveItemId(r.id);break}case`Home`:{e.preventDefault();let n=t[0];n!=null&&a.setActiveItemId(n.id);break}case`End`:{e.preventDefault();let n=t[t.length-1];n!=null&&a.setActiveItemId(n.id);break}case`Enter`:if(e.preventDefault(),a.activeItemId!=null){let e=document.getElementById(a.activeItemId);e!=null&&e.getAttribute(`aria-disabled`)!==`true`&&e.click()}break;case`Tab`:a.onOpenChange(!1);break;default:break}},m=e=>{a.setFilter(e.target.value),a.setActiveItemId(null)},h=a.activeItemId??void 0;return(0,u.jsxs)(`div`,{className:t.cn(`flex items-center gap-(--space-2) px-(--space-3)`,`border-b border-(--nuka-border-base)`),children:[(0,u.jsx)(r.Icon,{size:`sm`,color:`muted`,children:(0,u.jsx)(p,{})}),(0,u.jsx)(`input`,{ref:s,id:a.inputId,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":!0,"aria-controls":a.listboxId,"aria-activedescendant":h,value:a.filter,onChange:m,onKeyDown:f,className:t.cn(`flex-1 bg-transparent py-(--space-3)`,`text-sm text-(--nuka-text-base)`,`placeholder:text-(--nuka-text-muted)`,`outline-none`,e),...n})]})});m.displayName=`CommandMenuInput`;var h=l.forwardRef(({className:e,...n},r)=>{let i=c.useCommandMenuContext();return(0,u.jsx)(`div`,{ref:l.useCallback(e=>{i.listRef.current=e,typeof r==`function`?r(e):r!=null&&(r.current=e)},[r,i.listRef]),id:i.listboxId,role:`listbox`,"aria-label":`Suggestions`,className:t.cn(`overflow-y-auto max-h-80 p-(--space-1)`,e),...n})});h.displayName=`CommandMenuList`;var g=l.forwardRef(({className:e,children:n,...r},a)=>c.useCommandMenuContext().visibleCount>0?null:(0,u.jsx)(`div`,{ref:a,role:`presentation`,className:t.cn(`py-(--space-8) text-center`,e),...r,children:(0,u.jsx)(i.Text,{size:`sm`,color:`muted`,children:n})}));g.displayName=`CommandMenuEmpty`;var _=l.forwardRef(({heading:e,className:n,children:r,...i},a)=>{let o=l.useId(),s=l.useRef(null),[d,f]=l.useState(!0),p=c.useCommandMenuContext(),m=l.useCallback(e=>{s.current=e,typeof a==`function`?a(e):a!=null&&(a.current=e)},[a]);return l.useEffect(()=>{s.current!=null&&f(s.current.querySelector(`[role="option"]:not([hidden])`)!==null)},[p.filter]),(0,u.jsxs)(`div`,{ref:m,role:`group`,"aria-labelledby":e==null?void 0:o,hidden:!d||void 0,className:t.cn(n),...i,children:[e!=null&&(0,u.jsx)(`div`,{id:o,role:`presentation`,className:t.cn(`text-xs font-medium text-(--nuka-text-muted)`,`px-(--space-3) py-(--space-2)`),children:e}),r]})});_.displayName=`CommandMenuGroup`;var v=l.forwardRef(({value:e,disabled:n=!1,onSelect:r,className:i,children:a,...o},s)=>{let d=c.useCommandMenuContext(),f=l.useId(),p=l.useRef(null),m=l.useCallback(e=>{p.current=e,typeof s==`function`?s(e):s!=null&&(s.current=e)},[s]),h=e!=null&&d.filter!==``&&!e.toLowerCase().includes(d.filter.toLowerCase()),g=d.activeItemId===f;return l.useEffect(()=>{g&&p.current!=null&&p.current.scrollIntoView({block:`nearest`})},[g]),(0,u.jsx)(`div`,{ref:m,id:f,role:`option`,"aria-selected":g,"aria-disabled":n||void 0,hidden:h||void 0,onClick:()=>{n||(r?.(),d.onOpenChange(!1))},className:t.cn(`flex items-center gap-(--space-2)`,`px-(--space-3) py-(--space-2)`,`rounded-(--radius-md) text-sm cursor-default`,`select-none`,g&&`bg-(--nuka-bg-muted)`,n?`text-(--nuka-text-disabled)`:`text-(--nuka-text-base)`,i),...o,children:a})});v.displayName=`CommandMenuItem`;var y=l.forwardRef(({className:e,...n},r)=>(0,u.jsx)(`span`,{ref:r,"aria-hidden":`true`,className:t.cn(`ml-auto text-xs text-(--nuka-text-muted)`,e),...n}));y.displayName=`CommandMenuShortcut`,exports.CommandMenu=f,exports.CommandMenuEmpty=g,exports.CommandMenuGroup=_,exports.CommandMenuInput=m,exports.CommandMenuItem=v,exports.CommandMenuList=h,exports.CommandMenuShortcut=y;
|
|
2
|
+
//# sourceMappingURL=CommandMenu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandMenu.cjs","names":[],"sources":["../../../src/components/CommandMenu/CommandMenu.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Portal } from \"@nuka/utils/portal\";\nimport { useScrollLock } from \"@nuka/hooks/use-scroll-lock\";\nimport { useEscapeKey } from \"@nuka/hooks/use-escape-key\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { Icon } from \"@nuka/components/Icon\";\nimport { Text } from \"@nuka/components/Text\";\nimport {\n CommandMenuContext,\n useCommandMenuContext,\n} from \"@nuka/components/CommandMenu/CommandMenu.context\";\n\nexport interface CommandMenuProps {\n children: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nfunction getVisibleItems(\n listRef: React.RefObject<HTMLDivElement | null>,\n): HTMLElement[] {\n if (listRef.current == null) return [];\n return Array.from(\n listRef.current.querySelectorAll<HTMLElement>(\n '[role=\"option\"]:not([hidden])',\n ),\n );\n}\n\nfunction CommandMenu({\n children,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n}: CommandMenuProps) {\n const [open, setOpen] = useControllableState(\n controlledOpen,\n defaultOpen,\n onOpenChange,\n );\n\n const [filter, setFilter] = React.useState(\"\");\n const [activeItemId, setActiveItemId] = React.useState<string | null>(null);\n const [visibleCount, setVisibleCount] = React.useState(0);\n\n const baseId = React.useId();\n const listboxId = `${baseId}-listbox`;\n const inputId = `${baseId}-input`;\n const listRef = React.useRef<HTMLDivElement>(null);\n const restoreRef = React.useRef<HTMLElement | null>(null);\n\n useScrollLock(open);\n useEscapeKey(\n React.useCallback(() => setOpen(false), [setOpen]),\n open,\n );\n\n // Update visibleCount after each filter change\n React.useEffect(() => {\n if (!open) return;\n const count = getVisibleItems(listRef).length;\n setVisibleCount(count);\n }, [open, filter]);\n\n // Save focus on open, restore on close\n React.useEffect(() => {\n if (open) {\n restoreRef.current = document.activeElement as HTMLElement | null;\n } else if (restoreRef.current != null) {\n restoreRef.current.focus();\n restoreRef.current = null;\n }\n }, [open]);\n\n // Reset filter and active item when closing\n React.useEffect(() => {\n if (!open) {\n setFilter(\"\");\n setActiveItemId(null);\n }\n }, [open]);\n\n const contextValue = React.useMemo(\n () => ({\n open,\n onOpenChange: setOpen,\n filter,\n setFilter,\n activeItemId,\n setActiveItemId,\n visibleCount,\n baseId,\n listboxId,\n inputId,\n listRef,\n }),\n [\n open,\n setOpen,\n filter,\n activeItemId,\n visibleCount,\n baseId,\n listboxId,\n inputId,\n ],\n );\n\n if (!open) return null;\n\n return (\n <CommandMenuContext value={contextValue}>\n <Portal>\n <div\n className={cn(\n \"fixed inset-0 z-(--nuka-z-modal)\",\n \"bg-(--nuka-bg-overlay)\",\n )}\n onClick={() => setOpen(false)}\n aria-hidden=\"true\"\n />\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Command menu\"\n className={cn(\n \"fixed z-(--nuka-z-modal)\",\n \"left-1/2 top-[20%] -translate-x-1/2\",\n \"w-full max-w-lg\",\n \"rounded-(--radius-xl) border border-(--nuka-border-base)\",\n \"bg-(--nuka-bg-base) shadow-(--nuka-shadow-modal)\",\n \"overflow-hidden\",\n )}\n >\n {children}\n </div>\n </Portal>\n </CommandMenuContext>\n );\n}\n\nCommandMenu.displayName = \"CommandMenu\";\n\nconst SearchIcon = () => (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n);\n\nexport interface CommandMenuInputProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"onChange\"\n> {}\n\nconst CommandMenuInput = React.forwardRef<\n HTMLInputElement,\n CommandMenuInputProps\n>(({ className, ...props }, ref) => {\n const ctx = useCommandMenuContext();\n const internalRef = React.useRef<HTMLInputElement>(null);\n const composedRef = React.useCallback(\n (node: HTMLInputElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref != null) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n // Focus input when the menu opens\n React.useEffect(() => {\n if (ctx.open) {\n requestAnimationFrame(() => {\n internalRef.current?.focus();\n });\n }\n }, [ctx.open]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const items = getVisibleItems(ctx.listRef);\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex((el) => el.id === ctx.activeItemId);\n const nextIdx = currentIdx === -1 ? 0 : (currentIdx + 1) % items.length;\n const next = items[nextIdx];\n if (next != null) {\n ctx.setActiveItemId(next.id);\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n if (items.length === 0) return;\n const currentIdx = items.findIndex((el) => el.id === ctx.activeItemId);\n const prevIdx =\n currentIdx === -1\n ? items.length - 1\n : (currentIdx - 1 + items.length) % items.length;\n const prev = items[prevIdx];\n if (prev != null) {\n ctx.setActiveItemId(prev.id);\n }\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const first = items[0];\n if (first != null) {\n ctx.setActiveItemId(first.id);\n }\n break;\n }\n case \"End\": {\n e.preventDefault();\n const last = items[items.length - 1];\n if (last != null) {\n ctx.setActiveItemId(last.id);\n }\n break;\n }\n case \"Enter\": {\n e.preventDefault();\n if (ctx.activeItemId != null) {\n const activeEl = document.getElementById(ctx.activeItemId);\n if (\n activeEl != null &&\n activeEl.getAttribute(\"aria-disabled\") !== \"true\"\n ) {\n activeEl.click();\n }\n }\n break;\n }\n case \"Tab\": {\n ctx.onOpenChange(false);\n break;\n }\n default:\n break;\n }\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n ctx.setFilter(e.target.value);\n ctx.setActiveItemId(null);\n };\n\n const activedescendant = ctx.activeItemId ?? undefined;\n\n return (\n <div\n className={cn(\n \"flex items-center gap-(--space-2) px-(--space-3)\",\n \"border-b border-(--nuka-border-base)\",\n )}\n >\n <Icon size=\"sm\" color=\"muted\">\n <SearchIcon />\n </Icon>\n <input\n ref={composedRef}\n id={ctx.inputId}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded={true}\n aria-controls={ctx.listboxId}\n aria-activedescendant={activedescendant}\n value={ctx.filter}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n className={cn(\n \"flex-1 bg-transparent py-(--space-3)\",\n \"text-sm text-(--nuka-text-base)\",\n \"placeholder:text-(--nuka-text-muted)\",\n \"outline-none\",\n className,\n )}\n {...props}\n />\n </div>\n );\n});\n\nCommandMenuInput.displayName = \"CommandMenuInput\";\n\nexport interface CommandMenuListProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst CommandMenuList = React.forwardRef<HTMLDivElement, CommandMenuListProps>(\n ({ className, ...props }, ref) => {\n const ctx = useCommandMenuContext();\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n ctx.listRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref != null) {\n ref.current = node;\n }\n },\n [ref, ctx.listRef],\n );\n\n return (\n <div\n ref={composedRef}\n id={ctx.listboxId}\n role=\"listbox\"\n aria-label=\"Suggestions\"\n className={cn(\"overflow-y-auto max-h-80 p-(--space-1)\", className)}\n {...props}\n />\n );\n },\n);\n\nCommandMenuList.displayName = \"CommandMenuList\";\n\nexport interface CommandMenuEmptyProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst CommandMenuEmpty = React.forwardRef<\n HTMLDivElement,\n CommandMenuEmptyProps\n>(({ className, children, ...props }, ref) => {\n const ctx = useCommandMenuContext();\n\n if (ctx.visibleCount > 0) return null;\n\n return (\n <div\n ref={ref}\n role=\"presentation\"\n className={cn(\"py-(--space-8) text-center\", className)}\n {...props}\n >\n <Text size=\"sm\" color=\"muted\">\n {children}\n </Text>\n </div>\n );\n});\n\nCommandMenuEmpty.displayName = \"CommandMenuEmpty\";\n\nexport interface CommandMenuGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n heading?: string;\n}\n\nconst CommandMenuGroup = React.forwardRef<\n HTMLDivElement,\n CommandMenuGroupProps\n>(({ heading, className, children, ...props }, ref) => {\n const headingId = React.useId();\n const groupRef = React.useRef<HTMLDivElement>(null);\n const [hasVisibleItems, setHasVisibleItems] = React.useState(true);\n const ctx = useCommandMenuContext();\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n groupRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref != null) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n React.useEffect(() => {\n if (groupRef.current == null) return;\n const visible =\n groupRef.current.querySelector('[role=\"option\"]:not([hidden])') !== null;\n setHasVisibleItems(visible);\n }, [ctx.filter]);\n\n return (\n <div\n ref={composedRef}\n role=\"group\"\n aria-labelledby={heading != null ? headingId : undefined}\n hidden={!hasVisibleItems || undefined}\n className={cn(className)}\n {...props}\n >\n {heading != null && (\n <div\n id={headingId}\n role=\"presentation\"\n className={cn(\n \"text-xs font-medium text-(--nuka-text-muted)\",\n \"px-(--space-3) py-(--space-2)\",\n )}\n >\n {heading}\n </div>\n )}\n {children}\n </div>\n );\n});\n\nCommandMenuGroup.displayName = \"CommandMenuGroup\";\n\nexport interface CommandMenuItemProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onSelect\"\n> {\n value?: string;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nconst CommandMenuItem = React.forwardRef<HTMLDivElement, CommandMenuItemProps>(\n (\n { value, disabled = false, onSelect, className, children, ...props },\n ref,\n ) => {\n const ctx = useCommandMenuContext();\n const itemId = React.useId();\n const internalRef = React.useRef<HTMLDivElement>(null);\n\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref != null) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const isFiltered =\n value != null &&\n ctx.filter !== \"\" &&\n !value.toLowerCase().includes(ctx.filter.toLowerCase());\n\n const isActive = ctx.activeItemId === itemId;\n\n // Auto-scroll active item into view\n React.useEffect(() => {\n if (isActive && internalRef.current != null) {\n internalRef.current.scrollIntoView({ block: \"nearest\" });\n }\n }, [isActive]);\n\n const handleClick = () => {\n if (disabled) return;\n onSelect?.();\n ctx.onOpenChange(false);\n };\n\n return (\n <div\n ref={composedRef}\n id={itemId}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled || undefined}\n hidden={isFiltered || undefined}\n onClick={handleClick}\n className={cn(\n \"flex items-center gap-(--space-2)\",\n \"px-(--space-3) py-(--space-2)\",\n \"rounded-(--radius-md) text-sm cursor-default\",\n \"select-none\",\n isActive && \"bg-(--nuka-bg-muted)\",\n disabled ? \"text-(--nuka-text-disabled)\" : \"text-(--nuka-text-base)\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCommandMenuItem.displayName = \"CommandMenuItem\";\n\nexport interface CommandMenuShortcutProps extends React.HTMLAttributes<HTMLSpanElement> {}\n\nconst CommandMenuShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandMenuShortcutProps\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n aria-hidden=\"true\"\n className={cn(\"ml-auto text-xs text-(--nuka-text-muted)\", className)}\n {...props}\n />\n));\n\nCommandMenuShortcut.displayName = \"CommandMenuShortcut\";\n\nexport {\n CommandMenu,\n CommandMenuInput,\n CommandMenuList,\n CommandMenuEmpty,\n CommandMenuGroup,\n CommandMenuItem,\n CommandMenuShortcut,\n};\n"],"mappings":"ocAqBA,SAAS,EACP,EACe,CAEf,OADI,EAAQ,SAAW,KAAa,EAAE,CAC/B,MAAM,KACX,EAAQ,QAAQ,iBACd,gCACD,CACF,CAGH,SAAS,EAAY,CACnB,WACA,KAAM,EACN,cAAc,GACd,gBACmB,CACnB,GAAM,CAAC,EAAM,GAAW,EAAA,qBACtB,EACA,EACA,EACD,CAEK,CAAC,EAAQ,GAAa,EAAM,SAAS,GAAG,CACxC,CAAC,EAAc,GAAmB,EAAM,SAAwB,KAAK,CACrE,CAAC,EAAc,GAAmB,EAAM,SAAS,EAAE,CAEnD,EAAS,EAAM,OAAO,CACtB,EAAY,GAAG,EAAO,UACtB,EAAU,GAAG,EAAO,QACpB,EAAU,EAAM,OAAuB,KAAK,CAC5C,EAAa,EAAM,OAA2B,KAAK,CAEzD,EAAA,cAAc,EAAK,CACnB,EAAA,aACE,EAAM,gBAAkB,EAAQ,GAAM,CAAE,CAAC,EAAQ,CAAC,CAClD,EACD,CAGD,EAAM,cAAgB,CACpB,GAAI,CAAC,EAAM,OACX,IAAM,EAAQ,EAAgB,EAAQ,CAAC,OACvC,EAAgB,EAAM,EACrB,CAAC,EAAM,EAAO,CAAC,CAGlB,EAAM,cAAgB,CAChB,EACF,EAAW,QAAU,SAAS,cACrB,EAAW,SAAW,OAC/B,EAAW,QAAQ,OAAO,CAC1B,EAAW,QAAU,OAEtB,CAAC,EAAK,CAAC,CAGV,EAAM,cAAgB,CACf,IACH,EAAU,GAAG,CACb,EAAgB,KAAK,GAEtB,CAAC,EAAK,CAAC,CAEV,IAAM,EAAe,EAAM,aAClB,CACL,OACA,aAAc,EACd,SACA,YACA,eACA,kBACA,eACA,SACA,YACA,UACA,UACD,EACD,CACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACD,CACF,CAID,OAFK,GAGH,EAAA,EAAA,KAAC,EAAA,mBAAD,CAAoB,MAAO,YACzB,EAAA,EAAA,MAAC,EAAA,OAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,GACT,mCACA,yBACD,CACD,YAAe,EAAQ,GAAM,CAC7B,cAAY,OACZ,CAAA,EACF,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,SACL,aAAW,OACX,aAAW,eACX,UAAW,EAAA,GACT,2BACA,sCACA,kBACA,2DACA,mDACA,kBACD,CAEA,WACG,CAAA,CACC,CAAA,CAAA,CACU,CAAA,CA7BL,KAiCpB,EAAY,YAAc,cAE1B,IAAM,OACJ,EAAA,EAAA,MAAC,MAAD,CACE,QAAQ,YACR,KAAK,OACL,OAAO,eACP,YAAa,EACb,cAAc,QACd,eAAe,iBANjB,EAQE,EAAA,EAAA,KAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,IAAM,CAAA,EAChC,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,iBAAmB,CAAA,CACvB,GAQF,EAAmB,EAAM,YAG5B,CAAE,YAAW,GAAG,GAAS,IAAQ,CAClC,IAAM,EAAM,EAAA,uBAAuB,CAC7B,EAAc,EAAM,OAAyB,KAAK,CAClD,EAAc,EAAM,YACvB,GAAkC,CACjC,EAAY,QAAU,EAClB,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,GAAO,OAChB,EAAI,QAAU,IAGlB,CAAC,EAAI,CACN,CAGD,EAAM,cAAgB,CAChB,EAAI,MACN,0BAA4B,CAC1B,EAAY,SAAS,OAAO,EAC5B,EAEH,CAAC,EAAI,KAAK,CAAC,CAEd,IAAM,EAAiB,GAA6C,CAClE,IAAM,EAAQ,EAAgB,EAAI,QAAQ,CAE1C,OAAQ,EAAE,IAAV,CACE,IAAK,YAAa,CAEhB,GADA,EAAE,gBAAgB,CACd,EAAM,SAAW,EAAG,OACxB,IAAM,EAAa,EAAM,UAAW,GAAO,EAAG,KAAO,EAAI,aAAa,CAEhE,EAAO,EADG,IAAe,GAAK,GAAK,EAAa,GAAK,EAAM,QAE7D,GAAQ,MACV,EAAI,gBAAgB,EAAK,GAAG,CAE9B,MAEF,IAAK,UAAW,CAEd,GADA,EAAE,gBAAgB,CACd,EAAM,SAAW,EAAG,OACxB,IAAM,EAAa,EAAM,UAAW,GAAO,EAAG,KAAO,EAAI,aAAa,CAKhE,EAAO,EAHX,IAAe,GACX,EAAM,OAAS,GACd,EAAa,EAAI,EAAM,QAAU,EAAM,QAE1C,GAAQ,MACV,EAAI,gBAAgB,EAAK,GAAG,CAE9B,MAEF,IAAK,OAAQ,CACX,EAAE,gBAAgB,CAClB,IAAM,EAAQ,EAAM,GAChB,GAAS,MACX,EAAI,gBAAgB,EAAM,GAAG,CAE/B,MAEF,IAAK,MAAO,CACV,EAAE,gBAAgB,CAClB,IAAM,EAAO,EAAM,EAAM,OAAS,GAC9B,GAAQ,MACV,EAAI,gBAAgB,EAAK,GAAG,CAE9B,MAEF,IAAK,QAEH,GADA,EAAE,gBAAgB,CACd,EAAI,cAAgB,KAAM,CAC5B,IAAM,EAAW,SAAS,eAAe,EAAI,aAAa,CAExD,GAAY,MACZ,EAAS,aAAa,gBAAgB,GAAK,QAE3C,EAAS,OAAO,CAGpB,MAEF,IAAK,MACH,EAAI,aAAa,GAAM,CACvB,MAEF,QACE,QAIA,EAAgB,GAA2C,CAC/D,EAAI,UAAU,EAAE,OAAO,MAAM,CAC7B,EAAI,gBAAgB,KAAK,EAGrB,EAAmB,EAAI,cAAgB,IAAA,GAE7C,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,EAAA,GACT,mDACA,uCACD,UAJH,EAME,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,KAAK,KAAK,MAAM,kBACpB,EAAA,EAAA,KAAC,EAAD,EAAc,CAAA,CACT,CAAA,EACP,EAAA,EAAA,KAAC,QAAD,CACE,IAAK,EACL,GAAI,EAAI,QACR,KAAK,WACL,oBAAkB,OAClB,gBAAe,GACf,gBAAe,EAAI,UACnB,wBAAuB,EACvB,MAAO,EAAI,OACX,SAAU,EACV,UAAW,EACX,UAAW,EAAA,GACT,uCACA,kCACA,uCACA,eACA,EACD,CACD,GAAI,EACJ,CAAA,CACE,IAER,CAEF,EAAiB,YAAc,mBAI/B,IAAM,EAAkB,EAAM,YAC3B,CAAE,YAAW,GAAG,GAAS,IAAQ,CAChC,IAAM,EAAM,EAAA,uBAAuB,CAanC,OACE,EAAA,EAAA,KAAC,MAAD,CACE,IAdgB,EAAM,YACvB,GAAgC,CAC/B,EAAI,QAAQ,QAAU,EAClB,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,GAAO,OAChB,EAAI,QAAU,IAGlB,CAAC,EAAK,EAAI,QAAQ,CACnB,CAKG,GAAI,EAAI,UACR,KAAK,UACL,aAAW,cACX,UAAW,EAAA,GAAG,yCAA0C,EAAU,CAClE,GAAI,EACJ,CAAA,EAGP,CAED,EAAgB,YAAc,kBAI9B,IAAM,EAAmB,EAAM,YAG5B,CAAE,YAAW,WAAU,GAAG,GAAS,IACxB,EAAA,uBAAuB,CAE3B,aAAe,EAAU,MAG/B,EAAA,EAAA,KAAC,MAAD,CACO,MACL,KAAK,eACL,UAAW,EAAA,GAAG,6BAA8B,EAAU,CACtD,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,KAAK,KAAK,MAAM,QACnB,WACI,CAAA,CACH,CAAA,CAER,CAEF,EAAiB,YAAc,mBAM/B,IAAM,EAAmB,EAAM,YAG5B,CAAE,UAAS,YAAW,WAAU,GAAG,GAAS,IAAQ,CACrD,IAAM,EAAY,EAAM,OAAO,CACzB,EAAW,EAAM,OAAuB,KAAK,CAC7C,CAAC,EAAiB,GAAsB,EAAM,SAAS,GAAK,CAC5D,EAAM,EAAA,uBAAuB,CAE7B,EAAc,EAAM,YACvB,GAAgC,CAC/B,EAAS,QAAU,EACf,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,GAAO,OAChB,EAAI,QAAU,IAGlB,CAAC,EAAI,CACN,CASD,OAPA,EAAM,cAAgB,CAChB,EAAS,SAAW,MAGxB,EADE,EAAS,QAAQ,cAAc,gCAAgC,GAAK,KAC3C,EAC1B,CAAC,EAAI,OAAO,CAAC,EAGd,EAAA,EAAA,MAAC,MAAD,CACE,IAAK,EACL,KAAK,QACL,kBAAiB,GAAW,KAAmB,IAAA,GAAZ,EACnC,OAAQ,CAAC,GAAmB,IAAA,GAC5B,UAAW,EAAA,GAAG,EAAU,CACxB,GAAI,WANN,CAQG,GAAW,OACV,EAAA,EAAA,KAAC,MAAD,CACE,GAAI,EACJ,KAAK,eACL,UAAW,EAAA,GACT,+CACA,gCACD,UAEA,EACG,CAAA,CAEP,EACG,IAER,CAEF,EAAiB,YAAc,mBAW/B,IAAM,EAAkB,EAAM,YAE1B,CAAE,QAAO,WAAW,GAAO,WAAU,YAAW,WAAU,GAAG,GAC7D,IACG,CACH,IAAM,EAAM,EAAA,uBAAuB,CAC7B,EAAS,EAAM,OAAO,CACtB,EAAc,EAAM,OAAuB,KAAK,CAEhD,EAAc,EAAM,YACvB,GAAgC,CAC/B,EAAY,QAAU,EAClB,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,GAAO,OAChB,EAAI,QAAU,IAGlB,CAAC,EAAI,CACN,CAEK,EACJ,GAAS,MACT,EAAI,SAAW,IACf,CAAC,EAAM,aAAa,CAAC,SAAS,EAAI,OAAO,aAAa,CAAC,CAEnD,EAAW,EAAI,eAAiB,EAetC,OAZA,EAAM,cAAgB,CAChB,GAAY,EAAY,SAAW,MACrC,EAAY,QAAQ,eAAe,CAAE,MAAO,UAAW,CAAC,EAEzD,CAAC,EAAS,CAAC,EASZ,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,GAAI,EACJ,KAAK,SACL,gBAAe,EACf,gBAAe,GAAY,IAAA,GAC3B,OAAQ,GAAc,IAAA,GACtB,YAdsB,CACpB,IACJ,KAAY,CACZ,EAAI,aAAa,GAAM,GAYrB,UAAW,EAAA,GACT,oCACA,gCACA,+CACA,cACA,GAAY,uBACZ,EAAW,8BAAgC,0BAC3C,EACD,CACD,GAAI,EAEH,WACG,CAAA,EAGX,CAED,EAAgB,YAAc,kBAI9B,IAAM,EAAsB,EAAM,YAG/B,CAAE,YAAW,GAAG,GAAS,KAC1B,EAAA,EAAA,KAAC,OAAD,CACO,MACL,cAAY,OACZ,UAAW,EAAA,GAAG,2CAA4C,EAAU,CACpE,GAAI,EACJ,CAAA,CACF,CAEF,EAAoB,YAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`react`);var t=(0,e.createContext)(null);function n(){let n=(0,e.useContext)(t);if(n===null)throw Error(`CommandMenu compound components must be used within <CommandMenu>.`);return n}exports.CommandMenuContext=t,exports.useCommandMenuContext=n;
|
|
2
|
+
//# sourceMappingURL=CommandMenu.context.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandMenu.context.cjs","names":[],"sources":["../../../src/components/CommandMenu/CommandMenu.context.tsx"],"sourcesContent":["\"use client\";\nimport { createContext, useContext } from \"react\";\n\nexport interface CommandMenuContextValue {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n filter: string;\n setFilter: (value: string) => void;\n activeItemId: string | null;\n setActiveItemId: (id: string | null) => void;\n visibleCount: number;\n baseId: string;\n listboxId: string;\n inputId: string;\n listRef: React.RefObject<HTMLDivElement | null>;\n}\n\nconst CommandMenuContext = createContext<CommandMenuContextValue | null>(null);\n\nfunction useCommandMenuContext(): CommandMenuContextValue {\n const ctx = useContext(CommandMenuContext);\n if (ctx === null) {\n throw new Error(\n \"CommandMenu compound components must be used within <CommandMenu>.\",\n );\n }\n return ctx;\n}\n\nexport { CommandMenuContext, useCommandMenuContext };\n"],"mappings":"oFAiBA,IAAM,GAAA,EAAA,EAAA,eAAmE,KAAK,CAE9E,SAAS,GAAiD,CACxD,IAAM,GAAA,EAAA,EAAA,YAAiB,EAAmB,CAC1C,GAAI,IAAQ,KACV,MAAU,MACR,qEACD,CAEH,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandMenu.context.d.ts","sourceRoot":"","sources":["../../../src/components/CommandMenu/CommandMenu.context.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CommandMenu.context.d.ts","sourceRoot":"","sources":["../../../src/components/CommandMenu/CommandMenu.context.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,QAAA,MAAM,kBAAkB,yDAAsD,CAAC;AAE/E,iBAAS,qBAAqB,IAAI,uBAAuB,CAQxD;AAED,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,CAAC"}
|