reka-ui 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Accordion/AccordionContent.cjs +2 -1
- package/dist/Accordion/AccordionContent.cjs.map +1 -1
- package/dist/Accordion/AccordionContent.js +3 -2
- package/dist/Accordion/AccordionContent.js.map +1 -1
- package/dist/Accordion/AccordionHeader.js +1 -1
- package/dist/Accordion/AccordionItem.cjs +2 -2
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +3 -3
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionRoot.cjs +1 -1
- package/dist/Accordion/AccordionRoot.js +2 -2
- package/dist/Accordion/AccordionTrigger.cjs +2 -2
- package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
- package/dist/Accordion/AccordionTrigger.js +3 -3
- package/dist/Accordion/AccordionTrigger.js.map +1 -1
- package/dist/AlertDialog/AlertDialogAction.js +1 -1
- package/dist/AlertDialog/AlertDialogCancel.js +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
- package/dist/AlertDialog/AlertDialogContent.js +2 -2
- package/dist/AlertDialog/AlertDialogDescription.js +1 -1
- package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
- package/dist/AlertDialog/AlertDialogPortal.js +1 -1
- package/dist/AlertDialog/AlertDialogRoot.js +1 -1
- package/dist/AlertDialog/AlertDialogTitle.js +1 -1
- package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
- package/dist/AspectRatio/AspectRatio.js +1 -1
- package/dist/Avatar/AvatarFallback.js +1 -1
- package/dist/Avatar/AvatarImage.js +1 -1
- package/dist/Avatar/AvatarRoot.cjs +1 -1
- package/dist/Avatar/AvatarRoot.js +2 -2
- package/dist/Calendar/CalendarCell.cjs +2 -2
- package/dist/Calendar/CalendarCell.js +3 -3
- package/dist/Calendar/CalendarCellTrigger.cjs +74 -50
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js +75 -51
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Calendar/CalendarGrid.cjs +2 -2
- package/dist/Calendar/CalendarGrid.cjs.map +1 -1
- package/dist/Calendar/CalendarGrid.js +3 -3
- package/dist/Calendar/CalendarGrid.js.map +1 -1
- package/dist/Calendar/CalendarGridBody.js +1 -1
- package/dist/Calendar/CalendarGridHead.js +1 -1
- package/dist/Calendar/CalendarGridRow.js +1 -1
- package/dist/Calendar/CalendarHeadCell.js +1 -1
- package/dist/Calendar/CalendarHeader.js +1 -1
- package/dist/Calendar/CalendarHeading.cjs +1 -1
- package/dist/Calendar/CalendarHeading.js +2 -2
- package/dist/Calendar/CalendarNext.cjs +3 -3
- package/dist/Calendar/CalendarNext.js +4 -4
- package/dist/Calendar/CalendarPrev.cjs +3 -3
- package/dist/Calendar/CalendarPrev.js +4 -4
- package/dist/Calendar/CalendarRoot.cjs +14 -12
- package/dist/Calendar/CalendarRoot.cjs.map +1 -1
- package/dist/Calendar/CalendarRoot.js +15 -13
- package/dist/Calendar/CalendarRoot.js.map +1 -1
- package/dist/Calendar/useCalendar.js +1 -1
- package/dist/Calendar/utils.cjs +9 -0
- package/dist/Calendar/utils.cjs.map +1 -0
- package/dist/Calendar/utils.js +7 -0
- package/dist/Calendar/utils.js.map +1 -0
- package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
- package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
- package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
- package/dist/Checkbox/CheckboxIndicator.js +2 -2
- package/dist/Checkbox/CheckboxRoot.cjs +8 -8
- package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxRoot.js +10 -10
- package/dist/Checkbox/CheckboxRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleContent.cjs +4 -4
- package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleContent.js +5 -5
- package/dist/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
- package/dist/Collapsible/CollapsibleRoot.js +5 -5
- package/dist/Collapsible/CollapsibleTrigger.cjs +2 -2
- package/dist/Collapsible/CollapsibleTrigger.js +3 -3
- package/dist/Combobox/ComboboxAnchor.js +1 -1
- package/dist/Combobox/ComboboxArrow.js +1 -1
- package/dist/Combobox/ComboboxCancel.cjs +1 -1
- package/dist/Combobox/ComboboxCancel.js +2 -2
- package/dist/Combobox/ComboboxContent.cjs +1 -1
- package/dist/Combobox/ComboboxContent.cjs.map +1 -1
- package/dist/Combobox/ComboboxContent.js +2 -2
- package/dist/Combobox/ComboboxContent.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +2 -2
- package/dist/Combobox/ComboboxEmpty.js +1 -1
- package/dist/Combobox/ComboboxGroup.cjs +3 -3
- package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
- package/dist/Combobox/ComboboxGroup.js +4 -4
- package/dist/Combobox/ComboboxGroup.js.map +1 -1
- package/dist/Combobox/ComboboxInput.cjs +1 -1
- package/dist/Combobox/ComboboxInput.js +2 -2
- package/dist/Combobox/ComboboxItem.cjs +2 -2
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +3 -3
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxItemIndicator.js +1 -1
- package/dist/Combobox/ComboboxLabel.cjs +1 -1
- package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
- package/dist/Combobox/ComboboxLabel.js +2 -2
- package/dist/Combobox/ComboboxLabel.js.map +1 -1
- package/dist/Combobox/ComboboxPortal.js +1 -1
- package/dist/Combobox/ComboboxRoot.cjs +7 -7
- package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
- package/dist/Combobox/ComboboxRoot.js +8 -8
- package/dist/Combobox/ComboboxRoot.js.map +1 -1
- package/dist/Combobox/ComboboxSeparator.js +1 -1
- package/dist/Combobox/ComboboxTrigger.cjs +3 -3
- package/dist/Combobox/ComboboxTrigger.js +4 -4
- package/dist/Combobox/ComboboxViewport.cjs +1 -1
- package/dist/Combobox/ComboboxViewport.js +2 -2
- package/dist/Combobox/ComboboxVirtualizer.js +1 -1
- package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
- package/dist/ConfigProvider/ConfigProvider.js +2 -2
- package/dist/ContextMenu/ContextMenuArrow.js +1 -1
- package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
- package/dist/ContextMenu/ContextMenuContent.js +1 -1
- package/dist/ContextMenu/ContextMenuGroup.js +1 -1
- package/dist/ContextMenu/ContextMenuItem.js +1 -1
- package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
- package/dist/ContextMenu/ContextMenuLabel.js +1 -1
- package/dist/ContextMenu/ContextMenuPortal.js +1 -1
- package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
- package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
- package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
- package/dist/ContextMenu/ContextMenuRoot.js +2 -2
- package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
- package/dist/ContextMenu/ContextMenuSub.cjs +2 -2
- package/dist/ContextMenu/ContextMenuSub.js +3 -3
- package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
- package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
- package/dist/DateField/DateFieldInput.cjs +5 -5
- package/dist/DateField/DateFieldInput.js +6 -6
- package/dist/DateField/DateFieldRoot.cjs +10 -10
- package/dist/DateField/DateFieldRoot.js +11 -11
- package/dist/DatePicker/DatePickerArrow.js +1 -1
- package/dist/DatePicker/DatePickerCalendar.js +1 -1
- package/dist/DatePicker/DatePickerCell.js +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
- package/dist/DatePicker/DatePickerClose.js +1 -1
- package/dist/DatePicker/DatePickerContent.js +1 -1
- package/dist/DatePicker/DatePickerField.js +1 -1
- package/dist/DatePicker/DatePickerGrid.js +1 -1
- package/dist/DatePicker/DatePickerGridBody.js +1 -1
- package/dist/DatePicker/DatePickerGridHead.js +1 -1
- package/dist/DatePicker/DatePickerGridRow.js +1 -1
- package/dist/DatePicker/DatePickerHeadCell.js +1 -1
- package/dist/DatePicker/DatePickerHeader.js +1 -1
- package/dist/DatePicker/DatePickerHeading.js +1 -1
- package/dist/DatePicker/DatePickerInput.js +1 -1
- package/dist/DatePicker/DatePickerNext.js +1 -1
- package/dist/DatePicker/DatePickerPrev.js +1 -1
- package/dist/DatePicker/DatePickerRoot.cjs +11 -11
- package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
- package/dist/DatePicker/DatePickerRoot.js +12 -12
- package/dist/DatePicker/DatePickerRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerTrigger.js +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
- package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
- package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
- package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
- package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
- package/dist/DateRangePicker/DateRangePickerField.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.cjs +11 -11
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +12 -12
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
- package/dist/Dialog/DialogClose.cjs +1 -1
- package/dist/Dialog/DialogClose.js +2 -2
- package/dist/Dialog/DialogContent.js +1 -1
- package/dist/Dialog/DialogContentImpl.cjs +2 -2
- package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
- package/dist/Dialog/DialogContentImpl.js +3 -3
- package/dist/Dialog/DialogContentImpl.js.map +1 -1
- package/dist/Dialog/DialogContentModal.js +1 -1
- package/dist/Dialog/DialogContentNonModal.js +1 -1
- package/dist/Dialog/DialogDescription.js +1 -1
- package/dist/Dialog/DialogOverlay.js +1 -1
- package/dist/Dialog/DialogOverlayImpl.js +1 -1
- package/dist/Dialog/DialogPortal.js +1 -1
- package/dist/Dialog/DialogRoot.cjs +2 -2
- package/dist/Dialog/DialogRoot.js +2 -2
- package/dist/Dialog/DialogTitle.js +1 -1
- package/dist/Dialog/DialogTrigger.cjs +3 -3
- package/dist/Dialog/DialogTrigger.cjs.map +1 -1
- package/dist/Dialog/DialogTrigger.js +4 -4
- package/dist/Dialog/DialogTrigger.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
- package/dist/DismissableLayer/DismissableLayer.js +2 -2
- package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
- package/dist/DismissableLayer/utils.cjs +1 -0
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +1 -0
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.js +2 -2
- package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
- package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
- package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.cjs +3 -3
- package/dist/DropdownMenu/DropdownMenuRoot.js +4 -4
- package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.cjs +2 -2
- package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.js +3 -3
- package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs +4 -4
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.js +5 -5
- package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
- package/dist/Editable/EditableArea.cjs +7 -7
- package/dist/Editable/EditableArea.js +8 -8
- package/dist/Editable/EditableCancelTrigger.cjs +4 -4
- package/dist/Editable/EditableCancelTrigger.js +5 -5
- package/dist/Editable/EditableEditTrigger.cjs +4 -4
- package/dist/Editable/EditableEditTrigger.js +5 -5
- package/dist/Editable/EditableInput.cjs +4 -4
- package/dist/Editable/EditableInput.js +5 -5
- package/dist/Editable/EditablePreview.cjs +4 -4
- package/dist/Editable/EditablePreview.js +5 -5
- package/dist/Editable/EditableRoot.cjs +2 -2
- package/dist/Editable/EditableRoot.js +3 -3
- package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
- package/dist/Editable/EditableSubmitTrigger.js +5 -5
- package/dist/FocusScope/FocusScope.js +1 -1
- package/dist/FocusScope/utils.cjs +1 -1
- package/dist/FocusScope/utils.cjs.map +1 -1
- package/dist/FocusScope/utils.js +1 -1
- package/dist/FocusScope/utils.js.map +1 -1
- package/dist/HoverCard/HoverCardArrow.js +1 -1
- package/dist/HoverCard/HoverCardContent.js +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +2 -2
- package/dist/HoverCard/HoverCardContentImpl.js +3 -3
- package/dist/HoverCard/HoverCardPortal.js +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs +3 -3
- package/dist/HoverCard/HoverCardRoot.js +4 -4
- package/dist/HoverCard/HoverCardTrigger.js +1 -1
- package/dist/HoverCard/utils.cjs +1 -1
- package/dist/HoverCard/utils.cjs.map +1 -1
- package/dist/HoverCard/utils.js +1 -1
- package/dist/HoverCard/utils.js.map +1 -1
- package/dist/Label/Label.js +1 -1
- package/dist/Listbox/ListboxContent.cjs +2 -2
- package/dist/Listbox/ListboxContent.js +3 -3
- package/dist/Listbox/ListboxFilter.cjs +8 -5
- package/dist/Listbox/ListboxFilter.cjs.map +1 -1
- package/dist/Listbox/ListboxFilter.js +9 -6
- package/dist/Listbox/ListboxFilter.js.map +1 -1
- package/dist/Listbox/ListboxGroup.cjs +2 -2
- package/dist/Listbox/ListboxGroup.cjs.map +1 -1
- package/dist/Listbox/ListboxGroup.js +3 -3
- package/dist/Listbox/ListboxGroup.js.map +1 -1
- package/dist/Listbox/ListboxGroupLabel.js +1 -1
- package/dist/Listbox/ListboxItem.cjs +6 -6
- package/dist/Listbox/ListboxItem.cjs.map +1 -1
- package/dist/Listbox/ListboxItem.js +7 -7
- package/dist/Listbox/ListboxItem.js.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.js +1 -1
- package/dist/Listbox/ListboxRoot.cjs +6 -6
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js +7 -7
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +1 -1
- package/dist/Listbox/utils.cjs +2 -2
- package/dist/Listbox/utils.cjs.map +1 -1
- package/dist/Listbox/utils.js +2 -2
- package/dist/Listbox/utils.js.map +1 -1
- package/dist/Menu/MenuAnchor.js +1 -1
- package/dist/Menu/MenuArrow.js +1 -1
- package/dist/Menu/MenuCheckboxItem.js +1 -1
- package/dist/Menu/MenuContent.js +1 -1
- package/dist/Menu/MenuContentImpl.cjs +2 -2
- package/dist/Menu/MenuContentImpl.js +4 -4
- package/dist/Menu/MenuGroup.js +1 -1
- package/dist/Menu/MenuItem.js +1 -1
- package/dist/Menu/MenuItemImpl.cjs +3 -3
- package/dist/Menu/MenuItemImpl.js +4 -4
- package/dist/Menu/MenuItemIndicator.cjs +1 -1
- package/dist/Menu/MenuItemIndicator.js +2 -2
- package/dist/Menu/MenuLabel.js +1 -1
- package/dist/Menu/MenuPortal.js +1 -1
- package/dist/Menu/MenuRadioGroup.js +1 -1
- package/dist/Menu/MenuRadioItem.js +1 -1
- package/dist/Menu/MenuRoot.js +1 -1
- package/dist/Menu/MenuRootContentModal.js +1 -1
- package/dist/Menu/MenuRootContentNonModal.js +1 -1
- package/dist/Menu/MenuSeparator.js +1 -1
- package/dist/Menu/MenuSub.cjs +2 -2
- package/dist/Menu/MenuSub.js +3 -3
- package/dist/Menu/MenuSubContent.cjs +1 -1
- package/dist/Menu/MenuSubContent.cjs.map +1 -1
- package/dist/Menu/MenuSubContent.js +2 -2
- package/dist/Menu/MenuSubContent.js.map +1 -1
- package/dist/Menu/MenuSubTrigger.cjs +2 -2
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js +3 -3
- package/dist/Menu/MenuSubTrigger.js.map +1 -1
- package/dist/Menubar/MenubarArrow.js +1 -1
- package/dist/Menubar/MenubarCheckboxItem.js +1 -1
- package/dist/Menubar/MenubarContent.cjs +1 -1
- package/dist/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/Menubar/MenubarContent.js +2 -2
- package/dist/Menubar/MenubarContent.js.map +1 -1
- package/dist/Menubar/MenubarGroup.js +1 -1
- package/dist/Menubar/MenubarItem.js +1 -1
- package/dist/Menubar/MenubarItemIndicator.js +1 -1
- package/dist/Menubar/MenubarLabel.js +1 -1
- package/dist/Menubar/MenubarMenu.cjs +1 -1
- package/dist/Menubar/MenubarMenu.js +2 -2
- package/dist/Menubar/MenubarPortal.js +1 -1
- package/dist/Menubar/MenubarRadioGroup.js +1 -1
- package/dist/Menubar/MenubarRadioItem.js +1 -1
- package/dist/Menubar/MenubarRoot.cjs +3 -3
- package/dist/Menubar/MenubarRoot.js +4 -4
- package/dist/Menubar/MenubarSeparator.js +1 -1
- package/dist/Menubar/MenubarSub.cjs +2 -2
- package/dist/Menubar/MenubarSub.js +3 -3
- package/dist/Menubar/MenubarSubContent.js +1 -1
- package/dist/Menubar/MenubarSubTrigger.js +1 -1
- package/dist/Menubar/MenubarTrigger.cjs +5 -5
- package/dist/Menubar/MenubarTrigger.js +6 -6
- package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.js +2 -2
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js +2 -2
- package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
- package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
- package/dist/NavigationMenu/NavigationMenuList.js +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
- package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
- package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.js +2 -2
- package/dist/NavigationMenu/NavigationMenuTrigger.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuTrigger.js +3 -3
- package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.cjs +7 -7
- package/dist/NavigationMenu/NavigationMenuViewport.js +9 -9
- package/dist/NavigationMenu/utils.cjs +1 -1
- package/dist/NavigationMenu/utils.cjs.map +1 -1
- package/dist/NavigationMenu/utils.js +1 -1
- package/dist/NavigationMenu/utils.js.map +1 -1
- package/dist/NumberField/NumberFieldDecrement.cjs +5 -5
- package/dist/NumberField/NumberFieldDecrement.js +6 -6
- package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
- package/dist/NumberField/NumberFieldIncrement.js +6 -6
- package/dist/NumberField/NumberFieldInput.cjs +3 -3
- package/dist/NumberField/NumberFieldInput.js +4 -4
- package/dist/NumberField/NumberFieldRoot.cjs +7 -7
- package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
- package/dist/NumberField/NumberFieldRoot.js +8 -8
- package/dist/NumberField/NumberFieldRoot.js.map +1 -1
- package/dist/NumberField/utils.js +1 -1
- package/dist/Pagination/PaginationEllipsis.js +1 -1
- package/dist/Pagination/PaginationFirst.cjs +1 -1
- package/dist/Pagination/PaginationFirst.js +2 -2
- package/dist/Pagination/PaginationLast.cjs +1 -1
- package/dist/Pagination/PaginationLast.js +2 -2
- package/dist/Pagination/PaginationList.js +1 -1
- package/dist/Pagination/PaginationListItem.cjs +3 -3
- package/dist/Pagination/PaginationListItem.js +4 -4
- package/dist/Pagination/PaginationNext.cjs +1 -1
- package/dist/Pagination/PaginationNext.js +2 -2
- package/dist/Pagination/PaginationPrev.cjs +1 -1
- package/dist/Pagination/PaginationPrev.js +2 -2
- package/dist/Pagination/PaginationRoot.cjs +2 -2
- package/dist/Pagination/PaginationRoot.js +3 -3
- package/dist/PinInput/PinInputInput.cjs +4 -4
- package/dist/PinInput/PinInputInput.cjs.map +1 -1
- package/dist/PinInput/PinInputInput.js +5 -5
- package/dist/PinInput/PinInputInput.js.map +1 -1
- package/dist/PinInput/PinInputRoot.cjs +4 -4
- package/dist/PinInput/PinInputRoot.js +5 -5
- package/dist/Popover/PopoverAnchor.js +1 -1
- package/dist/Popover/PopoverArrow.js +1 -1
- package/dist/Popover/PopoverClose.cjs +1 -1
- package/dist/Popover/PopoverClose.js +2 -2
- package/dist/Popover/PopoverContent.cjs +1 -1
- package/dist/Popover/PopoverContent.cjs.map +1 -1
- package/dist/Popover/PopoverContent.js +2 -2
- package/dist/Popover/PopoverContent.js.map +1 -1
- package/dist/Popover/PopoverContentImpl.js +1 -1
- package/dist/Popover/PopoverContentModal.js +1 -1
- package/dist/Popover/PopoverContentNonModal.js +1 -1
- package/dist/Popover/PopoverPortal.js +1 -1
- package/dist/Popover/PopoverRoot.cjs +2 -2
- package/dist/Popover/PopoverRoot.js +3 -3
- package/dist/Popover/PopoverTrigger.cjs +2 -2
- package/dist/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/Popover/PopoverTrigger.js +3 -3
- package/dist/Popover/PopoverTrigger.js.map +1 -1
- package/dist/Popper/PopperAnchor.js +1 -1
- package/dist/Popper/PopperArrow.cjs +4 -4
- package/dist/Popper/PopperArrow.js +5 -5
- package/dist/Popper/PopperContent.cjs +3 -3
- package/dist/Popper/PopperContent.cjs.map +1 -1
- package/dist/Popper/PopperContent.js +5 -5
- package/dist/Popper/PopperContent.js.map +1 -1
- package/dist/Presence/usePresence.cjs +2 -2
- package/dist/Presence/usePresence.cjs.map +1 -1
- package/dist/Presence/usePresence.js +2 -2
- package/dist/Presence/usePresence.js.map +1 -1
- package/dist/Primitive/Primitive.cjs +1 -1
- package/dist/Primitive/Primitive.cjs.map +1 -1
- package/dist/Primitive/Primitive.js +1 -1
- package/dist/Primitive/Primitive.js.map +1 -1
- package/dist/Progress/ProgressIndicator.cjs +1 -1
- package/dist/Progress/ProgressIndicator.js +2 -2
- package/dist/Progress/ProgressRoot.cjs +5 -5
- package/dist/Progress/ProgressRoot.js +6 -6
- package/dist/RadioGroup/Radio.cjs +6 -6
- package/dist/RadioGroup/Radio.cjs.map +1 -1
- package/dist/RadioGroup/Radio.js +7 -7
- package/dist/RadioGroup/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
- package/dist/RadioGroup/RadioGroupItem.cjs +2 -2
- package/dist/RadioGroup/RadioGroupItem.js +3 -3
- package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
- package/dist/RadioGroup/RadioGroupRoot.js +6 -6
- package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +84 -60
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +85 -61
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
- package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
- package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
- package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.js +2 -2
- package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
- package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +17 -15
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +18 -16
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.cjs +4 -4
- package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.js +5 -5
- package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.cjs +4 -4
- package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.js +5 -5
- package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
- package/dist/RovingFocus/utils.cjs +2 -2
- package/dist/RovingFocus/utils.cjs.map +1 -1
- package/dist/RovingFocus/utils.js +2 -2
- package/dist/RovingFocus/utils.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +2 -2
- package/dist/ScrollArea/ScrollAreaCornerImpl.js +3 -3
- package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
- package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
- package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
- package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
- package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js +2 -2
- package/dist/Select/BubbleSelect.cjs +2 -2
- package/dist/Select/BubbleSelect.cjs.map +1 -1
- package/dist/Select/BubbleSelect.js +3 -3
- package/dist/Select/BubbleSelect.js.map +1 -1
- package/dist/Select/SelectArrow.js +1 -1
- package/dist/Select/SelectContent.js +1 -1
- package/dist/Select/SelectContentImpl.cjs +2 -2
- package/dist/Select/SelectContentImpl.js +3 -3
- package/dist/Select/SelectGroup.cjs +2 -2
- package/dist/Select/SelectGroup.cjs.map +1 -1
- package/dist/Select/SelectGroup.js +3 -3
- package/dist/Select/SelectGroup.js.map +1 -1
- package/dist/Select/SelectIcon.js +1 -1
- package/dist/Select/SelectItem.cjs +6 -6
- package/dist/Select/SelectItem.cjs.map +1 -1
- package/dist/Select/SelectItem.js +7 -7
- package/dist/Select/SelectItem.js.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
- package/dist/Select/SelectItemAlignedPosition.js +2 -2
- package/dist/Select/SelectItemIndicator.js +1 -1
- package/dist/Select/SelectItemText.js +1 -1
- package/dist/Select/SelectLabel.js +1 -1
- package/dist/Select/SelectPopperPosition.js +1 -1
- package/dist/Select/SelectPortal.js +1 -1
- package/dist/Select/SelectRoot.cjs +6 -6
- package/dist/Select/SelectRoot.cjs.map +1 -1
- package/dist/Select/SelectRoot.js +7 -7
- package/dist/Select/SelectRoot.js.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.js +1 -1
- package/dist/Select/SelectScrollDownButton.cjs +1 -1
- package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
- package/dist/Select/SelectScrollDownButton.js +2 -2
- package/dist/Select/SelectScrollDownButton.js.map +1 -1
- package/dist/Select/SelectScrollUpButton.cjs +1 -1
- package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
- package/dist/Select/SelectScrollUpButton.js +2 -2
- package/dist/Select/SelectScrollUpButton.js.map +1 -1
- package/dist/Select/SelectSeparator.js +1 -1
- package/dist/Select/SelectTrigger.cjs +4 -4
- package/dist/Select/SelectTrigger.cjs.map +1 -1
- package/dist/Select/SelectTrigger.js +5 -5
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/SelectValue.cjs +1 -1
- package/dist/Select/SelectValue.js +2 -2
- package/dist/Select/SelectViewport.cjs +1 -1
- package/dist/Select/SelectViewport.cjs.map +1 -1
- package/dist/Select/SelectViewport.js +2 -2
- package/dist/Select/SelectViewport.js.map +1 -1
- package/dist/Select/utils.cjs +2 -2
- package/dist/Select/utils.cjs.map +1 -1
- package/dist/Select/utils.js +2 -2
- package/dist/Select/utils.js.map +1 -1
- package/dist/Separator/Separator.js +1 -1
- package/dist/Slider/SliderHorizontal.cjs +2 -2
- package/dist/Slider/SliderHorizontal.js +3 -3
- package/dist/Slider/SliderImpl.js +1 -1
- package/dist/Slider/SliderRange.cjs +1 -1
- package/dist/Slider/SliderRange.js +2 -2
- package/dist/Slider/SliderRoot.cjs +3 -3
- package/dist/Slider/SliderRoot.js +4 -4
- package/dist/Slider/SliderThumb.js +1 -1
- package/dist/Slider/SliderThumbImpl.cjs +4 -4
- package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
- package/dist/Slider/SliderThumbImpl.js +5 -5
- package/dist/Slider/SliderThumbImpl.js.map +1 -1
- package/dist/Slider/SliderTrack.cjs +1 -1
- package/dist/Slider/SliderTrack.js +2 -2
- package/dist/Slider/SliderVertical.cjs +2 -2
- package/dist/Slider/SliderVertical.js +3 -3
- package/dist/Slider/utils.cjs +1 -1
- package/dist/Slider/utils.cjs.map +1 -1
- package/dist/Slider/utils.js +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Splitter/SplitterGroup.cjs +2 -2
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js +3 -3
- package/dist/Splitter/SplitterGroup.js.map +1 -1
- package/dist/Splitter/SplitterPanel.cjs +3 -3
- package/dist/Splitter/SplitterPanel.cjs.map +1 -1
- package/dist/Splitter/SplitterPanel.js +4 -4
- package/dist/Splitter/SplitterPanel.js.map +1 -1
- package/dist/Splitter/SplitterResizeHandle.cjs +2 -2
- package/dist/Splitter/SplitterResizeHandle.js +3 -3
- package/dist/Stepper/StepperDescription.js +1 -1
- package/dist/Stepper/StepperIndicator.js +1 -1
- package/dist/Stepper/StepperItem.cjs +6 -6
- package/dist/Stepper/StepperItem.cjs.map +1 -1
- package/dist/Stepper/StepperItem.js +7 -7
- package/dist/Stepper/StepperItem.js.map +1 -1
- package/dist/Stepper/StepperRoot.cjs +3 -3
- package/dist/Stepper/StepperRoot.js +4 -4
- package/dist/Stepper/StepperSeparator.js +1 -1
- package/dist/Stepper/StepperTitle.js +1 -1
- package/dist/Stepper/StepperTrigger.cjs +5 -5
- package/dist/Stepper/StepperTrigger.cjs.map +1 -1
- package/dist/Stepper/StepperTrigger.js +6 -6
- package/dist/Stepper/StepperTrigger.js.map +1 -1
- package/dist/Switch/SwitchRoot.cjs +6 -6
- package/dist/Switch/SwitchRoot.cjs.map +1 -1
- package/dist/Switch/SwitchRoot.js +7 -7
- package/dist/Switch/SwitchRoot.js.map +1 -1
- package/dist/Switch/SwitchThumb.cjs +1 -1
- package/dist/Switch/SwitchThumb.js +2 -2
- package/dist/Tabs/TabsContent.cjs +1 -1
- package/dist/Tabs/TabsContent.js +2 -2
- package/dist/Tabs/TabsIndicator.js +1 -1
- package/dist/Tabs/TabsList.cjs +1 -1
- package/dist/Tabs/TabsList.js +2 -2
- package/dist/Tabs/TabsRoot.cjs +3 -3
- package/dist/Tabs/TabsRoot.cjs.map +1 -1
- package/dist/Tabs/TabsRoot.js +4 -4
- package/dist/Tabs/TabsRoot.js.map +1 -1
- package/dist/Tabs/TabsTrigger.cjs +3 -3
- package/dist/Tabs/TabsTrigger.js +4 -4
- package/dist/TagsInput/TagsInputClear.cjs +2 -2
- package/dist/TagsInput/TagsInputClear.js +3 -3
- package/dist/TagsInput/TagsInputInput.cjs +1 -1
- package/dist/TagsInput/TagsInputInput.js +2 -2
- package/dist/TagsInput/TagsInputItem.cjs +2 -2
- package/dist/TagsInput/TagsInputItem.js +3 -3
- package/dist/TagsInput/TagsInputItemDelete.cjs +2 -2
- package/dist/TagsInput/TagsInputItemDelete.js +3 -3
- package/dist/TagsInput/TagsInputItemText.cjs +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemText.js +2 -2
- package/dist/TagsInput/TagsInputItemText.js.map +1 -1
- package/dist/TagsInput/TagsInputRoot.cjs +7 -7
- package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
- package/dist/TagsInput/TagsInputRoot.js +8 -8
- package/dist/TagsInput/TagsInputRoot.js.map +1 -1
- package/dist/Teleport/Teleport.js +1 -1
- package/dist/TimeField/TimeFieldInput.cjs +5 -5
- package/dist/TimeField/TimeFieldInput.js +6 -6
- package/dist/TimeField/TimeFieldRoot.cjs +17 -14
- package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
- package/dist/TimeField/TimeFieldRoot.js +19 -16
- package/dist/TimeField/TimeFieldRoot.js.map +1 -1
- package/dist/Toast/FocusProxy.js +1 -1
- package/dist/Toast/ToastAction.js +1 -1
- package/dist/Toast/ToastAnnounce.js +1 -1
- package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
- package/dist/Toast/ToastAnnounceExclude.js +2 -2
- package/dist/Toast/ToastClose.cjs +1 -1
- package/dist/Toast/ToastClose.js +2 -2
- package/dist/Toast/ToastDescription.js +1 -1
- package/dist/Toast/ToastPortal.js +1 -1
- package/dist/Toast/ToastRoot.cjs +2 -2
- package/dist/Toast/ToastRoot.js +3 -3
- package/dist/Toast/ToastRootImpl.cjs +1 -1
- package/dist/Toast/ToastRootImpl.js +3 -3
- package/dist/Toast/ToastTitle.js +1 -1
- package/dist/Toast/ToastViewport.cjs +3 -3
- package/dist/Toast/ToastViewport.js +4 -4
- package/dist/Toast/utils.js +1 -1
- package/dist/Toggle/Toggle.cjs +4 -4
- package/dist/Toggle/Toggle.js +5 -5
- package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
- package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
- package/dist/Toolbar/ToolbarButton.cjs +2 -2
- package/dist/Toolbar/ToolbarButton.js +3 -3
- package/dist/Toolbar/ToolbarLink.cjs +1 -1
- package/dist/Toolbar/ToolbarLink.js +2 -2
- package/dist/Toolbar/ToolbarRoot.cjs +2 -2
- package/dist/Toolbar/ToolbarRoot.js +3 -3
- package/dist/Toolbar/ToolbarSeparator.js +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
- package/dist/Toolbar/ToolbarToggleItem.js +1 -1
- package/dist/Tooltip/TooltipArrow.js +1 -1
- package/dist/Tooltip/TooltipContent.js +1 -1
- package/dist/Tooltip/TooltipContentHoverable.js +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +1 -1
- package/dist/Tooltip/TooltipPortal.js +1 -1
- package/dist/Tooltip/TooltipProvider.cjs +1 -1
- package/dist/Tooltip/TooltipProvider.js +1 -1
- package/dist/Tooltip/TooltipRoot.cjs +8 -8
- package/dist/Tooltip/TooltipRoot.js +9 -9
- package/dist/Tooltip/TooltipTrigger.cjs +2 -2
- package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/Tooltip/TooltipTrigger.js +3 -3
- package/dist/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/Tree/TreeItem.cjs +5 -5
- package/dist/Tree/TreeItem.cjs.map +1 -1
- package/dist/Tree/TreeItem.js +6 -6
- package/dist/Tree/TreeItem.js.map +1 -1
- package/dist/Tree/TreeRoot.cjs +8 -8
- package/dist/Tree/TreeRoot.cjs.map +1 -1
- package/dist/Tree/TreeRoot.js +9 -9
- package/dist/Tree/TreeRoot.js.map +1 -1
- package/dist/Tree/TreeVirtualizer.js +1 -1
- package/dist/Viewport/Viewport.js +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
- package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
- package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
- package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
- package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
- package/dist/component/Arrow.cjs +2 -2
- package/dist/component/Arrow.js +3 -3
- package/dist/component/BaseSeparator.cjs +1 -1
- package/dist/component/BaseSeparator.js +2 -2
- package/dist/constant/components.cjs +4 -0
- package/dist/constant/components.cjs.map +1 -1
- package/dist/constant/components.js +4 -0
- package/dist/constant/components.js.map +1 -1
- package/dist/date/comparators.cjs +1 -1
- package/dist/date/comparators.cjs.map +1 -1
- package/dist/date/comparators.js +2 -2
- package/dist/date/comparators.js.map +1 -1
- package/dist/date/parser.cjs +2 -2
- package/dist/date/parser.js +3 -3
- package/dist/date/useDateField.cjs +9 -9
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +10 -10
- package/dist/date/useDateField.js.map +1 -1
- package/dist/date/utils.cjs +2 -2
- package/dist/date/utils.cjs.map +1 -1
- package/dist/date/utils.js +2 -2
- package/dist/date/utils.js.map +1 -1
- package/dist/index.cjs +91 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +66 -2
- package/dist/index.js +42 -40
- package/dist/index.js.map +1 -1
- package/dist/shared/nullish.cjs +1 -1
- package/dist/shared/nullish.cjs.map +1 -1
- package/dist/shared/nullish.js +1 -1
- package/dist/shared/nullish.js.map +1 -1
- package/dist/shared/useBodyScrollLock.cjs +2 -2
- package/dist/shared/useBodyScrollLock.cjs.map +1 -1
- package/dist/shared/useBodyScrollLock.js +4 -4
- package/dist/shared/useBodyScrollLock.js.map +1 -1
- package/dist/shared/useDateFormatter.js +2 -2
- package/dist/shared/useForwardProps.cjs +2 -2
- package/dist/shared/useForwardProps.cjs.map +1 -1
- package/dist/shared/useForwardProps.js +2 -2
- package/dist/shared/useForwardProps.js.map +1 -1
- package/dist/shared/useGraceArea.cjs +1 -1
- package/dist/shared/useGraceArea.cjs.map +1 -1
- package/dist/shared/useGraceArea.js +1 -1
- package/dist/shared/useGraceArea.js.map +1 -1
- package/dist/shared/useId.cjs +1 -1
- package/dist/shared/useId.cjs.map +1 -1
- package/dist/shared/useId.js +1 -1
- package/dist/shared/useId.js.map +1 -1
- package/dist/shared/useSelectionBehavior.cjs +1 -1
- package/dist/shared/useSelectionBehavior.cjs.map +1 -1
- package/dist/shared/useSelectionBehavior.js +1 -1
- package/dist/shared/useSelectionBehavior.js.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.cjs +5 -5
- package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.js +5 -5
- package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
- package/dist/shared/useSize.cjs +1 -1
- package/dist/shared/useSize.cjs.map +1 -1
- package/dist/shared/useSize.js +1 -1
- package/dist/shared/useSize.js.map +1 -1
- package/dist/shared/useTypeahead.cjs +1 -1
- package/dist/shared/useTypeahead.cjs.map +1 -1
- package/dist/shared/useTypeahead.js +1 -1
- package/dist/shared/useTypeahead.js.map +1 -1
- package/dist/utils/layout.cjs +1 -1
- package/dist/utils/layout.cjs.map +1 -1
- package/dist/utils/layout.js +1 -1
- package/dist/utils/layout.js.map +1 -1
- package/dist/utils/style.cjs +2 -2
- package/dist/utils/style.cjs.map +1 -1
- package/dist/utils/style.js +3 -3
- package/dist/utils/style.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxItem.cjs","sources":["../../src/Combobox/ComboboxItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport type { ListboxItemEmits, ListboxItemProps } from '@/Listbox'\nimport { useId } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport type { AcceptableValue } from '@/shared/types'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\nimport { usePrimitiveElement } from '@/Primitive'\n\nexport { injectListboxItemContext as injectComboboxItemContext } from '@/Listbox'\n\nexport type ComboboxItemEmits<T = AcceptableValue> = ListboxItemEmits<T>\nexport interface ComboboxItemProps<T = AcceptableValue> extends ListboxItemProps<T> {\n /**\n * A string representation of the item contents.\n *\n * If the children are not plain text, then the `textValue` prop must also be set to a plain text representation, which will be used for autocomplete in the ComboBox.\n */\n textValue?: string\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { ListboxItem } from '@/Listbox'\n\nconst props = defineProps<ComboboxItemProps<T>>()\nconst emits = defineEmits<ComboboxItemEmits<T>>()\n\nconst id = useId(undefined, 'reka-combobox-item')\nconst rootContext = injectComboboxRootContext()\nconst groupContext = injectComboboxGroupContext(null)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nif (props.value === '') {\n throw new Error(\n 'A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.',\n )\n}\n\nconst isRender = computed(() => {\n if (rootContext.isVirtual.value || rootContext.ignoreFilter.value || !rootContext.filterState.search) {\n return true\n }\n else {\n const filteredCurrentItem = rootContext.filterState.filtered.items.get(id)\n // If the filtered items is undefined means not in the all times map yet\n // Do the first render to add into the map\n if (filteredCurrentItem === undefined) {\n return true\n }\n\n // Check with filter\n return filteredCurrentItem > 0\n }\n})\n\nonMounted(() => {\n // textValue to perform filter\n rootContext.allItems.value.set(id, props.textValue || currentElement.value.textContent || currentElement.value.innerText)\n\n const groupId = groupContext?.id\n if (groupId) {\n if (!rootContext.allGroups.value.has(groupId)) {\n rootContext.allGroups.value.set(groupId, new Set([id]))\n }\n else {\n rootContext.allGroups.value.get(groupId)?.add(id)\n }\n }\n})\nonUnmounted(() => {\n rootContext.allItems.value.delete(id)\n})\n</script>\n\n<template>\n <ListboxItem\n v-if=\"isRender\"\n v-bind=\"props\"\n :id=\"id\"\n ref=\"primitiveElement\"\n @select=\"(event) => {\n emits('select', event as any)\n if (event.defaultPrevented)\n return\n\n if (!rootContext.multiple.value) {\n event.preventDefault()\n rootContext.onOpenChange(false)\n rootContext.modelValue.value = props.value\n }\n }\"\n >\n <slot>{{ value }}</slot>\n </ListboxItem>\n</template>\n"],"names":["useId","injectComboboxRootContext","injectComboboxGroupContext","usePrimitiveElement","computed","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,EAAA,GAAKA,kBAAM,CAAA,
|
|
1
|
+
{"version":3,"file":"ComboboxItem.cjs","sources":["../../src/Combobox/ComboboxItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport type { ListboxItemEmits, ListboxItemProps } from '@/Listbox'\nimport { useId } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport type { AcceptableValue } from '@/shared/types'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\nimport { usePrimitiveElement } from '@/Primitive'\n\nexport { injectListboxItemContext as injectComboboxItemContext } from '@/Listbox'\n\nexport type ComboboxItemEmits<T = AcceptableValue> = ListboxItemEmits<T>\nexport interface ComboboxItemProps<T = AcceptableValue> extends ListboxItemProps<T> {\n /**\n * A string representation of the item contents.\n *\n * If the children are not plain text, then the `textValue` prop must also be set to a plain text representation, which will be used for autocomplete in the ComboBox.\n */\n textValue?: string\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { ListboxItem } from '@/Listbox'\n\nconst props = defineProps<ComboboxItemProps<T>>()\nconst emits = defineEmits<ComboboxItemEmits<T>>()\n\nconst id = useId(undefined, 'reka-combobox-item')\nconst rootContext = injectComboboxRootContext()\nconst groupContext = injectComboboxGroupContext(null)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nif (props.value === '') {\n throw new Error(\n 'A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.',\n )\n}\n\nconst isRender = computed(() => {\n if (rootContext.isVirtual.value || rootContext.ignoreFilter.value || !rootContext.filterState.search) {\n return true\n }\n else {\n const filteredCurrentItem = rootContext.filterState.filtered.items.get(id)\n // If the filtered items is undefined means not in the all times map yet\n // Do the first render to add into the map\n if (filteredCurrentItem === undefined) {\n return true\n }\n\n // Check with filter\n return filteredCurrentItem > 0\n }\n})\n\nonMounted(() => {\n // textValue to perform filter\n rootContext.allItems.value.set(id, props.textValue || currentElement.value.textContent || currentElement.value.innerText)\n\n const groupId = groupContext?.id\n if (groupId) {\n if (!rootContext.allGroups.value.has(groupId)) {\n rootContext.allGroups.value.set(groupId, new Set([id]))\n }\n else {\n rootContext.allGroups.value.get(groupId)?.add(id)\n }\n }\n})\nonUnmounted(() => {\n rootContext.allItems.value.delete(id)\n})\n</script>\n\n<template>\n <ListboxItem\n v-if=\"isRender\"\n v-bind=\"props\"\n :id=\"id\"\n ref=\"primitiveElement\"\n @select=\"(event) => {\n emits('select', event as any)\n if (event.defaultPrevented)\n return\n\n if (!rootContext.multiple.value) {\n event.preventDefault()\n rootContext.onOpenChange(false)\n rootContext.modelValue.value = props.value\n }\n }\"\n >\n <slot>{{ value }}</slot>\n </ListboxItem>\n</template>\n"],"names":["useId","injectComboboxRootContext","injectComboboxGroupContext","usePrimitiveElement","computed","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,EAAA,GAAKA,kBAAM,CAAA,MAAA,EAAW,oBAAoB,CAAA;AAChD,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAC9C,IAAM,MAAA,YAAA,GAAeC,kDAA2B,IAAI,CAAA;AAEpD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAIC,iDAAoB,EAAA;AAEjE,IAAI,IAAA,KAAA,CAAM,UAAU,EAAI,EAAA;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA;AAGF,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAM;AAC9B,MAAI,IAAA,WAAA,CAAY,UAAU,KAAS,IAAA,WAAA,CAAY,aAAa,KAAS,IAAA,CAAC,WAAY,CAAA,WAAA,CAAY,MAAQ,EAAA;AACpG,QAAO,OAAA,IAAA;AAAA,OAEJ,MAAA;AACH,QAAA,MAAM,sBAAsB,WAAY,CAAA,WAAA,CAAY,QAAS,CAAA,KAAA,CAAM,IAAI,EAAE,CAAA;AAGzE,QAAA,IAAI,wBAAwB,MAAW,EAAA;AACrC,UAAO,OAAA,IAAA;AAAA;AAIT,QAAA,OAAO,mBAAsB,GAAA,CAAA;AAAA;AAC/B,KACD,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;AAEd,MAAY,WAAA,CAAA,QAAA,CAAS,KAAM,CAAA,GAAA,CAAI,EAAI,EAAA,KAAA,CAAM,SAAa,IAAA,cAAA,CAAe,KAAM,CAAA,WAAA,IAAe,cAAe,CAAA,KAAA,CAAM,SAAS,CAAA;AAExH,MAAA,MAAM,UAAU,YAAc,EAAA,EAAA;AAC9B,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,IAAI,CAAC,WAAY,CAAA,SAAA,CAAU,KAAM,CAAA,GAAA,CAAI,OAAO,CAAG,EAAA;AAC7C,UAAY,WAAA,CAAA,SAAA,CAAU,MAAM,GAAI,CAAA,OAAA,sBAAa,GAAI,CAAA,CAAC,EAAE,CAAC,CAAC,CAAA;AAAA,SAEnD,MAAA;AACH,UAAA,WAAA,CAAY,UAAU,KAAM,CAAA,GAAA,CAAI,OAAO,CAAA,EAAG,IAAI,EAAE,CAAA;AAAA;AAClD;AACF,KACD,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAY,WAAA,CAAA,QAAA,CAAS,KAAM,CAAA,MAAA,CAAO,EAAE,CAAA;AAAA,KACrC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, onMounted, onUnmounted,
|
|
1
|
+
import { defineComponent, computed, onMounted, onUnmounted, createBlock, createCommentVNode, openBlock, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString } from 'vue';
|
|
2
2
|
import { u as useId } from '../shared/useId.js';
|
|
3
3
|
import { u as usePrimitiveElement } from '../Primitive/usePrimitiveElement.js';
|
|
4
4
|
import { _ as _sfc_main$1 } from '../Listbox/ListboxItem.js';
|
|
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
setup(__props, { emit: __emit }) {
|
|
19
19
|
const props = __props;
|
|
20
20
|
const emits = __emit;
|
|
21
|
-
const id = useId(
|
|
21
|
+
const id = useId(void 0, "reka-combobox-item");
|
|
22
22
|
const rootContext = injectComboboxRootContext();
|
|
23
23
|
const groupContext = injectComboboxGroupContext(null);
|
|
24
24
|
const { primitiveElement, currentElement } = usePrimitiveElement();
|
|
@@ -32,7 +32,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
32
32
|
return true;
|
|
33
33
|
} else {
|
|
34
34
|
const filteredCurrentItem = rootContext.filterState.filtered.items.get(id);
|
|
35
|
-
if (filteredCurrentItem ===
|
|
35
|
+
if (filteredCurrentItem === void 0) {
|
|
36
36
|
return true;
|
|
37
37
|
}
|
|
38
38
|
return filteredCurrentItem > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxItem.js","sources":["../../src/Combobox/ComboboxItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport type { ListboxItemEmits, ListboxItemProps } from '@/Listbox'\nimport { useId } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport type { AcceptableValue } from '@/shared/types'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\nimport { usePrimitiveElement } from '@/Primitive'\n\nexport { injectListboxItemContext as injectComboboxItemContext } from '@/Listbox'\n\nexport type ComboboxItemEmits<T = AcceptableValue> = ListboxItemEmits<T>\nexport interface ComboboxItemProps<T = AcceptableValue> extends ListboxItemProps<T> {\n /**\n * A string representation of the item contents.\n *\n * If the children are not plain text, then the `textValue` prop must also be set to a plain text representation, which will be used for autocomplete in the ComboBox.\n */\n textValue?: string\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { ListboxItem } from '@/Listbox'\n\nconst props = defineProps<ComboboxItemProps<T>>()\nconst emits = defineEmits<ComboboxItemEmits<T>>()\n\nconst id = useId(undefined, 'reka-combobox-item')\nconst rootContext = injectComboboxRootContext()\nconst groupContext = injectComboboxGroupContext(null)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nif (props.value === '') {\n throw new Error(\n 'A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.',\n )\n}\n\nconst isRender = computed(() => {\n if (rootContext.isVirtual.value || rootContext.ignoreFilter.value || !rootContext.filterState.search) {\n return true\n }\n else {\n const filteredCurrentItem = rootContext.filterState.filtered.items.get(id)\n // If the filtered items is undefined means not in the all times map yet\n // Do the first render to add into the map\n if (filteredCurrentItem === undefined) {\n return true\n }\n\n // Check with filter\n return filteredCurrentItem > 0\n }\n})\n\nonMounted(() => {\n // textValue to perform filter\n rootContext.allItems.value.set(id, props.textValue || currentElement.value.textContent || currentElement.value.innerText)\n\n const groupId = groupContext?.id\n if (groupId) {\n if (!rootContext.allGroups.value.has(groupId)) {\n rootContext.allGroups.value.set(groupId, new Set([id]))\n }\n else {\n rootContext.allGroups.value.get(groupId)?.add(id)\n }\n }\n})\nonUnmounted(() => {\n rootContext.allItems.value.delete(id)\n})\n</script>\n\n<template>\n <ListboxItem\n v-if=\"isRender\"\n v-bind=\"props\"\n :id=\"id\"\n ref=\"primitiveElement\"\n @select=\"(event) => {\n emits('select', event as any)\n if (event.defaultPrevented)\n return\n\n if (!rootContext.multiple.value) {\n event.preventDefault()\n rootContext.onOpenChange(false)\n rootContext.modelValue.value = props.value\n }\n }\"\n >\n <slot>{{ value }}</slot>\n </ListboxItem>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,EAAA,GAAK,KAAM,CAAA,
|
|
1
|
+
{"version":3,"file":"ComboboxItem.js","sources":["../../src/Combobox/ComboboxItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport type { ListboxItemEmits, ListboxItemProps } from '@/Listbox'\nimport { useId } from '@/shared'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\nimport type { AcceptableValue } from '@/shared/types'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\nimport { usePrimitiveElement } from '@/Primitive'\n\nexport { injectListboxItemContext as injectComboboxItemContext } from '@/Listbox'\n\nexport type ComboboxItemEmits<T = AcceptableValue> = ListboxItemEmits<T>\nexport interface ComboboxItemProps<T = AcceptableValue> extends ListboxItemProps<T> {\n /**\n * A string representation of the item contents.\n *\n * If the children are not plain text, then the `textValue` prop must also be set to a plain text representation, which will be used for autocomplete in the ComboBox.\n */\n textValue?: string\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { ListboxItem } from '@/Listbox'\n\nconst props = defineProps<ComboboxItemProps<T>>()\nconst emits = defineEmits<ComboboxItemEmits<T>>()\n\nconst id = useId(undefined, 'reka-combobox-item')\nconst rootContext = injectComboboxRootContext()\nconst groupContext = injectComboboxGroupContext(null)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nif (props.value === '') {\n throw new Error(\n 'A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.',\n )\n}\n\nconst isRender = computed(() => {\n if (rootContext.isVirtual.value || rootContext.ignoreFilter.value || !rootContext.filterState.search) {\n return true\n }\n else {\n const filteredCurrentItem = rootContext.filterState.filtered.items.get(id)\n // If the filtered items is undefined means not in the all times map yet\n // Do the first render to add into the map\n if (filteredCurrentItem === undefined) {\n return true\n }\n\n // Check with filter\n return filteredCurrentItem > 0\n }\n})\n\nonMounted(() => {\n // textValue to perform filter\n rootContext.allItems.value.set(id, props.textValue || currentElement.value.textContent || currentElement.value.innerText)\n\n const groupId = groupContext?.id\n if (groupId) {\n if (!rootContext.allGroups.value.has(groupId)) {\n rootContext.allGroups.value.set(groupId, new Set([id]))\n }\n else {\n rootContext.allGroups.value.get(groupId)?.add(id)\n }\n }\n})\nonUnmounted(() => {\n rootContext.allItems.value.delete(id)\n})\n</script>\n\n<template>\n <ListboxItem\n v-if=\"isRender\"\n v-bind=\"props\"\n :id=\"id\"\n ref=\"primitiveElement\"\n @select=\"(event) => {\n emits('select', event as any)\n if (event.defaultPrevented)\n return\n\n if (!rootContext.multiple.value) {\n event.preventDefault()\n rootContext.onOpenChange(false)\n rootContext.modelValue.value = props.value\n }\n }\"\n >\n <slot>{{ value }}</slot>\n </ListboxItem>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAyBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,EAAA,GAAK,KAAM,CAAA,MAAA,EAAW,oBAAoB,CAAA;AAChD,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAC9C,IAAM,MAAA,YAAA,GAAe,2BAA2B,IAAI,CAAA;AAEpD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAI,mBAAoB,EAAA;AAEjE,IAAI,IAAA,KAAA,CAAM,UAAU,EAAI,EAAA;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA;AAGF,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAI,IAAA,WAAA,CAAY,UAAU,KAAS,IAAA,WAAA,CAAY,aAAa,KAAS,IAAA,CAAC,WAAY,CAAA,WAAA,CAAY,MAAQ,EAAA;AACpG,QAAO,OAAA,IAAA;AAAA,OAEJ,MAAA;AACH,QAAA,MAAM,sBAAsB,WAAY,CAAA,WAAA,CAAY,QAAS,CAAA,KAAA,CAAM,IAAI,EAAE,CAAA;AAGzE,QAAA,IAAI,wBAAwB,MAAW,EAAA;AACrC,UAAO,OAAA,IAAA;AAAA;AAIT,QAAA,OAAO,mBAAsB,GAAA,CAAA;AAAA;AAC/B,KACD,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AAEd,MAAY,WAAA,CAAA,QAAA,CAAS,KAAM,CAAA,GAAA,CAAI,EAAI,EAAA,KAAA,CAAM,SAAa,IAAA,cAAA,CAAe,KAAM,CAAA,WAAA,IAAe,cAAe,CAAA,KAAA,CAAM,SAAS,CAAA;AAExH,MAAA,MAAM,UAAU,YAAc,EAAA,EAAA;AAC9B,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,IAAI,CAAC,WAAY,CAAA,SAAA,CAAU,KAAM,CAAA,GAAA,CAAI,OAAO,CAAG,EAAA;AAC7C,UAAY,WAAA,CAAA,SAAA,CAAU,MAAM,GAAI,CAAA,OAAA,sBAAa,GAAI,CAAA,CAAC,EAAE,CAAC,CAAC,CAAA;AAAA,SAEnD,MAAA;AACH,UAAA,WAAA,CAAY,UAAU,KAAM,CAAA,GAAA,CAAI,OAAO,CAAA,EAAG,IAAI,EAAE,CAAA;AAAA;AAClD;AACF,KACD,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAY,WAAA,CAAA,QAAA,CAAS,KAAM,CAAA,MAAA,CAAO,EAAE,CAAA;AAAA,KACrC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Listbox/ListboxItemIndicator.js';
|
|
3
3
|
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -17,7 +17,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
17
17
|
const props = __props;
|
|
18
18
|
shared_useForwardExpose.useForwardExpose();
|
|
19
19
|
const groupContext = Combobox_ComboboxGroup.injectComboboxGroupContext({ id: "", labelId: "" });
|
|
20
|
-
groupContext.labelId ||= shared_useId.useId(
|
|
20
|
+
groupContext.labelId ||= shared_useId.useId(void 0, "reka-combobox-group-label");
|
|
21
21
|
return (_ctx, _cache) => {
|
|
22
22
|
return vue.openBlock(), vue.createBlock(vue.unref(Primitive_Primitive.Primitive), vue.mergeProps(props, {
|
|
23
23
|
id: vue.unref(groupContext).labelId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxLabel.cjs","sources":["../../src/Combobox/ComboboxLabel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxLabelProps extends PrimitiveProps {\n for?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\n\nconst props = withDefaults(defineProps<ComboboxLabelProps>(), {\n as: 'div',\n})\n\nuseForwardExpose()\nconst groupContext = injectComboboxGroupContext({ id: '', labelId: '' })\n\ngroupContext.labelId ||= useId(undefined, 'reka-combobox-group-label')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"groupContext.labelId\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectComboboxGroupContext","useId"],"mappings":";;;;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,eAAeC,iDAA2B,CAAA,EAAE,IAAI,EAAI,EAAA,OAAA,EAAS,IAAI,CAAA;AAEvE,IAAa,YAAA,CAAA,OAAA,KAAYC,kBAAM,CAAA,
|
|
1
|
+
{"version":3,"file":"ComboboxLabel.cjs","sources":["../../src/Combobox/ComboboxLabel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxLabelProps extends PrimitiveProps {\n for?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\n\nconst props = withDefaults(defineProps<ComboboxLabelProps>(), {\n as: 'div',\n})\n\nuseForwardExpose()\nconst groupContext = injectComboboxGroupContext({ id: '', labelId: '' })\n\ngroupContext.labelId ||= useId(undefined, 'reka-combobox-group-label')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"groupContext.labelId\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectComboboxGroupContext","useId"],"mappings":";;;;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,eAAeC,iDAA2B,CAAA,EAAE,IAAI,EAAI,EAAA,OAAA,EAAS,IAAI,CAAA;AAEvE,IAAa,YAAA,CAAA,OAAA,KAAYC,kBAAM,CAAA,MAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
3
3
|
import { i as injectComboboxGroupContext } from './ComboboxGroup.js';
|
|
4
4
|
import { u as useId } from '../shared/useId.js';
|
|
@@ -15,7 +15,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
const props = __props;
|
|
16
16
|
useForwardExpose();
|
|
17
17
|
const groupContext = injectComboboxGroupContext({ id: "", labelId: "" });
|
|
18
|
-
groupContext.labelId ||= useId(
|
|
18
|
+
groupContext.labelId ||= useId(void 0, "reka-combobox-group-label");
|
|
19
19
|
return (_ctx, _cache) => {
|
|
20
20
|
return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
|
|
21
21
|
id: unref(groupContext).labelId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxLabel.js","sources":["../../src/Combobox/ComboboxLabel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxLabelProps extends PrimitiveProps {\n for?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\n\nconst props = withDefaults(defineProps<ComboboxLabelProps>(), {\n as: 'div',\n})\n\nuseForwardExpose()\nconst groupContext = injectComboboxGroupContext({ id: '', labelId: '' })\n\ngroupContext.labelId ||= useId(undefined, 'reka-combobox-group-label')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"groupContext.labelId\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,eAAe,0BAA2B,CAAA,EAAE,IAAI,EAAI,EAAA,OAAA,EAAS,IAAI,CAAA;AAEvE,IAAa,YAAA,CAAA,OAAA,KAAY,KAAM,CAAA,
|
|
1
|
+
{"version":3,"file":"ComboboxLabel.js","sources":["../../src/Combobox/ComboboxLabel.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxLabelProps extends PrimitiveProps {\n for?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\nimport { injectComboboxGroupContext } from './ComboboxGroup.vue'\n\nconst props = withDefaults(defineProps<ComboboxLabelProps>(), {\n as: 'div',\n})\n\nuseForwardExpose()\nconst groupContext = injectComboboxGroupContext({ id: '', labelId: '' })\n\ngroupContext.labelId ||= useId(undefined, 'reka-combobox-group-label')\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :id=\"groupContext.labelId\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,eAAe,0BAA2B,CAAA,EAAE,IAAI,EAAI,EAAA,OAAA,EAAS,IAAI,CAAA;AAEvE,IAAa,YAAA,CAAA,OAAA,KAAY,KAAM,CAAA,MAAA,EAAW,2BAA2B,CAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Teleport/Teleport.js';
|
|
3
3
|
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
const vue = require('vue');
|
|
4
4
|
const Popper_PopperRoot = require('../Popper/PopperRoot.cjs');
|
|
5
5
|
const core = require('@vueuse/core');
|
|
6
|
+
const shared_createContext = require('../shared/createContext.cjs');
|
|
6
7
|
const Primitive_usePrimitiveElement = require('../Primitive/usePrimitiveElement.cjs');
|
|
7
8
|
const shared_useDirection = require('../shared/useDirection.cjs');
|
|
8
9
|
const shared_useFilter = require('../shared/useFilter.cjs');
|
|
9
10
|
const Listbox_ListboxRoot = require('../Listbox/ListboxRoot.cjs');
|
|
10
|
-
const shared_createContext = require('../shared/createContext.cjs');
|
|
11
11
|
|
|
12
12
|
const [injectComboboxRootContext, provideComboboxRootContext] = shared_createContext.createContext("ComboboxRoot");
|
|
13
13
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
14
14
|
__name: "ComboboxRoot",
|
|
15
15
|
props: {
|
|
16
|
-
open: { type: Boolean, default:
|
|
16
|
+
open: { type: Boolean, default: void 0 },
|
|
17
17
|
defaultOpen: { type: Boolean },
|
|
18
18
|
resetSearchTermOnBlur: { type: Boolean, default: true },
|
|
19
19
|
resetSearchTermOnSelect: { type: Boolean, default: true },
|
|
@@ -39,13 +39,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
39
39
|
const dir = shared_useDirection.useDirection(propDir);
|
|
40
40
|
const modelValue = core.useVModel(props, "modelValue", emits, {
|
|
41
41
|
// @ts-expect-error ignore the type error here
|
|
42
|
-
defaultValue: props.defaultValue ?? (multiple.value ? [] :
|
|
43
|
-
passive: props.modelValue ===
|
|
42
|
+
defaultValue: props.defaultValue ?? (multiple.value ? [] : void 0),
|
|
43
|
+
passive: props.modelValue === void 0,
|
|
44
44
|
deep: true
|
|
45
45
|
});
|
|
46
46
|
const open = core.useVModel(props, "open", emits, {
|
|
47
47
|
defaultValue: props.defaultOpen,
|
|
48
|
-
passive: props.open ===
|
|
48
|
+
passive: props.open === void 0
|
|
49
49
|
});
|
|
50
50
|
async function onOpenChange(val) {
|
|
51
51
|
open.value = val;
|
|
@@ -68,7 +68,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
68
68
|
const isVirtual = vue.ref(false);
|
|
69
69
|
const inputElement = vue.ref();
|
|
70
70
|
const triggerElement = vue.ref();
|
|
71
|
-
const highlightedElement = vue.computed(() => primitiveElement.value?.highlightedElement ??
|
|
71
|
+
const highlightedElement = vue.computed(() => primitiveElement.value?.highlightedElement ?? void 0);
|
|
72
72
|
const allItems = vue.ref(/* @__PURE__ */ new Map());
|
|
73
73
|
const allGroups = vue.ref(/* @__PURE__ */ new Map());
|
|
74
74
|
const { contains } = shared_useFilter.useFilter({ sensitivity: "base" });
|
|
@@ -162,7 +162,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
162
162
|
modelValue: vue.unref(modelValue),
|
|
163
163
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue) ? modelValue.value = $event : null),
|
|
164
164
|
style: {
|
|
165
|
-
pointerEvents: vue.unref(open) ? "auto" :
|
|
165
|
+
pointerEvents: vue.unref(open) ? "auto" : void 0
|
|
166
166
|
},
|
|
167
167
|
as: _ctx.as,
|
|
168
168
|
"as-child": _ctx.asChild,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxRoot.cjs","sources":["../../src/Combobox/ComboboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { ListboxRootProps } from '@/Listbox'\nimport { createContext, useDirection, useFilter } from '@/shared'\nimport { usePrimitiveElement } from '@/Primitive'\nimport type { AcceptableValue, GenericComponentInstance } from '@/shared/types'\n\ntype ComboboxRootContext<T> = {\n modelValue: Ref<T | Array<T>>\n multiple: Ref<boolean>\n disabled: Ref<boolean>\n open: Ref<boolean>\n onOpenChange: (value: boolean) => void\n isUserInputted: Ref<boolean>\n isVirtual: Ref<boolean>\n contentId: string\n inputElement: Ref<HTMLInputElement | undefined>\n onInputElementChange: (el: HTMLInputElement) => void\n triggerElement: Ref<HTMLElement | undefined>\n onTriggerElementChange: (el: HTMLElement) => void\n highlightedElement: Ref<HTMLElement | undefined>\n parentElement: Ref<HTMLElement | undefined>\n resetSearchTermOnSelect: Ref<boolean>\n onResetSearchTerm: EventHookOn\n allItems: Ref<Map<string, string>>\n allGroups: Ref<Map<string, Set<string>>>\n filterState: {\n search: string\n filtered: { count: number, items: Map<string, number>, groups: Set<string> }\n }\n ignoreFilter: Ref<boolean>\n}\n\nexport const [injectComboboxRootContext, provideComboboxRootContext]\n = createContext<ComboboxRootContext<AcceptableValue>>('ComboboxRoot')\n\nexport type ComboboxRootEmits<T = AcceptableValue> = {\n /** Event handler called when the value changes. */\n 'update:modelValue': [value: T]\n /** Event handler when highlighted element changes. */\n 'highlight': [payload: { ref: HTMLElement, value: T } | undefined]\n /** Event handler called when the open state of the combobox changes. */\n 'update:open': [value: boolean]\n}\n\nexport interface ComboboxRootProps<T = AcceptableValue> extends Omit<ListboxRootProps<T>, 'orientation' | 'selectionBehavior' > {\n /** The controlled open state of the Combobox. Can be binded with with `v-model:open`. */\n open?: boolean\n /** The open state of the combobox when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox input blurred\n * @defaultValue `true`\n */\n resetSearchTermOnBlur?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox value is selected\n * @defaultValue `true`\n */\n resetSearchTermOnSelect?: boolean\n /**\n * When `true`, disable the default filters\n */\n ignoreFilter?: boolean\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { computed, getCurrentInstance, nextTick, onMounted, reactive, ref, toRefs, watch } from 'vue'\nimport { PopperRoot } from '@/Popper'\nimport { type EventHookOn, createEventHook, useVModel } from '@vueuse/core'\nimport { ListboxRoot } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxRootProps<T>>(), {\n open: undefined,\n resetSearchTermOnBlur: true,\n resetSearchTermOnSelect: true,\n})\nconst emits = defineEmits<ComboboxRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n /** Current active value */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement<GenericComponentInstance<typeof ListboxRoot>>()\nconst { multiple, disabled, ignoreFilter, resetSearchTermOnSelect, dir: propDir } = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n // @ts-expect-error ignore the type error here\n defaultValue: props.defaultValue ?? (multiple.value ? [] : undefined),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n}) as Ref<T | T[]>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nasync function onOpenChange(val: boolean) {\n open.value = val\n filterState.search = ''\n\n if (val) {\n // make sure dom is ready then only highlight the selected\n await nextTick()\n primitiveElement.value?.highlightSelected()\n isUserInputted.value = true\n }\n else {\n isUserInputted.value = false\n }\n\n inputElement.value?.focus()\n setTimeout(() => {\n if (!val && props.resetSearchTermOnBlur)\n resetSearchTerm.trigger()\n }, 1)\n}\n\nconst resetSearchTerm = createEventHook()\nconst isUserInputted = ref(false)\nconst isVirtual = ref(false)\nconst inputElement = ref<HTMLInputElement>()\nconst triggerElement = ref<HTMLElement>()\n\nconst highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? undefined)\n\nconst allItems = ref<Map<string, string>>(new Map())\nconst allGroups = ref<Map<string, Set<string>>>(new Map())\n\nconst { contains } = useFilter({ sensitivity: 'base' })\nconst filterState = reactive({\n search: '',\n filtered: {\n /** The count of all visible items. */\n count: 0,\n /** Map from visible item id to its search score. */\n items: new Map() as Map<string, number>,\n /** Set of groups with at least one visible item. */\n groups: new Set() as Set<string>,\n },\n})\n\nfunction filterItems() {\n if (!filterState.search || props.ignoreFilter || isVirtual.value) {\n filterState.filtered.count = allItems.value.size\n // Do nothing, each item will know to show itself because search is empty\n return\n }\n\n // Reset the groups\n filterState.filtered.groups = new Set()\n let itemCount = 0\n\n // Check which items should be included\n for (const [id, value] of allItems.value) {\n const score = contains(value, filterState.search)\n filterState.filtered.items.set(id, score ? 1 : 0)\n if (score)\n itemCount++\n }\n\n // Check which groups have at least 1 item shown\n for (const [groupId, group] of allGroups.value) {\n for (const itemId of group) {\n if (filterState.filtered.items.get(itemId)! > 0) {\n filterState.filtered.groups.add(groupId)\n break\n }\n }\n }\n\n filterState.filtered.count = itemCount\n}\n\nwatch([() => filterState.search, () => allItems.value.size], () => {\n filterItems()\n}, { immediate: true })\n\nwatch(() => open.value, () => {\n // nextTick to allow multiple items to be mounted first\n nextTick(() => {\n if (open.value)\n filterItems()\n })\n}, { flush: 'post' })\n\nconst inst = getCurrentInstance()\nonMounted(() => {\n if (inst?.exposed) {\n inst.exposed.highlightItem = primitiveElement.value?.highlightItem\n inst.exposed.highlightFirstItem = primitiveElement.value?.highlightFirstItem\n inst.exposed.highlightSelected = primitiveElement.value?.highlightSelected\n }\n})\n\ndefineExpose({\n filtered: computed(() => filterState.filtered),\n highlightedElement,\n highlightItem: primitiveElement.value?.highlightItem,\n highlightFirstItem: primitiveElement.value?.highlightFirstItem,\n highlightSelected: primitiveElement.value?.highlightSelected,\n})\n\nprovideComboboxRootContext({\n modelValue,\n multiple,\n disabled,\n open,\n onOpenChange,\n contentId: '',\n isUserInputted,\n isVirtual,\n inputElement,\n highlightedElement,\n onInputElementChange: val => inputElement.value = val,\n triggerElement,\n onTriggerElementChange: val => triggerElement.value = val,\n parentElement,\n resetSearchTermOnSelect,\n onResetSearchTerm: resetSearchTerm.on,\n allItems,\n allGroups,\n filterState,\n ignoreFilter,\n})\n</script>\n\n<template>\n <PopperRoot>\n <ListboxRoot\n ref=\"primitiveElement\"\n v-bind=\"$attrs\"\n v-model=\"modelValue\"\n :style=\"{\n pointerEvents: open ? 'auto' : undefined,\n }\"\n :as=\"as\"\n :as-child=\"asChild\"\n :dir=\"dir\"\n :multiple=\"multiple\"\n :name=\"name\"\n :required=\"required\"\n :disabled=\"disabled\"\n :highlight-on-hover=\"true\"\n :by=\"props.by as any\"\n @highlight=\"emits('highlight', $event as any)\"\n >\n <slot\n :open=\"open\"\n :model-value=\"modelValue\"\n />\n </ListboxRoot>\n </PopperRoot>\n</template>\n"],"names":["createContext","usePrimitiveElement","toRefs","useDirection","useVModel","nextTick","createEventHook","ref","computed","useFilter","reactive","watch","getCurrentInstance","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboboxRoot.cjs","sources":["../../src/Combobox/ComboboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { ListboxRootProps } from '@/Listbox'\nimport { createContext, useDirection, useFilter } from '@/shared'\nimport { usePrimitiveElement } from '@/Primitive'\nimport type { AcceptableValue, GenericComponentInstance } from '@/shared/types'\n\ntype ComboboxRootContext<T> = {\n modelValue: Ref<T | Array<T>>\n multiple: Ref<boolean>\n disabled: Ref<boolean>\n open: Ref<boolean>\n onOpenChange: (value: boolean) => void\n isUserInputted: Ref<boolean>\n isVirtual: Ref<boolean>\n contentId: string\n inputElement: Ref<HTMLInputElement | undefined>\n onInputElementChange: (el: HTMLInputElement) => void\n triggerElement: Ref<HTMLElement | undefined>\n onTriggerElementChange: (el: HTMLElement) => void\n highlightedElement: Ref<HTMLElement | undefined>\n parentElement: Ref<HTMLElement | undefined>\n resetSearchTermOnSelect: Ref<boolean>\n onResetSearchTerm: EventHookOn\n allItems: Ref<Map<string, string>>\n allGroups: Ref<Map<string, Set<string>>>\n filterState: {\n search: string\n filtered: { count: number, items: Map<string, number>, groups: Set<string> }\n }\n ignoreFilter: Ref<boolean>\n}\n\nexport const [injectComboboxRootContext, provideComboboxRootContext]\n = createContext<ComboboxRootContext<AcceptableValue>>('ComboboxRoot')\n\nexport type ComboboxRootEmits<T = AcceptableValue> = {\n /** Event handler called when the value changes. */\n 'update:modelValue': [value: T]\n /** Event handler when highlighted element changes. */\n 'highlight': [payload: { ref: HTMLElement, value: T } | undefined]\n /** Event handler called when the open state of the combobox changes. */\n 'update:open': [value: boolean]\n}\n\nexport interface ComboboxRootProps<T = AcceptableValue> extends Omit<ListboxRootProps<T>, 'orientation' | 'selectionBehavior' > {\n /** The controlled open state of the Combobox. Can be binded with with `v-model:open`. */\n open?: boolean\n /** The open state of the combobox when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox input blurred\n * @defaultValue `true`\n */\n resetSearchTermOnBlur?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox value is selected\n * @defaultValue `true`\n */\n resetSearchTermOnSelect?: boolean\n /**\n * When `true`, disable the default filters\n */\n ignoreFilter?: boolean\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { computed, getCurrentInstance, nextTick, onMounted, reactive, ref, toRefs, watch } from 'vue'\nimport { PopperRoot } from '@/Popper'\nimport { type EventHookOn, createEventHook, useVModel } from '@vueuse/core'\nimport { ListboxRoot } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxRootProps<T>>(), {\n open: undefined,\n resetSearchTermOnBlur: true,\n resetSearchTermOnSelect: true,\n})\nconst emits = defineEmits<ComboboxRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n /** Current active value */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement<GenericComponentInstance<typeof ListboxRoot>>()\nconst { multiple, disabled, ignoreFilter, resetSearchTermOnSelect, dir: propDir } = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n // @ts-expect-error ignore the type error here\n defaultValue: props.defaultValue ?? (multiple.value ? [] : undefined),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n}) as Ref<T | T[]>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nasync function onOpenChange(val: boolean) {\n open.value = val\n filterState.search = ''\n\n if (val) {\n // make sure dom is ready then only highlight the selected\n await nextTick()\n primitiveElement.value?.highlightSelected()\n isUserInputted.value = true\n }\n else {\n isUserInputted.value = false\n }\n\n inputElement.value?.focus()\n setTimeout(() => {\n if (!val && props.resetSearchTermOnBlur)\n resetSearchTerm.trigger()\n }, 1)\n}\n\nconst resetSearchTerm = createEventHook()\nconst isUserInputted = ref(false)\nconst isVirtual = ref(false)\nconst inputElement = ref<HTMLInputElement>()\nconst triggerElement = ref<HTMLElement>()\n\nconst highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? undefined)\n\nconst allItems = ref<Map<string, string>>(new Map())\nconst allGroups = ref<Map<string, Set<string>>>(new Map())\n\nconst { contains } = useFilter({ sensitivity: 'base' })\nconst filterState = reactive({\n search: '',\n filtered: {\n /** The count of all visible items. */\n count: 0,\n /** Map from visible item id to its search score. */\n items: new Map() as Map<string, number>,\n /** Set of groups with at least one visible item. */\n groups: new Set() as Set<string>,\n },\n})\n\nfunction filterItems() {\n if (!filterState.search || props.ignoreFilter || isVirtual.value) {\n filterState.filtered.count = allItems.value.size\n // Do nothing, each item will know to show itself because search is empty\n return\n }\n\n // Reset the groups\n filterState.filtered.groups = new Set()\n let itemCount = 0\n\n // Check which items should be included\n for (const [id, value] of allItems.value) {\n const score = contains(value, filterState.search)\n filterState.filtered.items.set(id, score ? 1 : 0)\n if (score)\n itemCount++\n }\n\n // Check which groups have at least 1 item shown\n for (const [groupId, group] of allGroups.value) {\n for (const itemId of group) {\n if (filterState.filtered.items.get(itemId)! > 0) {\n filterState.filtered.groups.add(groupId)\n break\n }\n }\n }\n\n filterState.filtered.count = itemCount\n}\n\nwatch([() => filterState.search, () => allItems.value.size], () => {\n filterItems()\n}, { immediate: true })\n\nwatch(() => open.value, () => {\n // nextTick to allow multiple items to be mounted first\n nextTick(() => {\n if (open.value)\n filterItems()\n })\n}, { flush: 'post' })\n\nconst inst = getCurrentInstance()\nonMounted(() => {\n if (inst?.exposed) {\n inst.exposed.highlightItem = primitiveElement.value?.highlightItem\n inst.exposed.highlightFirstItem = primitiveElement.value?.highlightFirstItem\n inst.exposed.highlightSelected = primitiveElement.value?.highlightSelected\n }\n})\n\ndefineExpose({\n filtered: computed(() => filterState.filtered),\n highlightedElement,\n highlightItem: primitiveElement.value?.highlightItem,\n highlightFirstItem: primitiveElement.value?.highlightFirstItem,\n highlightSelected: primitiveElement.value?.highlightSelected,\n})\n\nprovideComboboxRootContext({\n modelValue,\n multiple,\n disabled,\n open,\n onOpenChange,\n contentId: '',\n isUserInputted,\n isVirtual,\n inputElement,\n highlightedElement,\n onInputElementChange: val => inputElement.value = val,\n triggerElement,\n onTriggerElementChange: val => triggerElement.value = val,\n parentElement,\n resetSearchTermOnSelect,\n onResetSearchTerm: resetSearchTerm.on,\n allItems,\n allGroups,\n filterState,\n ignoreFilter,\n})\n</script>\n\n<template>\n <PopperRoot>\n <ListboxRoot\n ref=\"primitiveElement\"\n v-bind=\"$attrs\"\n v-model=\"modelValue\"\n :style=\"{\n pointerEvents: open ? 'auto' : undefined,\n }\"\n :as=\"as\"\n :as-child=\"asChild\"\n :dir=\"dir\"\n :multiple=\"multiple\"\n :name=\"name\"\n :required=\"required\"\n :disabled=\"disabled\"\n :highlight-on-hover=\"true\"\n :by=\"props.by as any\"\n @highlight=\"emits('highlight', $event as any)\"\n >\n <slot\n :open=\"open\"\n :model-value=\"modelValue\"\n />\n </ListboxRoot>\n </PopperRoot>\n</template>\n"],"names":["createContext","usePrimitiveElement","toRefs","useDirection","useVModel","nextTick","createEventHook","ref","computed","useFilter","reactive","watch","getCurrentInstance","onMounted"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { defineComponent, toRefs, ref, computed, reactive, watch, nextTick, getCurrentInstance, onMounted,
|
|
1
|
+
import { defineComponent, toRefs, ref, computed, reactive, watch, nextTick, getCurrentInstance, onMounted, createBlock, openBlock, unref, withCtx, createVNode, mergeProps, isRef, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Popper/PopperRoot.js';
|
|
3
3
|
import { useVModel, createEventHook } from '@vueuse/core';
|
|
4
|
+
import { c as createContext } from '../shared/createContext.js';
|
|
4
5
|
import { u as usePrimitiveElement } from '../Primitive/usePrimitiveElement.js';
|
|
5
6
|
import { u as useDirection } from '../shared/useDirection.js';
|
|
6
7
|
import { u as useFilter } from '../shared/useFilter.js';
|
|
7
8
|
import { _ as _sfc_main$2 } from '../Listbox/ListboxRoot.js';
|
|
8
|
-
import { c as createContext } from '../shared/createContext.js';
|
|
9
9
|
|
|
10
10
|
const [injectComboboxRootContext, provideComboboxRootContext] = createContext("ComboboxRoot");
|
|
11
11
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
12
|
__name: "ComboboxRoot",
|
|
13
13
|
props: {
|
|
14
|
-
open: { type: Boolean, default:
|
|
14
|
+
open: { type: Boolean, default: void 0 },
|
|
15
15
|
defaultOpen: { type: Boolean },
|
|
16
16
|
resetSearchTermOnBlur: { type: Boolean, default: true },
|
|
17
17
|
resetSearchTermOnSelect: { type: Boolean, default: true },
|
|
@@ -37,13 +37,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
const dir = useDirection(propDir);
|
|
38
38
|
const modelValue = useVModel(props, "modelValue", emits, {
|
|
39
39
|
// @ts-expect-error ignore the type error here
|
|
40
|
-
defaultValue: props.defaultValue ?? (multiple.value ? [] :
|
|
41
|
-
passive: props.modelValue ===
|
|
40
|
+
defaultValue: props.defaultValue ?? (multiple.value ? [] : void 0),
|
|
41
|
+
passive: props.modelValue === void 0,
|
|
42
42
|
deep: true
|
|
43
43
|
});
|
|
44
44
|
const open = useVModel(props, "open", emits, {
|
|
45
45
|
defaultValue: props.defaultOpen,
|
|
46
|
-
passive: props.open ===
|
|
46
|
+
passive: props.open === void 0
|
|
47
47
|
});
|
|
48
48
|
async function onOpenChange(val) {
|
|
49
49
|
open.value = val;
|
|
@@ -66,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
66
66
|
const isVirtual = ref(false);
|
|
67
67
|
const inputElement = ref();
|
|
68
68
|
const triggerElement = ref();
|
|
69
|
-
const highlightedElement = computed(() => primitiveElement.value?.highlightedElement ??
|
|
69
|
+
const highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? void 0);
|
|
70
70
|
const allItems = ref(/* @__PURE__ */ new Map());
|
|
71
71
|
const allGroups = ref(/* @__PURE__ */ new Map());
|
|
72
72
|
const { contains } = useFilter({ sensitivity: "base" });
|
|
@@ -160,7 +160,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
160
160
|
modelValue: unref(modelValue),
|
|
161
161
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue) ? modelValue.value = $event : null),
|
|
162
162
|
style: {
|
|
163
|
-
pointerEvents: unref(open) ? "auto" :
|
|
163
|
+
pointerEvents: unref(open) ? "auto" : void 0
|
|
164
164
|
},
|
|
165
165
|
as: _ctx.as,
|
|
166
166
|
"as-child": _ctx.asChild,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxRoot.js","sources":["../../src/Combobox/ComboboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { ListboxRootProps } from '@/Listbox'\nimport { createContext, useDirection, useFilter } from '@/shared'\nimport { usePrimitiveElement } from '@/Primitive'\nimport type { AcceptableValue, GenericComponentInstance } from '@/shared/types'\n\ntype ComboboxRootContext<T> = {\n modelValue: Ref<T | Array<T>>\n multiple: Ref<boolean>\n disabled: Ref<boolean>\n open: Ref<boolean>\n onOpenChange: (value: boolean) => void\n isUserInputted: Ref<boolean>\n isVirtual: Ref<boolean>\n contentId: string\n inputElement: Ref<HTMLInputElement | undefined>\n onInputElementChange: (el: HTMLInputElement) => void\n triggerElement: Ref<HTMLElement | undefined>\n onTriggerElementChange: (el: HTMLElement) => void\n highlightedElement: Ref<HTMLElement | undefined>\n parentElement: Ref<HTMLElement | undefined>\n resetSearchTermOnSelect: Ref<boolean>\n onResetSearchTerm: EventHookOn\n allItems: Ref<Map<string, string>>\n allGroups: Ref<Map<string, Set<string>>>\n filterState: {\n search: string\n filtered: { count: number, items: Map<string, number>, groups: Set<string> }\n }\n ignoreFilter: Ref<boolean>\n}\n\nexport const [injectComboboxRootContext, provideComboboxRootContext]\n = createContext<ComboboxRootContext<AcceptableValue>>('ComboboxRoot')\n\nexport type ComboboxRootEmits<T = AcceptableValue> = {\n /** Event handler called when the value changes. */\n 'update:modelValue': [value: T]\n /** Event handler when highlighted element changes. */\n 'highlight': [payload: { ref: HTMLElement, value: T } | undefined]\n /** Event handler called when the open state of the combobox changes. */\n 'update:open': [value: boolean]\n}\n\nexport interface ComboboxRootProps<T = AcceptableValue> extends Omit<ListboxRootProps<T>, 'orientation' | 'selectionBehavior' > {\n /** The controlled open state of the Combobox. Can be binded with with `v-model:open`. */\n open?: boolean\n /** The open state of the combobox when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox input blurred\n * @defaultValue `true`\n */\n resetSearchTermOnBlur?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox value is selected\n * @defaultValue `true`\n */\n resetSearchTermOnSelect?: boolean\n /**\n * When `true`, disable the default filters\n */\n ignoreFilter?: boolean\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { computed, getCurrentInstance, nextTick, onMounted, reactive, ref, toRefs, watch } from 'vue'\nimport { PopperRoot } from '@/Popper'\nimport { type EventHookOn, createEventHook, useVModel } from '@vueuse/core'\nimport { ListboxRoot } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxRootProps<T>>(), {\n open: undefined,\n resetSearchTermOnBlur: true,\n resetSearchTermOnSelect: true,\n})\nconst emits = defineEmits<ComboboxRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n /** Current active value */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement<GenericComponentInstance<typeof ListboxRoot>>()\nconst { multiple, disabled, ignoreFilter, resetSearchTermOnSelect, dir: propDir } = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n // @ts-expect-error ignore the type error here\n defaultValue: props.defaultValue ?? (multiple.value ? [] : undefined),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n}) as Ref<T | T[]>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nasync function onOpenChange(val: boolean) {\n open.value = val\n filterState.search = ''\n\n if (val) {\n // make sure dom is ready then only highlight the selected\n await nextTick()\n primitiveElement.value?.highlightSelected()\n isUserInputted.value = true\n }\n else {\n isUserInputted.value = false\n }\n\n inputElement.value?.focus()\n setTimeout(() => {\n if (!val && props.resetSearchTermOnBlur)\n resetSearchTerm.trigger()\n }, 1)\n}\n\nconst resetSearchTerm = createEventHook()\nconst isUserInputted = ref(false)\nconst isVirtual = ref(false)\nconst inputElement = ref<HTMLInputElement>()\nconst triggerElement = ref<HTMLElement>()\n\nconst highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? undefined)\n\nconst allItems = ref<Map<string, string>>(new Map())\nconst allGroups = ref<Map<string, Set<string>>>(new Map())\n\nconst { contains } = useFilter({ sensitivity: 'base' })\nconst filterState = reactive({\n search: '',\n filtered: {\n /** The count of all visible items. */\n count: 0,\n /** Map from visible item id to its search score. */\n items: new Map() as Map<string, number>,\n /** Set of groups with at least one visible item. */\n groups: new Set() as Set<string>,\n },\n})\n\nfunction filterItems() {\n if (!filterState.search || props.ignoreFilter || isVirtual.value) {\n filterState.filtered.count = allItems.value.size\n // Do nothing, each item will know to show itself because search is empty\n return\n }\n\n // Reset the groups\n filterState.filtered.groups = new Set()\n let itemCount = 0\n\n // Check which items should be included\n for (const [id, value] of allItems.value) {\n const score = contains(value, filterState.search)\n filterState.filtered.items.set(id, score ? 1 : 0)\n if (score)\n itemCount++\n }\n\n // Check which groups have at least 1 item shown\n for (const [groupId, group] of allGroups.value) {\n for (const itemId of group) {\n if (filterState.filtered.items.get(itemId)! > 0) {\n filterState.filtered.groups.add(groupId)\n break\n }\n }\n }\n\n filterState.filtered.count = itemCount\n}\n\nwatch([() => filterState.search, () => allItems.value.size], () => {\n filterItems()\n}, { immediate: true })\n\nwatch(() => open.value, () => {\n // nextTick to allow multiple items to be mounted first\n nextTick(() => {\n if (open.value)\n filterItems()\n })\n}, { flush: 'post' })\n\nconst inst = getCurrentInstance()\nonMounted(() => {\n if (inst?.exposed) {\n inst.exposed.highlightItem = primitiveElement.value?.highlightItem\n inst.exposed.highlightFirstItem = primitiveElement.value?.highlightFirstItem\n inst.exposed.highlightSelected = primitiveElement.value?.highlightSelected\n }\n})\n\ndefineExpose({\n filtered: computed(() => filterState.filtered),\n highlightedElement,\n highlightItem: primitiveElement.value?.highlightItem,\n highlightFirstItem: primitiveElement.value?.highlightFirstItem,\n highlightSelected: primitiveElement.value?.highlightSelected,\n})\n\nprovideComboboxRootContext({\n modelValue,\n multiple,\n disabled,\n open,\n onOpenChange,\n contentId: '',\n isUserInputted,\n isVirtual,\n inputElement,\n highlightedElement,\n onInputElementChange: val => inputElement.value = val,\n triggerElement,\n onTriggerElementChange: val => triggerElement.value = val,\n parentElement,\n resetSearchTermOnSelect,\n onResetSearchTerm: resetSearchTerm.on,\n allItems,\n allGroups,\n filterState,\n ignoreFilter,\n})\n</script>\n\n<template>\n <PopperRoot>\n <ListboxRoot\n ref=\"primitiveElement\"\n v-bind=\"$attrs\"\n v-model=\"modelValue\"\n :style=\"{\n pointerEvents: open ? 'auto' : undefined,\n }\"\n :as=\"as\"\n :as-child=\"asChild\"\n :dir=\"dir\"\n :multiple=\"multiple\"\n :name=\"name\"\n :required=\"required\"\n :disabled=\"disabled\"\n :highlight-on-hover=\"true\"\n :by=\"props.by as any\"\n @highlight=\"emits('highlight', $event as any)\"\n >\n <slot\n :open=\"open\"\n :model-value=\"modelValue\"\n />\n </ListboxRoot>\n </PopperRoot>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboboxRoot.js","sources":["../../src/Combobox/ComboboxRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { ListboxRootProps } from '@/Listbox'\nimport { createContext, useDirection, useFilter } from '@/shared'\nimport { usePrimitiveElement } from '@/Primitive'\nimport type { AcceptableValue, GenericComponentInstance } from '@/shared/types'\n\ntype ComboboxRootContext<T> = {\n modelValue: Ref<T | Array<T>>\n multiple: Ref<boolean>\n disabled: Ref<boolean>\n open: Ref<boolean>\n onOpenChange: (value: boolean) => void\n isUserInputted: Ref<boolean>\n isVirtual: Ref<boolean>\n contentId: string\n inputElement: Ref<HTMLInputElement | undefined>\n onInputElementChange: (el: HTMLInputElement) => void\n triggerElement: Ref<HTMLElement | undefined>\n onTriggerElementChange: (el: HTMLElement) => void\n highlightedElement: Ref<HTMLElement | undefined>\n parentElement: Ref<HTMLElement | undefined>\n resetSearchTermOnSelect: Ref<boolean>\n onResetSearchTerm: EventHookOn\n allItems: Ref<Map<string, string>>\n allGroups: Ref<Map<string, Set<string>>>\n filterState: {\n search: string\n filtered: { count: number, items: Map<string, number>, groups: Set<string> }\n }\n ignoreFilter: Ref<boolean>\n}\n\nexport const [injectComboboxRootContext, provideComboboxRootContext]\n = createContext<ComboboxRootContext<AcceptableValue>>('ComboboxRoot')\n\nexport type ComboboxRootEmits<T = AcceptableValue> = {\n /** Event handler called when the value changes. */\n 'update:modelValue': [value: T]\n /** Event handler when highlighted element changes. */\n 'highlight': [payload: { ref: HTMLElement, value: T } | undefined]\n /** Event handler called when the open state of the combobox changes. */\n 'update:open': [value: boolean]\n}\n\nexport interface ComboboxRootProps<T = AcceptableValue> extends Omit<ListboxRootProps<T>, 'orientation' | 'selectionBehavior' > {\n /** The controlled open state of the Combobox. Can be binded with with `v-model:open`. */\n open?: boolean\n /** The open state of the combobox when it is initially rendered. <br> Use when you do not need to control its open state. */\n defaultOpen?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox input blurred\n * @defaultValue `true`\n */\n resetSearchTermOnBlur?: boolean\n /**\n * Whether to reset the searchTerm when the Combobox value is selected\n * @defaultValue `true`\n */\n resetSearchTermOnSelect?: boolean\n /**\n * When `true`, disable the default filters\n */\n ignoreFilter?: boolean\n}\n</script>\n\n<script setup lang=\"ts\" generic=\"T extends AcceptableValue = AcceptableValue\">\nimport { computed, getCurrentInstance, nextTick, onMounted, reactive, ref, toRefs, watch } from 'vue'\nimport { PopperRoot } from '@/Popper'\nimport { type EventHookOn, createEventHook, useVModel } from '@vueuse/core'\nimport { ListboxRoot } from '@/Listbox'\n\nconst props = withDefaults(defineProps<ComboboxRootProps<T>>(), {\n open: undefined,\n resetSearchTermOnBlur: true,\n resetSearchTermOnSelect: true,\n})\nconst emits = defineEmits<ComboboxRootEmits<T>>()\n\ndefineSlots<{\n default: (props: {\n /** Current open state */\n open: typeof open.value\n /** Current active value */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { primitiveElement, currentElement: parentElement } = usePrimitiveElement<GenericComponentInstance<typeof ListboxRoot>>()\nconst { multiple, disabled, ignoreFilter, resetSearchTermOnSelect, dir: propDir } = toRefs(props)\n\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n // @ts-expect-error ignore the type error here\n defaultValue: props.defaultValue ?? (multiple.value ? [] : undefined),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n}) as Ref<T | T[]>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: props.defaultOpen,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nasync function onOpenChange(val: boolean) {\n open.value = val\n filterState.search = ''\n\n if (val) {\n // make sure dom is ready then only highlight the selected\n await nextTick()\n primitiveElement.value?.highlightSelected()\n isUserInputted.value = true\n }\n else {\n isUserInputted.value = false\n }\n\n inputElement.value?.focus()\n setTimeout(() => {\n if (!val && props.resetSearchTermOnBlur)\n resetSearchTerm.trigger()\n }, 1)\n}\n\nconst resetSearchTerm = createEventHook()\nconst isUserInputted = ref(false)\nconst isVirtual = ref(false)\nconst inputElement = ref<HTMLInputElement>()\nconst triggerElement = ref<HTMLElement>()\n\nconst highlightedElement = computed(() => primitiveElement.value?.highlightedElement ?? undefined)\n\nconst allItems = ref<Map<string, string>>(new Map())\nconst allGroups = ref<Map<string, Set<string>>>(new Map())\n\nconst { contains } = useFilter({ sensitivity: 'base' })\nconst filterState = reactive({\n search: '',\n filtered: {\n /** The count of all visible items. */\n count: 0,\n /** Map from visible item id to its search score. */\n items: new Map() as Map<string, number>,\n /** Set of groups with at least one visible item. */\n groups: new Set() as Set<string>,\n },\n})\n\nfunction filterItems() {\n if (!filterState.search || props.ignoreFilter || isVirtual.value) {\n filterState.filtered.count = allItems.value.size\n // Do nothing, each item will know to show itself because search is empty\n return\n }\n\n // Reset the groups\n filterState.filtered.groups = new Set()\n let itemCount = 0\n\n // Check which items should be included\n for (const [id, value] of allItems.value) {\n const score = contains(value, filterState.search)\n filterState.filtered.items.set(id, score ? 1 : 0)\n if (score)\n itemCount++\n }\n\n // Check which groups have at least 1 item shown\n for (const [groupId, group] of allGroups.value) {\n for (const itemId of group) {\n if (filterState.filtered.items.get(itemId)! > 0) {\n filterState.filtered.groups.add(groupId)\n break\n }\n }\n }\n\n filterState.filtered.count = itemCount\n}\n\nwatch([() => filterState.search, () => allItems.value.size], () => {\n filterItems()\n}, { immediate: true })\n\nwatch(() => open.value, () => {\n // nextTick to allow multiple items to be mounted first\n nextTick(() => {\n if (open.value)\n filterItems()\n })\n}, { flush: 'post' })\n\nconst inst = getCurrentInstance()\nonMounted(() => {\n if (inst?.exposed) {\n inst.exposed.highlightItem = primitiveElement.value?.highlightItem\n inst.exposed.highlightFirstItem = primitiveElement.value?.highlightFirstItem\n inst.exposed.highlightSelected = primitiveElement.value?.highlightSelected\n }\n})\n\ndefineExpose({\n filtered: computed(() => filterState.filtered),\n highlightedElement,\n highlightItem: primitiveElement.value?.highlightItem,\n highlightFirstItem: primitiveElement.value?.highlightFirstItem,\n highlightSelected: primitiveElement.value?.highlightSelected,\n})\n\nprovideComboboxRootContext({\n modelValue,\n multiple,\n disabled,\n open,\n onOpenChange,\n contentId: '',\n isUserInputted,\n isVirtual,\n inputElement,\n highlightedElement,\n onInputElementChange: val => inputElement.value = val,\n triggerElement,\n onTriggerElementChange: val => triggerElement.value = val,\n parentElement,\n resetSearchTermOnSelect,\n onResetSearchTerm: resetSearchTerm.on,\n allItems,\n allGroups,\n filterState,\n ignoreFilter,\n})\n</script>\n\n<template>\n <PopperRoot>\n <ListboxRoot\n ref=\"primitiveElement\"\n v-bind=\"$attrs\"\n v-model=\"modelValue\"\n :style=\"{\n pointerEvents: open ? 'auto' : undefined,\n }\"\n :as=\"as\"\n :as-child=\"asChild\"\n :dir=\"dir\"\n :multiple=\"multiple\"\n :name=\"name\"\n :required=\"required\"\n :disabled=\"disabled\"\n :highlight-on-hover=\"true\"\n :by=\"props.by as any\"\n @highlight=\"emits('highlight', $event as any)\"\n >\n <slot\n :open=\"open\"\n :model-value=\"modelValue\"\n />\n </ListboxRoot>\n </PopperRoot>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
3
3
|
import { P as Primitive } from '../Primitive/Primitive.js';
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
24
24
|
return (_ctx, _cache) => {
|
|
25
25
|
return vue.openBlock(), vue.createBlock(vue.unref(Primitive_Primitive.Primitive), vue.mergeProps(props, {
|
|
26
26
|
ref: vue.unref(forwardRef),
|
|
27
|
-
type: _ctx.as === "button" ? "button" :
|
|
27
|
+
type: _ctx.as === "button" ? "button" : void 0,
|
|
28
28
|
tabindex: "-1",
|
|
29
29
|
"aria-label": "Show popup",
|
|
30
30
|
"aria-haspopup": "listbox",
|
|
@@ -32,8 +32,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
32
32
|
"aria-controls": vue.unref(rootContext).contentId,
|
|
33
33
|
"data-state": vue.unref(rootContext).open.value ? "open" : "closed",
|
|
34
34
|
disabled: disabled.value,
|
|
35
|
-
"data-disabled": disabled.value ? "" :
|
|
36
|
-
"aria-disabled": disabled.value ??
|
|
35
|
+
"data-disabled": disabled.value ? "" : void 0,
|
|
36
|
+
"aria-disabled": disabled.value ?? void 0,
|
|
37
37
|
onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(rootContext).onOpenChange(!vue.unref(rootContext).open.value))
|
|
38
38
|
}), {
|
|
39
39
|
default: vue.withCtx(() => [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, onMounted,
|
|
1
|
+
import { defineComponent, computed, onMounted, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
3
3
|
import { P as Primitive } from '../Primitive/Primitive.js';
|
|
4
4
|
import { i as injectComboboxRootContext } from './ComboboxRoot.js';
|
|
@@ -22,7 +22,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
22
22
|
return (_ctx, _cache) => {
|
|
23
23
|
return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
|
|
24
24
|
ref: unref(forwardRef),
|
|
25
|
-
type: _ctx.as === "button" ? "button" :
|
|
25
|
+
type: _ctx.as === "button" ? "button" : void 0,
|
|
26
26
|
tabindex: "-1",
|
|
27
27
|
"aria-label": "Show popup",
|
|
28
28
|
"aria-haspopup": "listbox",
|
|
@@ -30,8 +30,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
30
|
"aria-controls": unref(rootContext).contentId,
|
|
31
31
|
"data-state": unref(rootContext).open.value ? "open" : "closed",
|
|
32
32
|
disabled: disabled.value,
|
|
33
|
-
"data-disabled": disabled.value ? "" :
|
|
34
|
-
"aria-disabled": disabled.value ??
|
|
33
|
+
"data-disabled": disabled.value ? "" : void 0,
|
|
34
|
+
"aria-disabled": disabled.value ?? void 0,
|
|
35
35
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(!unref(rootContext).open.value))
|
|
36
36
|
}), {
|
|
37
37
|
default: withCtx(() => [
|
|
@@ -30,7 +30,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
30
30
|
// `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
|
|
31
31
|
// (independent of the scrollUpButton).
|
|
32
32
|
position: "relative",
|
|
33
|
-
flex: vue.unref(rootContext).isVirtual.value ?
|
|
33
|
+
flex: vue.unref(rootContext).isVirtual.value ? void 0 : 1,
|
|
34
34
|
overflow: "auto"
|
|
35
35
|
}
|
|
36
36
|
}), {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, toRefs,
|
|
1
|
+
import { defineComponent, toRefs, createElementBlock, openBlock, Fragment, createVNode, unref, mergeProps, withCtx, renderSlot, createTextVNode } from 'vue';
|
|
2
2
|
import { u as useNonce } from '../shared/useNonce.js';
|
|
3
3
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
4
|
import { P as Primitive } from '../Primitive/Primitive.js';
|
|
@@ -28,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
28
28
|
// `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
|
|
29
29
|
// (independent of the scrollUpButton).
|
|
30
30
|
position: "relative",
|
|
31
|
-
flex: unref(rootContext).isVirtual.value ?
|
|
31
|
+
flex: unref(rootContext).isVirtual.value ? void 0 : 1,
|
|
32
32
|
overflow: "auto"
|
|
33
33
|
}
|
|
34
34
|
}), {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Listbox/ListboxVirtualizer.js';
|
|
3
3
|
import { i as injectComboboxRootContext } from './ComboboxRoot.js';
|
|
4
4
|
|
|
@@ -13,8 +13,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
13
13
|
dir: { default: "ltr" },
|
|
14
14
|
locale: { default: "en" },
|
|
15
15
|
scrollBody: { type: [Boolean, Object], default: true },
|
|
16
|
-
nonce: { default:
|
|
17
|
-
useId: { type: Function, default:
|
|
16
|
+
nonce: { default: void 0 },
|
|
17
|
+
useId: { type: Function, default: void 0 }
|
|
18
18
|
},
|
|
19
19
|
setup(__props) {
|
|
20
20
|
const props = __props;
|
|
@@ -11,8 +11,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11
11
|
dir: { default: "ltr" },
|
|
12
12
|
locale: { default: "en" },
|
|
13
13
|
scrollBody: { type: [Boolean, Object], default: true },
|
|
14
|
-
nonce: { default:
|
|
15
|
-
useId: { type: Function, default:
|
|
14
|
+
nonce: { default: void 0 },
|
|
15
|
+
useId: { type: Function, default: void 0 }
|
|
16
16
|
},
|
|
17
17
|
setup(__props) {
|
|
18
18
|
const props = __props;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuArrow.js';
|
|
3
3
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuCheckboxItem.js';
|
|
3
3
|
import { u as useEmitAsProps } from '../shared/useEmitAsProps.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref,
|
|
1
|
+
import { defineComponent, ref, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuContent.js';
|
|
3
3
|
import { u as useForwardPropsEmits } from '../shared/useForwardPropsEmits.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuGroup.js';
|
|
3
3
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuItem.js';
|
|
3
3
|
import { u as useEmitAsProps } from '../shared/useEmitAsProps.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuItemIndicator.js';
|
|
3
3
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuLabel.js';
|
|
3
3
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuPortal.js';
|
|
3
3
|
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuRadioGroup.js';
|
|
3
3
|
import { u as useEmitAsProps } from '../shared/useEmitAsProps.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuRadioItem.js';
|
|
3
3
|
import { u as useEmitAsProps } from '../shared/useEmitAsProps.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
const vue = require('vue');
|
|
4
4
|
const Menu_MenuRoot = require('../Menu/MenuRoot.cjs');
|
|
5
|
+
const shared_createContext = require('../shared/createContext.cjs');
|
|
5
6
|
const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
|
|
6
7
|
const shared_useDirection = require('../shared/useDirection.cjs');
|
|
7
|
-
const shared_createContext = require('../shared/createContext.cjs');
|
|
8
8
|
|
|
9
9
|
const [injectContextMenuRootContext, provideContextMenuRootContext] = shared_createContext.createContext("ContextMenuRoot");
|
|
10
10
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent, toRefs, ref, watch,
|
|
1
|
+
import { defineComponent, toRefs, ref, watch, createBlock, openBlock, unref, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from '../Menu/MenuRoot.js';
|
|
3
|
+
import { c as createContext } from '../shared/createContext.js';
|
|
3
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
4
5
|
import { u as useDirection } from '../shared/useDirection.js';
|
|
5
|
-
import { c as createContext } from '../shared/createContext.js';
|
|
6
6
|
|
|
7
7
|
const [injectContextMenuRootContext, provideContextMenuRootContext] = createContext("ContextMenuRoot");
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|