reka-ui 2.1.1 → 2.2.1
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.cjs.map +1 -1
- package/dist/Accordion/AccordionHeader.js +1 -1
- package/dist/Accordion/AccordionHeader.js.map +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.cjs.map +1 -1
- package/dist/Accordion/AccordionRoot.js +2 -2
- package/dist/Accordion/AccordionRoot.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/AlertDialog/AlertDialogCancel.js +1 -1
- package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.js +2 -2
- package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +1 -1
- package/dist/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/Avatar/AvatarFallback.cjs.map +1 -1
- package/dist/Avatar/AvatarFallback.js +1 -1
- package/dist/Avatar/AvatarFallback.js.map +1 -1
- package/dist/Avatar/AvatarImage.cjs.map +1 -1
- package/dist/Avatar/AvatarImage.js +1 -1
- package/dist/Avatar/AvatarImage.js.map +1 -1
- package/dist/Avatar/AvatarRoot.cjs +1 -1
- package/dist/Avatar/AvatarRoot.cjs.map +1 -1
- package/dist/Avatar/AvatarRoot.js +2 -2
- package/dist/Avatar/AvatarRoot.js.map +1 -1
- package/dist/Avatar/utils.cjs.map +1 -1
- package/dist/Avatar/utils.js.map +1 -1
- package/dist/Calendar/CalendarCell.cjs +3 -3
- package/dist/Calendar/CalendarCell.js +4 -4
- 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 +2 -2
- package/dist/Calendar/CalendarHeading.js +3 -3
- package/dist/Calendar/CalendarNext.cjs +3 -3
- package/dist/Calendar/CalendarNext.cjs.map +1 -1
- package/dist/Calendar/CalendarNext.js +4 -4
- package/dist/Calendar/CalendarNext.js.map +1 -1
- package/dist/Calendar/CalendarPrev.cjs +3 -3
- package/dist/Calendar/CalendarPrev.cjs.map +1 -1
- package/dist/Calendar/CalendarPrev.js +4 -4
- package/dist/Calendar/CalendarPrev.js.map +1 -1
- 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.cjs +2 -2
- package/dist/Calendar/useCalendar.cjs.map +1 -1
- package/dist/Calendar/useCalendar.js +2 -2
- package/dist/Calendar/useCalendar.js.map +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.cjs.map +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
- package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
- package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
- package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
- package/dist/Checkbox/CheckboxIndicator.js +2 -2
- package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
- package/dist/Checkbox/CheckboxRoot.cjs +9 -9
- 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 +5 -5
- package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleContent.js +6 -6
- package/dist/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
- package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.js +5 -5
- package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleTrigger.cjs +3 -3
- package/dist/Collapsible/CollapsibleTrigger.js +4 -4
- package/dist/Collection/Collection.cjs.map +1 -1
- package/dist/Collection/Collection.js.map +1 -1
- package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
- package/dist/Combobox/ComboboxAnchor.js +1 -1
- package/dist/Combobox/ComboboxAnchor.js.map +1 -1
- package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
- package/dist/Combobox/ComboboxArrow.js +1 -1
- package/dist/Combobox/ComboboxArrow.js.map +1 -1
- package/dist/Combobox/ComboboxCancel.cjs +2 -1
- package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
- package/dist/Combobox/ComboboxCancel.js +3 -2
- package/dist/Combobox/ComboboxCancel.js.map +1 -1
- 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 +2 -2
- package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +3 -3
- package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
- package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
- package/dist/Combobox/ComboboxEmpty.js +1 -1
- package/dist/Combobox/ComboboxEmpty.js.map +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 +10 -2
- package/dist/Combobox/ComboboxInput.cjs.map +1 -1
- package/dist/Combobox/ComboboxInput.js +11 -3
- package/dist/Combobox/ComboboxInput.js.map +1 -1
- package/dist/Combobox/ComboboxItem.cjs +6 -5
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +7 -6
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxItemIndicator.js +1 -1
- package/dist/Combobox/ComboboxLabel.cjs +2 -2
- package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
- package/dist/Combobox/ComboboxLabel.js +3 -3
- 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.cjs.map +1 -1
- package/dist/Combobox/ComboboxVirtualizer.js +1 -1
- package/dist/Combobox/ComboboxVirtualizer.js.map +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.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuContent.js +1 -1
- package/dist/ContextMenu/ContextMenuContent.js.map +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.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuPortal.js +1 -1
- package/dist/ContextMenu/ContextMenuPortal.js.map +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.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuRoot.js +2 -2
- package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
- package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
- package/dist/ContextMenu/ContextMenuSub.cjs +3 -3
- package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuSub.js +4 -4
- package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
- package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
- package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.cjs +3 -3
- package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.js +4 -4
- package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
- package/dist/DateField/DateFieldInput.cjs +5 -5
- package/dist/DateField/DateFieldInput.cjs.map +1 -1
- package/dist/DateField/DateFieldInput.js +6 -6
- package/dist/DateField/DateFieldInput.js.map +1 -1
- package/dist/DateField/DateFieldRoot.cjs +10 -10
- package/dist/DateField/DateFieldRoot.cjs.map +1 -1
- package/dist/DateField/DateFieldRoot.js +11 -11
- package/dist/DateField/DateFieldRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
- package/dist/DatePicker/DatePickerArrow.js +1 -1
- package/dist/DatePicker/DatePickerArrow.js.map +1 -1
- package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCalendar.js +1 -1
- package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCell.js +1 -1
- package/dist/DatePicker/DatePickerCell.js.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
- package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
- package/dist/DatePicker/DatePickerClose.js +1 -1
- package/dist/DatePicker/DatePickerClose.js.map +1 -1
- package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
- package/dist/DatePicker/DatePickerContent.js +1 -1
- package/dist/DatePicker/DatePickerContent.js.map +1 -1
- package/dist/DatePicker/DatePickerField.js +1 -1
- package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGrid.js +1 -1
- package/dist/DatePicker/DatePickerGrid.js.map +1 -1
- package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridBody.js +1 -1
- package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
- package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridHead.js +1 -1
- package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
- package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridRow.js +1 -1
- package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
- package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeadCell.js +1 -1
- package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
- package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeader.js +1 -1
- package/dist/DatePicker/DatePickerHeader.js.map +1 -1
- package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeading.js +1 -1
- package/dist/DatePicker/DatePickerHeading.js.map +1 -1
- package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
- package/dist/DatePicker/DatePickerInput.js +1 -1
- package/dist/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
- package/dist/DatePicker/DatePickerNext.js +1 -1
- package/dist/DatePicker/DatePickerNext.js.map +1 -1
- package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
- package/dist/DatePicker/DatePickerPrev.js +1 -1
- package/dist/DatePicker/DatePickerPrev.js.map +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.cjs.map +1 -1
- package/dist/DatePicker/DatePickerTrigger.js +1 -1
- package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
- package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
- package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs +1 -0
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +2 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerField.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.cjs +14 -11
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +15 -12
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
- package/dist/Dialog/DialogClose.cjs +2 -2
- package/dist/Dialog/DialogClose.cjs.map +1 -1
- package/dist/Dialog/DialogClose.js +3 -3
- package/dist/Dialog/DialogClose.js.map +1 -1
- package/dist/Dialog/DialogContent.cjs.map +1 -1
- package/dist/Dialog/DialogContent.js +1 -1
- package/dist/Dialog/DialogContent.js.map +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.cjs.map +1 -1
- package/dist/Dialog/DialogContentModal.js +1 -1
- package/dist/Dialog/DialogContentModal.js.map +1 -1
- package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
- package/dist/Dialog/DialogContentNonModal.js +1 -1
- package/dist/Dialog/DialogContentNonModal.js.map +1 -1
- package/dist/Dialog/DialogDescription.cjs.map +1 -1
- package/dist/Dialog/DialogDescription.js +1 -1
- package/dist/Dialog/DialogDescription.js.map +1 -1
- package/dist/Dialog/DialogOverlay.cjs.map +1 -1
- package/dist/Dialog/DialogOverlay.js +1 -1
- package/dist/Dialog/DialogOverlay.js.map +1 -1
- package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
- package/dist/Dialog/DialogOverlayImpl.js +1 -1
- package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
- package/dist/Dialog/DialogPortal.js +1 -1
- package/dist/Dialog/DialogRoot.cjs +2 -2
- package/dist/Dialog/DialogRoot.cjs.map +1 -1
- package/dist/Dialog/DialogRoot.js +2 -2
- package/dist/Dialog/DialogRoot.js.map +1 -1
- package/dist/Dialog/DialogTitle.cjs.map +1 -1
- package/dist/Dialog/DialogTitle.js +1 -1
- package/dist/Dialog/DialogTitle.js.map +1 -1
- package/dist/Dialog/DialogTrigger.cjs +4 -4
- package/dist/Dialog/DialogTrigger.cjs.map +1 -1
- package/dist/Dialog/DialogTrigger.js +5 -5
- package/dist/Dialog/DialogTrigger.js.map +1 -1
- package/dist/Dialog/utils.cjs.map +1 -1
- package/dist/Dialog/utils.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.js +2 -2
- package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
- package/dist/DismissableLayer/utils.cjs +5 -3
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +5 -3
- 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 +2 -2
- package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.js +3 -3
- 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 +4 -4
- package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.js +5 -5
- package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.cjs +3 -3
- package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.js +4 -4
- 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 +5 -5
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.js +6 -6
- 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.cjs.map +1 -1
- package/dist/Editable/EditableInput.js +5 -5
- package/dist/Editable/EditableInput.js.map +1 -1
- package/dist/Editable/EditablePreview.cjs +4 -4
- package/dist/Editable/EditablePreview.cjs.map +1 -1
- package/dist/Editable/EditablePreview.js +5 -5
- package/dist/Editable/EditablePreview.js.map +1 -1
- package/dist/Editable/EditableRoot.cjs +2 -2
- package/dist/Editable/EditableRoot.cjs.map +1 -1
- package/dist/Editable/EditableRoot.js +3 -3
- package/dist/Editable/EditableRoot.js.map +1 -1
- package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
- package/dist/Editable/EditableSubmitTrigger.js +5 -5
- package/dist/FocusScope/FocusScope.cjs +1 -1
- package/dist/FocusScope/FocusScope.cjs.map +1 -1
- package/dist/FocusScope/FocusScope.js +2 -2
- package/dist/FocusScope/FocusScope.js.map +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.cjs +1 -1
- package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
- package/dist/HoverCard/HoverCardContent.js +2 -2
- package/dist/HoverCard/HoverCardContent.js.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +5 -5
- package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.js +6 -6
- package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
- package/dist/HoverCard/HoverCardPortal.js +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs +4 -4
- package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
- package/dist/HoverCard/HoverCardRoot.js +5 -5
- package/dist/HoverCard/HoverCardRoot.js.map +1 -1
- package/dist/HoverCard/HoverCardTrigger.cjs +1 -1
- package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
- package/dist/HoverCard/HoverCardTrigger.js +2 -2
- package/dist/HoverCard/HoverCardTrigger.js.map +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 +3 -3
- package/dist/Listbox/ListboxContent.cjs.map +1 -1
- package/dist/Listbox/ListboxContent.js +4 -4
- package/dist/Listbox/ListboxContent.js.map +1 -1
- 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 +7 -7
- package/dist/Listbox/ListboxItem.cjs.map +1 -1
- package/dist/Listbox/ListboxItem.js +8 -8
- package/dist/Listbox/ListboxItem.js.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.js +1 -1
- package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
- package/dist/Listbox/ListboxRoot.cjs +8 -8
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js +9 -9
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
- package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +5 -5
- package/dist/Listbox/ListboxVirtualizer.js.map +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.cjs.map +1 -1
- package/dist/Menu/MenuAnchor.js +1 -1
- package/dist/Menu/MenuAnchor.js.map +1 -1
- package/dist/Menu/MenuArrow.js +1 -1
- package/dist/Menu/MenuCheckboxItem.cjs +1 -1
- package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
- package/dist/Menu/MenuCheckboxItem.js +2 -2
- package/dist/Menu/MenuCheckboxItem.js.map +1 -1
- package/dist/Menu/MenuContent.cjs.map +1 -1
- package/dist/Menu/MenuContent.js +1 -1
- package/dist/Menu/MenuContent.js.map +1 -1
- package/dist/Menu/MenuContentImpl.cjs +3 -3
- package/dist/Menu/MenuContentImpl.cjs.map +1 -1
- package/dist/Menu/MenuContentImpl.js +5 -5
- package/dist/Menu/MenuContentImpl.js.map +1 -1
- package/dist/Menu/MenuGroup.js +1 -1
- package/dist/Menu/MenuItem.cjs.map +1 -1
- package/dist/Menu/MenuItem.js +1 -1
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Menu/MenuItemImpl.cjs +4 -4
- package/dist/Menu/MenuItemImpl.cjs.map +1 -1
- package/dist/Menu/MenuItemImpl.js +5 -5
- package/dist/Menu/MenuItemImpl.js.map +1 -1
- package/dist/Menu/MenuItemIndicator.cjs +1 -1
- package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
- package/dist/Menu/MenuItemIndicator.js +2 -2
- package/dist/Menu/MenuItemIndicator.js.map +1 -1
- 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.cjs +1 -1
- package/dist/Menu/MenuRadioItem.cjs.map +1 -1
- package/dist/Menu/MenuRadioItem.js +2 -2
- package/dist/Menu/MenuRadioItem.js.map +1 -1
- package/dist/Menu/MenuRoot.cjs +2 -2
- package/dist/Menu/MenuRoot.cjs.map +1 -1
- package/dist/Menu/MenuRoot.js +3 -3
- package/dist/Menu/MenuRoot.js.map +1 -1
- package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
- package/dist/Menu/MenuRootContentModal.js +1 -1
- package/dist/Menu/MenuRootContentModal.js.map +1 -1
- package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
- package/dist/Menu/MenuRootContentNonModal.js +1 -1
- package/dist/Menu/MenuRootContentNonModal.js.map +1 -1
- package/dist/Menu/MenuSeparator.js +1 -1
- package/dist/Menu/MenuSub.cjs +3 -3
- package/dist/Menu/MenuSub.cjs.map +1 -1
- package/dist/Menu/MenuSub.js +4 -4
- package/dist/Menu/MenuSub.js.map +1 -1
- 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 +3 -3
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js +4 -4
- 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 +2 -2
- package/dist/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/Menubar/MenubarContent.js +3 -3
- package/dist/Menubar/MenubarContent.js.map +1 -1
- package/dist/Menubar/MenubarGroup.cjs.map +1 -1
- package/dist/Menubar/MenubarGroup.js +1 -1
- package/dist/Menubar/MenubarGroup.js.map +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.cjs.map +1 -1
- package/dist/Menubar/MenubarMenu.js +2 -2
- package/dist/Menubar/MenubarMenu.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/Menubar/MenubarRoot.js +4 -4
- package/dist/Menubar/MenubarRoot.js.map +1 -1
- package/dist/Menubar/MenubarSeparator.js +1 -1
- package/dist/Menubar/MenubarSub.cjs +3 -3
- package/dist/Menubar/MenubarSub.cjs.map +1 -1
- package/dist/Menubar/MenubarSub.js +4 -4
- package/dist/Menubar/MenubarSub.js.map +1 -1
- package/dist/Menubar/MenubarSubContent.cjs.map +1 -1
- package/dist/Menubar/MenubarSubContent.js +1 -1
- package/dist/Menubar/MenubarSubContent.js.map +1 -1
- package/dist/Menubar/MenubarSubTrigger.js +1 -1
- package/dist/Menubar/MenubarTrigger.cjs +6 -6
- package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
- package/dist/Menubar/MenubarTrigger.js +7 -7
- package/dist/Menubar/MenubarTrigger.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.js +3 -3
- package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js +3 -3
- package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.js.map +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.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
- package/dist/NavigationMenu/NavigationMenuLink.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuList.js +1 -1
- package/dist/NavigationMenu/NavigationMenuList.js.map +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.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.js +2 -2
- package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.js +9 -9
- package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
- 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 +6 -6
- package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
- package/dist/NumberField/NumberFieldDecrement.js +7 -7
- package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
- package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
- package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
- package/dist/NumberField/NumberFieldIncrement.js +6 -6
- package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
- package/dist/NumberField/NumberFieldInput.cjs +4 -4
- package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
- package/dist/NumberField/NumberFieldInput.js +5 -5
- package/dist/NumberField/NumberFieldInput.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/NumberField/utils.js.map +1 -1
- package/dist/Pagination/PaginationEllipsis.js +1 -1
- package/dist/Pagination/PaginationFirst.cjs +1 -1
- package/dist/Pagination/PaginationFirst.cjs.map +1 -1
- package/dist/Pagination/PaginationFirst.js +2 -2
- package/dist/Pagination/PaginationFirst.js.map +1 -1
- package/dist/Pagination/PaginationLast.cjs +1 -1
- package/dist/Pagination/PaginationLast.cjs.map +1 -1
- package/dist/Pagination/PaginationLast.js +2 -2
- package/dist/Pagination/PaginationLast.js.map +1 -1
- package/dist/Pagination/PaginationList.js +1 -1
- package/dist/Pagination/PaginationListItem.cjs +3 -3
- package/dist/Pagination/PaginationListItem.cjs.map +1 -1
- package/dist/Pagination/PaginationListItem.js +4 -4
- package/dist/Pagination/PaginationListItem.js.map +1 -1
- package/dist/Pagination/PaginationNext.cjs +1 -1
- package/dist/Pagination/PaginationNext.cjs.map +1 -1
- package/dist/Pagination/PaginationNext.js +2 -2
- package/dist/Pagination/PaginationNext.js.map +1 -1
- package/dist/Pagination/PaginationPrev.cjs +1 -1
- package/dist/Pagination/PaginationPrev.cjs.map +1 -1
- package/dist/Pagination/PaginationPrev.js +2 -2
- package/dist/Pagination/PaginationPrev.js.map +1 -1
- package/dist/Pagination/PaginationRoot.cjs +2 -2
- package/dist/Pagination/PaginationRoot.cjs.map +1 -1
- package/dist/Pagination/PaginationRoot.js +3 -3
- package/dist/Pagination/PaginationRoot.js.map +1 -1
- package/dist/Pagination/utils.cjs.map +1 -1
- package/dist/Pagination/utils.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/PinInput/PinInputRoot.js +5 -5
- package/dist/PinInput/PinInputRoot.js.map +1 -1
- package/dist/Popover/PopoverAnchor.cjs.map +1 -1
- package/dist/Popover/PopoverAnchor.js +1 -1
- package/dist/Popover/PopoverAnchor.js.map +1 -1
- package/dist/Popover/PopoverArrow.js +1 -1
- package/dist/Popover/PopoverClose.cjs +1 -1
- package/dist/Popover/PopoverClose.cjs.map +1 -1
- package/dist/Popover/PopoverClose.js +2 -2
- package/dist/Popover/PopoverClose.js.map +1 -1
- 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.cjs +1 -1
- package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
- package/dist/Popover/PopoverContentImpl.js +2 -2
- package/dist/Popover/PopoverContentImpl.js.map +1 -1
- package/dist/Popover/PopoverContentModal.cjs +1 -1
- package/dist/Popover/PopoverContentModal.cjs.map +1 -1
- package/dist/Popover/PopoverContentModal.js +2 -2
- package/dist/Popover/PopoverContentModal.js.map +1 -1
- package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
- package/dist/Popover/PopoverContentNonModal.js +1 -1
- package/dist/Popover/PopoverContentNonModal.js.map +1 -1
- package/dist/Popover/PopoverPortal.js +1 -1
- package/dist/Popover/PopoverRoot.cjs +3 -3
- package/dist/Popover/PopoverRoot.cjs.map +1 -1
- package/dist/Popover/PopoverRoot.js +4 -4
- package/dist/Popover/PopoverRoot.js.map +1 -1
- package/dist/Popover/PopoverTrigger.cjs +3 -3
- package/dist/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/Popover/PopoverTrigger.js +4 -4
- package/dist/Popover/PopoverTrigger.js.map +1 -1
- package/dist/Popper/PopperAnchor.cjs.map +1 -1
- package/dist/Popper/PopperAnchor.js +1 -1
- package/dist/Popper/PopperAnchor.js.map +1 -1
- package/dist/Popper/PopperArrow.cjs +4 -4
- package/dist/Popper/PopperArrow.cjs.map +1 -1
- package/dist/Popper/PopperArrow.js +5 -5
- package/dist/Popper/PopperArrow.js.map +1 -1
- package/dist/Popper/PopperContent.cjs +4 -4
- 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/Popper/PopperRoot.cjs.map +1 -1
- package/dist/Popper/PopperRoot.js.map +1 -1
- package/dist/Presence/Presence.cjs +1 -1
- package/dist/Presence/Presence.cjs.map +1 -1
- package/dist/Presence/Presence.js +1 -1
- package/dist/Presence/Presence.js.map +1 -1
- package/dist/Presence/usePresence.cjs +4 -4
- package/dist/Presence/usePresence.cjs.map +1 -1
- package/dist/Presence/usePresence.js +4 -4
- 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/Primitive/Slot.cjs.map +1 -1
- package/dist/Primitive/Slot.js.map +1 -1
- package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
- package/dist/Primitive/usePrimitiveElement.js.map +1 -1
- package/dist/Progress/ProgressIndicator.cjs +1 -1
- package/dist/Progress/ProgressIndicator.cjs.map +1 -1
- package/dist/Progress/ProgressIndicator.js +2 -2
- package/dist/Progress/ProgressIndicator.js.map +1 -1
- package/dist/Progress/ProgressRoot.cjs +5 -5
- package/dist/Progress/ProgressRoot.cjs.map +1 -1
- package/dist/Progress/ProgressRoot.js +6 -6
- package/dist/Progress/ProgressRoot.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
- package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.cjs +3 -3
- package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.js +4 -4
- package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
- package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
- package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupRoot.js +6 -6
- package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
- package/dist/RadioGroup/utils.cjs.map +1 -1
- package/dist/RadioGroup/utils.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCell.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarCell.js +4 -4
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +85 -61
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +86 -62
- 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 +2 -2
- package/dist/RangeCalendar/RangeCalendarHeading.js +3 -3
- package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
- package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
- package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +24 -17
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +25 -18
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.cjs +8 -2
- package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.js +8 -2
- package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.cjs +5 -5
- package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.js +6 -6
- package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.cjs +5 -5
- package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.js +6 -6
- 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.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +3 -3
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.js +4 -4
- package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
- 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 +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.js +3 -3
- package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +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.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
- package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
- package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
- package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.cjs +2 -2
- package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js +3 -3
- package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
- package/dist/ScrollArea/utils.cjs.map +1 -1
- package/dist/ScrollArea/utils.js.map +1 -1
- 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.cjs +1 -1
- package/dist/Select/SelectArrow.cjs.map +1 -1
- package/dist/Select/SelectArrow.js +2 -2
- package/dist/Select/SelectArrow.js.map +1 -1
- package/dist/Select/SelectContent.cjs.map +1 -1
- package/dist/Select/SelectContent.js +1 -1
- package/dist/Select/SelectContent.js.map +1 -1
- package/dist/Select/SelectContentImpl.cjs +5 -5
- package/dist/Select/SelectContentImpl.cjs.map +1 -1
- package/dist/Select/SelectContentImpl.js +6 -6
- package/dist/Select/SelectContentImpl.js.map +1 -1
- 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 +7 -7
- package/dist/Select/SelectItem.cjs.map +1 -1
- package/dist/Select/SelectItem.js +8 -8
- package/dist/Select/SelectItem.js.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.cjs +2 -2
- package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.js +3 -3
- package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
- package/dist/Select/SelectItemIndicator.cjs.map +1 -1
- package/dist/Select/SelectItemIndicator.js +1 -1
- package/dist/Select/SelectItemIndicator.js.map +1 -1
- package/dist/Select/SelectItemText.cjs.map +1 -1
- package/dist/Select/SelectItemText.js +1 -1
- package/dist/Select/SelectItemText.js.map +1 -1
- package/dist/Select/SelectLabel.js +1 -1
- package/dist/Select/SelectPopperPosition.cjs +1 -1
- package/dist/Select/SelectPopperPosition.cjs.map +1 -1
- package/dist/Select/SelectPopperPosition.js +2 -2
- package/dist/Select/SelectPopperPosition.js.map +1 -1
- package/dist/Select/SelectPortal.js +1 -1
- package/dist/Select/SelectProvider.cjs.map +1 -1
- package/dist/Select/SelectProvider.js.map +1 -1
- package/dist/Select/SelectRoot.cjs +8 -8
- package/dist/Select/SelectRoot.cjs.map +1 -1
- package/dist/Select/SelectRoot.js +9 -9
- package/dist/Select/SelectRoot.js.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.js +1 -1
- package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
- package/dist/Select/SelectScrollDownButton.cjs +2 -2
- package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
- package/dist/Select/SelectScrollDownButton.js +3 -3
- 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 +6 -6
- package/dist/Select/SelectTrigger.cjs.map +1 -1
- package/dist/Select/SelectTrigger.js +7 -7
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/SelectValue.cjs +3 -2
- package/dist/Select/SelectValue.cjs.map +1 -1
- package/dist/Select/SelectValue.js +4 -3
- package/dist/Select/SelectValue.js.map +1 -1
- package/dist/Select/SelectViewport.cjs +2 -2
- package/dist/Select/SelectViewport.cjs.map +1 -1
- package/dist/Select/SelectViewport.js +3 -3
- package/dist/Select/SelectViewport.js.map +1 -1
- package/dist/Select/utils.cjs +6 -2
- package/dist/Select/utils.cjs.map +1 -1
- package/dist/Select/utils.js +6 -3
- 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.cjs.map +1 -1
- package/dist/Slider/SliderHorizontal.js +3 -3
- package/dist/Slider/SliderHorizontal.js.map +1 -1
- package/dist/Slider/SliderImpl.js +1 -1
- package/dist/Slider/SliderRange.cjs +1 -1
- package/dist/Slider/SliderRange.cjs.map +1 -1
- package/dist/Slider/SliderRange.js +2 -2
- package/dist/Slider/SliderRange.js.map +1 -1
- package/dist/Slider/SliderRoot.cjs +4 -4
- package/dist/Slider/SliderRoot.cjs.map +1 -1
- package/dist/Slider/SliderRoot.js +5 -5
- package/dist/Slider/SliderRoot.js.map +1 -1
- package/dist/Slider/SliderThumb.cjs +1 -1
- package/dist/Slider/SliderThumb.cjs.map +1 -1
- package/dist/Slider/SliderThumb.js +2 -2
- package/dist/Slider/SliderThumb.js.map +1 -1
- package/dist/Slider/SliderThumbImpl.cjs +5 -5
- package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
- package/dist/Slider/SliderThumbImpl.js +6 -6
- 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.cjs.map +1 -1
- package/dist/Slider/SliderVertical.js +3 -3
- package/dist/Slider/SliderVertical.js.map +1 -1
- 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 +7 -7
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js +8 -8
- 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 +3 -3
- package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
- package/dist/Splitter/SplitterResizeHandle.js +4 -4
- package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
- package/dist/Stepper/StepperDescription.cjs +1 -1
- package/dist/Stepper/StepperDescription.cjs.map +1 -1
- package/dist/Stepper/StepperDescription.js +2 -2
- package/dist/Stepper/StepperDescription.js.map +1 -1
- package/dist/Stepper/StepperIndicator.cjs.map +1 -1
- package/dist/Stepper/StepperIndicator.js +1 -1
- package/dist/Stepper/StepperIndicator.js.map +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.cjs.map +1 -1
- package/dist/Stepper/StepperRoot.js +4 -4
- package/dist/Stepper/StepperRoot.js.map +1 -1
- package/dist/Stepper/StepperSeparator.cjs.map +1 -1
- package/dist/Stepper/StepperSeparator.js +1 -1
- package/dist/Stepper/StepperSeparator.js.map +1 -1
- package/dist/Stepper/StepperTitle.cjs.map +1 -1
- package/dist/Stepper/StepperTitle.js +1 -1
- package/dist/Stepper/StepperTitle.js.map +1 -1
- package/dist/Stepper/StepperTrigger.cjs +6 -6
- package/dist/Stepper/StepperTrigger.cjs.map +1 -1
- package/dist/Stepper/StepperTrigger.js +7 -7
- 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.cjs.map +1 -1
- package/dist/Switch/SwitchThumb.js +2 -2
- package/dist/Switch/SwitchThumb.js.map +1 -1
- package/dist/Tabs/TabsContent.cjs +2 -2
- package/dist/Tabs/TabsContent.cjs.map +1 -1
- package/dist/Tabs/TabsContent.js +3 -3
- package/dist/Tabs/TabsContent.js.map +1 -1
- package/dist/Tabs/TabsIndicator.cjs.map +1 -1
- package/dist/Tabs/TabsIndicator.js +1 -1
- package/dist/Tabs/TabsIndicator.js.map +1 -1
- package/dist/Tabs/TabsList.cjs +2 -2
- package/dist/Tabs/TabsList.cjs.map +1 -1
- package/dist/Tabs/TabsList.js +3 -3
- package/dist/Tabs/TabsList.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/Tabs/TabsTrigger.js +4 -4
- package/dist/Tabs/TabsTrigger.js.map +1 -1
- package/dist/TagsInput/TagsInputClear.cjs +3 -3
- package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
- package/dist/TagsInput/TagsInputClear.js +4 -4
- package/dist/TagsInput/TagsInputClear.js.map +1 -1
- package/dist/TagsInput/TagsInputInput.cjs +2 -2
- package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
- package/dist/TagsInput/TagsInputInput.js +3 -3
- package/dist/TagsInput/TagsInputInput.js.map +1 -1
- package/dist/TagsInput/TagsInputItem.cjs +2 -2
- package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItem.js +3 -3
- package/dist/TagsInput/TagsInputItem.js.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.cjs +3 -3
- package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js +4 -4
- package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs +2 -2
- package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemText.js +3 -3
- 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.cjs.map +1 -1
- package/dist/TimeField/TimeFieldInput.js +6 -6
- package/dist/TimeField/TimeFieldInput.js.map +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs +18 -15
- 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.cjs +1 -1
- package/dist/Toast/ToastAnnounce.cjs.map +1 -1
- package/dist/Toast/ToastAnnounce.js +2 -2
- package/dist/Toast/ToastAnnounce.js.map +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/ToastProvider.cjs.map +1 -1
- package/dist/Toast/ToastProvider.js.map +1 -1
- package/dist/Toast/ToastRoot.cjs +30 -22
- package/dist/Toast/ToastRoot.cjs.map +1 -1
- package/dist/Toast/ToastRoot.js +31 -23
- package/dist/Toast/ToastRoot.js.map +1 -1
- package/dist/Toast/ToastRootImpl.cjs +3 -3
- package/dist/Toast/ToastRootImpl.cjs.map +1 -1
- package/dist/Toast/ToastRootImpl.js +4 -4
- package/dist/Toast/ToastRootImpl.js.map +1 -1
- package/dist/Toast/ToastTitle.js +1 -1
- package/dist/Toast/ToastViewport.cjs +5 -5
- package/dist/Toast/ToastViewport.cjs.map +1 -1
- package/dist/Toast/ToastViewport.js +6 -6
- package/dist/Toast/ToastViewport.js.map +1 -1
- package/dist/Toast/utils.js +1 -1
- package/dist/Toggle/Toggle.cjs +4 -4
- package/dist/Toggle/Toggle.cjs.map +1 -1
- package/dist/Toggle/Toggle.js +5 -5
- package/dist/Toggle/Toggle.js.map +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
- package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
- package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/Toolbar/ToolbarRoot.js +3 -3
- package/dist/Toolbar/ToolbarRoot.js.map +1 -1
- package/dist/Toolbar/ToolbarSeparator.cjs +1 -1
- package/dist/Toolbar/ToolbarSeparator.js +2 -2
- package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.js +2 -2
- package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
- package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
- package/dist/Toolbar/ToolbarToggleItem.js +1 -1
- package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
- package/dist/Tooltip/TooltipArrow.js +1 -1
- package/dist/Tooltip/TooltipContent.cjs +1 -1
- package/dist/Tooltip/TooltipContent.cjs.map +1 -1
- package/dist/Tooltip/TooltipContent.js +2 -2
- package/dist/Tooltip/TooltipContent.js.map +1 -1
- package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentHoverable.js +1 -1
- package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
- package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +4 -4
- package/dist/Tooltip/TooltipContentImpl.js.map +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 +9 -9
- package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
- package/dist/Tooltip/TooltipRoot.js +10 -10
- package/dist/Tooltip/TooltipRoot.js.map +1 -1
- package/dist/Tooltip/TooltipTrigger.cjs +6 -3
- package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/Tooltip/TooltipTrigger.js +7 -4
- 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 +9 -9
- package/dist/Tree/TreeRoot.cjs.map +1 -1
- package/dist/Tree/TreeRoot.js +10 -10
- package/dist/Tree/TreeRoot.js.map +1 -1
- package/dist/Tree/TreeVirtualizer.cjs +3 -3
- package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
- package/dist/Tree/TreeVirtualizer.js +4 -4
- package/dist/Tree/TreeVirtualizer.js.map +1 -1
- package/dist/Tree/utils.cjs.map +1 -1
- package/dist/Tree/utils.js.map +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.cjs.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/component/BaseSeparator.js +2 -2
- package/dist/component/BaseSeparator.js.map +1 -1
- package/dist/composables/useWindowSplitterBehavior.cjs.map +1 -1
- package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
- 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/calendar.cjs +1 -1
- package/dist/date/calendar.cjs.map +1 -1
- package/dist/date/calendar.js +1 -1
- package/dist/date/calendar.js.map +1 -1
- package/dist/date/comparators.cjs +6 -4
- package/dist/date/comparators.cjs.map +1 -1
- package/dist/date/comparators.js +7 -5
- package/dist/date/comparators.js.map +1 -1
- package/dist/date/parser.cjs +2 -2
- package/dist/date/parser.cjs.map +1 -1
- package/dist/date/parser.js +3 -3
- package/dist/date/parser.js.map +1 -1
- 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 +9 -9
- package/dist/date/utils.cjs.map +1 -1
- package/dist/date/utils.js +9 -9
- package/dist/date/utils.js.map +1 -1
- package/dist/date.d.ts +2 -2
- package/dist/index.cjs +378 -374
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1265 -1336
- package/dist/index.js +175 -173
- package/dist/index.js.map +1 -1
- package/dist/shared/createContext.cjs.map +1 -1
- package/dist/shared/createContext.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/renderSlotFragments.cjs.map +1 -1
- package/dist/shared/renderSlotFragments.js.map +1 -1
- package/dist/shared/useArrowNavigation.cjs.map +1 -1
- package/dist/shared/useArrowNavigation.js.map +1 -1
- package/dist/shared/useBodyScrollLock.cjs +3 -3
- 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.cjs +1 -1
- package/dist/shared/useDateFormatter.cjs.map +1 -1
- package/dist/shared/useDateFormatter.js +2 -2
- package/dist/shared/useDateFormatter.js.map +1 -1
- package/dist/shared/useDirection.cjs.map +1 -1
- package/dist/shared/useDirection.js.map +1 -1
- package/dist/shared/useFilter.cjs.map +1 -1
- package/dist/shared/useFilter.js.map +1 -1
- package/dist/shared/useFormControl.cjs.map +1 -1
- package/dist/shared/useFormControl.js.map +1 -1
- package/dist/shared/useForwardExpose.cjs.map +1 -1
- package/dist/shared/useForwardExpose.js.map +1 -1
- 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/useForwardPropsEmits.cjs.map +1 -1
- package/dist/shared/useForwardPropsEmits.js.map +1 -1
- package/dist/shared/useGraceArea.cjs +2 -2
- package/dist/shared/useGraceArea.cjs.map +1 -1
- package/dist/shared/useGraceArea.js +2 -2
- package/dist/shared/useGraceArea.js.map +1 -1
- package/dist/shared/useHideOthers.cjs.map +1 -1
- package/dist/shared/useHideOthers.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/useLocale.cjs.map +1 -1
- package/dist/shared/useLocale.js.map +1 -1
- package/dist/shared/useNonce.cjs.map +1 -1
- package/dist/shared/useNonce.js.map +1 -1
- package/dist/shared/useSelectionBehavior.cjs +3 -3
- package/dist/shared/useSelectionBehavior.cjs.map +1 -1
- package/dist/shared/useSelectionBehavior.js +3 -3
- package/dist/shared/useSelectionBehavior.js.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.cjs +6 -6
- package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.js +6 -6
- 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/useStateMachine.cjs.map +1 -1
- package/dist/shared/useStateMachine.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/shared/withDefault.cjs.map +1 -1
- package/dist/shared/withDefault.js.map +1 -1
- package/dist/utils/calculate.cjs +1 -1
- package/dist/utils/calculate.cjs.map +1 -1
- package/dist/utils/calculate.js +1 -1
- package/dist/utils/calculate.js.map +1 -1
- package/dist/utils/dom.cjs.map +1 -1
- package/dist/utils/dom.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/registry.cjs +1 -1
- package/dist/utils/registry.cjs.map +1 -1
- package/dist/utils/registry.js +1 -1
- package/dist/utils/registry.js.map +1 -1
- package/dist/utils/resizePanel.cjs +1 -1
- package/dist/utils/resizePanel.cjs.map +1 -1
- package/dist/utils/resizePanel.js +1 -1
- package/dist/utils/resizePanel.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 +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGraceArea.cjs","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import { type Ref, ref, watchEffect } from 'vue'\nimport type { Side } from '@/Popper/utils'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value)\n return\n const target = event.target as HTMLElement\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":["refAutoReset","ref","createEventHook","watchEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useGraceArea.cjs","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import type { Side } from '@/Popper/utils'\nimport type { Ref } from 'vue'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\nimport { ref, watchEffect } from 'vue'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))\n return\n\n const target = event.target\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":["refAutoReset","ref","createEventHook","watchEffect"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ref, watchEffect } from 'vue';
|
|
2
1
|
import { refAutoReset, createEventHook } from '@vueuse/shared';
|
|
2
|
+
import { ref, watchEffect } from 'vue';
|
|
3
3
|
|
|
4
4
|
function useGraceArea(triggerElement, containerElement) {
|
|
5
5
|
const isPointerInTransit = refAutoReset(false, 300);
|
|
@@ -34,7 +34,7 @@ function useGraceArea(triggerElement, containerElement) {
|
|
|
34
34
|
watchEffect((cleanupFn) => {
|
|
35
35
|
if (pointerGraceArea.value) {
|
|
36
36
|
const handleTrackPointerGrace = (event) => {
|
|
37
|
-
if (!pointerGraceArea.value)
|
|
37
|
+
if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))
|
|
38
38
|
return;
|
|
39
39
|
const target = event.target;
|
|
40
40
|
const pointerPosition = { x: event.clientX, y: event.clientY };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGraceArea.js","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import { type Ref, ref, watchEffect } from 'vue'\nimport type { Side } from '@/Popper/utils'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value)\n return\n const target = event.target as HTMLElement\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useGraceArea.js","sources":["../../src/shared/useGraceArea.ts"],"sourcesContent":["import type { Side } from '@/Popper/utils'\nimport type { Ref } from 'vue'\nimport { createEventHook, refAutoReset } from '@vueuse/shared'\nimport { ref, watchEffect } from 'vue'\n\nexport function useGraceArea(triggerElement: Ref<HTMLElement | undefined>, containerElement: Ref<HTMLElement | undefined>) {\n// Reset the inTransit state if idle/scrolled.\n const isPointerInTransit = refAutoReset(false, 300)\n\n const pointerGraceArea = ref<Polygon | null>(null)\n const pointerExit = createEventHook<void>()\n\n function handleRemoveGraceArea() {\n pointerGraceArea.value = null\n isPointerInTransit.value = false\n }\n\n function handleCreateGraceArea(event: PointerEvent, hoverTarget: HTMLElement) {\n const currentTarget = event.currentTarget as HTMLElement\n const exitPoint = { x: event.clientX, y: event.clientY }\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect())\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide)\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect())\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints])\n pointerGraceArea.value = graceArea\n isPointerInTransit.value = true\n }\n\n watchEffect((cleanupFn) => {\n if (triggerElement.value && containerElement.value) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, containerElement.value!)\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, triggerElement.value!)\n\n triggerElement.value.addEventListener('pointerleave', handleTriggerLeave)\n containerElement.value.addEventListener('pointerleave', handleContentLeave)\n\n cleanupFn(() => {\n triggerElement.value?.removeEventListener('pointerleave', handleTriggerLeave)\n containerElement.value?.removeEventListener('pointerleave', handleContentLeave)\n })\n }\n })\n\n watchEffect((cleanupFn) => {\n if (pointerGraceArea.value) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n if (!pointerGraceArea.value || !(event.target instanceof HTMLElement))\n return\n\n const target = event.target\n const pointerPosition = { x: event.clientX, y: event.clientY }\n const hasEnteredTarget = triggerElement.value?.contains(target) || containerElement.value?.contains(target)\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea.value)\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]')\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea()\n }\n else if (isPointerOutsideGraceArea || isAnotherGraceAreaTrigger) {\n handleRemoveGraceArea()\n pointerExit.trigger()\n }\n }\n triggerElement.value?.ownerDocument.addEventListener('pointermove', handleTrackPointerGrace)\n\n cleanupFn(() => triggerElement.value?.ownerDocument.removeEventListener('pointermove', handleTrackPointerGrace))\n }\n })\n\n return {\n isPointerInTransit,\n onPointerExit: pointerExit.on,\n }\n}\n\ninterface Point { x: number, y: number }\n type Polygon = Point[]\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y)\n const bottom = Math.abs(rect.bottom - point.y)\n const right = Math.abs(rect.right - point.x)\n const left = Math.abs(rect.left - point.x)\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left'\n case right:\n return 'right'\n case top:\n return 'top'\n case bottom:\n return 'bottom'\n default:\n throw new Error('unreachable')\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = []\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n )\n break\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding },\n )\n break\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n )\n break\n }\n return paddedExitPoints\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ]\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x\n const yi = polygon[i].y\n const xj = polygon[j].x\n const yj = polygon[j].y\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect)\n inside = !inside\n }\n\n return inside\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice()\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x)\n return -1\n else if (a.x > b.x)\n return +1\n else if (a.y < b.y)\n return -1\n else if (a.y > b.y)\n return +1\n else return 0\n })\n return getHullPresorted(newPoints)\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1)\n return points.slice()\n\n const upperHull: Array<P> = []\n for (let i = 0; i < points.length; i++) {\n const p = points[i]\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]\n const r = upperHull[upperHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upperHull.pop()\n else break\n }\n upperHull.push(p)\n }\n upperHull.pop()\n\n const lowerHull: Array<P> = []\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]\n const r = lowerHull[lowerHull.length - 2]\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lowerHull.pop()\n else break\n }\n lowerHull.push(p)\n }\n lowerHull.pop()\n\n if (\n upperHull.length === 1\n && lowerHull.length === 1\n && upperHull[0].x === lowerHull[0].x\n && upperHull[0].y === lowerHull[0].y\n ) {\n return upperHull\n }\n\n else {\n return upperHull.concat(lowerHull)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHideOthers.cjs","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useHideOthers.cjs","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":["watch","unrefElement","hideOthers","onUnmounted"],"mappings":";;;;;;AAYO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAAA,SAAA,CAAM,MAAMC,iBAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAOC,sBAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAAC,eAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHideOthers.js","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useHideOthers.js","sources":["../../src/shared/useHideOthers.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { hideOthers } from 'aria-hidden'\nimport { onUnmounted, watch } from 'vue'\n\n/**\n * The `useHideOthers` function is a TypeScript function that takes a target element reference and\n * hides all other elements in ARIA when the target element is present, and restores the visibility of the\n * hidden elements when the target element is removed.\n * @param {MaybeElementRef} target - The `target` parameter is a reference to the element that you want\n * to hide other elements when it is clicked or focused.\n */\nexport function useHideOthers(target: MaybeElementRef) {\n let undo: ReturnType<typeof hideOthers>\n watch(() => unrefElement(target), (el) => {\n // disable hideOthers on test mode\n if (import.meta.env.MODE === 'test')\n return\n if (el)\n undo = hideOthers(el)\n else if (undo)\n undo()\n })\n\n onUnmounted(() => {\n if (undo)\n undo()\n })\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,cAAc,MAAyB,EAAA;AACjD,EAAA,IAAA,IAAA;AACJ,EAAA,KAAA,CAAM,MAAM,YAAA,CAAa,MAAM,CAAA,EAAG,CAAC,EAAO,KAAA;AAIpC,IAAA,IAAA,EAAA;AACF,MAAA,IAAA,GAAO,WAAW,EAAE,CAAA;AAAA,SACb,IAAA,IAAA;AACF,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AACZ,IAAA,IAAA,IAAA;AACG,MAAA,IAAA,EAAA;AAAA,GACR,CAAA;AACH;;;;"}
|
package/dist/shared/useId.cjs
CHANGED
|
@@ -26,7 +26,7 @@ let count = 0;
|
|
|
26
26
|
function useId(deterministicId, prefix = "reka") {
|
|
27
27
|
if (deterministicId)
|
|
28
28
|
return deterministicId;
|
|
29
|
-
const configProviderContext = ConfigProvider_ConfigProvider.injectConfigProviderContext({ useId:
|
|
29
|
+
const configProviderContext = ConfigProvider_ConfigProvider.injectConfigProviderContext({ useId: void 0 });
|
|
30
30
|
if (vue__namespace.useId) {
|
|
31
31
|
return `${prefix}-${vue__namespace.useId()}`;
|
|
32
32
|
} else if (configProviderContext.useId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useId.cjs","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":["injectConfigProviderContext","vue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAAA,yDAAA,CAA4B,EAAE,KAAA,EAAO,
|
|
1
|
+
{"version":3,"file":"useId.cjs","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":["injectConfigProviderContext","vue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAAA,yDAAA,CAA4B,EAAE,KAAA,EAAO,QAAW,CAAA;AAE9E,EAAA,IAAIC,eAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAAA,cAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
|
package/dist/shared/useId.js
CHANGED
|
@@ -5,7 +5,7 @@ let count = 0;
|
|
|
5
5
|
function useId(deterministicId, prefix = "reka") {
|
|
6
6
|
if (deterministicId)
|
|
7
7
|
return deterministicId;
|
|
8
|
-
const configProviderContext = injectConfigProviderContext({ useId:
|
|
8
|
+
const configProviderContext = injectConfigProviderContext({ useId: void 0 });
|
|
9
9
|
if (vue.useId) {
|
|
10
10
|
return `${prefix}-${vue.useId()}`;
|
|
11
11
|
} else if (configProviderContext.useId) {
|
package/dist/shared/useId.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useId.js","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":[],"mappings":";;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAA,2BAAA,CAA4B,EAAE,KAAA,EAAO,
|
|
1
|
+
{"version":3,"file":"useId.js","sources":["../../src/shared/useId.ts"],"sourcesContent":["// Inspired from https://github.com/tailwindlabs/headlessui/issues/2913\n// as the alternative, and a fallback for Vue version < 3.5\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport * as vue from 'vue'\n\nlet count = 0\n/**\n * The `useId` function generates a unique identifier using a provided deterministic ID or a default\n * one prefixed with \"reka-\", or the provided one via `useId` props from `<ConfigProvider>`.\n * @param {string | null | undefined} [deterministicId] - The `useId` function you provided takes an\n * optional parameter `deterministicId`, which can be a string, null, or undefined. If\n * `deterministicId` is provided, the function will return it. Otherwise, it will generate an id using\n * the `useId` function obtained\n */\nexport function useId(deterministicId?: string | null | undefined, prefix = 'reka') {\n if (deterministicId)\n return deterministicId\n\n const configProviderContext = injectConfigProviderContext({ useId: undefined })\n\n if (vue.useId) {\n return `${prefix}-${vue.useId()}`\n }\n else if (configProviderContext.useId) {\n return `${prefix}-${configProviderContext.useId()}`\n }\n\n return `${prefix}-${++count}`\n}\n"],"names":[],"mappings":";;;AAKA,IAAI,KAAQ,GAAA,CAAA;AASI,SAAA,KAAA,CAAM,eAA6C,EAAA,MAAA,GAAS,MAAQ,EAAA;AAClF,EAAI,IAAA,eAAA;AACF,IAAO,OAAA,eAAA;AAET,EAAA,MAAM,qBAAwB,GAAA,2BAAA,CAA4B,EAAE,KAAA,EAAO,QAAW,CAAA;AAE9E,EAAA,IAAI,IAAI,KAAO,EAAA;AACb,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AAAA,GACjC,MAAA,IACS,sBAAsB,KAAO,EAAA;AACpC,IAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAAA;AAGnD,EAAA,OAAO,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,EAAE,KAAK,CAAA,CAAA;AAC7B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocale.cjs","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport {
|
|
1
|
+
{"version":3,"file":"useLocale.cjs","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAIO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQC,QAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocale.js","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport {
|
|
1
|
+
{"version":3,"file":"useLocale.js","sources":["../../src/shared/useLocale.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useLocale(locale?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n locale: ref('en'),\n })\n return computed(() => locale?.value || context.locale?.value || 'en')\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,UAAU,MAAkC,EAAA;AAC1D,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,MAAA,EAAQ,IAAI,IAAI;AAAA,GACjB,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,MAAA,EAAQ,SAAS,OAAQ,CAAA,MAAA,EAAQ,SAAS,IAAI,CAAA;AACtE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNonce.cjs","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport {
|
|
1
|
+
{"version":3,"file":"useNonce.cjs","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":["injectConfigProviderContext","ref","computed"],"mappings":";;;;;AAIO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAUA,yDAA4B,CAAA;AAAA,IAC1C,OAAOC,OAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAOC,aAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNonce.js","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport {
|
|
1
|
+
{"version":3,"file":"useNonce.js","sources":["../../src/shared/useNonce.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { injectConfigProviderContext } from '@/ConfigProvider/ConfigProvider.vue'\nimport { computed, ref } from 'vue'\n\nexport function useNonce(nonce?: Ref<string | undefined>) {\n const context = injectConfigProviderContext({\n nonce: ref(),\n })\n return computed(() => nonce?.value || context.nonce?.value)\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SAAS,KAAiC,EAAA;AACxD,EAAA,MAAM,UAAU,2BAA4B,CAAA;AAAA,IAC1C,OAAO,GAAI;AAAA,GACZ,CAAA;AACD,EAAA,OAAO,SAAS,MAAM,KAAA,EAAO,KAAS,IAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5D;;;;"}
|
|
@@ -13,16 +13,16 @@ function useSelectionBehavior(modelValue, props) {
|
|
|
13
13
|
} else {
|
|
14
14
|
const index = modelValue.value.findIndex((v) => condition(v));
|
|
15
15
|
if (index !== -1)
|
|
16
|
-
modelValue.value.
|
|
16
|
+
modelValue.value = modelValue.value.filter((_, i) => i !== index);
|
|
17
17
|
else
|
|
18
|
-
modelValue.value.
|
|
18
|
+
modelValue.value = [...modelValue.value, val];
|
|
19
19
|
}
|
|
20
20
|
} else {
|
|
21
21
|
if (props.selectionBehavior === "replace") {
|
|
22
22
|
modelValue.value = { ...val };
|
|
23
23
|
} else {
|
|
24
24
|
if (!Array.isArray(modelValue.value) && condition(modelValue.value))
|
|
25
|
-
modelValue.value =
|
|
25
|
+
modelValue.value = void 0;
|
|
26
26
|
else
|
|
27
27
|
modelValue.value = { ...val };
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectionBehavior.cjs","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSelectionBehavior.cjs","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import type { Ref, UnwrapNestedRefs } from 'vue'\nimport { ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n else\n modelValue.value = [...modelValue.value, val]\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":["ref","findValuesBetween"],"mappings":";;;;;AAIgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAaA,OAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,GAAQ,WAAW,KAAM,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA,CAAA,KAAM,MAAM,KAAK,CAAA;AAAA;AAEhE,UAAA,UAAA,CAAW,KAAQ,GAAA,CAAC,GAAG,UAAA,CAAW,OAAO,GAAG,CAAA;AAAA;AAChD,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,MAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQC,+BAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQA,gCAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAAA,+BAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -11,16 +11,16 @@ function useSelectionBehavior(modelValue, props) {
|
|
|
11
11
|
} else {
|
|
12
12
|
const index = modelValue.value.findIndex((v) => condition(v));
|
|
13
13
|
if (index !== -1)
|
|
14
|
-
modelValue.value.
|
|
14
|
+
modelValue.value = modelValue.value.filter((_, i) => i !== index);
|
|
15
15
|
else
|
|
16
|
-
modelValue.value.
|
|
16
|
+
modelValue.value = [...modelValue.value, val];
|
|
17
17
|
}
|
|
18
18
|
} else {
|
|
19
19
|
if (props.selectionBehavior === "replace") {
|
|
20
20
|
modelValue.value = { ...val };
|
|
21
21
|
} else {
|
|
22
22
|
if (!Array.isArray(modelValue.value) && condition(modelValue.value))
|
|
23
|
-
modelValue.value =
|
|
23
|
+
modelValue.value = void 0;
|
|
24
24
|
else
|
|
25
25
|
modelValue.value = { ...val };
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectionBehavior.js","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSelectionBehavior.js","sources":["../../src/shared/useSelectionBehavior.ts"],"sourcesContent":["import type { Ref, UnwrapNestedRefs } from 'vue'\nimport { ref } from 'vue'\nimport { findValuesBetween } from './arrays'\n\nexport function useSelectionBehavior<T>(\n modelValue: Ref<T | T[]>,\n props: UnwrapNestedRefs<{ multiple?: boolean, selectionBehavior?: 'toggle' | 'replace' }>,\n) {\n const firstValue = ref()\n\n const onSelectItem = (val: T, condition: (existingValue: T) => boolean) => {\n // multiple select\n if (props.multiple && Array.isArray(modelValue.value)) {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = [val]\n firstValue.value = val\n }\n else {\n const index = modelValue.value.findIndex(v => condition(v))\n if (index !== -1)\n modelValue.value = modelValue.value.filter((_, i) => i !== index)\n else\n modelValue.value = [...modelValue.value, val]\n }\n }\n // single select\n else {\n if (props.selectionBehavior === 'replace') {\n modelValue.value = { ...val }\n }\n else {\n if (!Array.isArray(modelValue.value) && condition(modelValue.value))\n modelValue.value = undefined as any\n else\n modelValue.value = { ...val }\n }\n }\n return modelValue.value\n }\n\n function handleMultipleReplace(intent: 'first' | 'last' | 'prev' | 'next', currentElement: HTMLElement | Element | null, getItems: () => { ref: HTMLElement, value?: any }[], options: any[]) {\n if (!firstValue?.value || !props.multiple || !Array.isArray(modelValue.value))\n return\n\n const collection = getItems().filter(i => i.ref.dataset.disabled !== '')\n const lastValue = collection.find(i => i.ref === currentElement)?.value\n if (!lastValue)\n return\n\n let value: T[] | null = null\n switch (intent) {\n case 'prev':\n case 'next': {\n value = findValuesBetween(options, firstValue.value, lastValue)\n break\n }\n case 'first': {\n value = findValuesBetween(options, firstValue.value, options?.[0])\n break\n }\n case 'last': {\n value = findValuesBetween(options, firstValue.value, options?.[options.length - 1])\n break\n }\n }\n\n modelValue.value = value\n }\n\n return {\n firstValue,\n onSelectItem,\n handleMultipleReplace,\n }\n}\n"],"names":[],"mappings":";;;AAIgB,SAAA,oBAAA,CACd,YACA,KACA,EAAA;AACA,EAAA,MAAM,aAAa,GAAI,EAAA;AAEvB,EAAM,MAAA,YAAA,GAAe,CAAC,GAAA,EAAQ,SAA6C,KAAA;AAEzE,IAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA;AACrD,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,GAAG,CAAA;AACvB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA;AAAA,OAEhB,MAAA;AACH,QAAA,MAAM,QAAQ,UAAW,CAAA,KAAA,CAAM,UAAU,CAAK,CAAA,KAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAC1D,QAAA,IAAI,KAAU,KAAA,EAAA;AACZ,UAAW,UAAA,CAAA,KAAA,GAAQ,WAAW,KAAM,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA,CAAA,KAAM,MAAM,KAAK,CAAA;AAAA;AAEhE,UAAA,UAAA,CAAW,KAAQ,GAAA,CAAC,GAAG,UAAA,CAAW,OAAO,GAAG,CAAA;AAAA;AAChD,KAGG,MAAA;AACH,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA,OAEzB,MAAA;AACH,QAAI,IAAA,CAAC,MAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAK,IAAA,SAAA,CAAU,WAAW,KAAK,CAAA;AAChE,UAAA,UAAA,CAAW,KAAQ,GAAA,MAAA;AAAA;AAEnB,UAAW,UAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,GAAI,EAAA;AAAA;AAChC;AAEF,IAAA,OAAO,UAAW,CAAA,KAAA;AAAA,GACpB;AAEA,EAAA,SAAS,qBAAsB,CAAA,MAAA,EAA4C,cAA8C,EAAA,QAAA,EAAqD,OAAgB,EAAA;AAC5L,IAAI,IAAA,CAAC,UAAY,EAAA,KAAA,IAAS,CAAC,KAAA,CAAM,YAAY,CAAC,KAAA,CAAM,OAAQ,CAAA,UAAA,CAAW,KAAK,CAAA;AAC1E,MAAA;AAEF,IAAM,MAAA,UAAA,GAAa,UAAW,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,CAAI,OAAQ,CAAA,QAAA,KAAa,EAAE,CAAA;AACvE,IAAA,MAAM,YAAY,UAAW,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,GAAA,KAAQ,cAAc,CAAG,EAAA,KAAA;AAClE,IAAA,IAAI,CAAC,SAAA;AACH,MAAA;AAEF,IAAA,IAAI,KAAoB,GAAA,IAAA;AACxB,IAAA,QAAQ,MAAQ;AAAA,MACd,KAAK,MAAA;AAAA,MACL,KAAK,MAAQ,EAAA;AACX,QAAA,KAAA,GAAQ,iBAAkB,CAAA,OAAA,EAAS,UAAW,CAAA,KAAA,EAAO,SAAS,CAAA;AAC9D,QAAA;AAAA;AACF,MACA,KAAK,OAAS,EAAA;AACZ,QAAA,KAAA,GAAQ,kBAAkB,OAAS,EAAA,UAAA,CAAW,KAAO,EAAA,OAAA,GAAU,CAAC,CAAC,CAAA;AACjE,QAAA;AAAA;AACF,MACA,KAAK,MAAQ,EAAA;AACX,QAAQ,KAAA,GAAA,iBAAA,CAAkB,SAAS,UAAW,CAAA,KAAA,EAAO,UAAU,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAClF,QAAA;AAAA;AACF;AAGF,IAAA,UAAA,CAAW,KAAQ,GAAA,KAAA;AAAA;AAGrB,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const core = require('@vueuse/core');
|
|
4
|
-
const vue = require('vue');
|
|
5
4
|
const ohash = require('ohash');
|
|
5
|
+
const vue = require('vue');
|
|
6
6
|
const shared_isValueEqualOrExist = require('./isValueEqualOrExist.cjs');
|
|
7
7
|
|
|
8
8
|
function validateProps({ type, defaultValue, modelValue }) {
|
|
9
9
|
const value = modelValue || defaultValue;
|
|
10
|
-
const canTypeBeInferred = modelValue !==
|
|
10
|
+
const canTypeBeInferred = modelValue !== void 0 || defaultValue !== void 0;
|
|
11
11
|
if (canTypeBeInferred)
|
|
12
12
|
return Array.isArray(value) ? "multiple" : "single";
|
|
13
13
|
else
|
|
@@ -19,20 +19,20 @@ function getDefaultType({ type, defaultValue, modelValue }) {
|
|
|
19
19
|
return validateProps({ type, defaultValue, modelValue });
|
|
20
20
|
}
|
|
21
21
|
function getDefaultValue({ type, defaultValue }) {
|
|
22
|
-
if (defaultValue !==
|
|
22
|
+
if (defaultValue !== void 0)
|
|
23
23
|
return defaultValue;
|
|
24
|
-
return type === "single" ?
|
|
24
|
+
return type === "single" ? void 0 : [];
|
|
25
25
|
}
|
|
26
26
|
function useSingleOrMultipleValue(props, emits) {
|
|
27
27
|
const type = vue.computed(() => getDefaultType(props));
|
|
28
28
|
const modelValue = core.useVModel(props, "modelValue", emits, {
|
|
29
29
|
defaultValue: getDefaultValue(props),
|
|
30
|
-
passive: props.modelValue ===
|
|
30
|
+
passive: props.modelValue === void 0,
|
|
31
31
|
deep: true
|
|
32
32
|
});
|
|
33
33
|
function changeModelValue(value) {
|
|
34
34
|
if (type.value === "single") {
|
|
35
|
-
modelValue.value = ohash.isEqual(value, modelValue.value) ?
|
|
35
|
+
modelValue.value = ohash.isEqual(value, modelValue.value) ? void 0 : value;
|
|
36
36
|
} else {
|
|
37
37
|
const modelValueArray = Array.isArray(modelValue.value) ? [...modelValue.value || []] : [modelValue.value].filter(Boolean);
|
|
38
38
|
if (shared_isValueEqualOrExist.isValueEqualOrExist(modelValueArray, value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSingleOrMultipleValue.cjs","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSingleOrMultipleValue.cjs","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { useVModel } from '@vueuse/core'\nimport { isEqual } from 'ohash'\nimport { computed } from 'vue'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":["computed","useVModel","isEqual","isValueEqualOrExist"],"mappings":";;;;;;;AAiBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,MAAA,IAAa,YAAiB,KAAA,MAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,MAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAAA,YAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,MAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQC,aAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,MAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAAC,8CAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAKD,aAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAAF,YAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useVModel } from '@vueuse/core';
|
|
2
|
-
import { computed } from 'vue';
|
|
3
2
|
import { isEqual } from 'ohash';
|
|
3
|
+
import { computed } from 'vue';
|
|
4
4
|
import { i as isValueEqualOrExist } from './isValueEqualOrExist.js';
|
|
5
5
|
|
|
6
6
|
function validateProps({ type, defaultValue, modelValue }) {
|
|
7
7
|
const value = modelValue || defaultValue;
|
|
8
|
-
const canTypeBeInferred = modelValue !==
|
|
8
|
+
const canTypeBeInferred = modelValue !== void 0 || defaultValue !== void 0;
|
|
9
9
|
if (canTypeBeInferred)
|
|
10
10
|
return Array.isArray(value) ? "multiple" : "single";
|
|
11
11
|
else
|
|
@@ -17,20 +17,20 @@ function getDefaultType({ type, defaultValue, modelValue }) {
|
|
|
17
17
|
return validateProps({ type, defaultValue, modelValue });
|
|
18
18
|
}
|
|
19
19
|
function getDefaultValue({ type, defaultValue }) {
|
|
20
|
-
if (defaultValue !==
|
|
20
|
+
if (defaultValue !== void 0)
|
|
21
21
|
return defaultValue;
|
|
22
|
-
return type === "single" ?
|
|
22
|
+
return type === "single" ? void 0 : [];
|
|
23
23
|
}
|
|
24
24
|
function useSingleOrMultipleValue(props, emits) {
|
|
25
25
|
const type = computed(() => getDefaultType(props));
|
|
26
26
|
const modelValue = useVModel(props, "modelValue", emits, {
|
|
27
27
|
defaultValue: getDefaultValue(props),
|
|
28
|
-
passive: props.modelValue ===
|
|
28
|
+
passive: props.modelValue === void 0,
|
|
29
29
|
deep: true
|
|
30
30
|
});
|
|
31
31
|
function changeModelValue(value) {
|
|
32
32
|
if (type.value === "single") {
|
|
33
|
-
modelValue.value = isEqual(value, modelValue.value) ?
|
|
33
|
+
modelValue.value = isEqual(value, modelValue.value) ? void 0 : value;
|
|
34
34
|
} else {
|
|
35
35
|
const modelValueArray = Array.isArray(modelValue.value) ? [...modelValue.value || []] : [modelValue.value].filter(Boolean);
|
|
36
36
|
if (isValueEqualOrExist(modelValueArray, value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSingleOrMultipleValue.js","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSingleOrMultipleValue.js","sources":["../../src/shared/useSingleOrMultipleValue.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { AcceptableValue, SingleOrMultipleProps } from './types'\nimport { useVModel } from '@vueuse/core'\nimport { isEqual } from 'ohash'\nimport { computed } from 'vue'\nimport { isValueEqualOrExist } from './isValueEqualOrExist'\n\n/**\n * Validates the props and it makes sure that the types are coherent with each other\n *\n * 1. If type, defaultValue, and modelValue are all undefined, throw an error.\n * 2. If modelValue and defaultValue are defined and not of the same type, throw an error.\n * 3. If type is defined:\n * a. If type is 'single' and either modelValue or defaultValue is an array, log an error and return 'multiple'.\n * b. If type is 'multiple' and neither modelValue nor defaultValue is an array, log an error and return 'single'.\n * 4. Return 'multiple' if modelValue is an array, else return 'single'.\n */\nfunction validateProps({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n const value = modelValue || defaultValue\n const canTypeBeInferred = modelValue !== undefined || defaultValue !== undefined\n\n if (canTypeBeInferred)\n return Array.isArray(value) ? 'multiple' : 'single'\n else\n return type ?? 'single' // always fallback to `single`\n}\n\nfunction getDefaultType({ type, defaultValue, modelValue }: SingleOrMultipleProps) {\n if (type)\n return type\n\n return validateProps({ type, defaultValue, modelValue })\n}\n\nfunction getDefaultValue({ type, defaultValue }: SingleOrMultipleProps) {\n if (defaultValue !== undefined)\n return defaultValue\n\n return (type === 'single') ? undefined : []\n}\n\nexport function useSingleOrMultipleValue<P extends SingleOrMultipleProps, Name extends string>(\n props: P,\n emits: (name: Name, ...args: any[]) => void,\n) {\n const type = computed(() => getDefaultType(props))\n const modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: getDefaultValue(props),\n passive: (props.modelValue === undefined) as false,\n deep: true,\n }) as Ref<AcceptableValue | AcceptableValue[] | undefined>\n\n function changeModelValue(value: AcceptableValue) {\n if (type.value === 'single') {\n modelValue.value = isEqual(value, modelValue.value) ? undefined : value\n }\n else {\n const modelValueArray = Array.isArray(modelValue.value) ? [...(modelValue.value as AcceptableValue[] || [])] : [modelValue.value].filter(Boolean)\n if (isValueEqualOrExist(modelValueArray, value)) {\n const index = modelValueArray.findIndex(i => isEqual(i, value))\n modelValueArray.splice(index, 1)\n }\n else {\n modelValueArray.push(value)\n }\n modelValue.value = modelValueArray\n }\n }\n\n const isSingle = computed(() => type.value === 'single')\n\n return {\n modelValue,\n changeModelValue,\n isSingle,\n }\n}\n"],"names":[],"mappings":";;;;;AAiBA,SAAS,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AAChF,EAAA,MAAM,QAAQ,UAAc,IAAA,YAAA;AAC5B,EAAM,MAAA,iBAAA,GAAoB,UAAe,KAAA,MAAA,IAAa,YAAiB,KAAA,MAAA;AAEvE,EAAI,IAAA,iBAAA;AACF,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,UAAa,GAAA,QAAA;AAAA;AAE3C,IAAA,OAAO,IAAQ,IAAA,QAAA;AACnB;AAEA,SAAS,cAAe,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAqC,EAAA;AACjF,EAAI,IAAA,IAAA;AACF,IAAO,OAAA,IAAA;AAET,EAAA,OAAO,aAAc,CAAA,EAAE,IAAM,EAAA,YAAA,EAAc,YAAY,CAAA;AACzD;AAEA,SAAS,eAAgB,CAAA,EAAE,IAAM,EAAA,YAAA,EAAuC,EAAA;AACtE,EAAA,IAAI,YAAiB,KAAA,MAAA;AACnB,IAAO,OAAA,YAAA;AAET,EAAQ,OAAA,IAAA,KAAS,QAAY,GAAA,MAAA,GAAY,EAAC;AAC5C;AAEgB,SAAA,wBAAA,CACd,OACA,KACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,MAAM,cAAA,CAAe,KAAK,CAAC,CAAA;AACjD,EAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,IACvD,YAAA,EAAc,gBAAgB,KAAK,CAAA;AAAA,IACnC,OAAA,EAAU,MAAM,UAAe,KAAA,MAAA;AAAA,IAC/B,IAAM,EAAA;AAAA,GACP,CAAA;AAED,EAAA,SAAS,iBAAiB,KAAwB,EAAA;AAChD,IAAI,IAAA,IAAA,CAAK,UAAU,QAAU,EAAA;AAC3B,MAAA,UAAA,CAAW,QAAQ,OAAQ,CAAA,KAAA,EAAO,UAAW,CAAA,KAAK,IAAI,MAAY,GAAA,KAAA;AAAA,KAE/D,MAAA;AACH,MAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,GAAI,UAAA,CAAW,KAA8B,IAAA,EAAG,CAAI,GAAA,CAAC,WAAW,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAChJ,MAAI,IAAA,mBAAA,CAAoB,eAAiB,EAAA,KAAK,CAAG,EAAA;AAC/C,QAAA,MAAM,QAAQ,eAAgB,CAAA,SAAA,CAAU,OAAK,OAAQ,CAAA,CAAA,EAAG,KAAK,CAAC,CAAA;AAC9D,QAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,OAE5B,MAAA;AACH,QAAA,eAAA,CAAgB,KAAK,KAAK,CAAA;AAAA;AAE5B,MAAA,UAAA,CAAW,KAAQ,GAAA,eAAA;AAAA;AACrB;AAGF,EAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,IAAA,CAAK,UAAU,QAAQ,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
package/dist/shared/useSize.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSize.cjs","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSize.cjs","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["ref","computed","onMounted","unrefElement","width","height"],"mappings":";;;;;AAIO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAOA,OAAuC,EAAA;AACpD,EAAA,MAAM,QAAQC,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAASA,YAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAAC,aAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAKC,kBAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIC,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,MAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
package/dist/shared/useSize.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSize.js","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useSize.js","sources":["../../src/shared/useSize.ts"],"sourcesContent":["import type { MaybeElementRef } from '@vueuse/core'\nimport { unrefElement } from '@vueuse/core'\nimport { computed, onMounted, ref } from 'vue'\n\nexport function useSize(element: MaybeElementRef) {\n const size = ref<{ width: number, height: number }>()\n const width = computed(() => size.value?.width ?? 0)\n const height = computed(() => size.value?.height ?? 0)\n\n onMounted(() => {\n const el = unrefElement(element) as HTMLElement\n if (el) {\n // provide size as early as possible\n size.value = { width: el.offsetWidth, height: el.offsetHeight }\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries))\n return\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length)\n return\n\n const entry = entries[0]\n let width: number\n let height: number\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry.borderBoxSize\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry)\n ? borderSizeEntry[0]\n : borderSizeEntry\n width = borderSize.inlineSize\n height = borderSize.blockSize\n }\n else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = el.offsetWidth\n height = el.offsetHeight\n }\n\n // temporary disable width/height from resize observer. borderSizeEntry seems to be incorrect\n size.value = { width, height }\n })\n\n resizeObserver.observe(el, { box: 'border-box' })\n\n return () => resizeObserver.unobserve(el)\n }\n else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n size.value = undefined\n }\n })\n\n return {\n width,\n height,\n }\n}\n"],"names":["width","height"],"mappings":";;;AAIO,SAAS,QAAQ,OAA0B,EAAA;AAChD,EAAA,MAAM,OAAO,GAAuC,EAAA;AACpD,EAAA,MAAM,QAAQ,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,SAAS,CAAC,CAAA;AACnD,EAAA,MAAM,SAAS,QAAS,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,UAAU,CAAC,CAAA;AAErD,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA;AAC/B,IAAA,IAAI,EAAI,EAAA;AAEN,MAAA,IAAA,CAAK,QAAQ,EAAE,KAAA,EAAO,GAAG,WAAa,EAAA,MAAA,EAAQ,GAAG,YAAa,EAAA;AAE9D,MAAA,MAAM,cAAiB,GAAA,IAAI,cAAe,CAAA,CAAC,OAAY,KAAA;AACrD,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA;AACxB,UAAA;AAIF,QAAA,IAAI,CAAC,OAAQ,CAAA,MAAA;AACX,UAAA;AAEF,QAAM,MAAA,KAAA,GAAQ,QAAQ,CAAC,CAAA;AACvB,QAAIA,IAAAA,MAAAA;AACJ,QAAIC,IAAAA,OAAAA;AAEJ,QAAA,IAAI,mBAAmB,KAAO,EAAA;AAC5B,UAAA,MAAM,kBAAkB,KAAM,CAAA,aAAA;AAE9B,UAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,eAAe,CAC5C,GAAA,eAAA,CAAgB,CAAC,CACjB,GAAA,eAAA;AACJ,UAAAD,SAAQ,UAAW,CAAA,UAAA;AACnB,UAAAC,UAAS,UAAW,CAAA,SAAA;AAAA,SAEjB,MAAA;AAGH,UAAAD,SAAQ,EAAG,CAAA,WAAA;AACX,UAAAC,UAAS,EAAG,CAAA,YAAA;AAAA;AAId,QAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,KAAAD,EAAAA,MAAAA,EAAO,QAAAC,OAAO,EAAA;AAAA,OAC9B,CAAA;AAED,MAAA,cAAA,CAAe,OAAQ,CAAA,EAAA,EAAI,EAAE,GAAA,EAAK,cAAc,CAAA;AAEhD,MAAO,OAAA,MAAM,cAAe,CAAA,SAAA,CAAU,EAAE,CAAA;AAAA,KAErC,MAAA;AAGH,MAAA,IAAA,CAAK,KAAQ,GAAA,MAAA;AAAA;AACf,GACD,CAAA;AAED,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStateMachine.cjs","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useStateMachine.cjs","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":["ref"],"mappings":";;;;AA2BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQA,QAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStateMachine.js","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useStateMachine.js","sources":["../../src/shared/useStateMachine.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { ref } from 'vue'\n\ninterface Machine<S> {\n [k: string]: { [k: string]: S }\n}\ntype MachineState<T> = keyof T\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (\n x: infer R\n) => any\n ? R\n : never\n\n/**\n * The `useStateMachine` function is a TypeScript function that creates a state machine and returns the\n * current state and a dispatch function to update the state based on events.\n * @param initialState - The `initialState` parameter is the initial state of the state machine. It\n * represents the starting point of the state machine's state.\n * @param machine - The `machine` parameter is an object that represents a state machine. It should\n * have keys that correspond to the possible states of the machine, and the values should be objects\n * that represent the possible events and their corresponding next states.\n * @returns The `useStateMachine` function returns an object with two properties: `state` and\n * `dispatch`.\n */\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>,\n) {\n const state = ref(initialState) as Ref<MachineState<M>>\n\n function reducer(event: MachineEvent<M>) {\n // @ts-expect-error state.value is keyof M\n const nextState = machine[state.value][event]\n return nextState ?? state.value\n }\n\n const dispatch = (event: MachineEvent<M>) => {\n state.value = reducer(event)\n }\n\n return {\n state,\n dispatch,\n }\n}\n"],"names":[],"mappings":";;AA2BgB,SAAA,eAAA,CACd,cACA,OACA,EAAA;AACA,EAAM,MAAA,KAAA,GAAQ,IAAI,YAAY,CAAA;AAE9B,EAAA,SAAS,QAAQ,KAAwB,EAAA;AAEvC,IAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,EAAE,KAAK,CAAA;AAC5C,IAAA,OAAO,aAAa,KAAM,CAAA,KAAA;AAAA;AAG5B,EAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,IAAM,KAAA,CAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
|
|
@@ -45,7 +45,7 @@ function getNextMatch(values, search, currentMatch) {
|
|
|
45
45
|
const nextMatch = wrappedValues.find(
|
|
46
46
|
(value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
|
|
47
47
|
);
|
|
48
|
-
return nextMatch !== currentMatch ? nextMatch :
|
|
48
|
+
return nextMatch !== currentMatch ? nextMatch : void 0;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
exports.getNextMatch = getNextMatch;
|