@nuka-ui/core 1.1.4 → 1.1.5
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/dist/bundle.css +2 -2
- package/dist/components/Accordion/Accordion.cjs +1 -1
- package/dist/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.context.cjs +1 -1
- package/dist/components/Accordion/Accordion.context.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.context.js +1 -1
- package/dist/components/Accordion/Accordion.context.js.map +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.cjs +1 -1
- package/dist/components/Accordion/AccordionContent.cjs.map +1 -1
- package/dist/components/Accordion/AccordionContent.js.map +1 -1
- package/dist/components/Accordion/AccordionItem.cjs +1 -1
- package/dist/components/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/Accordion/AccordionTrigger.cjs +1 -1
- package/dist/components/Accordion/AccordionTrigger.cjs.map +1 -1
- package/dist/components/Accordion/AccordionTrigger.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionTrigger.js.map +1 -1
- package/dist/components/Alert/Alert.cjs +1 -1
- package/dist/components/Alert/Alert.cjs.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/Alert.variants.cjs +1 -1
- package/dist/components/Alert/Alert.variants.cjs.map +1 -1
- package/dist/components/Alert/Alert.variants.js.map +1 -1
- package/dist/components/AppShell/AppShell.cjs +1 -1
- package/dist/components/AppShell/AppShell.cjs.map +1 -1
- package/dist/components/AppShell/AppShell.js.map +1 -1
- package/dist/components/AppShell/AppShellBody.cjs +1 -1
- package/dist/components/AppShell/AppShellBody.cjs.map +1 -1
- package/dist/components/AppShell/AppShellBody.js.map +1 -1
- package/dist/components/AppShell/AppShellHeader.cjs +1 -1
- package/dist/components/AppShell/AppShellHeader.cjs.map +1 -1
- package/dist/components/AppShell/AppShellHeader.js.map +1 -1
- package/dist/components/AppShell/AppShellMain.cjs +1 -1
- package/dist/components/AppShell/AppShellMain.cjs.map +1 -1
- package/dist/components/AppShell/AppShellMain.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.cjs +1 -1
- package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/Avatar/Avatar.cjs +1 -1
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.variants.cjs +1 -1
- package/dist/components/Avatar/Avatar.variants.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.variants.js.map +1 -1
- package/dist/components/Badge/Badge.cjs +1 -1
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.variants.cjs +1 -1
- package/dist/components/Badge/Badge.variants.cjs.map +1 -1
- package/dist/components/Badge/Badge.variants.js.map +1 -1
- package/dist/components/Banner/Banner.cjs +1 -1
- package/dist/components/Banner/Banner.cjs.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/Banner.variants.cjs +1 -1
- package/dist/components/Banner/Banner.variants.cjs.map +1 -1
- package/dist/components/Banner/Banner.variants.js.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.cjs +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbEllipsis.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbList.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbList.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbList.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbPage.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbPage.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbPage.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbSeparator.cjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbSeparator.js.map +1 -1
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.variants.cjs +1 -1
- package/dist/components/Button/Button.variants.cjs.map +1 -1
- package/dist/components/Button/Button.variants.js.map +1 -1
- package/dist/components/Callout/Callout.cjs +1 -1
- package/dist/components/Callout/Callout.cjs.map +1 -1
- package/dist/components/Callout/Callout.js.map +1 -1
- package/dist/components/Callout/Callout.variants.cjs +1 -1
- package/dist/components/Callout/Callout.variants.cjs.map +1 -1
- package/dist/components/Callout/Callout.variants.js.map +1 -1
- package/dist/components/Card/Card.cjs +1 -1
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.variants.cjs +1 -1
- package/dist/components/Card/Card.variants.cjs.map +1 -1
- package/dist/components/Card/Card.variants.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.variants.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.variants.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.variants.js.map +1 -1
- package/dist/components/Chip/Chip.cjs +1 -1
- package/dist/components/Chip/Chip.cjs.map +1 -1
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/Chip/Chip.variants.cjs +1 -1
- package/dist/components/Chip/Chip.variants.cjs.map +1 -1
- package/dist/components/Chip/Chip.variants.js.map +1 -1
- package/dist/components/Code/Code.cjs +1 -1
- package/dist/components/Code/Code.cjs.map +1 -1
- package/dist/components/Code/Code.js.map +1 -1
- package/dist/components/Code/Code.variants.cjs +1 -1
- package/dist/components/Code/Code.variants.cjs.map +1 -1
- package/dist/components/Code/Code.variants.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.cjs +1 -1
- package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
- package/dist/components/Collapsible/Collapsible.context.cjs +1 -1
- package/dist/components/Collapsible/Collapsible.context.cjs.map +1 -1
- package/dist/components/Collapsible/Collapsible.context.js +1 -1
- package/dist/components/Collapsible/Collapsible.context.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/Collapsible/CollapsibleContent.cjs +1 -1
- package/dist/components/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/components/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.cjs +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.cjs.map +1 -1
- package/dist/components/Collapsible/CollapsibleTrigger.js.map +1 -1
- package/dist/components/Combobox/Combobox.cjs +1 -1
- package/dist/components/Combobox/Combobox.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.context.cjs +1 -1
- package/dist/components/Combobox/Combobox.context.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.context.d.ts +6 -1
- package/dist/components/Combobox/Combobox.context.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.context.js +3 -2
- package/dist/components/Combobox/Combobox.context.js.map +1 -1
- package/dist/components/Combobox/Combobox.js.map +1 -1
- package/dist/components/Combobox/Combobox.utils.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.utils.js.map +1 -1
- package/dist/components/Combobox/Combobox.variants.cjs +1 -1
- package/dist/components/Combobox/Combobox.variants.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.variants.js.map +1 -1
- package/dist/components/Combobox/ComboboxContent.cjs +1 -1
- package/dist/components/Combobox/ComboboxContent.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxContent.js.map +1 -1
- package/dist/components/Combobox/ComboboxEmpty.cjs +1 -1
- package/dist/components/Combobox/ComboboxEmpty.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxEmpty.js.map +1 -1
- package/dist/components/Combobox/ComboboxGroup.cjs +1 -1
- package/dist/components/Combobox/ComboboxGroup.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxGroup.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxGroup.js +37 -24
- package/dist/components/Combobox/ComboboxGroup.js.map +1 -1
- package/dist/components/Combobox/ComboboxInput.cjs +1 -1
- package/dist/components/Combobox/ComboboxInput.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxInput.js.map +1 -1
- package/dist/components/Combobox/ComboboxListbox.cjs +1 -1
- package/dist/components/Combobox/ComboboxListbox.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxListbox.js.map +1 -1
- package/dist/components/Combobox/ComboboxOption.cjs +1 -1
- package/dist/components/Combobox/ComboboxOption.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxOption.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxOption.js +37 -28
- package/dist/components/Combobox/ComboboxOption.js.map +1 -1
- package/dist/components/Combobox/ComboboxTrigger.cjs +1 -1
- package/dist/components/Combobox/ComboboxTrigger.cjs.map +1 -1
- package/dist/components/Combobox/ComboboxTrigger.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenu.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.context.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenu.context.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.context.d.ts +8 -1
- package/dist/components/CommandMenu/CommandMenu.context.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.context.js +3 -2
- package/dist/components/CommandMenu/CommandMenu.context.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.js +49 -39
- package/dist/components/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.utils.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenu.utils.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenu.utils.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuEmpty.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuEmpty.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuEmpty.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuGroup.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuGroup.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuGroup.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenuGroup.js +41 -26
- package/dist/components/CommandMenu/CommandMenuGroup.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuInput.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuInput.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuInput.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuItem.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuItem.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuItem.d.ts.map +1 -1
- package/dist/components/CommandMenu/CommandMenuItem.js +35 -21
- package/dist/components/CommandMenu/CommandMenuItem.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuList.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuList.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuList.js.map +1 -1
- package/dist/components/CommandMenu/CommandMenuShortcut.cjs +1 -1
- package/dist/components/CommandMenu/CommandMenuShortcut.cjs.map +1 -1
- package/dist/components/CommandMenu/CommandMenuShortcut.js.map +1 -1
- package/dist/components/Container/Container.cjs +1 -1
- package/dist/components/Container/Container.cjs.map +1 -1
- package/dist/components/Container/Container.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.js +1 -1
- package/dist/components/ContextMenu/ContextMenu.context.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuCheckboxItem.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuContent.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuContent.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuContent.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuItem.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuItem.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuItem.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuLabel.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuLabel.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuLabel.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioGroup.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioGroup.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioGroup.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioItem.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioItem.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuRadioItem.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuSeparator.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenuTrigger.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenuTrigger.js.map +1 -1
- package/dist/components/DataTable/DataTable.cjs +1 -1
- package/dist/components/DataTable/DataTable.cjs.map +1 -1
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.context.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.context.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.context.js +1 -1
- package/dist/components/DatePicker/DatePicker.context.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.hooks.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.hooks.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.hooks.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.hooks.js +10 -12
- package/dist/components/DatePicker/DatePicker.hooks.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.utils.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.utils.js.map +1 -1
- package/dist/components/DatePicker/DatePickerCalendar.cjs +1 -1
- package/dist/components/DatePicker/DatePickerCalendar.cjs.map +1 -1
- package/dist/components/DatePicker/DatePickerCalendar.js +6 -6
- package/dist/components/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/components/DatePicker/DatePickerInput.cjs +1 -1
- package/dist/components/DatePicker/DatePickerInput.cjs.map +1 -1
- package/dist/components/DatePicker/DatePickerInput.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePickerInput.js +16 -22
- package/dist/components/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/Dialog/Dialog.cjs +1 -1
- package/dist/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/components/Dialog/Dialog.context.cjs +1 -1
- package/dist/components/Dialog/Dialog.context.cjs.map +1 -1
- package/dist/components/Dialog/Dialog.context.js +1 -1
- package/dist/components/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/Dialog/Dialog.js.map +1 -1
- package/dist/components/Divider/Divider.cjs +1 -1
- package/dist/components/Divider/Divider.cjs.map +1 -1
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.context.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.context.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.context.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.context.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContent.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuLabel.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuLabel.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuLabel.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.cjs +1 -1
- package/dist/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.cjs +1 -1
- package/dist/components/Eyebrow/Eyebrow.cjs.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.js.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.variants.cjs +1 -1
- package/dist/components/Eyebrow/Eyebrow.variants.cjs.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.variants.js.map +1 -1
- package/dist/components/FileInput/FileInput.cjs +1 -1
- package/dist/components/FileInput/FileInput.cjs.map +1 -1
- package/dist/components/FileInput/FileInput.js.map +1 -1
- package/dist/components/FileInput/FileInput.variants.cjs +1 -1
- package/dist/components/FileInput/FileInput.variants.cjs.map +1 -1
- package/dist/components/FileInput/FileInput.variants.js.map +1 -1
- package/dist/components/FormField/FormField.cjs +1 -1
- package/dist/components/FormField/FormField.cjs.map +1 -1
- package/dist/components/FormField/FormField.context.cjs +1 -1
- package/dist/components/FormField/FormField.context.cjs.map +1 -1
- package/dist/components/FormField/FormField.context.js +1 -1
- package/dist/components/FormField/FormField.context.js.map +1 -1
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/Grid/Grid.cjs +1 -1
- package/dist/components/Grid/Grid.cjs.map +1 -1
- package/dist/components/Grid/Grid.js.map +1 -1
- package/dist/components/Heading/Heading.cjs +1 -1
- package/dist/components/Heading/Heading.cjs.map +1 -1
- package/dist/components/Heading/Heading.js.map +1 -1
- package/dist/components/Heading/Heading.variants.cjs +1 -1
- package/dist/components/Heading/Heading.variants.cjs.map +1 -1
- package/dist/components/Heading/Heading.variants.js.map +1 -1
- package/dist/components/Icon/Icon.cjs +1 -1
- package/dist/components/Icon/Icon.cjs.map +1 -1
- package/dist/components/Icon/Icon.d.ts.map +1 -1
- package/dist/components/Icon/Icon.js +5 -11
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/Icon.variants.cjs +1 -1
- package/dist/components/Icon/Icon.variants.cjs.map +1 -1
- package/dist/components/Icon/Icon.variants.js.map +1 -1
- package/dist/components/Input/Input.cjs +1 -1
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.variants.cjs +1 -1
- package/dist/components/Input/Input.variants.cjs.map +1 -1
- package/dist/components/Input/Input.variants.js.map +1 -1
- package/dist/components/Kbd/Kbd.cjs +1 -1
- package/dist/components/Kbd/Kbd.cjs.map +1 -1
- package/dist/components/Kbd/Kbd.js.map +1 -1
- package/dist/components/Kbd/Kbd.variants.cjs +1 -1
- package/dist/components/Kbd/Kbd.variants.cjs.map +1 -1
- package/dist/components/Kbd/Kbd.variants.js.map +1 -1
- package/dist/components/Label/Label.cjs +1 -1
- package/dist/components/Label/Label.cjs.map +1 -1
- package/dist/components/Label/Label.js.map +1 -1
- package/dist/components/Menu/MenuCheckboxItemBase.cjs +1 -1
- package/dist/components/Menu/MenuCheckboxItemBase.cjs.map +1 -1
- package/dist/components/Menu/MenuCheckboxItemBase.js.map +1 -1
- package/dist/components/Menu/MenuContentBase.cjs +1 -1
- package/dist/components/Menu/MenuContentBase.cjs.map +1 -1
- package/dist/components/Menu/MenuContentBase.js +1 -1
- package/dist/components/Menu/MenuContentBase.js.map +1 -1
- package/dist/components/Menu/MenuItemBase.cjs +1 -1
- package/dist/components/Menu/MenuItemBase.cjs.map +1 -1
- package/dist/components/Menu/MenuItemBase.js.map +1 -1
- package/dist/components/Menu/MenuLabelBase.cjs +1 -1
- package/dist/components/Menu/MenuLabelBase.cjs.map +1 -1
- package/dist/components/Menu/MenuLabelBase.js.map +1 -1
- package/dist/components/Menu/MenuRadioGroupBase.cjs +1 -1
- package/dist/components/Menu/MenuRadioGroupBase.cjs.map +1 -1
- package/dist/components/Menu/MenuRadioGroupBase.js +1 -1
- package/dist/components/Menu/MenuRadioGroupBase.js.map +1 -1
- package/dist/components/Menu/MenuRadioItemBase.cjs +1 -1
- package/dist/components/Menu/MenuRadioItemBase.cjs.map +1 -1
- package/dist/components/Menu/MenuRadioItemBase.js.map +1 -1
- package/dist/components/Menu/MenuSeparatorBase.cjs +1 -1
- package/dist/components/Menu/MenuSeparatorBase.cjs.map +1 -1
- package/dist/components/Menu/MenuSeparatorBase.js.map +1 -1
- package/dist/components/Menu/menuItemVariants.cjs +1 -1
- package/dist/components/Menu/menuItemVariants.cjs.map +1 -1
- package/dist/components/Menu/menuItemVariants.js.map +1 -1
- package/dist/components/Menubar/Menubar.cjs +1 -1
- package/dist/components/Menubar/Menubar.cjs.map +1 -1
- package/dist/components/Menubar/Menubar.context.cjs +1 -1
- package/dist/components/Menubar/Menubar.context.cjs.map +1 -1
- package/dist/components/Menubar/Menubar.context.js +2 -2
- package/dist/components/Menubar/Menubar.context.js.map +1 -1
- package/dist/components/Menubar/Menubar.js.map +1 -1
- package/dist/components/Menubar/MenubarCheckboxItem.cjs +1 -1
- package/dist/components/Menubar/MenubarCheckboxItem.cjs.map +1 -1
- package/dist/components/Menubar/MenubarCheckboxItem.js.map +1 -1
- package/dist/components/Menubar/MenubarContent.cjs +1 -1
- package/dist/components/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/components/Menubar/MenubarContent.js.map +1 -1
- package/dist/components/Menubar/MenubarItem.cjs +1 -1
- package/dist/components/Menubar/MenubarItem.cjs.map +1 -1
- package/dist/components/Menubar/MenubarItem.js.map +1 -1
- package/dist/components/Menubar/MenubarMenu.cjs +1 -1
- package/dist/components/Menubar/MenubarMenu.cjs.map +1 -1
- package/dist/components/Menubar/MenubarMenu.js.map +1 -1
- package/dist/components/Menubar/MenubarRadioGroup.cjs +1 -1
- package/dist/components/Menubar/MenubarRadioGroup.cjs.map +1 -1
- package/dist/components/Menubar/MenubarRadioGroup.js.map +1 -1
- package/dist/components/Menubar/MenubarRadioItem.cjs +1 -1
- package/dist/components/Menubar/MenubarRadioItem.cjs.map +1 -1
- package/dist/components/Menubar/MenubarRadioItem.js.map +1 -1
- package/dist/components/Menubar/MenubarSeparator.cjs +1 -1
- package/dist/components/Menubar/MenubarSeparator.cjs.map +1 -1
- package/dist/components/Menubar/MenubarSeparator.js.map +1 -1
- package/dist/components/Menubar/MenubarTrigger.cjs +1 -1
- package/dist/components/Menubar/MenubarTrigger.cjs.map +1 -1
- package/dist/components/Menubar/MenubarTrigger.js.map +1 -1
- package/dist/components/Nav/Nav.cjs +1 -1
- package/dist/components/Nav/Nav.cjs.map +1 -1
- package/dist/components/Nav/Nav.js.map +1 -1
- package/dist/components/Nav/NavItem.cjs +1 -1
- package/dist/components/Nav/NavItem.cjs.map +1 -1
- package/dist/components/Nav/NavItem.js.map +1 -1
- package/dist/components/Nav/NavLink.cjs +1 -1
- package/dist/components/Nav/NavLink.cjs.map +1 -1
- package/dist/components/Nav/NavLink.js.map +1 -1
- package/dist/components/Nav/NavList.cjs +1 -1
- package/dist/components/Nav/NavList.cjs.map +1 -1
- package/dist/components/Nav/NavList.js.map +1 -1
- package/dist/components/Nav/NavSubmenu.cjs +1 -1
- package/dist/components/Nav/NavSubmenu.cjs.map +1 -1
- package/dist/components/Nav/NavSubmenu.js.map +1 -1
- package/dist/components/Nav/NavTrigger.cjs +1 -1
- package/dist/components/Nav/NavTrigger.cjs.map +1 -1
- package/dist/components/Nav/NavTrigger.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.context.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.context.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.context.js +3 -3
- package/dist/components/NavigationMenu/NavigationMenu.context.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.utils.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.utils.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuContent.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuContent.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuItem.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuItem.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuLink.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenuLink.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuLink.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuList.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenuList.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuList.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuTrigger.cjs +1 -1
- package/dist/components/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
- package/dist/components/NumberInput/NumberInput.cjs +1 -1
- package/dist/components/NumberInput/NumberInput.cjs.map +1 -1
- package/dist/components/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Pagination/Pagination.cjs +1 -1
- package/dist/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/PaginationContent.cjs +1 -1
- package/dist/components/Pagination/PaginationContent.cjs.map +1 -1
- package/dist/components/Pagination/PaginationContent.js.map +1 -1
- package/dist/components/Pagination/PaginationEllipsis.cjs +1 -1
- package/dist/components/Pagination/PaginationEllipsis.cjs.map +1 -1
- package/dist/components/Pagination/PaginationEllipsis.js.map +1 -1
- package/dist/components/Pagination/PaginationItem.cjs +1 -1
- package/dist/components/Pagination/PaginationItem.cjs.map +1 -1
- package/dist/components/Pagination/PaginationItem.js.map +1 -1
- package/dist/components/Pagination/PaginationLink.cjs +1 -1
- package/dist/components/Pagination/PaginationLink.cjs.map +1 -1
- package/dist/components/Pagination/PaginationLink.js.map +1 -1
- package/dist/components/Pagination/PaginationNext.cjs +1 -1
- package/dist/components/Pagination/PaginationNext.cjs.map +1 -1
- package/dist/components/Pagination/PaginationNext.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationNext.js.map +1 -1
- package/dist/components/Pagination/PaginationPrevious.cjs +1 -1
- package/dist/components/Pagination/PaginationPrevious.cjs.map +1 -1
- package/dist/components/Pagination/PaginationPrevious.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPrevious.js.map +1 -1
- package/dist/components/Popover/Popover.cjs +1 -1
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.context.cjs +1 -1
- package/dist/components/Popover/Popover.context.cjs.map +1 -1
- package/dist/components/Popover/Popover.context.js +1 -1
- package/dist/components/Popover/Popover.context.js.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/PopoverContent.cjs +1 -1
- package/dist/components/Popover/PopoverContent.cjs.map +1 -1
- package/dist/components/Popover/PopoverContent.js.map +1 -1
- package/dist/components/Popover/PopoverTrigger.cjs +1 -1
- package/dist/components/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/components/Popover/PopoverTrigger.js.map +1 -1
- package/dist/components/Progress/Progress.cjs +1 -1
- package/dist/components/Progress/Progress.cjs.map +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Progress/Progress.variants.cjs +1 -1
- package/dist/components/Progress/Progress.variants.cjs.map +1 -1
- package/dist/components/Progress/Progress.variants.js.map +1 -1
- package/dist/components/RadioGroup/Radio.cjs +1 -1
- package/dist/components/RadioGroup/Radio.cjs.map +1 -1
- package/dist/components/RadioGroup/Radio.js.map +1 -1
- package/dist/components/RadioGroup/Radio.variants.cjs +1 -1
- package/dist/components/RadioGroup/Radio.variants.cjs.map +1 -1
- package/dist/components/RadioGroup/Radio.variants.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.context.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.context.cjs.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.context.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.context.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +14 -23
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.cjs +1 -1
- package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/Section/Section.cjs +1 -1
- package/dist/components/Section/Section.cjs.map +1 -1
- package/dist/components/Section/Section.js.map +1 -1
- package/dist/components/Section/Section.variants.cjs +1 -1
- package/dist/components/Section/Section.variants.cjs.map +1 -1
- package/dist/components/Section/Section.variants.js.map +1 -1
- package/dist/components/Select/Select.cjs +1 -1
- package/dist/components/Select/Select.cjs.map +1 -1
- package/dist/components/Select/Select.context.cjs +1 -1
- package/dist/components/Select/Select.context.cjs.map +1 -1
- package/dist/components/Select/Select.context.js +1 -1
- package/dist/components/Select/Select.context.js.map +1 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectContent.cjs +1 -1
- package/dist/components/Select/SelectContent.cjs.map +1 -1
- package/dist/components/Select/SelectContent.js.map +1 -1
- package/dist/components/Select/SelectItem.cjs +1 -1
- package/dist/components/Select/SelectItem.cjs.map +1 -1
- package/dist/components/Select/SelectItem.js.map +1 -1
- package/dist/components/Select/SelectSeparator.cjs +1 -1
- package/dist/components/Select/SelectSeparator.cjs.map +1 -1
- package/dist/components/Select/SelectSeparator.js.map +1 -1
- package/dist/components/Select/SelectTrigger.cjs +1 -1
- package/dist/components/Select/SelectTrigger.cjs.map +1 -1
- package/dist/components/Select/SelectTrigger.js.map +1 -1
- package/dist/components/Select/SelectTrigger.utils.cjs +1 -1
- package/dist/components/Select/SelectTrigger.utils.cjs.map +1 -1
- package/dist/components/Select/SelectTrigger.utils.js.map +1 -1
- package/dist/components/Select/SelectTrigger.variants.cjs +1 -1
- package/dist/components/Select/SelectTrigger.variants.cjs.map +1 -1
- package/dist/components/Select/SelectTrigger.variants.js.map +1 -1
- package/dist/components/Sheet/Sheet.cjs +1 -1
- package/dist/components/Sheet/Sheet.cjs.map +1 -1
- package/dist/components/Sheet/Sheet.context.cjs +1 -1
- package/dist/components/Sheet/Sheet.context.cjs.map +1 -1
- package/dist/components/Sheet/Sheet.context.js +1 -1
- package/dist/components/Sheet/Sheet.context.js.map +1 -1
- package/dist/components/Sheet/Sheet.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.context.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.context.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.context.js +1 -1
- package/dist/components/Sidebar/Sidebar.context.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/Sidebar/SidebarContent.cjs +1 -1
- package/dist/components/Sidebar/SidebarContent.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarContent.js.map +1 -1
- package/dist/components/Sidebar/SidebarFooter.cjs +1 -1
- package/dist/components/Sidebar/SidebarFooter.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarFooter.js.map +1 -1
- package/dist/components/Sidebar/SidebarGroup.cjs +1 -1
- package/dist/components/Sidebar/SidebarGroup.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarGroup.js.map +1 -1
- package/dist/components/Sidebar/SidebarGroupLabel.cjs +1 -1
- package/dist/components/Sidebar/SidebarGroupLabel.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarGroupLabel.js.map +1 -1
- package/dist/components/Sidebar/SidebarHeader.cjs +1 -1
- package/dist/components/Sidebar/SidebarHeader.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarHeader.js.map +1 -1
- package/dist/components/Sidebar/SidebarInset.cjs +1 -1
- package/dist/components/Sidebar/SidebarInset.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarInset.js.map +1 -1
- package/dist/components/Sidebar/SidebarMenu.cjs +1 -1
- package/dist/components/Sidebar/SidebarMenu.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarMenu.js.map +1 -1
- package/dist/components/Sidebar/SidebarMenuButton.cjs +1 -1
- package/dist/components/Sidebar/SidebarMenuButton.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarMenuButton.js.map +1 -1
- package/dist/components/Sidebar/SidebarMenuItem.cjs +1 -1
- package/dist/components/Sidebar/SidebarMenuItem.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarMenuItem.js.map +1 -1
- package/dist/components/Sidebar/SidebarProvider.cjs +1 -1
- package/dist/components/Sidebar/SidebarProvider.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarProvider.js.map +1 -1
- package/dist/components/Sidebar/SidebarTrigger.cjs +1 -1
- package/dist/components/Sidebar/SidebarTrigger.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarTrigger.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.cjs +1 -1
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.variants.cjs +1 -1
- package/dist/components/Skeleton/Skeleton.variants.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.variants.js.map +1 -1
- package/dist/components/SkipLink/SkipLink.cjs +1 -1
- package/dist/components/SkipLink/SkipLink.cjs.map +1 -1
- package/dist/components/SkipLink/SkipLink.js.map +1 -1
- package/dist/components/Slider/Slider.cjs +1 -1
- package/dist/components/Slider/Slider.cjs.map +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/Slider.variants.cjs +1 -1
- package/dist/components/Slider/Slider.variants.cjs.map +1 -1
- package/dist/components/Slider/Slider.variants.js.map +1 -1
- package/dist/components/Spinner/Spinner.cjs +1 -1
- package/dist/components/Spinner/Spinner.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner/Spinner.variants.cjs +1 -1
- package/dist/components/Spinner/Spinner.variants.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.variants.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.cjs +1 -1
- package/dist/components/SplitLayout/SplitLayout.cjs.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Stack/Stack.cjs +1 -1
- package/dist/components/Stack/Stack.cjs.map +1 -1
- package/dist/components/Stack/Stack.js.map +1 -1
- package/dist/components/Stepper/Stepper.cjs +1 -1
- package/dist/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.context.cjs +1 -1
- package/dist/components/Stepper/Stepper.context.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.context.js +1 -1
- package/dist/components/Stepper/Stepper.context.js.map +1 -1
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/Stepper.js +1 -1
- package/dist/components/Stepper/Stepper.js.map +1 -1
- package/dist/components/Stepper/StepperContent.cjs +1 -1
- package/dist/components/Stepper/StepperContent.cjs.map +1 -1
- package/dist/components/Stepper/StepperContent.js.map +1 -1
- package/dist/components/Stepper/StepperDescription.cjs +1 -1
- package/dist/components/Stepper/StepperDescription.cjs.map +1 -1
- package/dist/components/Stepper/StepperDescription.js.map +1 -1
- package/dist/components/Stepper/StepperIndicator.cjs +1 -1
- package/dist/components/Stepper/StepperIndicator.cjs.map +1 -1
- package/dist/components/Stepper/StepperIndicator.js.map +1 -1
- package/dist/components/Stepper/StepperItem.cjs +1 -1
- package/dist/components/Stepper/StepperItem.cjs.map +1 -1
- package/dist/components/Stepper/StepperItem.js.map +1 -1
- package/dist/components/Stepper/StepperTitle.cjs +1 -1
- package/dist/components/Stepper/StepperTitle.cjs.map +1 -1
- package/dist/components/Stepper/StepperTitle.js.map +1 -1
- package/dist/components/Switch/Switch.cjs +1 -1
- package/dist/components/Switch/Switch.cjs.map +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Switch/Switch.variants.cjs +1 -1
- package/dist/components/Switch/Switch.variants.cjs.map +1 -1
- package/dist/components/Switch/Switch.variants.js.map +1 -1
- package/dist/components/Table/Table.cjs +1 -1
- package/dist/components/Table/Table.cjs.map +1 -1
- package/dist/components/Table/Table.context.cjs +1 -1
- package/dist/components/Table/Table.context.cjs.map +1 -1
- package/dist/components/Table/Table.context.js +1 -1
- package/dist/components/Table/Table.context.js.map +1 -1
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/Table.variants.cjs +1 -1
- package/dist/components/Table/Table.variants.cjs.map +1 -1
- package/dist/components/Table/Table.variants.js.map +1 -1
- package/dist/components/Table/TableBody.cjs +1 -1
- package/dist/components/Table/TableBody.cjs.map +1 -1
- package/dist/components/Table/TableBody.js.map +1 -1
- package/dist/components/Table/TableCell.cjs +1 -1
- package/dist/components/Table/TableCell.cjs.map +1 -1
- package/dist/components/Table/TableCell.js.map +1 -1
- package/dist/components/Table/TableFooter.cjs +1 -1
- package/dist/components/Table/TableFooter.cjs.map +1 -1
- package/dist/components/Table/TableFooter.js.map +1 -1
- package/dist/components/Table/TableHead.cjs +1 -1
- package/dist/components/Table/TableHead.cjs.map +1 -1
- package/dist/components/Table/TableHead.js.map +1 -1
- package/dist/components/Table/TableHeader.cjs +1 -1
- package/dist/components/Table/TableHeader.cjs.map +1 -1
- package/dist/components/Table/TableHeader.js.map +1 -1
- package/dist/components/Table/TableRow.cjs +1 -1
- package/dist/components/Table/TableRow.cjs.map +1 -1
- package/dist/components/Table/TableRow.js.map +1 -1
- package/dist/components/Tabs/Tabs.cjs +1 -1
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.context.cjs +1 -1
- package/dist/components/Tabs/Tabs.context.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.context.js +1 -1
- package/dist/components/Tabs/Tabs.context.js.map +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/Tabs.variants.cjs +1 -1
- package/dist/components/Tabs/Tabs.variants.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.variants.js.map +1 -1
- package/dist/components/Tabs/TabsContent.cjs +1 -1
- package/dist/components/Tabs/TabsContent.cjs.map +1 -1
- package/dist/components/Tabs/TabsContent.js.map +1 -1
- package/dist/components/Tabs/TabsList.cjs +1 -1
- package/dist/components/Tabs/TabsList.cjs.map +1 -1
- package/dist/components/Tabs/TabsList.js.map +1 -1
- package/dist/components/Tabs/TabsTrigger.cjs +1 -1
- package/dist/components/Tabs/TabsTrigger.cjs.map +1 -1
- package/dist/components/Tabs/TabsTrigger.js.map +1 -1
- package/dist/components/Tag/Tag.cjs +1 -1
- package/dist/components/Tag/Tag.cjs.map +1 -1
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Tag/Tag.variants.cjs +1 -1
- package/dist/components/Tag/Tag.variants.cjs.map +1 -1
- package/dist/components/Tag/Tag.variants.js.map +1 -1
- package/dist/components/Text/Text.cjs +1 -1
- package/dist/components/Text/Text.cjs.map +1 -1
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/Text/Text.variants.cjs +1 -1
- package/dist/components/Text/Text.variants.cjs.map +1 -1
- package/dist/components/Text/Text.variants.js.map +1 -1
- package/dist/components/Textarea/Textarea.cjs +1 -1
- package/dist/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/Textarea.variants.cjs +1 -1
- package/dist/components/Textarea/Textarea.variants.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.variants.js.map +1 -1
- package/dist/components/Timeline/Timeline.cjs +1 -1
- package/dist/components/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.js.map +1 -1
- package/dist/components/Timeline/Timeline.variants.cjs +1 -1
- package/dist/components/Timeline/Timeline.variants.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.variants.js.map +1 -1
- package/dist/components/Timeline/TimelineItem.cjs +1 -1
- package/dist/components/Timeline/TimelineItem.cjs.map +1 -1
- package/dist/components/Timeline/TimelineItem.js.map +1 -1
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.variants.cjs +1 -1
- package/dist/components/Toast/Toast.variants.cjs.map +1 -1
- package/dist/components/Toast/Toast.variants.js.map +1 -1
- package/dist/components/Toast/Toaster.cjs +1 -1
- package/dist/components/Toast/Toaster.cjs.map +1 -1
- package/dist/components/Toast/Toaster.js.map +1 -1
- package/dist/components/Toast/toastStore.cjs.map +1 -1
- package/dist/components/Toast/toastStore.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.context.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.context.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.context.js +1 -1
- package/dist/components/Tooltip/Tooltip.context.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipContent.cjs +1 -1
- package/dist/components/Tooltip/TooltipContent.cjs.map +1 -1
- package/dist/components/Tooltip/TooltipContent.js.map +1 -1
- package/dist/components/Tooltip/TooltipTrigger.cjs +1 -1
- package/dist/components/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/components/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/hooks/use-controllable-state.cjs +1 -1
- package/dist/hooks/use-controllable-state.cjs.map +1 -1
- package/dist/hooks/use-controllable-state.js.map +1 -1
- package/dist/hooks/use-escape-key.cjs +1 -1
- package/dist/hooks/use-escape-key.cjs.map +1 -1
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-focus-first-interactive.cjs +1 -1
- package/dist/hooks/use-focus-first-interactive.cjs.map +1 -1
- package/dist/hooks/use-focus-first-interactive.js.map +1 -1
- package/dist/hooks/use-focus-trap.cjs +1 -1
- package/dist/hooks/use-focus-trap.cjs.map +1 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-form-field-props.cjs +1 -1
- package/dist/hooks/use-form-field-props.cjs.map +1 -1
- package/dist/hooks/use-form-field-props.js.map +1 -1
- package/dist/hooks/use-media-query.cjs +1 -1
- package/dist/hooks/use-media-query.cjs.map +1 -1
- package/dist/hooks/use-media-query.d.ts.map +1 -1
- package/dist/hooks/use-media-query.js +5 -10
- package/dist/hooks/use-media-query.js.map +1 -1
- package/dist/hooks/use-menu-navigation.cjs +1 -1
- package/dist/hooks/use-menu-navigation.cjs.map +1 -1
- package/dist/hooks/use-menu-navigation.js.map +1 -1
- package/dist/hooks/use-modal-title-warning.cjs +1 -1
- package/dist/hooks/use-modal-title-warning.cjs.map +1 -1
- package/dist/hooks/use-modal-title-warning.js.map +1 -1
- package/dist/hooks/use-option-registry.cjs +1 -1
- package/dist/hooks/use-option-registry.cjs.map +1 -1
- package/dist/hooks/use-option-registry.js.map +1 -1
- package/dist/hooks/use-scroll-lock.cjs +1 -1
- package/dist/hooks/use-scroll-lock.cjs.map +1 -1
- package/dist/hooks/use-scroll-lock.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.cjs +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +4 -4
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.cjs +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.cjs +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
- package/dist/node_modules/tabbable/dist/index.esm.cjs.map +1 -1
- package/dist/node_modules/tabbable/dist/index.esm.js +1 -1
- package/dist/node_modules/tabbable/dist/index.esm.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +211 -169
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
- package/dist/styles-root.css +2 -2
- package/dist/styles.css +2 -2
- package/dist/utils/cn.cjs +1 -1
- package/dist/utils/cn.cjs.map +1 -1
- package/dist/utils/cn.js.map +1 -1
- package/dist/utils/dismiss-button.cjs +1 -1
- package/dist/utils/dismiss-button.cjs.map +1 -1
- package/dist/utils/dismiss-button.js.map +1 -1
- package/dist/utils/field-base.cjs.map +1 -1
- package/dist/utils/field-base.js.map +1 -1
- package/dist/utils/get-active-element.cjs.map +1 -1
- package/dist/utils/get-active-element.js.map +1 -1
- package/dist/utils/modal-primitive.cjs +1 -1
- package/dist/utils/modal-primitive.cjs.map +1 -1
- package/dist/utils/modal-primitive.js.map +1 -1
- package/dist/utils/portal.cjs +1 -1
- package/dist/utils/portal.cjs.map +1 -1
- package/dist/utils/portal.js.map +1 -1
- package/dist/utils/responsive-maps.cjs.map +1 -1
- package/dist/utils/responsive-maps.js.map +1 -1
- package/dist/utils/responsive.cjs +1 -1
- package/dist/utils/responsive.cjs.map +1 -1
- package/dist/utils/responsive.js.map +1 -1
- package/dist/utils/roving-index.cjs.map +1 -1
- package/dist/utils/roving-index.js.map +1 -1
- package/dist/utils/scroll-into-view-safe.cjs.map +1 -1
- package/dist/utils/scroll-into-view-safe.js.map +1 -1
- package/dist/utils/slot.cjs +1 -1
- package/dist/utils/slot.cjs.map +1 -1
- package/dist/utils/slot.d.ts.map +1 -1
- package/dist/utils/slot.js.map +1 -1
- package/dist/utils/variants.cjs +1 -1
- package/dist/utils/variants.cjs.map +1 -1
- package/dist/utils/variants.js.map +1 -1
- package/package.json +14 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuContent.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useMenuNavigation } from \"@nuka/hooks/use-menu-navigation\";\nimport { Portal } from \"@nuka/utils/portal\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\nimport { menuContentVariants } from \"@nuka/components/Menu/menuItemVariants\";\nimport {\n MenuItemContext,\n useAutoFocusFirstItem,\n} from \"@nuka/components/Menu/MenuContentBase\";\n\nexport interface ContextMenuContentProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuContent({\n ref,\n className,\n children,\n ...props\n}: ContextMenuContentProps) {\n const ctx = useContextMenuContext();\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, contentRef, ctx.refs.setFloating);\n\n const { getItemProps, focusItem, itemsRef, resetTypeAhead } =\n useMenuNavigation({\n onEscape: () => ctx.onOpenChange(false),\n onTab: () => ctx.onOpenChange(false),\n });\n\n const itemIndexRef = React.useRef(0);\n\n React.useEffect(() => {\n if (!ctx.open) resetTypeAhead();\n }, [ctx.open, resetTypeAhead]);\n\n useAutoFocusFirstItem(ctx.open, focusItem, itemsRef, itemIndexRef);\n\n if (!ctx.open) return null;\n\n itemIndexRef.current = 0;\n\n const floatingProps = ctx.getFloatingProps(props);\n\n return (\n <Portal>\n <MenuItemContext\n value={{\n getItemProps,\n indexRef: itemIndexRef,\n close: () => ctx.onOpenChange(false),\n }}\n >\n <div\n ref={composedRef}\n style={ctx.floatingStyles}\n data-slot=\"content\"\n data-state=\"open\"\n {...floatingProps}\n className={cn(menuContentVariants(), className)}\n >\n {children}\n </div>\n </MenuItemContext>\n </Portal>\n );\n}\n\nContextMenuContent.displayName = \"ContextMenuContent\";\n\nexport { ContextMenuContent };\n"],"mappings":";;;;;;;;;;;AAiBA,SAAS,EAAmB,EAC1B,QACA,cACA,aACA,GAAG,KACuB;CAC1B,IAAM,IAAM,
|
|
1
|
+
{"version":3,"file":"ContextMenuContent.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuContent.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { composeRefs } from \"@nuka/utils/slot\";\nimport { useMenuNavigation } from \"@nuka/hooks/use-menu-navigation\";\nimport { Portal } from \"@nuka/utils/portal\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\nimport { menuContentVariants } from \"@nuka/components/Menu/menuItemVariants\";\nimport {\n MenuItemContext,\n useAutoFocusFirstItem,\n} from \"@nuka/components/Menu/MenuContentBase\";\n\nexport interface ContextMenuContentProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuContent({\n ref,\n className,\n children,\n ...props\n}: ContextMenuContentProps) {\n const ctx = useContextMenuContext();\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, contentRef, ctx.refs.setFloating);\n\n const { getItemProps, focusItem, itemsRef, resetTypeAhead } =\n useMenuNavigation({\n onEscape: () => ctx.onOpenChange(false),\n onTab: () => ctx.onOpenChange(false),\n });\n\n const itemIndexRef = React.useRef(0);\n\n React.useEffect(() => {\n if (!ctx.open) resetTypeAhead();\n }, [ctx.open, resetTypeAhead]);\n\n useAutoFocusFirstItem(ctx.open, focusItem, itemsRef, itemIndexRef);\n\n if (!ctx.open) return null;\n\n itemIndexRef.current = 0;\n\n const floatingProps = ctx.getFloatingProps(props);\n\n return (\n <Portal>\n <MenuItemContext\n value={{\n getItemProps,\n indexRef: itemIndexRef,\n close: () => ctx.onOpenChange(false),\n }}\n >\n <div\n ref={composedRef}\n style={ctx.floatingStyles}\n data-slot=\"content\"\n data-state=\"open\"\n {...floatingProps}\n className={cn(menuContentVariants(), className)}\n >\n {children}\n </div>\n </MenuItemContext>\n </Portal>\n );\n}\n\nContextMenuContent.displayName = \"ContextMenuContent\";\n\nexport { ContextMenuContent };\n"],"mappings":";;;;;;;;;;;AAiBA,SAAS,EAAmB,EAC1B,QACA,cACA,aACA,GAAG,KACuB;CAC1B,IAAM,IAAM,EAAsB,GAE5B,IAAc,EAAY,GADb,EAAM,OAAuB,IACX,GAAY,EAAI,KAAK,WAAW,GAE/D,EAAE,iBAAc,cAAW,aAAU,sBACzC,EAAkB;EAChB,gBAAgB,EAAI,aAAa,EAAK;EACtC,aAAa,EAAI,aAAa,EAAK;CACrC,CAAC,GAEG,IAAe,EAAM,OAAO,CAAC;CAQnC,IANA,EAAM,gBAAgB;EACpB,AAAK,EAAI,QAAM,EAAe;CAChC,GAAG,CAAC,EAAI,MAAM,CAAc,CAAC,GAE7B,EAAsB,EAAI,MAAM,GAAW,GAAU,CAAY,GAE7D,CAAC,EAAI,MAAM,OAAO;CAEtB,EAAa,UAAU;CAEvB,IAAM,IAAgB,EAAI,iBAAiB,CAAK;CAEhD,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,OAAO;GACL;GACA,UAAU;GACV,aAAa,EAAI,aAAa,EAAK;EACrC;YAEA,kBAAC,OAAD;GACE,KAAK;GACL,OAAO,EAAI;GACX,aAAU;GACV,cAAW;GACX,GAAI;GACJ,WAAW,EAAG,EAAoB,GAAG,CAAS;GAE7C;EACE,CAAA;CACU,CAAA,EACX,CAAA;AAEZ;AAEA,EAAmB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Menu/MenuContentBase.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({ref:e,...n}){return(0,r.jsx)(t.MenuItemWithNav,{ref:e,...n})}i.displayName=`ContextMenuItem`,exports.ContextMenuItem=i;
|
|
2
2
|
//# sourceMappingURL=ContextMenuItem.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuItem.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuItemProps = MenuItemWithNavProps;\n\nfunction ContextMenuItem({ ref, ...props }: ContextMenuItemProps) {\n return <MenuItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuItem.displayName = \"ContextMenuItem\";\n\nexport { ContextMenuItem };\n"],"mappings":"yLAOA,SAAS,EAAgB,CAAE,MAAK,GAAG,GAA+B,CAChE,OAAO,EAAA,EAAA,KAAC,EAAA,gBAAD,CAAsB,MAAK,GAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuItem.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuItemProps = MenuItemWithNavProps;\n\nfunction ContextMenuItem({ ref, ...props }: ContextMenuItemProps) {\n return <MenuItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuItem.displayName = \"ContextMenuItem\";\n\nexport { ContextMenuItem };\n"],"mappings":"yLAOA,SAAS,EAAgB,CAAE,MAAK,GAAG,GAA+B,CAChE,OAAO,EAAA,EAAA,KAAC,EAAA,gBAAD,CAAsB,MAAK,GAAI,CAAQ,CAAA,CAChD,CAEA,EAAgB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuItem.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuItemProps = MenuItemWithNavProps;\n\nfunction ContextMenuItem({ ref, ...props }: ContextMenuItemProps) {\n return <MenuItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuItem.displayName = \"ContextMenuItem\";\n\nexport { ContextMenuItem };\n"],"mappings":";;;;;AAOA,SAAS,EAAgB,EAAE,QAAK,GAAG,KAA+B;
|
|
1
|
+
{"version":3,"file":"ContextMenuItem.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuItemProps = MenuItemWithNavProps;\n\nfunction ContextMenuItem({ ref, ...props }: ContextMenuItemProps) {\n return <MenuItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuItem.displayName = \"ContextMenuItem\";\n\nexport { ContextMenuItem };\n"],"mappings":";;;;;AAOA,SAAS,EAAgB,EAAE,QAAK,GAAG,KAA+B;CAChE,OAAO,kBAAC,GAAD;EAAsB;EAAK,GAAI;CAAQ,CAAA;AAChD;AAEA,EAAgB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Menu/MenuLabelBase.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({ref:e,...n}){return(0,r.jsx)(t.MenuLabelBase,{ref:e,...n})}i.displayName=`ContextMenuLabel`,exports.ContextMenuLabel=i;
|
|
2
2
|
//# sourceMappingURL=ContextMenuLabel.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuLabel.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuLabel.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuLabelBase } from \"@nuka/components/Menu/MenuLabelBase\";\n\nexport interface ContextMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuLabel({ ref, ...props }: ContextMenuLabelProps) {\n return <MenuLabelBase ref={ref} {...props} />;\n}\n\nContextMenuLabel.displayName = \"ContextMenuLabel\";\n\nexport { ContextMenuLabel };\n"],"mappings":"uLAQA,SAAS,EAAiB,CAAE,MAAK,GAAG,GAAgC,CAClE,OAAO,EAAA,EAAA,KAAC,EAAA,cAAD,CAAoB,MAAK,GAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuLabel.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuLabel.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuLabelBase } from \"@nuka/components/Menu/MenuLabelBase\";\n\nexport interface ContextMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuLabel({ ref, ...props }: ContextMenuLabelProps) {\n return <MenuLabelBase ref={ref} {...props} />;\n}\n\nContextMenuLabel.displayName = \"ContextMenuLabel\";\n\nexport { ContextMenuLabel };\n"],"mappings":"uLAQA,SAAS,EAAiB,CAAE,MAAK,GAAG,GAAgC,CAClE,OAAO,EAAA,EAAA,KAAC,EAAA,cAAD,CAAoB,MAAK,GAAI,CAAQ,CAAA,CAC9C,CAEA,EAAiB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuLabel.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuLabel.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuLabelBase } from \"@nuka/components/Menu/MenuLabelBase\";\n\nexport interface ContextMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuLabel({ ref, ...props }: ContextMenuLabelProps) {\n return <MenuLabelBase ref={ref} {...props} />;\n}\n\nContextMenuLabel.displayName = \"ContextMenuLabel\";\n\nexport { ContextMenuLabel };\n"],"mappings":";;;;;AAQA,SAAS,EAAiB,EAAE,QAAK,GAAG,KAAgC;
|
|
1
|
+
{"version":3,"file":"ContextMenuLabel.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuLabel.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuLabelBase } from \"@nuka/components/Menu/MenuLabelBase\";\n\nexport interface ContextMenuLabelProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuLabel({ ref, ...props }: ContextMenuLabelProps) {\n return <MenuLabelBase ref={ref} {...props} />;\n}\n\nContextMenuLabel.displayName = \"ContextMenuLabel\";\n\nexport { ContextMenuLabel };\n"],"mappings":";;;;;AAQA,SAAS,EAAiB,EAAE,QAAK,GAAG,KAAgC;CAClE,OAAO,kBAAC,GAAD;EAAoB;EAAK,GAAI;CAAQ,CAAA;AAC9C;AAEA,EAAiB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Menu/MenuRadioGroupBase.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({ref:e,...n}){return(0,r.jsx)(t.MenuRadioGroupBase,{ref:e,...n})}i.displayName=`ContextMenuRadioGroup`,exports.ContextMenuRadioGroup=i;
|
|
2
2
|
//# sourceMappingURL=ContextMenuRadioGroup.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioGroup.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioGroupBase } from \"@nuka/components/Menu/MenuRadioGroupBase\";\nimport type { MenuRadioGroupBaseProps } from \"@nuka/components/Menu/MenuRadioGroupBase\";\n\nexport interface ContextMenuRadioGroupProps extends MenuRadioGroupBaseProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuRadioGroup({ ref, ...props }: ContextMenuRadioGroupProps) {\n return <MenuRadioGroupBase ref={ref} {...props} />;\n}\n\nContextMenuRadioGroup.displayName = \"ContextMenuRadioGroup\";\n\nexport { ContextMenuRadioGroup };\n"],"mappings":"4LASA,SAAS,EAAsB,CAAE,MAAK,GAAG,GAAqC,CAC5E,OAAO,EAAA,EAAA,KAAC,EAAA,mBAAD,CAAyB,MAAK,GAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioGroup.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioGroupBase } from \"@nuka/components/Menu/MenuRadioGroupBase\";\nimport type { MenuRadioGroupBaseProps } from \"@nuka/components/Menu/MenuRadioGroupBase\";\n\nexport interface ContextMenuRadioGroupProps extends MenuRadioGroupBaseProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuRadioGroup({ ref, ...props }: ContextMenuRadioGroupProps) {\n return <MenuRadioGroupBase ref={ref} {...props} />;\n}\n\nContextMenuRadioGroup.displayName = \"ContextMenuRadioGroup\";\n\nexport { ContextMenuRadioGroup };\n"],"mappings":"4LASA,SAAS,EAAsB,CAAE,MAAK,GAAG,GAAqC,CAC5E,OAAO,EAAA,EAAA,KAAC,EAAA,mBAAD,CAAyB,MAAK,GAAI,CAAQ,CAAA,CACnD,CAEA,EAAsB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioGroup.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioGroupBase } from \"@nuka/components/Menu/MenuRadioGroupBase\";\nimport type { MenuRadioGroupBaseProps } from \"@nuka/components/Menu/MenuRadioGroupBase\";\n\nexport interface ContextMenuRadioGroupProps extends MenuRadioGroupBaseProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuRadioGroup({ ref, ...props }: ContextMenuRadioGroupProps) {\n return <MenuRadioGroupBase ref={ref} {...props} />;\n}\n\nContextMenuRadioGroup.displayName = \"ContextMenuRadioGroup\";\n\nexport { ContextMenuRadioGroup };\n"],"mappings":";;;;;AASA,SAAS,EAAsB,EAAE,QAAK,GAAG,KAAqC;
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioGroup.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioGroup.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioGroupBase } from \"@nuka/components/Menu/MenuRadioGroupBase\";\nimport type { MenuRadioGroupBaseProps } from \"@nuka/components/Menu/MenuRadioGroupBase\";\n\nexport interface ContextMenuRadioGroupProps extends MenuRadioGroupBaseProps {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuRadioGroup({ ref, ...props }: ContextMenuRadioGroupProps) {\n return <MenuRadioGroupBase ref={ref} {...props} />;\n}\n\nContextMenuRadioGroup.displayName = \"ContextMenuRadioGroup\";\n\nexport { ContextMenuRadioGroup };\n"],"mappings":";;;;;AASA,SAAS,EAAsB,EAAE,QAAK,GAAG,KAAqC;CAC5E,OAAO,kBAAC,GAAD;EAAyB;EAAK,GAAI;CAAQ,CAAA;AACnD;AAEA,EAAsB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Menu/MenuContentBase.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({ref:e,...n}){return(0,r.jsx)(t.MenuRadioItemWithNav,{ref:e,...n})}i.displayName=`ContextMenuRadioItem`,exports.ContextMenuRadioItem=i;
|
|
2
2
|
//# sourceMappingURL=ContextMenuRadioItem.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioItem.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuRadioItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuRadioItemProps = MenuRadioItemWithNavProps;\n\nfunction ContextMenuRadioItem({ ref, ...props }: ContextMenuRadioItemProps) {\n return <MenuRadioItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuRadioItem.displayName = \"ContextMenuRadioItem\";\n\nexport { ContextMenuRadioItem };\n"],"mappings":"yLAOA,SAAS,EAAqB,CAAE,MAAK,GAAG,GAAoC,CAC1E,OAAO,EAAA,EAAA,KAAC,EAAA,qBAAD,CAA2B,MAAK,GAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioItem.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuRadioItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuRadioItemProps = MenuRadioItemWithNavProps;\n\nfunction ContextMenuRadioItem({ ref, ...props }: ContextMenuRadioItemProps) {\n return <MenuRadioItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuRadioItem.displayName = \"ContextMenuRadioItem\";\n\nexport { ContextMenuRadioItem };\n"],"mappings":"yLAOA,SAAS,EAAqB,CAAE,MAAK,GAAG,GAAoC,CAC1E,OAAO,EAAA,EAAA,KAAC,EAAA,qBAAD,CAA2B,MAAK,GAAI,CAAQ,CAAA,CACrD,CAEA,EAAqB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuRadioItem.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuRadioItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuRadioItemProps = MenuRadioItemWithNavProps;\n\nfunction ContextMenuRadioItem({ ref, ...props }: ContextMenuRadioItemProps) {\n return <MenuRadioItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuRadioItem.displayName = \"ContextMenuRadioItem\";\n\nexport { ContextMenuRadioItem };\n"],"mappings":";;;;;AAOA,SAAS,EAAqB,EAAE,QAAK,GAAG,KAAoC;
|
|
1
|
+
{"version":3,"file":"ContextMenuRadioItem.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuRadioItem.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuRadioItemWithNav } from \"@nuka/components/Menu/MenuContentBase\";\nimport type { MenuRadioItemWithNavProps } from \"@nuka/components/Menu/MenuContentBase\";\n\nexport type ContextMenuRadioItemProps = MenuRadioItemWithNavProps;\n\nfunction ContextMenuRadioItem({ ref, ...props }: ContextMenuRadioItemProps) {\n return <MenuRadioItemWithNav ref={ref} {...props} />;\n}\n\nContextMenuRadioItem.displayName = \"ContextMenuRadioItem\";\n\nexport { ContextMenuRadioItem };\n"],"mappings":";;;;;AAOA,SAAS,EAAqB,EAAE,QAAK,GAAG,KAAoC;CAC1E,OAAO,kBAAC,GAAD;EAA2B;EAAK,GAAI;CAAQ,CAAA;AACrD;AAEA,EAAqB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Menu/MenuSeparatorBase.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({ref:e,...n}){return(0,r.jsx)(t.MenuSeparatorBase,{ref:e,...n})}i.displayName=`ContextMenuSeparator`,exports.ContextMenuSeparator=i;
|
|
2
2
|
//# sourceMappingURL=ContextMenuSeparator.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuSeparator.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuSeparatorBase } from \"@nuka/components/Menu/MenuSeparatorBase\";\n\nexport interface ContextMenuSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuSeparator({ ref, ...props }: ContextMenuSeparatorProps) {\n return <MenuSeparatorBase ref={ref} {...props} />;\n}\n\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\n\nexport { ContextMenuSeparator };\n"],"mappings":"2LAQA,SAAS,EAAqB,CAAE,MAAK,GAAG,GAAoC,CAC1E,OAAO,EAAA,EAAA,KAAC,EAAA,kBAAD,CAAwB,MAAK,GAAI,
|
|
1
|
+
{"version":3,"file":"ContextMenuSeparator.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuSeparatorBase } from \"@nuka/components/Menu/MenuSeparatorBase\";\n\nexport interface ContextMenuSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuSeparator({ ref, ...props }: ContextMenuSeparatorProps) {\n return <MenuSeparatorBase ref={ref} {...props} />;\n}\n\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\n\nexport { ContextMenuSeparator };\n"],"mappings":"2LAQA,SAAS,EAAqB,CAAE,MAAK,GAAG,GAAoC,CAC1E,OAAO,EAAA,EAAA,KAAC,EAAA,kBAAD,CAAwB,MAAK,GAAI,CAAQ,CAAA,CAClD,CAEA,EAAqB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuSeparator.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuSeparatorBase } from \"@nuka/components/Menu/MenuSeparatorBase\";\n\nexport interface ContextMenuSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuSeparator({ ref, ...props }: ContextMenuSeparatorProps) {\n return <MenuSeparatorBase ref={ref} {...props} />;\n}\n\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\n\nexport { ContextMenuSeparator };\n"],"mappings":";;;;;AAQA,SAAS,EAAqB,EAAE,QAAK,GAAG,KAAoC;
|
|
1
|
+
{"version":3,"file":"ContextMenuSeparator.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuSeparator.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { MenuSeparatorBase } from \"@nuka/components/Menu/MenuSeparatorBase\";\n\nexport interface ContextMenuSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n}\n\nfunction ContextMenuSeparator({ ref, ...props }: ContextMenuSeparatorProps) {\n return <MenuSeparatorBase ref={ref} {...props} />;\n}\n\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\n\nexport { ContextMenuSeparator };\n"],"mappings":";;;;;AAQA,SAAS,EAAqB,EAAE,QAAK,GAAG,KAAoC;CAC1E,OAAO,kBAAC,GAAD;EAAwB;EAAK,GAAI;CAAQ,CAAA;AAClD;AAEA,EAAqB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../utils/cn.cjs"),n=require("../../utils/slot.cjs"),r=require("./ContextMenu.context.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");function o({ref:e,asChild:o=!1,children:s,onContextMenu:c,onKeyDown:l,className:u,...d}){let f=r.useContextMenuContext(),p=i.useRef(null),m=n.composeRefs(e,p),h=o?n.Slot:`div`;return(0,a.jsx)(h,{ref:m,tabIndex:0,"aria-haspopup":`menu`,"aria-expanded":f.open,onContextMenu:e=>{e.preventDefault(),c?.(e),f.refs.setReference({getBoundingClientRect:()=>({x:e.clientX,y:e.clientY,width:0,height:0,top:e.clientY,left:e.clientX,bottom:e.clientY,right:e.clientX,toJSON:()=>({})})}),f.onOpenChange(!0)},onKeyDown:e=>{if(l?.(e),!e.defaultPrevented&&(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`)){e.preventDefault();let t=p.current?.getBoundingClientRect();t&&f.refs.setReference({getBoundingClientRect:()=>({x:t.x,y:t.y+t.height,width:0,height:0,top:t.y+t.height,left:t.x,bottom:t.y+t.height,right:t.x,toJSON:()=>({})})}),f.onOpenChange(!0)}},className:t.cn(`rounded-(--radius-sm)`,`focus-visible:outline-2 focus-visible:outline-offset-2`,`focus-visible:outline-(--nuka-border-focus)`,u),"data-slot":`trigger`,...d,children:s})}o.displayName=`ContextMenuTrigger`,exports.ContextMenuTrigger=o;
|
|
2
2
|
//# sourceMappingURL=ContextMenuTrigger.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuTrigger.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Slot, composeRefs } from \"@nuka/utils/slot\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\n\nexport interface ContextMenuTriggerProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n asChild?: boolean;\n}\n\nfunction ContextMenuTrigger({\n ref,\n asChild = false,\n children,\n onContextMenu,\n onKeyDown,\n className,\n ...props\n}: ContextMenuTriggerProps) {\n const ctx = useContextMenuContext();\n const triggerRef = React.useRef<HTMLDivElement>(null);\n const composedTriggerRef = composeRefs(ref, triggerRef);\n const Comp = asChild ? Slot : \"div\";\n\n const handleContextMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n onContextMenu?.(e);\n\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: e.clientX,\n y: e.clientY,\n width: 0,\n height: 0,\n top: e.clientY,\n left: e.clientX,\n bottom: e.clientY,\n right: e.clientX,\n toJSON: () => ({}),\n }),\n });\n\n ctx.onOpenChange(true);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const isContextMenuKey =\n e.key === \"ContextMenu\" || (e.shiftKey && e.key === \"F10\");\n\n if (isContextMenuKey) {\n e.preventDefault();\n const rect = triggerRef.current?.getBoundingClientRect();\n if (rect) {\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: rect.x,\n y: rect.y + rect.height,\n width: 0,\n height: 0,\n top: rect.y + rect.height,\n left: rect.x,\n bottom: rect.y + rect.height,\n right: rect.x,\n toJSON: () => ({}),\n }),\n });\n }\n ctx.onOpenChange(true);\n }\n };\n\n return (\n <Comp\n ref={composedTriggerRef}\n tabIndex={0}\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n onContextMenu={handleContextMenu}\n onKeyDown={handleKeyDown}\n className={cn(\n \"rounded-(--radius-sm)\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"focus-visible:outline-(--nuka-border-focus)\",\n className,\n )}\n data-slot=\"trigger\"\n {...
|
|
1
|
+
{"version":3,"file":"ContextMenuTrigger.cjs","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Slot, composeRefs } from \"@nuka/utils/slot\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\n\nexport interface ContextMenuTriggerProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n asChild?: boolean;\n}\n\nfunction ContextMenuTrigger({\n ref,\n asChild = false,\n children,\n onContextMenu,\n onKeyDown,\n className,\n ...props\n}: ContextMenuTriggerProps) {\n const ctx = useContextMenuContext();\n const triggerRef = React.useRef<HTMLDivElement>(null);\n const composedTriggerRef = composeRefs(ref, triggerRef);\n const Comp = asChild ? Slot : \"div\";\n\n const handleContextMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n onContextMenu?.(e);\n\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: e.clientX,\n y: e.clientY,\n width: 0,\n height: 0,\n top: e.clientY,\n left: e.clientX,\n bottom: e.clientY,\n right: e.clientX,\n toJSON: () => ({}),\n }),\n });\n\n ctx.onOpenChange(true);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const isContextMenuKey =\n e.key === \"ContextMenu\" || (e.shiftKey && e.key === \"F10\");\n\n if (isContextMenuKey) {\n e.preventDefault();\n const rect = triggerRef.current?.getBoundingClientRect();\n if (rect) {\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: rect.x,\n y: rect.y + rect.height,\n width: 0,\n height: 0,\n top: rect.y + rect.height,\n left: rect.x,\n bottom: rect.y + rect.height,\n right: rect.x,\n toJSON: () => ({}),\n }),\n });\n }\n ctx.onOpenChange(true);\n }\n };\n\n return (\n <Comp\n ref={composedTriggerRef}\n tabIndex={0}\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n onContextMenu={handleContextMenu}\n onKeyDown={handleKeyDown}\n className={cn(\n \"rounded-(--radius-sm)\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"focus-visible:outline-(--nuka-border-focus)\",\n className,\n )}\n data-slot=\"trigger\"\n {...props}\n >\n {children}\n </Comp>\n );\n}\n\nContextMenuTrigger.displayName = \"ContextMenuTrigger\";\n\nexport { ContextMenuTrigger };\n"],"mappings":"yPAWA,SAAS,EAAmB,CAC1B,MACA,UAAU,GACV,WACA,gBACA,YACA,YACA,GAAG,GACuB,CAC1B,IAAM,EAAM,EAAA,sBAAsB,EAC5B,EAAa,EAAM,OAAuB,IAAI,EAC9C,EAAqB,EAAA,YAAY,EAAK,CAAU,EAChD,EAAO,EAAU,EAAA,KAAO,MAoD9B,OACE,EAAA,EAAA,KAAC,EAAD,CACE,IAAK,EACL,SAAU,EACV,gBAAc,OACd,gBAAe,EAAI,KACnB,cAxDuB,GAAwC,CACjE,EAAE,eAAe,EACjB,IAAgB,CAAC,EAEjB,EAAI,KAAK,aAAa,CACpB,2BAA8B,CAC5B,EAAG,EAAE,QACL,EAAG,EAAE,QACL,MAAO,EACP,OAAQ,EACR,IAAK,EAAE,QACP,KAAM,EAAE,QACR,OAAQ,EAAE,QACV,MAAO,EAAE,QACT,YAAe,CAAC,EAClB,EACF,CAAC,EAED,EAAI,aAAa,EAAI,CACvB,EAsCI,UApCmB,GAA2C,CAChE,OAAY,CAAC,EACT,GAAE,mBAGJ,EAAE,MAAQ,eAAkB,EAAE,UAAY,EAAE,MAAQ,OAEhC,CACpB,EAAE,eAAe,EACjB,IAAM,EAAO,EAAW,SAAS,sBAAsB,EACnD,GACF,EAAI,KAAK,aAAa,CACpB,2BAA8B,CAC5B,EAAG,EAAK,EACR,EAAG,EAAK,EAAI,EAAK,OACjB,MAAO,EACP,OAAQ,EACR,IAAK,EAAK,EAAI,EAAK,OACnB,KAAM,EAAK,EACX,OAAQ,EAAK,EAAI,EAAK,OACtB,MAAO,EAAK,EACZ,YAAe,CAAC,EAClB,EACF,CAAC,EAEH,EAAI,aAAa,EAAI,CACvB,CACF,EAUI,UAAW,EAAA,GACT,wBACA,yDACA,8CACA,CACF,EACA,YAAU,UACV,GAAI,EAEH,UACG,CAAA,CAEV,CAEA,EAAmB,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenuTrigger.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Slot, composeRefs } from \"@nuka/utils/slot\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\n\nexport interface ContextMenuTriggerProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n asChild?: boolean;\n}\n\nfunction ContextMenuTrigger({\n ref,\n asChild = false,\n children,\n onContextMenu,\n onKeyDown,\n className,\n ...props\n}: ContextMenuTriggerProps) {\n const ctx = useContextMenuContext();\n const triggerRef = React.useRef<HTMLDivElement>(null);\n const composedTriggerRef = composeRefs(ref, triggerRef);\n const Comp = asChild ? Slot : \"div\";\n\n const handleContextMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n onContextMenu?.(e);\n\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: e.clientX,\n y: e.clientY,\n width: 0,\n height: 0,\n top: e.clientY,\n left: e.clientX,\n bottom: e.clientY,\n right: e.clientX,\n toJSON: () => ({}),\n }),\n });\n\n ctx.onOpenChange(true);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const isContextMenuKey =\n e.key === \"ContextMenu\" || (e.shiftKey && e.key === \"F10\");\n\n if (isContextMenuKey) {\n e.preventDefault();\n const rect = triggerRef.current?.getBoundingClientRect();\n if (rect) {\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: rect.x,\n y: rect.y + rect.height,\n width: 0,\n height: 0,\n top: rect.y + rect.height,\n left: rect.x,\n bottom: rect.y + rect.height,\n right: rect.x,\n toJSON: () => ({}),\n }),\n });\n }\n ctx.onOpenChange(true);\n }\n };\n\n return (\n <Comp\n ref={composedTriggerRef}\n tabIndex={0}\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n onContextMenu={handleContextMenu}\n onKeyDown={handleKeyDown}\n className={cn(\n \"rounded-(--radius-sm)\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"focus-visible:outline-(--nuka-border-focus)\",\n className,\n )}\n data-slot=\"trigger\"\n {...
|
|
1
|
+
{"version":3,"file":"ContextMenuTrigger.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenuTrigger.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"@nuka/utils/cn\";\nimport { Slot, composeRefs } from \"@nuka/utils/slot\";\nimport { useContextMenuContext } from \"@nuka/components/ContextMenu/ContextMenu.context\";\n\nexport interface ContextMenuTriggerProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement> | undefined;\n asChild?: boolean;\n}\n\nfunction ContextMenuTrigger({\n ref,\n asChild = false,\n children,\n onContextMenu,\n onKeyDown,\n className,\n ...props\n}: ContextMenuTriggerProps) {\n const ctx = useContextMenuContext();\n const triggerRef = React.useRef<HTMLDivElement>(null);\n const composedTriggerRef = composeRefs(ref, triggerRef);\n const Comp = asChild ? Slot : \"div\";\n\n const handleContextMenu = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n onContextMenu?.(e);\n\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: e.clientX,\n y: e.clientY,\n width: 0,\n height: 0,\n top: e.clientY,\n left: e.clientX,\n bottom: e.clientY,\n right: e.clientX,\n toJSON: () => ({}),\n }),\n });\n\n ctx.onOpenChange(true);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented) return;\n\n const isContextMenuKey =\n e.key === \"ContextMenu\" || (e.shiftKey && e.key === \"F10\");\n\n if (isContextMenuKey) {\n e.preventDefault();\n const rect = triggerRef.current?.getBoundingClientRect();\n if (rect) {\n ctx.refs.setReference({\n getBoundingClientRect: () => ({\n x: rect.x,\n y: rect.y + rect.height,\n width: 0,\n height: 0,\n top: rect.y + rect.height,\n left: rect.x,\n bottom: rect.y + rect.height,\n right: rect.x,\n toJSON: () => ({}),\n }),\n });\n }\n ctx.onOpenChange(true);\n }\n };\n\n return (\n <Comp\n ref={composedTriggerRef}\n tabIndex={0}\n aria-haspopup=\"menu\"\n aria-expanded={ctx.open}\n onContextMenu={handleContextMenu}\n onKeyDown={handleKeyDown}\n className={cn(\n \"rounded-(--radius-sm)\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2\",\n \"focus-visible:outline-(--nuka-border-focus)\",\n className,\n )}\n data-slot=\"trigger\"\n {...props}\n >\n {children}\n </Comp>\n );\n}\n\nContextMenuTrigger.displayName = \"ContextMenuTrigger\";\n\nexport { ContextMenuTrigger };\n"],"mappings":";;;;;;;AAWA,SAAS,EAAmB,EAC1B,QACA,aAAU,IACV,aACA,kBACA,cACA,cACA,GAAG,KACuB;CAC1B,IAAM,IAAM,EAAsB,GAC5B,IAAa,EAAM,OAAuB,IAAI,GAC9C,IAAqB,EAAY,GAAK,CAAU;CAqDtD,OACE,kBArDW,IAAU,IAAO,OAqD5B;EACE,KAAK;EACL,UAAU;EACV,iBAAc;EACd,iBAAe,EAAI;EACnB,gBAxDuB,MAAwC;GAkBjE,AAjBA,EAAE,eAAe,GACjB,IAAgB,CAAC,GAEjB,EAAI,KAAK,aAAa,EACpB,8BAA8B;IAC5B,GAAG,EAAE;IACL,GAAG,EAAE;IACL,OAAO;IACP,QAAQ;IACR,KAAK,EAAE;IACP,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,OAAO,EAAE;IACT,eAAe,CAAC;GAClB,GACF,CAAC,GAED,EAAI,aAAa,EAAI;EACvB;EAsCI,YApCmB,MAA2C;GAChE,QAAY,CAAC,GACT,GAAE,qBAGJ,EAAE,QAAQ,iBAAkB,EAAE,YAAY,EAAE,QAAQ,QAEhC;IACpB,EAAE,eAAe;IACjB,IAAM,IAAO,EAAW,SAAS,sBAAsB;IAgBvD,AAfI,KACF,EAAI,KAAK,aAAa,EACpB,8BAA8B;KAC5B,GAAG,EAAK;KACR,GAAG,EAAK,IAAI,EAAK;KACjB,OAAO;KACP,QAAQ;KACR,KAAK,EAAK,IAAI,EAAK;KACnB,MAAM,EAAK;KACX,QAAQ,EAAK,IAAI,EAAK;KACtB,OAAO,EAAK;KACZ,eAAe,CAAC;IAClB,GACF,CAAC,GAEH,EAAI,aAAa,EAAI;GACvB;EACF;EAUI,WAAW,EACT,yBACA,0DACA,+CACA,CACF;EACA,aAAU;EACV,GAAI;EAEH;CACG,CAAA;AAEV;AAEA,EAAmB,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../Input/Input.cjs"),n=require("../EmptyState/EmptyState.cjs"),r=require("../Table/Table.cjs"),i=require("../Table/TableHeader.cjs"),a=require("../Table/TableBody.cjs"),o=require("../Table/TableRow.cjs"),s=require("../Table/TableHead.cjs"),c=require("../Table/TableCell.cjs"),l=require("../Pagination/Pagination.cjs"),u=require("../Pagination/PaginationContent.cjs"),d=require("../Pagination/PaginationItem.cjs"),f=require("../Pagination/PaginationLink.cjs"),p=require("../Pagination/PaginationPrevious.cjs"),m=require("../Pagination/PaginationNext.cjs"),h=require("../Pagination/PaginationEllipsis.cjs");let g=require("react");g=e.__toESM(g,1);let _=require("react/jsx-runtime");function v(e,t){let n=new Set;return n.add(1),n.add(t),n.add(e),e-1>=1&&n.add(e-1),e+1<=t&&n.add(e+1),Array.from(n).sort((e,t)=>e-t)}function y({data:e,columns:y,caption:b,rowKey:x,pageSize:S=10,filterable:C=!1,filterPlaceholder:w,emptyMessage:T=`No results found`}){let[E,D]=g.useState(``),[O,k]=g.useState(1),[A,j]=g.useState(null),M=g.useRef(!1),N=g.useId(),P=e=>{M.current=!0,D(e.target.value),k(1)},F=e=>{j(t=>t?.key===e?t.direction===`asc`?{key:e,direction:`desc`}:(t.direction,null):{key:e,direction:`asc`})},I=g.useMemo(()=>{if(E===``)return e;let t=E.toLowerCase();return e.filter(e=>y.some(n=>{let r=e[n.key];return String(r).toLowerCase().includes(t)}))},[e,y,E]),L=g.useMemo(()=>A===null?I:[...I].sort((e,t)=>{let n=String(e[A.key]??``),r=String(t[A.key]??``),i=n.localeCompare(r);return A.direction===`desc`?-i:i}),[I,A]),R=Math.max(1,Math.ceil(I.length/S)),z=(O-1)*S,B=L.slice(z,z+S),V=R>1,H=v(O,R);return(0,_.jsxs)(`div`,{className:`flex flex-col gap-(--space-4)`,children:[C&&(0,_.jsxs)(`div`,{children:[(0,_.jsxs)(`label`,{htmlFor:N,className:`sr-only`,children:[`Filter `,b]}),(0,_.jsx)(t.Input,{id:N,type:`search`,value:E,onChange:P,placeholder:w,size:`sm`})]}),I.length===0?(0,_.jsx)(n.EmptyState,{heading:T}):(0,_.jsxs)(r.Table,{caption:b,children:[(0,_.jsx)(i.TableHeader,{children:(0,_.jsx)(o.TableRow,{children:y.map(e=>(0,_.jsx)(s.TableHead,{...e.sortable===!0?{sortable:!0,sortDirection:A!==null&&A.key===e.key?A.direction:`none`,onSort:()=>F(e.key)}:{},children:e.header},e.key))})}),(0,_.jsx)(a.TableBody,{children:B.map((e,t)=>(0,_.jsx)(o.TableRow,{children:y.map(t=>(0,_.jsx)(c.TableCell,{children:t.cell==null?String(e[t.key]??``):t.cell(e[t.key],e)},t.key))},x==null?t:String(e[x])))})]}),V&&I.length>0&&(0,_.jsx)(l.Pagination,{children:(0,_.jsxs)(u.PaginationContent,{children:[(0,_.jsx)(d.PaginationItem,{children:(0,_.jsx)(p.PaginationPrevious,{asChild:!0,children:(0,_.jsx)(`button`,{type:`button`,disabled:O===1,onClick:()=>k(e=>Math.max(1,e-1))})})}),H.map((e,t)=>{let n=H[t-1],r=n!=null&&e-n>1;return(0,_.jsxs)(g.Fragment,{children:[r&&(0,_.jsx)(d.PaginationItem,{children:(0,_.jsx)(h.PaginationEllipsis,{})}),(0,_.jsx)(d.PaginationItem,{children:(0,_.jsx)(f.PaginationLink,{asChild:!0,isActive:e===O,children:(0,_.jsx)(`button`,{type:`button`,onClick:()=>k(e),children:e})})})]},e)}),(0,_.jsx)(d.PaginationItem,{children:(0,_.jsx)(m.PaginationNext,{asChild:!0,children:(0,_.jsx)(`button`,{type:`button`,disabled:O===R,onClick:()=>k(e=>Math.min(R,e+1))})})})]})}),(0,_.jsx)(`div`,{role:`status`,className:`sr-only`,children:M.current?`Showing ${String(I.length)} ${I.length===1?`result`:`results`}`:``})]})}y.displayName=`DataTable`,exports.DataTable=y;
|
|
2
2
|
//# sourceMappingURL=DataTable.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.cjs","names":[],"sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { Input } from \"@nuka/components/Input\";\nimport { EmptyState } from \"@nuka/components/EmptyState\";\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from \"@nuka/components/Table\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"@nuka/components/Pagination\";\nimport type { SortDirection } from \"@nuka/components/Table\";\n\nexport interface DataTableColumn<TRow> {\n key: keyof TRow & string;\n header: string;\n sortable?: boolean;\n cell?: (value: TRow[keyof TRow & string], row: TRow) => React.ReactNode;\n}\n\nexport interface DataTableProps<TRow extends object> {\n data: TRow[];\n columns: DataTableColumn<TRow>[];\n caption: string;\n rowKey?: keyof TRow & string;\n pageSize?: number;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyMessage?: string;\n}\n\nfunction getPageNumbers(currentPage: number, totalPages: number): number[] {\n const pageSet = new Set<number>();\n pageSet.add(1);\n pageSet.add(totalPages);\n pageSet.add(currentPage);\n if (currentPage - 1 >= 1) pageSet.add(currentPage - 1);\n if (currentPage + 1 <= totalPages) pageSet.add(currentPage + 1);\n\n return Array.from(pageSet).sort((a, b) => a - b);\n}\n\n// DataTable is a generic function component. React.forwardRef does not support\n// generics cleanly in React 19. Consumers interact with DataTable at the data\n// level (columns, rows), not the DOM level, so ref forwarding is not needed.\nfunction DataTable<TRow extends object>({\n data,\n columns,\n caption,\n rowKey,\n pageSize = 10,\n filterable = false,\n filterPlaceholder,\n emptyMessage = \"No results found\",\n}: DataTableProps<TRow>) {\n const [filterValue, setFilterValue] = React.useState(\"\");\n const [currentPage, setCurrentPage] = React.useState(1);\n const [sort, setSort] = React.useState<{\n key: string;\n direction: SortDirection;\n } | null>(null);\n\n const hasFilteredRef = React.useRef(false);\n const filterId = React.useId();\n\n const handleFilterChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n hasFilteredRef.current = true;\n setFilterValue(e.target.value);\n setCurrentPage(1);\n };\n\n const handleSort = (key: string) => {\n setSort((prev) => {\n if (prev?.key !== key) {\n return { key, direction: \"asc\" };\n }\n if (prev.direction === \"asc\") {\n return { key, direction: \"desc\" };\n }\n if (prev.direction === \"desc\") {\n return null;\n }\n return null;\n });\n };\n\n const filteredData = React.useMemo(() => {\n if (filterValue === \"\") return data;\n\n const lower = filterValue.toLowerCase();\n return data.filter((row) =>\n columns.some((col) => {\n const value = row[col.key];\n return String(value).toLowerCase().includes(lower);\n }),\n );\n }, [data, columns, filterValue]);\n\n const sortedData = React.useMemo(() => {\n if (sort === null) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aVal = String(a[sort.key as keyof TRow] ?? \"\");\n const bVal = String(b[sort.key as keyof TRow] ?? \"\");\n const cmp = aVal.localeCompare(bVal);\n return sort.direction === \"desc\" ? -cmp : cmp;\n });\n }, [filteredData, sort]);\n\n const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));\n const startIndex = (currentPage - 1) * pageSize;\n const pageData = sortedData.slice(startIndex, startIndex + pageSize);\n const showPagination = totalPages > 1;\n\n const pages = getPageNumbers(currentPage, totalPages);\n\n return (\n <div className=\"flex flex-col gap-(--space-4)\">\n {filterable && (\n <div>\n <label htmlFor={filterId} className=\"sr-only\">\n Filter {caption}\n </label>\n <Input\n id={filterId}\n type=\"search\"\n value={filterValue}\n onChange={handleFilterChange}\n placeholder={filterPlaceholder}\n size=\"sm\"\n />\n </div>\n )}\n\n {filteredData.length === 0 ? (\n <EmptyState heading={emptyMessage} />\n ) : (\n <Table caption={caption}>\n <TableHeader>\n <TableRow>\n {columns.map((col) => {\n const isSortable = col.sortable === true;\n return (\n <TableHead\n key={col.key}\n {...(isSortable\n ? {\n sortable: true,\n sortDirection:\n sort !== null && sort.key === col.key\n ? sort.direction\n : \"none\",\n onSort: () => handleSort(col.key),\n }\n : {})}\n >\n {col.header}\n </TableHead>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody>\n {pageData.map((row, rowIndex) => (\n <TableRow key={rowKey != null ? String(row[rowKey]) : rowIndex}>\n {columns.map((col) => (\n <TableCell key={col.key}>\n {col.cell != null\n ? col.cell(row[col.key], row)\n : String(row[col.key] ?? \"\")}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n\n {showPagination && filteredData.length > 0 && (\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious asChild>\n <button\n type=\"button\"\n disabled={currentPage === 1}\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n />\n </PaginationPrevious>\n </PaginationItem>\n\n {pages.map((page, i) => {\n const prev = pages[i - 1];\n const showEllipsis = prev != null && page - prev > 1;\n\n return (\n <React.Fragment key={page}>\n {showEllipsis && (\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n )}\n <PaginationItem>\n <PaginationLink asChild isActive={page === currentPage}>\n <button\n type=\"button\"\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n </PaginationLink>\n </PaginationItem>\n </React.Fragment>\n );\n })}\n\n <PaginationItem>\n <PaginationNext asChild>\n <button\n type=\"button\"\n disabled={currentPage === totalPages}\n onClick={() =>\n setCurrentPage((p) => Math.min(totalPages, p + 1))\n }\n />\n </PaginationNext>\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n )}\n\n <div role=\"status\" className=\"sr-only\">\n {hasFilteredRef.current\n ? `Showing ${String(filteredData.length)} ${filteredData.length === 1 ? \"result\" : \"results\"}`\n : \"\"}\n </div>\n </div>\n );\n}\n\nDataTable.displayName = \"DataTable\";\n\nexport { DataTable };\n"],"mappings":"wvBAyCA,SAAS,EAAe,EAAqB,EAA8B,CACzE,IAAM,EAAU,IAAI,IAOpB,OANA,EAAQ,IAAI,EAAE,CACd,EAAQ,IAAI,EAAW,CACvB,EAAQ,IAAI,EAAY,CACpB,EAAc,GAAK,GAAG,EAAQ,IAAI,EAAc,EAAE,CAClD,EAAc,GAAK,GAAY,EAAQ,IAAI,EAAc,EAAE,CAExD,MAAM,KAAK,EAAQ,CAAC,MAAM,EAAG,IAAM,EAAI,EAAE,CAMlD,SAAS,EAA+B,CACtC,OACA,UACA,UACA,SACA,WAAW,GACX,aAAa,GACb,oBACA,eAAe,oBACQ,CACvB,GAAM,CAAC,EAAa,GAAkB,EAAM,SAAS,GAAG,CAClD,CAAC,EAAa,GAAkB,EAAM,SAAS,EAAE,CACjD,CAAC,EAAM,GAAW,EAAM,SAGpB,KAAK,CAET,EAAiB,EAAM,OAAO,GAAM,CACpC,EAAW,EAAM,OAAO,CAExB,EAAsB,GAA2C,CACrE,EAAe,QAAU,GACzB,EAAe,EAAE,OAAO,MAAM,CAC9B,EAAe,EAAE,EAGb,EAAc,GAAgB,CAClC,EAAS,GACH,GAAM,MAAQ,EAGd,EAAK,YAAc,MACd,CAAE,MAAK,UAAW,OAAQ,EAE/B,EAAK,UACA,MANA,CAAE,MAAK,UAAW,MAAO,CASlC,EAGE,EAAe,EAAM,YAAc,CACvC,GAAI,IAAgB,GAAI,OAAO,EAE/B,IAAM,EAAQ,EAAY,aAAa,CACvC,OAAO,EAAK,OAAQ,GAClB,EAAQ,KAAM,GAAQ,CACpB,IAAM,EAAQ,EAAI,EAAI,KACtB,OAAO,OAAO,EAAM,CAAC,aAAa,CAAC,SAAS,EAAM,EAClD,CACH,EACA,CAAC,EAAM,EAAS,EAAY,CAAC,CAE1B,EAAa,EAAM,YACnB,IAAS,KAAa,EAEnB,CAAC,GAAG,EAAa,CAAC,MAAM,EAAG,IAAM,CACtC,IAAM,EAAO,OAAO,EAAE,EAAK,MAAsB,GAAG,CAC9C,EAAO,OAAO,EAAE,EAAK,MAAsB,GAAG,CAC9C,EAAM,EAAK,cAAc,EAAK,CACpC,OAAO,EAAK,YAAc,OAAS,CAAC,EAAM,GAC1C,CACD,CAAC,EAAc,EAAK,CAAC,CAElB,EAAa,KAAK,IAAI,EAAG,KAAK,KAAK,EAAa,OAAS,EAAS,CAAC,CACnE,GAAc,EAAc,GAAK,EACjC,EAAW,EAAW,MAAM,EAAY,EAAa,EAAS,CAC9D,EAAiB,EAAa,EAE9B,EAAQ,EAAe,EAAa,EAAW,CAErD,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,yCAAf,CACG,IACC,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,QAAD,CAAO,QAAS,EAAU,UAAU,mBAApC,CAA8C,UACpC,EACF,IACR,EAAA,EAAA,KAAC,EAAA,MAAD,CACE,GAAI,EACJ,KAAK,SACL,MAAO,EACP,SAAU,EACV,YAAa,EACb,KAAK,KACL,CAAA,CACE,CAAA,CAAA,CAGP,EAAa,SAAW,GACvB,EAAA,EAAA,KAAC,EAAA,WAAD,CAAY,QAAS,EAAgB,CAAA,EAErC,EAAA,EAAA,MAAC,EAAA,MAAD,CAAgB,mBAAhB,EACE,EAAA,EAAA,KAAC,EAAA,YAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,SAAD,CAAA,SACG,EAAQ,IAAK,IAGV,EAAA,EAAA,KAAC,EAAA,UAAD,CAEE,GAJe,EAAI,WAAa,GAK5B,CACE,SAAU,GACV,cACE,IAAS,MAAQ,EAAK,MAAQ,EAAI,IAC9B,EAAK,UACL,OACN,WAAc,EAAW,EAAI,IAAI,CAClC,CACD,EAAE,UAEL,EAAI,OACK,CAbL,EAAI,IAaC,CAEd,CACO,CAAA,CACC,CAAA,EACd,EAAA,EAAA,KAAC,EAAA,UAAD,CAAA,SACG,EAAS,KAAK,EAAK,KAClB,EAAA,EAAA,KAAC,EAAA,SAAD,CAAA,SACG,EAAQ,IAAK,IACZ,EAAA,EAAA,KAAC,EAAA,UAAD,CAAA,SACG,EAAI,MAAQ,KAET,OAAO,EAAI,EAAI,MAAQ,GAAG,CAD1B,EAAI,KAAK,EAAI,EAAI,KAAM,EAAI,CAErB,CAJI,EAAI,IAIR,CACZ,CACO,CARI,GAAU,KAA6B,EAAtB,OAAO,EAAI,GAAQ,CAQxC,CACX,CACQ,CAAA,CACN,GAGT,GAAkB,EAAa,OAAS,IACvC,EAAA,EAAA,KAAC,EAAA,WAAD,CAAA,UACE,EAAA,EAAA,MAAC,EAAA,kBAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAA,eAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,mBAAD,CAAoB,QAAA,aAClB,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,IAAgB,EAC1B,YAAe,EAAgB,GAAM,KAAK,IAAI,EAAG,EAAI,EAAE,CAAC,CACxD,CAAA,CACiB,CAAA,CACN,CAAA,CAEhB,EAAM,KAAK,EAAM,IAAM,CACtB,IAAM,EAAO,EAAM,EAAI,GACjB,EAAe,GAAQ,MAAQ,EAAO,EAAO,EAEnD,OACE,EAAA,EAAA,MAAC,EAAM,SAAP,CAAA,SAAA,CACG,IACC,EAAA,EAAA,KAAC,EAAA,eAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,mBAAD,EAAsB,CAAA,CACP,CAAA,EAEnB,EAAA,EAAA,KAAC,EAAA,eAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,eAAD,CAAgB,QAAA,GAAQ,SAAU,IAAS,YACzC,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,YAAe,EAAe,EAAK,UAElC,EACM,CAAA,CACM,CAAA,CACF,CAAA,CACF,CAAA,CAhBI,EAgBJ,EAEnB,EAEF,EAAA,EAAA,KAAC,EAAA,eAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,eAAD,CAAgB,QAAA,aACd,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,IAAgB,EAC1B,YACE,EAAgB,GAAM,KAAK,IAAI,EAAY,EAAI,EAAE,CAAC,CAEpD,CAAA,CACa,CAAA,CACF,CAAA,CACC,CAAA,CAAA,CACT,CAAA,EAGf,EAAA,EAAA,KAAC,MAAD,CAAK,KAAK,SAAS,UAAU,mBAC1B,EAAe,QACZ,WAAW,OAAO,EAAa,OAAO,CAAC,GAAG,EAAa,SAAW,EAAI,SAAW,YACjF,GACA,CAAA,CACF,GAIV,EAAU,YAAc"}
|
|
1
|
+
{"version":3,"file":"DataTable.cjs","names":[],"sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { Input } from \"@nuka/components/Input\";\nimport { EmptyState } from \"@nuka/components/EmptyState\";\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from \"@nuka/components/Table\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"@nuka/components/Pagination\";\nimport type { SortDirection } from \"@nuka/components/Table\";\n\nexport interface DataTableColumn<TRow> {\n key: keyof TRow & string;\n header: string;\n sortable?: boolean;\n cell?: (value: TRow[keyof TRow & string], row: TRow) => React.ReactNode;\n}\n\nexport interface DataTableProps<TRow extends object> {\n data: TRow[];\n columns: DataTableColumn<TRow>[];\n caption: string;\n rowKey?: keyof TRow & string;\n pageSize?: number;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyMessage?: string;\n}\n\nfunction getPageNumbers(currentPage: number, totalPages: number): number[] {\n const pageSet = new Set<number>();\n pageSet.add(1);\n pageSet.add(totalPages);\n pageSet.add(currentPage);\n if (currentPage - 1 >= 1) pageSet.add(currentPage - 1);\n if (currentPage + 1 <= totalPages) pageSet.add(currentPage + 1);\n\n return Array.from(pageSet).sort((a, b) => a - b);\n}\n\n// DataTable is a generic function component. React.forwardRef does not support\n// generics cleanly in React 19. Consumers interact with DataTable at the data\n// level (columns, rows), not the DOM level, so ref forwarding is not needed.\nfunction DataTable<TRow extends object>({\n data,\n columns,\n caption,\n rowKey,\n pageSize = 10,\n filterable = false,\n filterPlaceholder,\n emptyMessage = \"No results found\",\n}: DataTableProps<TRow>) {\n const [filterValue, setFilterValue] = React.useState(\"\");\n const [currentPage, setCurrentPage] = React.useState(1);\n const [sort, setSort] = React.useState<{\n key: string;\n direction: SortDirection;\n } | null>(null);\n\n const hasFilteredRef = React.useRef(false);\n const filterId = React.useId();\n\n const handleFilterChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n hasFilteredRef.current = true;\n setFilterValue(e.target.value);\n setCurrentPage(1);\n };\n\n const handleSort = (key: string) => {\n setSort((prev) => {\n if (prev?.key !== key) {\n return { key, direction: \"asc\" };\n }\n if (prev.direction === \"asc\") {\n return { key, direction: \"desc\" };\n }\n if (prev.direction === \"desc\") {\n return null;\n }\n return null;\n });\n };\n\n const filteredData = React.useMemo(() => {\n if (filterValue === \"\") return data;\n\n const lower = filterValue.toLowerCase();\n return data.filter((row) =>\n columns.some((col) => {\n const value = row[col.key];\n return String(value).toLowerCase().includes(lower);\n }),\n );\n }, [data, columns, filterValue]);\n\n const sortedData = React.useMemo(() => {\n if (sort === null) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aVal = String(a[sort.key as keyof TRow] ?? \"\");\n const bVal = String(b[sort.key as keyof TRow] ?? \"\");\n const cmp = aVal.localeCompare(bVal);\n return sort.direction === \"desc\" ? -cmp : cmp;\n });\n }, [filteredData, sort]);\n\n const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));\n const startIndex = (currentPage - 1) * pageSize;\n const pageData = sortedData.slice(startIndex, startIndex + pageSize);\n const showPagination = totalPages > 1;\n\n const pages = getPageNumbers(currentPage, totalPages);\n\n return (\n <div className=\"flex flex-col gap-(--space-4)\">\n {filterable && (\n <div>\n <label htmlFor={filterId} className=\"sr-only\">\n Filter {caption}\n </label>\n <Input\n id={filterId}\n type=\"search\"\n value={filterValue}\n onChange={handleFilterChange}\n placeholder={filterPlaceholder}\n size=\"sm\"\n />\n </div>\n )}\n\n {filteredData.length === 0 ? (\n <EmptyState heading={emptyMessage} />\n ) : (\n <Table caption={caption}>\n <TableHeader>\n <TableRow>\n {columns.map((col) => {\n const isSortable = col.sortable === true;\n return (\n <TableHead\n key={col.key}\n {...(isSortable\n ? {\n sortable: true,\n sortDirection:\n sort !== null && sort.key === col.key\n ? sort.direction\n : \"none\",\n onSort: () => handleSort(col.key),\n }\n : {})}\n >\n {col.header}\n </TableHead>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody>\n {pageData.map((row, rowIndex) => (\n <TableRow key={rowKey != null ? String(row[rowKey]) : rowIndex}>\n {columns.map((col) => (\n <TableCell key={col.key}>\n {col.cell != null\n ? col.cell(row[col.key], row)\n : String(row[col.key] ?? \"\")}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n\n {showPagination && filteredData.length > 0 && (\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious asChild>\n <button\n type=\"button\"\n disabled={currentPage === 1}\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n />\n </PaginationPrevious>\n </PaginationItem>\n\n {pages.map((page, i) => {\n const prev = pages[i - 1];\n const showEllipsis = prev != null && page - prev > 1;\n\n return (\n <React.Fragment key={page}>\n {showEllipsis && (\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n )}\n <PaginationItem>\n <PaginationLink asChild isActive={page === currentPage}>\n <button\n type=\"button\"\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n </PaginationLink>\n </PaginationItem>\n </React.Fragment>\n );\n })}\n\n <PaginationItem>\n <PaginationNext asChild>\n <button\n type=\"button\"\n disabled={currentPage === totalPages}\n onClick={() =>\n setCurrentPage((p) => Math.min(totalPages, p + 1))\n }\n />\n </PaginationNext>\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n )}\n\n <div role=\"status\" className=\"sr-only\">\n {hasFilteredRef.current\n ? `Showing ${String(filteredData.length)} ${filteredData.length === 1 ? \"result\" : \"results\"}`\n : \"\"}\n </div>\n </div>\n );\n}\n\nDataTable.displayName = \"DataTable\";\n\nexport { DataTable };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":[],"sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { Input } from \"@nuka/components/Input\";\nimport { EmptyState } from \"@nuka/components/EmptyState\";\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from \"@nuka/components/Table\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"@nuka/components/Pagination\";\nimport type { SortDirection } from \"@nuka/components/Table\";\n\nexport interface DataTableColumn<TRow> {\n key: keyof TRow & string;\n header: string;\n sortable?: boolean;\n cell?: (value: TRow[keyof TRow & string], row: TRow) => React.ReactNode;\n}\n\nexport interface DataTableProps<TRow extends object> {\n data: TRow[];\n columns: DataTableColumn<TRow>[];\n caption: string;\n rowKey?: keyof TRow & string;\n pageSize?: number;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyMessage?: string;\n}\n\nfunction getPageNumbers(currentPage: number, totalPages: number): number[] {\n const pageSet = new Set<number>();\n pageSet.add(1);\n pageSet.add(totalPages);\n pageSet.add(currentPage);\n if (currentPage - 1 >= 1) pageSet.add(currentPage - 1);\n if (currentPage + 1 <= totalPages) pageSet.add(currentPage + 1);\n\n return Array.from(pageSet).sort((a, b) => a - b);\n}\n\n// DataTable is a generic function component. React.forwardRef does not support\n// generics cleanly in React 19. Consumers interact with DataTable at the data\n// level (columns, rows), not the DOM level, so ref forwarding is not needed.\nfunction DataTable<TRow extends object>({\n data,\n columns,\n caption,\n rowKey,\n pageSize = 10,\n filterable = false,\n filterPlaceholder,\n emptyMessage = \"No results found\",\n}: DataTableProps<TRow>) {\n const [filterValue, setFilterValue] = React.useState(\"\");\n const [currentPage, setCurrentPage] = React.useState(1);\n const [sort, setSort] = React.useState<{\n key: string;\n direction: SortDirection;\n } | null>(null);\n\n const hasFilteredRef = React.useRef(false);\n const filterId = React.useId();\n\n const handleFilterChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n hasFilteredRef.current = true;\n setFilterValue(e.target.value);\n setCurrentPage(1);\n };\n\n const handleSort = (key: string) => {\n setSort((prev) => {\n if (prev?.key !== key) {\n return { key, direction: \"asc\" };\n }\n if (prev.direction === \"asc\") {\n return { key, direction: \"desc\" };\n }\n if (prev.direction === \"desc\") {\n return null;\n }\n return null;\n });\n };\n\n const filteredData = React.useMemo(() => {\n if (filterValue === \"\") return data;\n\n const lower = filterValue.toLowerCase();\n return data.filter((row) =>\n columns.some((col) => {\n const value = row[col.key];\n return String(value).toLowerCase().includes(lower);\n }),\n );\n }, [data, columns, filterValue]);\n\n const sortedData = React.useMemo(() => {\n if (sort === null) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aVal = String(a[sort.key as keyof TRow] ?? \"\");\n const bVal = String(b[sort.key as keyof TRow] ?? \"\");\n const cmp = aVal.localeCompare(bVal);\n return sort.direction === \"desc\" ? -cmp : cmp;\n });\n }, [filteredData, sort]);\n\n const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));\n const startIndex = (currentPage - 1) * pageSize;\n const pageData = sortedData.slice(startIndex, startIndex + pageSize);\n const showPagination = totalPages > 1;\n\n const pages = getPageNumbers(currentPage, totalPages);\n\n return (\n <div className=\"flex flex-col gap-(--space-4)\">\n {filterable && (\n <div>\n <label htmlFor={filterId} className=\"sr-only\">\n Filter {caption}\n </label>\n <Input\n id={filterId}\n type=\"search\"\n value={filterValue}\n onChange={handleFilterChange}\n placeholder={filterPlaceholder}\n size=\"sm\"\n />\n </div>\n )}\n\n {filteredData.length === 0 ? (\n <EmptyState heading={emptyMessage} />\n ) : (\n <Table caption={caption}>\n <TableHeader>\n <TableRow>\n {columns.map((col) => {\n const isSortable = col.sortable === true;\n return (\n <TableHead\n key={col.key}\n {...(isSortable\n ? {\n sortable: true,\n sortDirection:\n sort !== null && sort.key === col.key\n ? sort.direction\n : \"none\",\n onSort: () => handleSort(col.key),\n }\n : {})}\n >\n {col.header}\n </TableHead>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody>\n {pageData.map((row, rowIndex) => (\n <TableRow key={rowKey != null ? String(row[rowKey]) : rowIndex}>\n {columns.map((col) => (\n <TableCell key={col.key}>\n {col.cell != null\n ? col.cell(row[col.key], row)\n : String(row[col.key] ?? \"\")}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n\n {showPagination && filteredData.length > 0 && (\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious asChild>\n <button\n type=\"button\"\n disabled={currentPage === 1}\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n />\n </PaginationPrevious>\n </PaginationItem>\n\n {pages.map((page, i) => {\n const prev = pages[i - 1];\n const showEllipsis = prev != null && page - prev > 1;\n\n return (\n <React.Fragment key={page}>\n {showEllipsis && (\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n )}\n <PaginationItem>\n <PaginationLink asChild isActive={page === currentPage}>\n <button\n type=\"button\"\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n </PaginationLink>\n </PaginationItem>\n </React.Fragment>\n );\n })}\n\n <PaginationItem>\n <PaginationNext asChild>\n <button\n type=\"button\"\n disabled={currentPage === totalPages}\n onClick={() =>\n setCurrentPage((p) => Math.min(totalPages, p + 1))\n }\n />\n </PaginationNext>\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n )}\n\n <div role=\"status\" className=\"sr-only\">\n {hasFilteredRef.current\n ? `Showing ${String(filteredData.length)} ${filteredData.length === 1 ? \"result\" : \"results\"}`\n : \"\"}\n </div>\n </div>\n );\n}\n\nDataTable.displayName = \"DataTable\";\n\nexport { DataTable };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":[],"sources":["../../../src/components/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { Input } from \"@nuka/components/Input\";\nimport { EmptyState } from \"@nuka/components/EmptyState\";\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n} from \"@nuka/components/Table\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from \"@nuka/components/Pagination\";\nimport type { SortDirection } from \"@nuka/components/Table\";\n\nexport interface DataTableColumn<TRow> {\n key: keyof TRow & string;\n header: string;\n sortable?: boolean;\n cell?: (value: TRow[keyof TRow & string], row: TRow) => React.ReactNode;\n}\n\nexport interface DataTableProps<TRow extends object> {\n data: TRow[];\n columns: DataTableColumn<TRow>[];\n caption: string;\n rowKey?: keyof TRow & string;\n pageSize?: number;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyMessage?: string;\n}\n\nfunction getPageNumbers(currentPage: number, totalPages: number): number[] {\n const pageSet = new Set<number>();\n pageSet.add(1);\n pageSet.add(totalPages);\n pageSet.add(currentPage);\n if (currentPage - 1 >= 1) pageSet.add(currentPage - 1);\n if (currentPage + 1 <= totalPages) pageSet.add(currentPage + 1);\n\n return Array.from(pageSet).sort((a, b) => a - b);\n}\n\n// DataTable is a generic function component. React.forwardRef does not support\n// generics cleanly in React 19. Consumers interact with DataTable at the data\n// level (columns, rows), not the DOM level, so ref forwarding is not needed.\nfunction DataTable<TRow extends object>({\n data,\n columns,\n caption,\n rowKey,\n pageSize = 10,\n filterable = false,\n filterPlaceholder,\n emptyMessage = \"No results found\",\n}: DataTableProps<TRow>) {\n const [filterValue, setFilterValue] = React.useState(\"\");\n const [currentPage, setCurrentPage] = React.useState(1);\n const [sort, setSort] = React.useState<{\n key: string;\n direction: SortDirection;\n } | null>(null);\n\n const hasFilteredRef = React.useRef(false);\n const filterId = React.useId();\n\n const handleFilterChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n hasFilteredRef.current = true;\n setFilterValue(e.target.value);\n setCurrentPage(1);\n };\n\n const handleSort = (key: string) => {\n setSort((prev) => {\n if (prev?.key !== key) {\n return { key, direction: \"asc\" };\n }\n if (prev.direction === \"asc\") {\n return { key, direction: \"desc\" };\n }\n if (prev.direction === \"desc\") {\n return null;\n }\n return null;\n });\n };\n\n const filteredData = React.useMemo(() => {\n if (filterValue === \"\") return data;\n\n const lower = filterValue.toLowerCase();\n return data.filter((row) =>\n columns.some((col) => {\n const value = row[col.key];\n return String(value).toLowerCase().includes(lower);\n }),\n );\n }, [data, columns, filterValue]);\n\n const sortedData = React.useMemo(() => {\n if (sort === null) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aVal = String(a[sort.key as keyof TRow] ?? \"\");\n const bVal = String(b[sort.key as keyof TRow] ?? \"\");\n const cmp = aVal.localeCompare(bVal);\n return sort.direction === \"desc\" ? -cmp : cmp;\n });\n }, [filteredData, sort]);\n\n const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));\n const startIndex = (currentPage - 1) * pageSize;\n const pageData = sortedData.slice(startIndex, startIndex + pageSize);\n const showPagination = totalPages > 1;\n\n const pages = getPageNumbers(currentPage, totalPages);\n\n return (\n <div className=\"flex flex-col gap-(--space-4)\">\n {filterable && (\n <div>\n <label htmlFor={filterId} className=\"sr-only\">\n Filter {caption}\n </label>\n <Input\n id={filterId}\n type=\"search\"\n value={filterValue}\n onChange={handleFilterChange}\n placeholder={filterPlaceholder}\n size=\"sm\"\n />\n </div>\n )}\n\n {filteredData.length === 0 ? (\n <EmptyState heading={emptyMessage} />\n ) : (\n <Table caption={caption}>\n <TableHeader>\n <TableRow>\n {columns.map((col) => {\n const isSortable = col.sortable === true;\n return (\n <TableHead\n key={col.key}\n {...(isSortable\n ? {\n sortable: true,\n sortDirection:\n sort !== null && sort.key === col.key\n ? sort.direction\n : \"none\",\n onSort: () => handleSort(col.key),\n }\n : {})}\n >\n {col.header}\n </TableHead>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody>\n {pageData.map((row, rowIndex) => (\n <TableRow key={rowKey != null ? String(row[rowKey]) : rowIndex}>\n {columns.map((col) => (\n <TableCell key={col.key}>\n {col.cell != null\n ? col.cell(row[col.key], row)\n : String(row[col.key] ?? \"\")}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n\n {showPagination && filteredData.length > 0 && (\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious asChild>\n <button\n type=\"button\"\n disabled={currentPage === 1}\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n />\n </PaginationPrevious>\n </PaginationItem>\n\n {pages.map((page, i) => {\n const prev = pages[i - 1];\n const showEllipsis = prev != null && page - prev > 1;\n\n return (\n <React.Fragment key={page}>\n {showEllipsis && (\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n )}\n <PaginationItem>\n <PaginationLink asChild isActive={page === currentPage}>\n <button\n type=\"button\"\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n </PaginationLink>\n </PaginationItem>\n </React.Fragment>\n );\n })}\n\n <PaginationItem>\n <PaginationNext asChild>\n <button\n type=\"button\"\n disabled={currentPage === totalPages}\n onClick={() =>\n setCurrentPage((p) => Math.min(totalPages, p + 1))\n }\n />\n </PaginationNext>\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n )}\n\n <div role=\"status\" className=\"sr-only\">\n {hasFilteredRef.current\n ? `Showing ${String(filteredData.length)} ${filteredData.length === 1 ? \"result\" : \"results\"}`\n : \"\"}\n </div>\n </div>\n );\n}\n\nDataTable.displayName = \"DataTable\";\n\nexport { DataTable };\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../hooks/use-controllable-state.cjs"),n=require("../../node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs"),r=require("../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs"),i=require("../../node_modules/@floating-ui/react/dist/floating-ui.react.cjs"),a=require("./DatePicker.context.cjs"),o=require("./DatePicker.utils.cjs");require("./DatePickerInput.cjs"),require("./DatePickerCalendar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime");function l({children:e,value:l,defaultValue:u,onValueChange:d,disabled:f=!1,min:p,max:m,formatDate:h,parseDate:g,locale:_}){let v=h??o.defaultFormatDate,y=g??o.defaultParseDate,[b,x]=t.useControllableState(l,u,d),[S,C]=s.useState(!1),w=s.useMemo(()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},[]),T=s.useMemo(()=>b===void 0?o.clampDate(w,p,m):b,[b,w,p,m]),[E,D]=s.useState(T),O=s.useCallback(e=>{C(e),e&&D(b??o.clampDate(w,p,m))},[b,w,p,m]),{refs:k,floatingStyles:A,context:j}=i.useFloating({open:S,onOpenChange:O,placement:`bottom-start`,middleware:[r.offset(8),r.flip(),r.shift({padding:8})],whileElementsMounted:n.autoUpdate}),{getReferenceProps:M,getFloatingProps:N}=i.useInteractions([i.useDismiss(j),i.useRole(j,{role:`dialog`})]),P=s.useId(),F=s.useRef(null),I=s.useRef(!1);return(0,c.jsx)(a.DatePickerContext,{value:s.useMemo(()=>({open:S,onOpenChange:O,selectedDate:b,onSelectedDateChange:x,focusedDate:E,setFocusedDate:D,disabled:f,min:p,max:m,refs:k,floatingStyles:A,getReferenceProps:M,getFloatingProps:N,baseId:P,triggerButtonRef:F,focusCalendarOnOpen:I,formatDate:v,parseDate:y,locale:_}),[S,O,b,x,E,D,f,p,m,k,A,M,N,P,F,I,v,y,_]),children:e})}l.displayName=`DatePicker`,exports.DatePicker=l;
|
|
2
2
|
//# sourceMappingURL=DatePicker.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n offset,\n flip,\n shift,\n autoUpdate,\n} from \"@floating-ui/react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { DatePickerContext } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport type { DatePickerContextValue } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport {\n defaultFormatDate,\n defaultParseDate,\n clampDate,\n} from \"@nuka/components/DatePicker/DatePicker.utils\";\n\nexport interface DatePickerProps {\n children: React.ReactNode;\n value?: Date | undefined;\n defaultValue?: Date | undefined;\n onValueChange?: (date: Date | undefined) => void;\n disabled?: boolean | undefined;\n min?: Date | undefined;\n max?: Date | undefined;\n formatDate?: ((date: Date) => string) | undefined;\n parseDate?: ((input: string) => Date | null) | undefined;\n locale?: string | undefined;\n}\n\nfunction DatePicker({\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n min,\n max,\n formatDate,\n parseDate,\n locale,\n}: DatePickerProps) {\n const effectiveFormatDate = formatDate ?? defaultFormatDate;\n const effectiveParseDate = parseDate ?? defaultParseDate;\n const [selectedDate, setSelectedDate] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n\n const [open, setOpen] = React.useState(false);\n\n const today = React.useMemo(() => {\n const now = new Date();\n return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n }, []);\n\n const initialFocusDate = React.useMemo(() => {\n if (selectedDate !== undefined) return selectedDate;\n return clampDate(today, min, max);\n }, [selectedDate, today, min, max]);\n\n const [focusedDate, setFocusedDate] = React.useState(initialFocusDate);\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (nextOpen) {\n const target = selectedDate ?? clampDate(today, min, max);\n setFocusedDate(target);\n }\n },\n [selectedDate, today, min, max],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open,\n onOpenChange: handleOpenChange,\n placement: \"bottom-start\",\n middleware: [offset(8), flip(), shift({ padding: 8 })],\n whileElementsMounted: autoUpdate,\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"dialog\" });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n const baseId = React.useId();\n const triggerButtonRef = React.useRef<HTMLButtonElement>(null);\n const
|
|
1
|
+
{"version":3,"file":"DatePicker.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport {\n useFloating,\n useDismiss,\n useRole,\n useInteractions,\n offset,\n flip,\n shift,\n autoUpdate,\n} from \"@floating-ui/react\";\nimport { useControllableState } from \"@nuka/hooks/use-controllable-state\";\nimport { DatePickerContext } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport type { DatePickerContextValue } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport {\n defaultFormatDate,\n defaultParseDate,\n clampDate,\n} from \"@nuka/components/DatePicker/DatePicker.utils\";\n\nexport interface DatePickerProps {\n children: React.ReactNode;\n value?: Date | undefined;\n defaultValue?: Date | undefined;\n onValueChange?: (date: Date | undefined) => void;\n disabled?: boolean | undefined;\n min?: Date | undefined;\n max?: Date | undefined;\n formatDate?: ((date: Date) => string) | undefined;\n parseDate?: ((input: string) => Date | null) | undefined;\n locale?: string | undefined;\n}\n\nfunction DatePicker({\n children,\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n min,\n max,\n formatDate,\n parseDate,\n locale,\n}: DatePickerProps) {\n const effectiveFormatDate = formatDate ?? defaultFormatDate;\n const effectiveParseDate = parseDate ?? defaultParseDate;\n const [selectedDate, setSelectedDate] = useControllableState(\n controlledValue,\n defaultValue,\n onValueChange,\n );\n\n const [open, setOpen] = React.useState(false);\n\n const today = React.useMemo(() => {\n const now = new Date();\n return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n }, []);\n\n const initialFocusDate = React.useMemo(() => {\n if (selectedDate !== undefined) return selectedDate;\n return clampDate(today, min, max);\n }, [selectedDate, today, min, max]);\n\n const [focusedDate, setFocusedDate] = React.useState(initialFocusDate);\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n setOpen(nextOpen);\n if (nextOpen) {\n const target = selectedDate ?? clampDate(today, min, max);\n setFocusedDate(target);\n }\n },\n [selectedDate, today, min, max],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open,\n onOpenChange: handleOpenChange,\n placement: \"bottom-start\",\n middleware: [offset(8), flip(), shift({ padding: 8 })],\n whileElementsMounted: autoUpdate,\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"dialog\" });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n const baseId = React.useId();\n const triggerButtonRef = React.useRef<HTMLButtonElement>(null);\n const focusCalendarOnOpenRef = React.useRef(false);\n\n const contextValue: DatePickerContextValue = React.useMemo(\n () => ({\n open,\n onOpenChange: handleOpenChange,\n selectedDate,\n onSelectedDateChange: setSelectedDate,\n focusedDate,\n setFocusedDate,\n disabled,\n min,\n max,\n refs,\n floatingStyles,\n getReferenceProps,\n getFloatingProps,\n baseId,\n triggerButtonRef,\n focusCalendarOnOpen: focusCalendarOnOpenRef,\n formatDate: effectiveFormatDate,\n parseDate: effectiveParseDate,\n locale,\n }),\n [\n open,\n handleOpenChange,\n selectedDate,\n setSelectedDate,\n focusedDate,\n setFocusedDate,\n disabled,\n min,\n max,\n refs,\n floatingStyles,\n getReferenceProps,\n getFloatingProps,\n baseId,\n triggerButtonRef,\n focusCalendarOnOpenRef,\n effectiveFormatDate,\n effectiveParseDate,\n locale,\n ],\n );\n\n return <DatePickerContext value={contextValue}>{children}</DatePickerContext>;\n}\n\nDatePicker.displayName = \"DatePicker\";\n\nexport { DatePicker };\nexport {\n DatePickerInput,\n type DatePickerInputProps,\n} from \"@nuka/components/DatePicker/DatePickerInput\";\nexport {\n DatePickerCalendar,\n type DatePickerCalendarProps,\n} from \"@nuka/components/DatePicker/DatePickerCalendar\";\n"],"mappings":"ikBAkCA,SAAS,EAAW,CAClB,WACA,MAAO,EACP,eACA,gBACA,WAAW,GACX,MACA,MACA,aACA,YACA,UACkB,CAClB,IAAM,EAAsB,GAAc,EAAA,kBACpC,EAAqB,GAAa,EAAA,iBAClC,CAAC,EAAc,GAAmB,EAAA,qBACtC,EACA,EACA,CACF,EAEM,CAAC,EAAM,GAAW,EAAM,SAAS,EAAK,EAEtC,EAAQ,EAAM,YAAc,CAChC,IAAM,EAAM,IAAI,KAChB,OAAO,IAAI,KAAK,EAAI,YAAY,EAAG,EAAI,SAAS,EAAG,EAAI,QAAQ,CAAC,CAClE,EAAG,CAAC,CAAC,EAEC,EAAmB,EAAM,YACzB,IAAiB,IAAA,GACd,EAAA,UAAU,EAAO,EAAK,CAAG,EADO,EAEtC,CAAC,EAAc,EAAO,EAAK,CAAG,CAAC,EAE5B,CAAC,EAAa,GAAkB,EAAM,SAAS,CAAgB,EAE/D,EAAmB,EAAM,YAC5B,GAAsB,CACrB,EAAQ,CAAQ,EACZ,GAEF,EADe,GAAgB,EAAA,UAAU,EAAO,EAAK,CAAG,CACnC,CAEzB,EACA,CAAC,EAAc,EAAO,EAAK,CAAG,CAChC,EAEM,CAAE,OAAM,iBAAgB,WAAY,EAAA,YAAY,CACpD,OACA,aAAc,EACd,UAAW,eACX,WAAY,CAAC,EAAA,OAAO,CAAC,EAAG,EAAA,KAAK,EAAG,EAAA,MAAM,CAAE,QAAS,CAAE,CAAC,CAAC,EACrD,qBAAsB,EAAA,UACxB,CAAC,EAKK,CAAE,oBAAmB,oBAAqB,EAAA,gBAAgB,CAHhD,EAAA,WAAW,CAIzB,EAHW,EAAA,QAAQ,EAAS,CAAE,KAAM,QAAS,CAI7C,CACF,CAAC,EAEK,EAAS,EAAM,MAAM,EACrB,EAAmB,EAAM,OAA0B,IAAI,EACvD,EAAyB,EAAM,OAAO,EAAK,EA+CjD,OAAO,EAAA,EAAA,KAAC,EAAA,kBAAD,CAAmB,MA7CmB,EAAM,aAC1C,CACL,OACA,aAAc,EACd,eACA,qBAAsB,EACtB,cACA,iBACA,WACA,MACA,MACA,OACA,iBACA,oBACA,mBACA,SACA,mBACA,oBAAqB,EACrB,WAAY,EACZ,UAAW,EACX,QACF,GACA,CACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CAG+B,EAAe,UAA4B,CAAA,CAC9E,CAEA,EAAW,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs");let t=require("react");t=e.__toESM(t,1);var n=t.createContext(void 0);function r(){let e=t.use(n);if(e===void 0)throw Error(`useDatePickerContext must be used within a <DatePicker> component`);return e}exports.DatePickerContext=n,exports.useDatePickerContext=r;
|
|
2
2
|
//# sourceMappingURL=DatePicker.context.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.context.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.context.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport type { useFloating, useInteractions } from \"@floating-ui/react\";\n\nexport interface DatePickerContextValue {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n selectedDate: Date | undefined;\n onSelectedDateChange: (date: Date | undefined) => void;\n focusedDate: Date;\n setFocusedDate: (date: Date) => void;\n disabled: boolean;\n min: Date | undefined;\n max: Date | undefined;\n refs: ReturnType<typeof useFloating>[\"refs\"];\n floatingStyles: React.CSSProperties;\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n baseId: string;\n triggerButtonRef: React.RefObject<HTMLButtonElement | null>;\n focusCalendarOnOpen: React.RefObject<boolean>;\n formatDate: (date: Date) => string;\n parseDate: (input: string) => Date | null;\n locale: string | undefined;\n}\n\nconst DatePickerContext = React.createContext<\n DatePickerContextValue | undefined\n>(undefined);\n\nexport function useDatePickerContext(): DatePickerContextValue {\n const context = React.
|
|
1
|
+
{"version":3,"file":"DatePicker.context.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.context.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport type { useFloating, useInteractions } from \"@floating-ui/react\";\n\nexport interface DatePickerContextValue {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n selectedDate: Date | undefined;\n onSelectedDateChange: (date: Date | undefined) => void;\n focusedDate: Date;\n setFocusedDate: (date: Date) => void;\n disabled: boolean;\n min: Date | undefined;\n max: Date | undefined;\n refs: ReturnType<typeof useFloating>[\"refs\"];\n floatingStyles: React.CSSProperties;\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n baseId: string;\n triggerButtonRef: React.RefObject<HTMLButtonElement | null>;\n focusCalendarOnOpen: React.RefObject<boolean>;\n formatDate: (date: Date) => string;\n parseDate: (input: string) => Date | null;\n locale: string | undefined;\n}\n\nconst DatePickerContext = React.createContext<\n DatePickerContextValue | undefined\n>(undefined);\n\nexport function useDatePickerContext(): DatePickerContextValue {\n const context = React.use(DatePickerContext);\n if (context === undefined) {\n throw new Error(\n \"useDatePickerContext must be used within a <DatePicker> component\",\n );\n }\n return context;\n}\n\nexport { DatePickerContext };\n"],"mappings":"6GA0BA,IAAM,EAAoB,EAAM,cAE9B,IAAA,EAAS,EAEX,SAAgB,GAA+C,CAC7D,IAAM,EAAU,EAAM,IAAI,CAAiB,EAC3C,GAAI,IAAY,IAAA,GACd,MAAU,MACR,mEACF,EAEF,OAAO,CACT"}
|
|
@@ -3,7 +3,7 @@ import * as e from "react";
|
|
|
3
3
|
//#region src/components/DatePicker/DatePicker.context.tsx
|
|
4
4
|
var t = e.createContext(void 0);
|
|
5
5
|
function n() {
|
|
6
|
-
let n = e.
|
|
6
|
+
let n = e.use(t);
|
|
7
7
|
if (n === void 0) throw Error("useDatePickerContext must be used within a <DatePicker> component");
|
|
8
8
|
return n;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.context.js","names":[],"sources":["../../../src/components/DatePicker/DatePicker.context.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport type { useFloating, useInteractions } from \"@floating-ui/react\";\n\nexport interface DatePickerContextValue {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n selectedDate: Date | undefined;\n onSelectedDateChange: (date: Date | undefined) => void;\n focusedDate: Date;\n setFocusedDate: (date: Date) => void;\n disabled: boolean;\n min: Date | undefined;\n max: Date | undefined;\n refs: ReturnType<typeof useFloating>[\"refs\"];\n floatingStyles: React.CSSProperties;\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n baseId: string;\n triggerButtonRef: React.RefObject<HTMLButtonElement | null>;\n focusCalendarOnOpen: React.RefObject<boolean>;\n formatDate: (date: Date) => string;\n parseDate: (input: string) => Date | null;\n locale: string | undefined;\n}\n\nconst DatePickerContext = React.createContext<\n DatePickerContextValue | undefined\n>(undefined);\n\nexport function useDatePickerContext(): DatePickerContextValue {\n const context = React.
|
|
1
|
+
{"version":3,"file":"DatePicker.context.js","names":[],"sources":["../../../src/components/DatePicker/DatePicker.context.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport type { useFloating, useInteractions } from \"@floating-ui/react\";\n\nexport interface DatePickerContextValue {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n selectedDate: Date | undefined;\n onSelectedDateChange: (date: Date | undefined) => void;\n focusedDate: Date;\n setFocusedDate: (date: Date) => void;\n disabled: boolean;\n min: Date | undefined;\n max: Date | undefined;\n refs: ReturnType<typeof useFloating>[\"refs\"];\n floatingStyles: React.CSSProperties;\n getReferenceProps: ReturnType<typeof useInteractions>[\"getReferenceProps\"];\n getFloatingProps: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n baseId: string;\n triggerButtonRef: React.RefObject<HTMLButtonElement | null>;\n focusCalendarOnOpen: React.RefObject<boolean>;\n formatDate: (date: Date) => string;\n parseDate: (input: string) => Date | null;\n locale: string | undefined;\n}\n\nconst DatePickerContext = React.createContext<\n DatePickerContextValue | undefined\n>(undefined);\n\nexport function useDatePickerContext(): DatePickerContextValue {\n const context = React.use(DatePickerContext);\n if (context === undefined) {\n throw new Error(\n \"useDatePickerContext must be used within a <DatePicker> component\",\n );\n }\n return context;\n}\n\nexport { DatePickerContext };\n"],"mappings":";;;AA0BA,IAAM,IAAoB,EAAM,cAE9B,KAAA,CAAS;AAEX,SAAgB,IAA+C;CAC7D,IAAM,IAAU,EAAM,IAAI,CAAiB;CAC3C,IAAI,MAAY,KAAA,GACd,MAAU,MACR,mEACF;CAEF,OAAO;AACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("./DatePicker.utils.cjs");let n=require("react");n=e.__toESM(n,1);function r(e){let[r,i]=n.useState(e.focusedDate.getFullYear()),[a,o]=n.useState(e.focusedDate.getMonth()),[s,c]=n.useState(e.open),[l,u]=n.useState(e.focusedDate);(s!==e.open||l!==e.focusedDate)&&(c(e.open),u(e.focusedDate),e.open&&(i(e.focusedDate.getFullYear()),o(e.focusedDate.getMonth())));let d=n.useMemo(()=>{let n=a-1;return t.monthHasSelectableDays(n<0?r-1:r,(n%12+12)%12,e.min,e.max)},[r,a,e.min,e.max]),f=n.useMemo(()=>{let n=a+1;return t.monthHasSelectableDays(n>11?r+1:r,n%12,e.min,e.max)},[r,a,e.min,e.max]);return{displayedYear:r,setDisplayedYear:i,displayedMonth:a,setDisplayedMonth:o,canGoPrev:d,canGoNext:f,goToPrevMonth:n.useCallback(()=>{if(!d)return;let n=new Date(r,a-1,1);i(n.getFullYear()),o(n.getMonth());let s=new Date(n.getFullYear(),n.getMonth(),Math.min(e.focusedDate.getDate(),new Date(n.getFullYear(),n.getMonth()+1,0).getDate()));e.setFocusedDate(t.clampDate(s,e.min,e.max))},[d,r,a,e]),goToNextMonth:n.useCallback(()=>{if(!f)return;let n=new Date(r,a+1,1);i(n.getFullYear()),o(n.getMonth());let s=new Date(n.getFullYear(),n.getMonth(),Math.min(e.focusedDate.getDate(),new Date(n.getFullYear(),n.getMonth()+1,0).getDate()));e.setFocusedDate(t.clampDate(s,e.min,e.max))},[f,r,a,e])}}function i(e,t,r){let i=n.useRef(null),a=n.useRef(!0);return n.useEffect(()=>{if(!e.open){a.current=!0;return}i.current&&(a.current?(a.current=!1,e.focusCalendarOnOpen.current&&requestAnimationFrame(()=>{i.current?.focus()})):requestAnimationFrame(()=>{i.current?.focus()}))},[e.open,e.focusedDate,e.focusCalendarOnOpen,t,r]),{focusedDayRef:i}}function a(e,t,r){return{handleKeyDown:n.useCallback(n=>{let i=e.focusedDate,a=!0;switch(n.key){case`ArrowLeft`:t(new Date(i.getFullYear(),i.getMonth(),i.getDate()-1),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()-1));break;case`ArrowRight`:t(new Date(i.getFullYear(),i.getMonth(),i.getDate()+1),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+1));break;case`ArrowUp`:t(new Date(i.getFullYear(),i.getMonth(),i.getDate()-7),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()-7));break;case`ArrowDown`:t(new Date(i.getFullYear(),i.getMonth(),i.getDate()+7),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+7));break;case`PageUp`:{let e=new Date(i.getFullYear(),i.getMonth()-1,1),n=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();t(new Date(e.getFullYear(),e.getMonth(),Math.min(i.getDate(),n)),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()-1));break}case`PageDown`:{let e=new Date(i.getFullYear(),i.getMonth()+1,1),n=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();t(new Date(e.getFullYear(),e.getMonth(),Math.min(i.getDate(),n)),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+1));break}case`Home`:{let e=(i.getDay()+6)%7;t(new Date(i.getFullYear(),i.getMonth(),i.getDate()-e),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+1));break}case`End`:{let e=(7-i.getDay())%7;t(new Date(i.getFullYear(),i.getMonth(),i.getDate()+e),e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()-1));break}case`Enter`:case` `:n.preventDefault(),r(i);break;case`Escape`:e.onOpenChange(!1),requestAnimationFrame(()=>{e.triggerButtonRef.current?.focus()});break;case`Tab`:n.preventDefault(),e.onOpenChange(!1),requestAnimationFrame(()=>{e.triggerButtonRef.current?.focus()});break;default:a=!1}a&&n.preventDefault()},[e,t,r])}}exports.useCalendarFocus=i,exports.useCalendarKeyboard=a,exports.useCalendarNavigation=r;
|
|
2
2
|
//# sourceMappingURL=DatePicker.hooks.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.hooks.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.hooks.ts"],"sourcesContent":["// Exceeds 200 lines: three tightly related calendar hooks in one file by design.\n// useCalendarKeyboard accounts for ~165 lines due to the full ARIA grid keyboard\n// contract (12 key cases). Splitting into separate files would scatter one concern.\nimport * as React from \"react\";\nimport type { DatePickerContextValue } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport {\n clampDate,\n monthHasSelectableDays,\n} from \"@nuka/components/DatePicker/DatePicker.utils\";\n\nexport function useCalendarNavigation(ctx: DatePickerContextValue) {\n const [displayedYear, setDisplayedYear] = React.useState(\n ctx.focusedDate.getFullYear(),\n );\n const [displayedMonth, setDisplayedMonth] = React.useState(\n ctx.focusedDate.getMonth(),\n );\n\n React.useEffect(() => {\n if (ctx.open) {\n setDisplayedYear(ctx.focusedDate.getFullYear());\n setDisplayedMonth(ctx.focusedDate.getMonth());\n }\n }, [ctx.open, ctx.focusedDate]);\n\n const canGoPrev = React.useMemo(() => {\n const prevMonth = displayedMonth - 1;\n const prevYear = prevMonth < 0 ? displayedYear - 1 : displayedYear;\n const normalizedMonth = ((prevMonth % 12) + 12) % 12;\n return monthHasSelectableDays(prevYear, normalizedMonth, ctx.min, ctx.max);\n }, [displayedYear, displayedMonth, ctx.min, ctx.max]);\n\n const canGoNext = React.useMemo(() => {\n const nextMonth = displayedMonth + 1;\n const nextYear = nextMonth > 11 ? displayedYear + 1 : displayedYear;\n const normalizedMonth = nextMonth % 12;\n return monthHasSelectableDays(nextYear, normalizedMonth, ctx.min, ctx.max);\n }, [displayedYear, displayedMonth, ctx.min, ctx.max]);\n\n const goToPrevMonth = React.useCallback(() => {\n if (!canGoPrev) return;\n const d = new Date(displayedYear, displayedMonth - 1, 1);\n setDisplayedYear(d.getFullYear());\n setDisplayedMonth(d.getMonth());\n const newFocused = new Date(\n d.getFullYear(),\n d.getMonth(),\n Math.min(\n ctx.focusedDate.getDate(),\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\n ),\n );\n ctx.setFocusedDate(clampDate(newFocused, ctx.min, ctx.max));\n }, [canGoPrev, displayedYear, displayedMonth, ctx]);\n\n const goToNextMonth = React.useCallback(() => {\n if (!canGoNext) return;\n const d = new Date(displayedYear, displayedMonth + 1, 1);\n setDisplayedYear(d.getFullYear());\n setDisplayedMonth(d.getMonth());\n const newFocused = new Date(\n d.getFullYear(),\n d.getMonth(),\n Math.min(\n ctx.focusedDate.getDate(),\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\n ),\n );\n ctx.setFocusedDate(clampDate(newFocused, ctx.min, ctx.max));\n }, [canGoNext, displayedYear, displayedMonth, ctx]);\n\n return {\n displayedYear,\n setDisplayedYear,\n displayedMonth,\n setDisplayedMonth,\n canGoPrev,\n canGoNext,\n goToPrevMonth,\n goToNextMonth,\n };\n}\n\nexport function useCalendarFocus(\n ctx: DatePickerContextValue,\n displayedYear: number,\n displayedMonth: number,\n) {\n const focusedDayRef = React.useRef<HTMLButtonElement>(null);\n const isFirstRenderRef = React.useRef(true);\n\n React.useEffect(() => {\n if (!ctx.open) {\n isFirstRenderRef.current = true;\n return;\n }\n\n if (focusedDayRef.current) {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n if (ctx.focusCalendarOnOpen.current) {\n requestAnimationFrame(() => {\n focusedDayRef.current?.focus();\n });\n }\n } else {\n requestAnimationFrame(() => {\n focusedDayRef.current?.focus();\n });\n }\n }\n }, [\n ctx.open,\n ctx.focusedDate,\n ctx.focusCalendarOnOpen,\n displayedYear,\n displayedMonth,\n ]);\n\n return { focusedDayRef };\n}\n\nexport function useCalendarKeyboard(\n ctx: DatePickerContextValue,\n navigateToDate: (candidate: Date, stepFn: (d: Date) => Date) => void,\n selectDay: (date: Date) => void,\n) {\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n const focused = ctx.focusedDate;\n let handled = true;\n\n switch (e.key) {\n case \"ArrowLeft\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - 1,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"ArrowRight\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + 1,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"ArrowUp\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - 7,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 7),\n );\n break;\n }\n case \"ArrowDown\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + 7,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 7),\n );\n break;\n }\n case \"PageUp\": {\n const prevMonthDate = new Date(\n focused.getFullYear(),\n focused.getMonth() - 1,\n 1,\n );\n const maxDayInPrev = new Date(\n prevMonthDate.getFullYear(),\n prevMonthDate.getMonth() + 1,\n 0,\n ).getDate();\n const candidate = new Date(\n prevMonthDate.getFullYear(),\n prevMonthDate.getMonth(),\n Math.min(focused.getDate(), maxDayInPrev),\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"PageDown\": {\n const nextMonthDate = new Date(\n focused.getFullYear(),\n focused.getMonth() + 1,\n 1,\n );\n const maxDayInNext = new Date(\n nextMonthDate.getFullYear(),\n nextMonthDate.getMonth() + 1,\n 0,\n ).getDate();\n const candidate = new Date(\n nextMonthDate.getFullYear(),\n nextMonthDate.getMonth(),\n Math.min(focused.getDate(), maxDayInNext),\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"Home\": {\n const dayOfWeek = focused.getDay();\n const mondayOffset = (dayOfWeek + 6) % 7;\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - mondayOffset,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"End\": {\n const dayOfWeek = focused.getDay();\n const sundayOffset = (7 - dayOfWeek) % 7;\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + sundayOffset,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"Enter\":\n case \" \": {\n e.preventDefault();\n selectDay(focused);\n break;\n }\n case \"Escape\": {\n ctx.onOpenChange(false);\n requestAnimationFrame(() => {\n ctx.triggerButtonRef.current?.focus();\n });\n break;\n }\n case \"Tab\": {\n e.preventDefault();\n ctx.onOpenChange(false);\n requestAnimationFrame(() => {\n ctx.triggerButtonRef.current?.focus();\n });\n break;\n }\n default:\n handled = false;\n }\n\n if (handled) {\n e.preventDefault();\n }\n },\n [ctx, navigateToDate, selectDay],\n );\n\n return { handleKeyDown };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.hooks.cjs","names":[],"sources":["../../../src/components/DatePicker/DatePicker.hooks.ts"],"sourcesContent":["// Exceeds 200 lines: three tightly related calendar hooks in one file by design.\n// useCalendarKeyboard accounts for ~165 lines due to the full ARIA grid keyboard\n// contract (12 key cases). Splitting into separate files would scatter one concern.\nimport * as React from \"react\";\nimport type { DatePickerContextValue } from \"@nuka/components/DatePicker/DatePicker.context\";\nimport {\n clampDate,\n monthHasSelectableDays,\n} from \"@nuka/components/DatePicker/DatePicker.utils\";\n\nexport function useCalendarNavigation(ctx: DatePickerContextValue) {\n const [displayedYear, setDisplayedYear] = React.useState(\n ctx.focusedDate.getFullYear(),\n );\n const [displayedMonth, setDisplayedMonth] = React.useState(\n ctx.focusedDate.getMonth(),\n );\n\n // Sync displayed month/year when the calendar opens or the focused date\n // changes (e.g. user selects a date). Uses setState during render to avoid\n // the extra paint cycle that a useEffect would introduce.\n const [prevOpen, setPrevOpen] = React.useState(ctx.open);\n const [prevFocusedDate, setPrevFocusedDate] = React.useState(ctx.focusedDate);\n if (prevOpen !== ctx.open || prevFocusedDate !== ctx.focusedDate) {\n setPrevOpen(ctx.open);\n setPrevFocusedDate(ctx.focusedDate);\n if (ctx.open) {\n setDisplayedYear(ctx.focusedDate.getFullYear());\n setDisplayedMonth(ctx.focusedDate.getMonth());\n }\n }\n\n const canGoPrev = React.useMemo(() => {\n const prevMonth = displayedMonth - 1;\n const prevYear = prevMonth < 0 ? displayedYear - 1 : displayedYear;\n const normalizedMonth = ((prevMonth % 12) + 12) % 12;\n return monthHasSelectableDays(prevYear, normalizedMonth, ctx.min, ctx.max);\n }, [displayedYear, displayedMonth, ctx.min, ctx.max]);\n\n const canGoNext = React.useMemo(() => {\n const nextMonth = displayedMonth + 1;\n const nextYear = nextMonth > 11 ? displayedYear + 1 : displayedYear;\n const normalizedMonth = nextMonth % 12;\n return monthHasSelectableDays(nextYear, normalizedMonth, ctx.min, ctx.max);\n }, [displayedYear, displayedMonth, ctx.min, ctx.max]);\n\n const goToPrevMonth = React.useCallback(() => {\n if (!canGoPrev) return;\n const d = new Date(displayedYear, displayedMonth - 1, 1);\n setDisplayedYear(d.getFullYear());\n setDisplayedMonth(d.getMonth());\n const newFocused = new Date(\n d.getFullYear(),\n d.getMonth(),\n Math.min(\n ctx.focusedDate.getDate(),\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\n ),\n );\n ctx.setFocusedDate(clampDate(newFocused, ctx.min, ctx.max));\n }, [canGoPrev, displayedYear, displayedMonth, ctx]);\n\n const goToNextMonth = React.useCallback(() => {\n if (!canGoNext) return;\n const d = new Date(displayedYear, displayedMonth + 1, 1);\n setDisplayedYear(d.getFullYear());\n setDisplayedMonth(d.getMonth());\n const newFocused = new Date(\n d.getFullYear(),\n d.getMonth(),\n Math.min(\n ctx.focusedDate.getDate(),\n new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\n ),\n );\n ctx.setFocusedDate(clampDate(newFocused, ctx.min, ctx.max));\n }, [canGoNext, displayedYear, displayedMonth, ctx]);\n\n return {\n displayedYear,\n setDisplayedYear,\n displayedMonth,\n setDisplayedMonth,\n canGoPrev,\n canGoNext,\n goToPrevMonth,\n goToNextMonth,\n };\n}\n\nexport function useCalendarFocus(\n ctx: DatePickerContextValue,\n displayedYear: number,\n displayedMonth: number,\n) {\n const focusedDayRef = React.useRef<HTMLButtonElement>(null);\n const isFirstRenderRef = React.useRef(true);\n\n React.useEffect(() => {\n if (!ctx.open) {\n isFirstRenderRef.current = true;\n return;\n }\n\n if (focusedDayRef.current) {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n if (ctx.focusCalendarOnOpen.current) {\n requestAnimationFrame(() => {\n focusedDayRef.current?.focus();\n });\n }\n } else {\n requestAnimationFrame(() => {\n focusedDayRef.current?.focus();\n });\n }\n }\n }, [\n ctx.open,\n ctx.focusedDate,\n ctx.focusCalendarOnOpen,\n displayedYear,\n displayedMonth,\n ]);\n\n return { focusedDayRef };\n}\n\nexport function useCalendarKeyboard(\n ctx: DatePickerContextValue,\n navigateToDate: (candidate: Date, stepFn: (d: Date) => Date) => void,\n selectDay: (date: Date) => void,\n) {\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n const focused = ctx.focusedDate;\n let handled = true;\n\n switch (e.key) {\n case \"ArrowLeft\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - 1,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"ArrowRight\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + 1,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"ArrowUp\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - 7,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 7),\n );\n break;\n }\n case \"ArrowDown\": {\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + 7,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 7),\n );\n break;\n }\n case \"PageUp\": {\n const prevMonthDate = new Date(\n focused.getFullYear(),\n focused.getMonth() - 1,\n 1,\n );\n const maxDayInPrev = new Date(\n prevMonthDate.getFullYear(),\n prevMonthDate.getMonth() + 1,\n 0,\n ).getDate();\n const candidate = new Date(\n prevMonthDate.getFullYear(),\n prevMonthDate.getMonth(),\n Math.min(focused.getDate(), maxDayInPrev),\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"PageDown\": {\n const nextMonthDate = new Date(\n focused.getFullYear(),\n focused.getMonth() + 1,\n 1,\n );\n const maxDayInNext = new Date(\n nextMonthDate.getFullYear(),\n nextMonthDate.getMonth() + 1,\n 0,\n ).getDate();\n const candidate = new Date(\n nextMonthDate.getFullYear(),\n nextMonthDate.getMonth(),\n Math.min(focused.getDate(), maxDayInNext),\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"Home\": {\n const dayOfWeek = focused.getDay();\n const mondayOffset = (dayOfWeek + 6) % 7;\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() - mondayOffset,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() + 1),\n );\n break;\n }\n case \"End\": {\n const dayOfWeek = focused.getDay();\n const sundayOffset = (7 - dayOfWeek) % 7;\n const candidate = new Date(\n focused.getFullYear(),\n focused.getMonth(),\n focused.getDate() + sundayOffset,\n );\n navigateToDate(\n candidate,\n (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate() - 1),\n );\n break;\n }\n case \"Enter\":\n case \" \": {\n e.preventDefault();\n selectDay(focused);\n break;\n }\n case \"Escape\": {\n ctx.onOpenChange(false);\n requestAnimationFrame(() => {\n ctx.triggerButtonRef.current?.focus();\n });\n break;\n }\n case \"Tab\": {\n e.preventDefault();\n ctx.onOpenChange(false);\n requestAnimationFrame(() => {\n ctx.triggerButtonRef.current?.focus();\n });\n break;\n }\n default:\n handled = false;\n }\n\n if (handled) {\n e.preventDefault();\n }\n },\n [ctx, navigateToDate, selectDay],\n );\n\n return { handleKeyDown };\n}\n"],"mappings":"oIAUA,SAAgB,EAAsB,EAA6B,CACjE,GAAM,CAAC,EAAe,GAAoB,EAAM,SAC9C,EAAI,YAAY,YAAY,CAC9B,EACM,CAAC,EAAgB,GAAqB,EAAM,SAChD,EAAI,YAAY,SAAS,CAC3B,EAKM,CAAC,EAAU,GAAe,EAAM,SAAS,EAAI,IAAI,EACjD,CAAC,EAAiB,GAAsB,EAAM,SAAS,EAAI,WAAW,GACxE,IAAa,EAAI,MAAQ,IAAoB,EAAI,eACnD,EAAY,EAAI,IAAI,EACpB,EAAmB,EAAI,WAAW,EAC9B,EAAI,OACN,EAAiB,EAAI,YAAY,YAAY,CAAC,EAC9C,EAAkB,EAAI,YAAY,SAAS,CAAC,IAIhD,IAAM,EAAY,EAAM,YAAc,CACpC,IAAM,EAAY,EAAiB,EAGnC,OAAO,EAAA,uBAFU,EAAY,EAAI,EAAgB,EAAI,GAC3B,EAAY,GAAM,IAAM,GACO,EAAI,IAAK,EAAI,GAAG,CAC3E,EAAG,CAAC,EAAe,EAAgB,EAAI,IAAK,EAAI,GAAG,CAAC,EAE9C,EAAY,EAAM,YAAc,CACpC,IAAM,EAAY,EAAiB,EAGnC,OAAO,EAAA,uBAFU,EAAY,GAAK,EAAgB,EAAI,EAC9B,EAAY,GACqB,EAAI,IAAK,EAAI,GAAG,CAC3E,EAAG,CAAC,EAAe,EAAgB,EAAI,IAAK,EAAI,GAAG,CAAC,EAkCpD,MAAO,CACL,gBACA,mBACA,iBACA,oBACA,YACA,YACA,cAvCoB,EAAM,gBAAkB,CAC5C,GAAI,CAAC,EAAW,OAChB,IAAM,EAAI,IAAI,KAAK,EAAe,EAAiB,EAAG,CAAC,EACvD,EAAiB,EAAE,YAAY,CAAC,EAChC,EAAkB,EAAE,SAAS,CAAC,EAC9B,IAAM,EAAa,IAAI,KACrB,EAAE,YAAY,EACd,EAAE,SAAS,EACX,KAAK,IACH,EAAI,YAAY,QAAQ,EACxB,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAI,EAAG,CAAC,EAAE,QAAQ,CACzD,CACF,EACA,EAAI,eAAe,EAAA,UAAU,EAAY,EAAI,IAAK,EAAI,GAAG,CAAC,CAC5D,EAAG,CAAC,EAAW,EAAe,EAAgB,CAAG,CAyB/C,EACA,cAxBoB,EAAM,gBAAkB,CAC5C,GAAI,CAAC,EAAW,OAChB,IAAM,EAAI,IAAI,KAAK,EAAe,EAAiB,EAAG,CAAC,EACvD,EAAiB,EAAE,YAAY,CAAC,EAChC,EAAkB,EAAE,SAAS,CAAC,EAC9B,IAAM,EAAa,IAAI,KACrB,EAAE,YAAY,EACd,EAAE,SAAS,EACX,KAAK,IACH,EAAI,YAAY,QAAQ,EACxB,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAI,EAAG,CAAC,EAAE,QAAQ,CACzD,CACF,EACA,EAAI,eAAe,EAAA,UAAU,EAAY,EAAI,IAAK,EAAI,GAAG,CAAC,CAC5D,EAAG,CAAC,EAAW,EAAe,EAAgB,CAAG,CAU/C,CACF,CACF,CAEA,SAAgB,EACd,EACA,EACA,EACA,CACA,IAAM,EAAgB,EAAM,OAA0B,IAAI,EACpD,EAAmB,EAAM,OAAO,EAAI,EA8B1C,OA5BA,EAAM,cAAgB,CACpB,GAAI,CAAC,EAAI,KAAM,CACb,EAAiB,QAAU,GAC3B,MACF,CAEI,EAAc,UACZ,EAAiB,SACnB,EAAiB,QAAU,GACvB,EAAI,oBAAoB,SAC1B,0BAA4B,CAC1B,EAAc,SAAS,MAAM,CAC/B,CAAC,GAGH,0BAA4B,CAC1B,EAAc,SAAS,MAAM,CAC/B,CAAC,EAGP,EAAG,CACD,EAAI,KACJ,EAAI,YACJ,EAAI,oBACJ,EACA,CACF,CAAC,EAEM,CAAE,eAAc,CACzB,CAEA,SAAgB,EACd,EACA,EACA,EACA,CA+JA,MAAO,CAAE,cA9Ja,EAAM,YACzB,GAA2B,CAC1B,IAAM,EAAU,EAAI,YAChB,EAAU,GAEd,OAAQ,EAAE,IAAV,CACE,IAAK,YAMH,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,MAEF,IAAK,aAMH,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,MAEF,IAAK,UAMH,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,MAEF,IAAK,YAMH,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,MAEF,IAAK,SAAU,CACb,IAAM,EAAgB,IAAI,KACxB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EAAI,EACrB,CACF,EACM,EAAe,IAAI,KACvB,EAAc,YAAY,EAC1B,EAAc,SAAS,EAAI,EAC3B,CACF,EAAE,QAAQ,EAMV,EACE,IANoB,KACpB,EAAc,YAAY,EAC1B,EAAc,SAAS,EACvB,KAAK,IAAI,EAAQ,QAAQ,EAAG,CAAY,CAGxC,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,KACF,CACA,IAAK,WAAY,CACf,IAAM,EAAgB,IAAI,KACxB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EAAI,EACrB,CACF,EACM,EAAe,IAAI,KACvB,EAAc,YAAY,EAC1B,EAAc,SAAS,EAAI,EAC3B,CACF,EAAE,QAAQ,EAMV,EACE,IANoB,KACpB,EAAc,YAAY,EAC1B,EAAc,SAAS,EACvB,KAAK,IAAI,EAAQ,QAAQ,EAAG,CAAY,CAGxC,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,KACF,CACA,IAAK,OAAQ,CAEX,IAAM,GADY,EAAQ,OACJ,EAAY,GAAK,EAMvC,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,KACF,CACA,IAAK,MAAO,CAEV,IAAM,GAAgB,EADJ,EAAQ,OACA,GAAa,EAMvC,EACE,IANoB,KACpB,EAAQ,YAAY,EACpB,EAAQ,SAAS,EACjB,EAAQ,QAAQ,EAAI,CAGpB,EACC,GAAM,IAAI,KAAK,EAAE,YAAY,EAAG,EAAE,SAAS,EAAG,EAAE,QAAQ,EAAI,CAAC,CAChE,EACA,KACF,CACA,IAAK,QACL,IAAK,IACH,EAAE,eAAe,EACjB,EAAU,CAAO,EACjB,MAEF,IAAK,SACH,EAAI,aAAa,EAAK,EACtB,0BAA4B,CAC1B,EAAI,iBAAiB,SAAS,MAAM,CACtC,CAAC,EACD,MAEF,IAAK,MACH,EAAE,eAAe,EACjB,EAAI,aAAa,EAAK,EACtB,0BAA4B,CAC1B,EAAI,iBAAiB,SAAS,MAAM,CACtC,CAAC,EACD,MAEF,QACE,EAAU,EACd,CAEI,GACF,EAAE,eAAe,CAErB,EACA,CAAC,EAAK,EAAgB,CAAS,CAGxB,CAAc,CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.hooks.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAM7F,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DatePicker.hooks.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAM7F,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB;;;;;;;;;EA8EhE;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,sBAAsB,EAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM;;EAkCvB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,sBAAsB,EAC3B,cAAc,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,EACpE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;uBAGzB,KAAK,CAAC,aAAa;EA8J1B"}
|