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":"useTypeahead.cjs","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":["refAutoReset","getActiveElement"],"mappings":";;;;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAASA,mBAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAcC,wCAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,
|
|
1
|
+
{"version":3,"file":"useTypeahead.cjs","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":["refAutoReset","getActiveElement"],"mappings":";;;;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAASA,mBAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAcC,wCAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,MAAA;AAClD;;;;;;"}
|
|
@@ -43,7 +43,7 @@ function getNextMatch(values, search, currentMatch) {
|
|
|
43
43
|
const nextMatch = wrappedValues.find(
|
|
44
44
|
(value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
|
|
45
45
|
);
|
|
46
|
-
return nextMatch !== currentMatch ? nextMatch :
|
|
46
|
+
return nextMatch !== currentMatch ? nextMatch : void 0;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export { getNextMatch as g, useTypeahead as u, wrapArray as w };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTypeahead.js","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAAS,YAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAc,gBAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,
|
|
1
|
+
{"version":3,"file":"useTypeahead.js","sources":["../../src/shared/useTypeahead.ts"],"sourcesContent":["import { refAutoReset } from '@vueuse/shared'\nimport { getActiveElement } from './getActiveElement'\n\nexport function useTypeahead(callback?: (search: string) => void) {\n // Reset `search` 1 second after it was last updated\n const search = refAutoReset('', 1000)\n\n const handleTypeaheadSearch = (key: string, items: { ref: HTMLElement, value?: any }[]) => {\n search.value = search.value + key\n\n if (callback) {\n callback(key)\n }\n else {\n const currentItem = getActiveElement()\n const itemsWithTextValue = items.map(item => ({\n ...item,\n textValue: item.value?.textValue ?? item.ref.textContent?.trim() ?? '',\n }))\n const currentMatch = itemsWithTextValue.find(item => item.ref === currentItem)\n const values = itemsWithTextValue.map(item => item.textValue)\n const nextMatch = getNextMatch(values, search.value, currentMatch?.textValue)\n\n const newItem = itemsWithTextValue.find(item => item.textValue === nextMatch)\n\n if (newItem)\n (newItem.ref as HTMLElement).focus()\n return newItem?.ref\n }\n }\n\n const resetTypeahead = () => {\n search.value = ''\n }\n\n return {\n search,\n handleTypeaheadSearch,\n resetTypeahead,\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length])\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nexport function getNextMatch(\n values: string[],\n search: string,\n currentMatch?: string,\n) {\n const isRepeated\n = search.length > 1 && Array.from(search).every(char => char === search[0])\n const normalizedSearch = isRepeated ? search[0] : search\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0))\n const excludeCurrentMatch = normalizedSearch.length === 1\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter(v => v !== currentMatch)\n const nextMatch = wrappedValues.find(value =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase()),\n )\n return nextMatch !== currentMatch ? nextMatch : undefined\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,QAAqC,EAAA;AAEhE,EAAM,MAAA,MAAA,GAAS,YAAa,CAAA,EAAA,EAAI,GAAI,CAAA;AAEpC,EAAM,MAAA,qBAAA,GAAwB,CAAC,GAAA,EAAa,KAA+C,KAAA;AACzF,IAAO,MAAA,CAAA,KAAA,GAAQ,OAAO,KAAQ,GAAA,GAAA;AAE9B,IAGK;AACH,MAAA,MAAM,cAAc,gBAAiB,EAAA;AACrC,MAAM,MAAA,kBAAA,GAAqB,KAAM,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QAC5C,GAAG,IAAA;AAAA,QACH,SAAA,EAAW,KAAK,KAAO,EAAA,SAAA,IAAa,KAAK,GAAI,CAAA,WAAA,EAAa,MAAU,IAAA;AAAA,OACpE,CAAA,CAAA;AACF,MAAA,MAAM,eAAe,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,WAAW,CAAA;AAC7E,MAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,GAAI,CAAA,CAAA,IAAA,KAAQ,KAAK,SAAS,CAAA;AAC5D,MAAA,MAAM,YAAY,YAAa,CAAA,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,cAAc,SAAS,CAAA;AAE5E,MAAA,MAAM,UAAU,kBAAmB,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,cAAc,SAAS,CAAA;AAE5E,MAAI,IAAA,OAAA;AACF,QAAC,OAAA,CAAQ,IAAoB,KAAM,EAAA;AACrC,MAAA,OAAO,OAAS,EAAA,GAAA;AAAA;AAClB,GACF;AAEA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAA,CAAO,KAAQ,GAAA,EAAA;AAAA,GACjB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,qBAAA;AAAA,IACA;AAAA,GACF;AACF;AAMgB,SAAA,SAAA,CAAa,OAAY,UAAoB,EAAA;AAC3D,EAAO,OAAA,KAAA,CAAM,GAAI,CAAA,CAAC,CAAG,EAAA,KAAA,KAAU,OAAO,UAAa,GAAA,KAAA,IAAS,KAAM,CAAA,MAAM,CAAC,CAAA;AAC3E;AAmBgB,SAAA,YAAA,CACd,MACA,EAAA,MAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,UACF,GAAA,MAAA,CAAO,MAAS,GAAA,CAAA,IAAK,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAM,CAAA,CAAA,IAAA,KAAQ,IAAS,KAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAC5E,EAAA,MAAM,gBAAmB,GAAA,UAAA,GAAa,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA;AAClD,EAAA,MAAM,iBAAoB,GAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,YAAY,CAAI,GAAA,EAAA;AACxE,EAAA,IAAI,gBAAgB,SAAU,CAAA,MAAA,EAAQ,KAAK,GAAI,CAAA,iBAAA,EAAmB,CAAC,CAAC,CAAA;AACpE,EAAM,MAAA,mBAAA,GAAsB,iBAAiB,MAAW,KAAA,CAAA;AACxD,EAAI,IAAA,mBAAA;AACF,IAAA,aAAA,GAAgB,aAAc,CAAA,MAAA,CAAO,CAAK,CAAA,KAAA,CAAA,KAAM,YAAY,CAAA;AAC9D,EAAA,MAAM,YAAY,aAAc,CAAA,IAAA;AAAA,IAAK,WACnC,KAAM,CAAA,WAAA,GAAc,UAAW,CAAA,gBAAA,CAAiB,aAAa;AAAA,GAC/D;AACA,EAAO,OAAA,SAAA,KAAc,eAAe,SAAY,GAAA,MAAA;AAClD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDefault.cjs","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"withDefault.cjs","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import type { ComponentOptionsBase, DefineComponent, VNodeProps } from 'vue'\nimport type { ComponentProps } from 'vue-component-type-helpers'\nimport { h, mergeProps } from 'vue'\nimport { useForwardExpose } from './useForwardExpose'\n\n// TODO: TEST\n\n// From vue next\n// https://github.com/vuejs/core/blob/1f2a652a9d2e3bec472fb1786a4c16d6ccfa1fb1/packages/runtime-core/src/h.ts#L53-L58\ntype RawProps = VNodeProps & {\n // used to differ from a single VNode object as children\n __v_isVNode?: never\n // used to differ from Array children\n [Symbol.iterator]?: never\n} & Record<string, any>\n\n// types inspired from vue-test-utils\n// https://github.com/vuejs/test-utils/blob/main/src/mount.ts#L36\ninterface MountingOptions<Props> {\n /**\n * Default props for the component\n */\n props?: (RawProps & Props) | ({} extends Props ? null : never) | ((attrs: Record<string, any>) => (RawProps & Props))\n /**\n * Pass attributes into the component\n */\n attrs?: Record<string, unknown>\n}\n\nexport function withDefault<\n T,\n C = T extends ((...args: any) => any) | (new (...args: any) => any)\n ? T\n : T extends { props?: infer Props }\n ? DefineComponent<\n Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[]\n ? { [key in PropNames extends string ? PropNames : string]?: any }\n : Props\n >\n : DefineComponent,\n P extends ComponentProps<C> = ComponentProps<C>,\n>(\n originalComponent: T,\n options?: MountingOptions<P>\n): T\n\nexport function withDefault<T extends ComponentOptionsBase<{}, {}, {}, any, any, any, any, any>>(WrappedComponent: T, options?: MountingOptions<any>) {\n return ({\n inheritAttrs: false,\n name: `${WrappedComponent.__name ?? ''}Wrapper`,\n setup(_, ctx) {\n return () => {\n const optionProps = typeof options?.props === 'function' ? options?.props(ctx.attrs) : options?.props\n const { forwardRef } = useForwardExpose()\n\n const mergedProps = mergeProps(optionProps, ctx.attrs)\n return h(WrappedComponent, { ...mergedProps, ref: forwardRef }, ctx.slots)\n }\n },\n }) as T\n}\n"],"names":["useForwardExpose","mergeProps","h"],"mappings":";;;;;AA8CgB,SAAA,WAAA,CAAiF,kBAAqB,OAAgC,EAAA;AACpJ,EAAQ,OAAA;AAAA,IACN,YAAc,EAAA,KAAA;AAAA,IACd,IAAM,EAAA,CAAA,EAAG,gBAAiB,CAAA,MAAA,IAAU,EAAE,CAAA,OAAA,CAAA;AAAA,IACtC,KAAA,CAAM,GAAG,GAAK,EAAA;AACZ,MAAA,OAAO,MAAM;AACX,QAAM,MAAA,WAAA,GAAc,OAAO,OAAA,EAAS,KAAU,KAAA,UAAA,GAAa,SAAS,KAAM,CAAA,GAAA,CAAI,KAAK,CAAA,GAAI,OAAS,EAAA,KAAA;AAChG,QAAM,MAAA,EAAE,UAAW,EAAA,GAAIA,wCAAiB,EAAA;AAExC,QAAA,MAAM,WAAc,GAAAC,cAAA,CAAW,WAAa,EAAA,GAAA,CAAI,KAAK,CAAA;AACrD,QAAO,OAAAC,KAAA,CAAE,kBAAkB,EAAE,GAAG,aAAa,GAAK,EAAA,UAAA,EAAc,EAAA,GAAA,CAAI,KAAK,CAAA;AAAA,OAC3E;AAAA;AACF,GACF;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDefault.js","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"withDefault.js","sources":["../../src/shared/withDefault.ts"],"sourcesContent":["import type { ComponentOptionsBase, DefineComponent, VNodeProps } from 'vue'\nimport type { ComponentProps } from 'vue-component-type-helpers'\nimport { h, mergeProps } from 'vue'\nimport { useForwardExpose } from './useForwardExpose'\n\n// TODO: TEST\n\n// From vue next\n// https://github.com/vuejs/core/blob/1f2a652a9d2e3bec472fb1786a4c16d6ccfa1fb1/packages/runtime-core/src/h.ts#L53-L58\ntype RawProps = VNodeProps & {\n // used to differ from a single VNode object as children\n __v_isVNode?: never\n // used to differ from Array children\n [Symbol.iterator]?: never\n} & Record<string, any>\n\n// types inspired from vue-test-utils\n// https://github.com/vuejs/test-utils/blob/main/src/mount.ts#L36\ninterface MountingOptions<Props> {\n /**\n * Default props for the component\n */\n props?: (RawProps & Props) | ({} extends Props ? null : never) | ((attrs: Record<string, any>) => (RawProps & Props))\n /**\n * Pass attributes into the component\n */\n attrs?: Record<string, unknown>\n}\n\nexport function withDefault<\n T,\n C = T extends ((...args: any) => any) | (new (...args: any) => any)\n ? T\n : T extends { props?: infer Props }\n ? DefineComponent<\n Props extends Readonly<(infer PropNames)[]> | (infer PropNames)[]\n ? { [key in PropNames extends string ? PropNames : string]?: any }\n : Props\n >\n : DefineComponent,\n P extends ComponentProps<C> = ComponentProps<C>,\n>(\n originalComponent: T,\n options?: MountingOptions<P>\n): T\n\nexport function withDefault<T extends ComponentOptionsBase<{}, {}, {}, any, any, any, any, any>>(WrappedComponent: T, options?: MountingOptions<any>) {\n return ({\n inheritAttrs: false,\n name: `${WrappedComponent.__name ?? ''}Wrapper`,\n setup(_, ctx) {\n return () => {\n const optionProps = typeof options?.props === 'function' ? options?.props(ctx.attrs) : options?.props\n const { forwardRef } = useForwardExpose()\n\n const mergedProps = mergeProps(optionProps, ctx.attrs)\n return h(WrappedComponent, { ...mergedProps, ref: forwardRef }, ctx.slots)\n }\n },\n }) as T\n}\n"],"names":[],"mappings":";;;AA8CgB,SAAA,WAAA,CAAiF,kBAAqB,OAAgC,EAAA;AACpJ,EAAQ,OAAA;AAAA,IACN,YAAc,EAAA,KAAA;AAAA,IACd,IAAM,EAAA,CAAA,EAAG,gBAAiB,CAAA,MAAA,IAAU,EAAE,CAAA,OAAA,CAAA;AAAA,IACtC,KAAA,CAAM,GAAG,GAAK,EAAA;AACZ,MAAA,OAAO,MAAM;AACX,QAAM,MAAA,WAAA,GAAc,OAAO,OAAA,EAAS,KAAU,KAAA,UAAA,GAAa,SAAS,KAAM,CAAA,GAAA,CAAI,KAAK,CAAA,GAAI,OAAS,EAAA,KAAA;AAChG,QAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,QAAA,MAAM,WAAc,GAAA,UAAA,CAAW,WAAa,EAAA,GAAA,CAAI,KAAK,CAAA;AACrD,QAAO,OAAA,CAAA,CAAE,kBAAkB,EAAE,GAAG,aAAa,GAAK,EAAA,UAAA,EAAc,EAAA,GAAA,CAAI,KAAK,CAAA;AAAA,OAC3E;AAAA;AACF,GACF;AACF;;;;"}
|
package/dist/utils/calculate.cjs
CHANGED
|
@@ -96,7 +96,7 @@ function calculateAriaValues({
|
|
|
96
96
|
function calculateUnsafeDefaultLayout({
|
|
97
97
|
panelDataArray
|
|
98
98
|
}) {
|
|
99
|
-
const layout = Array(panelDataArray.length);
|
|
99
|
+
const layout = Array.from({ length: panelDataArray.length });
|
|
100
100
|
const panelConstraintsArray = panelDataArray.map(
|
|
101
101
|
(panelData) => panelData.constraints
|
|
102
102
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate.cjs","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\
|
|
1
|
+
{"version":3,"file":"calculate.cjs","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout: number[] = Array.from({ length: panelDataArray.length })\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":["getResizeHandleElement","assert","getResizeEventCursorPosition","getPanelGroupElement","isKeyDown"],"mappings":"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"}
|
package/dist/utils/calculate.js
CHANGED
|
@@ -94,7 +94,7 @@ function calculateAriaValues({
|
|
|
94
94
|
function calculateUnsafeDefaultLayout({
|
|
95
95
|
panelDataArray
|
|
96
96
|
}) {
|
|
97
|
-
const layout = Array(panelDataArray.length);
|
|
97
|
+
const layout = Array.from({ length: panelDataArray.length });
|
|
98
98
|
const panelConstraintsArray = panelDataArray.map(
|
|
99
99
|
(panelData) => panelData.constraints
|
|
100
100
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate.js","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\
|
|
1
|
+
{"version":3,"file":"calculate.js","sources":["../../src/Splitter/utils/calculate.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent } from './types'\nimport { assert } from './assert'\nimport { getPanelGroupElement, getResizeHandleElement } from './dom'\nimport { getResizeEventCursorPosition, isKeyDown } from './events'\n\nexport function calculateDragOffsetPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState,\n panelGroupElement: HTMLElement,\n): number {\n const isHorizontal = direction === 'horizontal'\n\n const handleElement = getResizeHandleElement(dragHandleId, panelGroupElement)\n assert(handleElement)\n\n const groupId = handleElement.getAttribute('data-panel-group-id')\n assert(groupId)\n\n const { initialCursorPosition } = initialDragState\n\n const cursorPosition = getResizeEventCursorPosition(direction, event)\n\n const groupElement = getPanelGroupElement(groupId, panelGroupElement)\n assert(groupElement)\n\n const groupRect = groupElement.getBoundingClientRect()\n const groupSizeInPixels = isHorizontal ? groupRect.width : groupRect.height\n\n const offsetPixels = cursorPosition - initialCursorPosition\n const offsetPercentage = (offsetPixels / groupSizeInPixels) * 100\n\n return offsetPercentage\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/movementX\nexport function calculateDeltaPercentage(\n event: ResizeEvent,\n dragHandleId: string,\n direction: Direction,\n initialDragState: DragState | null,\n keyboardResizeBy: number | null,\n panelGroupElement: HTMLElement,\n): number {\n if (isKeyDown(event)) {\n const isHorizontal = direction === 'horizontal'\n\n let delta = 0\n if (event.shiftKey)\n delta = 100\n else\n delta = keyboardResizeBy ?? 10\n\n let movement = 0\n switch (event.key) {\n case 'ArrowDown':\n movement = isHorizontal ? 0 : delta\n break\n case 'ArrowLeft':\n movement = isHorizontal ? -delta : 0\n break\n case 'ArrowRight':\n movement = isHorizontal ? delta : 0\n break\n case 'ArrowUp':\n movement = isHorizontal ? 0 : -delta\n break\n case 'End':\n movement = 100\n break\n case 'Home':\n movement = -100\n break\n }\n\n return movement\n }\n else {\n if (initialDragState == null)\n return 0\n\n return calculateDragOffsetPercentage(\n event,\n dragHandleId,\n direction,\n initialDragState,\n panelGroupElement,\n )\n }\n}\n\nexport function calculateAriaValues({\n layout,\n panelsArray,\n pivotIndices,\n}: {\n layout: number[]\n panelsArray: PanelData[]\n pivotIndices: number[]\n}) {\n let currentMinSize = 0\n let currentMaxSize = 100\n let totalMinSize = 0\n let totalMaxSize = 0\n\n const firstIndex = pivotIndices[0]\n assert(firstIndex != null)\n\n // A panel's effective min/max sizes also need to account for other panel's sizes.\n panelsArray.forEach((panelData, index) => {\n const { constraints } = panelData\n const { maxSize = 100, minSize = 0 } = constraints\n\n if (index === firstIndex) {\n currentMinSize = minSize\n currentMaxSize = maxSize\n }\n else {\n totalMinSize += minSize\n totalMaxSize += maxSize\n }\n })\n\n const valueMax = Math.min(currentMaxSize, 100 - totalMinSize)\n const valueMin = Math.max(currentMinSize, 100 - totalMaxSize)\n\n const valueNow = layout[firstIndex]\n\n return {\n valueMax,\n valueMin,\n valueNow,\n }\n}\n\nexport function calculateUnsafeDefaultLayout({\n panelDataArray,\n}: {\n panelDataArray: PanelData[]\n}): number[] {\n const layout: number[] = Array.from({ length: panelDataArray.length })\n\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n let numPanelsWithSizes = 0\n let remainingSize = 100\n\n // Distribute default sizes first\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null) {\n numPanelsWithSizes++\n layout[index] = defaultSize\n remainingSize -= defaultSize\n }\n }\n\n // Remaining size should be distributed evenly between panels without default sizes\n for (let index = 0; index < panelDataArray.length; index++) {\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { defaultSize } = panelConstraints\n\n if (defaultSize != null)\n continue\n\n const numRemainingPanels = panelDataArray.length - numPanelsWithSizes\n const size = remainingSize / numRemainingPanels\n\n numPanelsWithSizes++\n layout[index] = size\n remainingSize -= size\n }\n\n return layout\n}\n"],"names":[],"mappings":"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"}
|
package/dist/utils/dom.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.cjs","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"dom.cjs","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport { isBrowser } from '@/shared'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":["isBrowser"],"mappings":";;;;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAACA,wBAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;;;;;"}
|
package/dist/utils/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"dom.js","sources":["../../src/Splitter/utils/dom.ts"],"sourcesContent":["import type { PanelData } from '../SplitterPanel.vue'\nimport { isBrowser } from '@/shared'\n\nexport function getPanelElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getPanelElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(`[data-panel][data-panel-group-id=\"${groupId}\"]`),\n )\n}\n\nexport function getPanelGroupElement(\n id: string,\n rootElement: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n // If the root element is the PanelGroup\n if (\n rootElement instanceof HTMLElement\n && (rootElement as HTMLElement)?.dataset?.panelGroupId === id\n ) {\n return rootElement as HTMLElement\n }\n\n // Else query children\n const element = rootElement.querySelector(\n `[data-panel-group][data-panel-group-id=\"${id}\"]`,\n )\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElement(\n id: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement | null {\n if (!isBrowser)\n return null\n const element = scope.querySelector(`[data-panel-resize-handle-id=\"${id}\"]`)\n if (element)\n return element as HTMLElement\n\n return null\n}\n\nexport function getResizeHandleElementIndex(\n groupId: string,\n id: string,\n scope: ParentNode | HTMLElement = document,\n): number | null {\n if (!isBrowser)\n return null\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handles.findIndex(\n handle => handle.getAttribute('data-panel-resize-handle-id') === id,\n )\n return index ?? null\n}\n\nexport function getResizeHandleElementsForGroup(\n groupId: string,\n scope: ParentNode | HTMLElement = document,\n): HTMLElement[] {\n if (!isBrowser)\n return []\n return Array.from(\n scope.querySelectorAll(\n `[data-panel-resize-handle-id][data-panel-group-id=\"${groupId}\"]`,\n ),\n )\n}\n\nexport function getResizeHandlePanelIds(\n groupId: string,\n handleId: string,\n panelsArray: PanelData[],\n scope: ParentNode | HTMLElement = document,\n): [idBefore: string | null, idAfter: string | null] {\n const handle = getResizeHandleElement(handleId, scope)\n const handles = getResizeHandleElementsForGroup(groupId, scope)\n const index = handle ? handles.indexOf(handle) : -1\n\n const idBefore: string | null = panelsArray[index]?.id ?? null\n const idAfter: string | null = panelsArray[index + 1]?.id ?? null\n\n return [idBefore, idAfter]\n}\n"],"names":[],"mappings":";;AA2BgB,SAAA,oBAAA,CACd,EACA,EAAA,WAAA,GAAwC,QACpB,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AAET,EAAA,IACE,WAAuB,YAAA,WAAA,IACnB,WAA6B,EAAA,OAAA,EAAS,iBAAiB,EAC3D,EAAA;AACA,IAAO,OAAA,WAAA;AAAA;AAIT,EAAA,MAAM,UAAU,WAAY,CAAA,aAAA;AAAA,IAC1B,2CAA2C,EAAE,CAAA,EAAA;AAAA,GAC/C;AACA,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEgB,SAAA,sBAAA,CACd,EACA,EAAA,KAAA,GAAkC,QACd,EAAA;AACpB,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAA,MAAM,OAAU,GAAA,KAAA,CAAM,aAAc,CAAA,CAAA,8BAAA,EAAiC,EAAE,CAAI,EAAA,CAAA,CAAA;AAC3E,EAAI,IAAA,OAAA;AACF,IAAO,OAAA,OAAA;AAET,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,2BACd,CAAA,OAAA,EACA,EACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAO,OAAA,IAAA;AACT,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,QAAQ,OAAQ,CAAA,SAAA;AAAA,IACpB,CAAU,MAAA,KAAA,MAAA,CAAO,YAAa,CAAA,6BAA6B,CAAM,KAAA;AAAA,GACnE;AACA,EAAA,OAAO,KAAS,IAAA,IAAA;AAClB;AAEgB,SAAA,+BAAA,CACd,OACA,EAAA,KAAA,GAAkC,QACnB,EAAA;AACf,EAAA,IAAI,CAAC,SAAA;AACH,IAAA,OAAO,EAAC;AACV,EAAA,OAAO,KAAM,CAAA,IAAA;AAAA,IACX,KAAM,CAAA,gBAAA;AAAA,MACJ,sDAAsD,OAAO,CAAA,EAAA;AAAA;AAC/D,GACF;AACF;AAEO,SAAS,uBACd,CAAA,OAAA,EACA,QACA,EAAA,WAAA,EACA,QAAkC,QACiB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,sBAAuB,CAAA,QAAA,EAAU,KAAK,CAAA;AACrD,EAAM,MAAA,OAAA,GAAU,+BAAgC,CAAA,OAAA,EAAS,KAAK,CAAA;AAC9D,EAAA,MAAM,KAAQ,GAAA,MAAA,GAAS,OAAQ,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,EAAA;AAEjD,EAAA,MAAM,QAA0B,GAAA,WAAA,CAAY,KAAK,CAAA,EAAG,EAAM,IAAA,IAAA;AAC1D,EAAA,MAAM,OAAyB,GAAA,WAAA,CAAY,KAAQ,GAAA,CAAC,GAAG,EAAM,IAAA,IAAA;AAE7D,EAAO,OAAA,CAAC,UAAU,OAAO,CAAA;AAC3B;;;;"}
|
package/dist/utils/layout.cjs
CHANGED
|
@@ -105,7 +105,7 @@ function adjustLayoutByDelta({
|
|
|
105
105
|
if (!utils_compare.fuzzyNumbersEqual(prevSize, safeSize)) {
|
|
106
106
|
deltaApplied += prevSize - safeSize;
|
|
107
107
|
nextLayout[index] = safeSize;
|
|
108
|
-
if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3),
|
|
108
|
+
if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {
|
|
109
109
|
numeric: true
|
|
110
110
|
}) >= 0) {
|
|
111
111
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.cjs","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["fuzzyNumbersEqual","assert","panelConstraints","fuzzyCompareNumbers","resizePanel","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.cjs","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["fuzzyNumbersEqual","assert","panelConstraints","fuzzyCompareNumbers","resizePanel","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
|
package/dist/utils/layout.js
CHANGED
|
@@ -103,7 +103,7 @@ function adjustLayoutByDelta({
|
|
|
103
103
|
if (!fuzzyNumbersEqual(prevSize, safeSize)) {
|
|
104
104
|
deltaApplied += prevSize - safeSize;
|
|
105
105
|
nextLayout[index] = safeSize;
|
|
106
|
-
if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3),
|
|
106
|
+
if (deltaApplied.toPrecision(3).localeCompare(Math.abs(delta).toPrecision(3), void 0, {
|
|
107
107
|
numeric: true
|
|
108
108
|
}) >= 0) {
|
|
109
109
|
break;
|
package/dist/utils/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["panelConstraints","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":";;;;AAMgB,SAAA,cAAA,CAAe,GAAa,CAAa,EAAA;AACvD,EAAI,IAAA,CAAA,CAAE,MAAW,KAAA,CAAA,CAAE,MAAQ,EAAA;AACzB,IAAO,OAAA,KAAA;AAAA,GAEJ,MAAA;AACH,IAAA,KAAA,IAAS,KAAQ,GAAA,CAAA,EAAG,KAAQ,GAAA,CAAA,CAAE,QAAQ,KAAS,EAAA,EAAA;AAC7C,MAAA,IAAI,CAAE,CAAA,KAAK,CAAM,KAAA,CAAA,CAAE,KAAK,CAAA;AACtB,QAAO,OAAA,KAAA;AAAA;AACX;AAEF,EAAO,OAAA,IAAA;AACT;AAGO,SAAS,mBAAoB,CAAA;AAAA,EAClC,KAAA;AAAA,EACA,MAAQ,EAAA,UAAA;AAAA,EACR,gBAAkB,EAAA,qBAAA;AAAA,EAClB,YAAA;AAAA,EACA;AACF,CAMa,EAAA;AACX,EAAI,IAAA,iBAAA,CAAkB,OAAO,CAAC,CAAA;AAC5B,IAAO,OAAA,UAAA;AAET,EAAM,MAAA,UAAA,GAAa,CAAC,GAAG,UAAU,CAAA;AAEjC,EAAM,MAAA,CAAC,eAAiB,EAAA,gBAAgB,CAAI,GAAA,YAAA;AAC5C,EAAA,MAAA,CAAO,mBAAmB,IAAI,CAAA;AAC9B,EAAA,MAAA,CAAO,oBAAoB,IAAI,CAAA;AAE/B,EAAA,IAAI,YAAe,GAAA,CAAA;AAiBnB,EAAA;AAGE,IAAA,IAAI,YAAY,UAAY,EAAA;AAC1B,MAAA;AAEE,QAAM,MAAA,KAAA,GAAQ,KAAQ,GAAA,CAAA,GAAI,gBAAmB,GAAA,eAAA;AAC7C,QAAM,MAAA,gBAAA,GAAmB,sBAAsB,KAAK,CAAA;AACpD,QAAA,MAAA,CAAO,gBAAgB,CAAA;AAIvB,QAAA,IAAI,iBAAiB,WAAa,EAAA;AAChC,UAAM,MAAA,QAAA,GAAW,WAAW,KAAK,CAAA;AACjC,UAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAEvB,UAAMA,MAAAA,iBAAAA,GAAmB,sBAAsB,KAAK,CAAA;AACpD,UAAA,MAAA,CAAOA,iBAAgB,CAAA;AACvB,UAAA,MAAM,EAAE,aAAA,GAAgB,CAAG,EAAA,OAAA,GAAU,GAAMA,GAAAA,iBAAAA;AAE3C,UAAI,IAAA,iBAAA,CAAkB,QAAU,EAAA,aAAa,CAAG,EAAA;AAC9C,YAAA,MAAM,aAAa,OAAU,GAAA,QAAA;AAG7B,YAAA,IAAI,oBAAoB,UAAY,EAAA,IAAA,CAAK,GAAI,CAAA,KAAK,CAAC,CAAI,GAAA,CAAA;AACrD,cAAQ,KAAA,GAAA,KAAA,GAAQ,CAAI,GAAA,CAAA,GAAI,UAAa,GAAA,UAAA;AAAA;AAEzC;AACF;AAGF,MAAA;AAEE,QAAM,MAAA,KAAA,GAAQ,KAAQ,GAAA,CAAA,GAAI,eAAkB,GAAA,gBAAA;AAC5C,QAAM,MAAA,gBAAA,GAAmB,sBAAsB,KAAK,CAAA;AACpD,QAAA,MAAA,CAAO,gBAAgB,CAAA;AACvB,QAAM,MAAA,EAAE,aAAgB,GAAA,gBAAA;AAIxB,QAAA,IAAI,WAAa,EAAA;AACf,UAAM,MAAA,QAAA,GAAW,WAAW,KAAK,CAAA;AACjC,UAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAEvB,UAAMA,MAAAA,iBAAAA,GAAmB,sBAAsB,KAAK,CAAA;AACpD,UAAA,MAAA,CAAOA,iBAAgB,CAAA;AACvB,UAAA,MAAM,EAAE,aAAA,GAAgB,CAAG,EAAA,OAAA,GAAU,GAAMA,GAAAA,iBAAAA;AAE3C,UAAI,IAAA,iBAAA,CAAkB,QAAU,EAAA,OAAO,CAAG,EAAA;AACxC,YAAA,MAAM,aAAa,QAAW,GAAA,aAAA;AAG9B,YAAA,IAAI,oBAAoB,UAAY,EAAA,IAAA,CAAK,GAAI,CAAA,KAAK,CAAC,CAAI,GAAA,CAAA;AACrD,cAAQ,KAAA,GAAA,KAAA,GAAQ,CAAI,GAAA,CAAA,GAAI,UAAa,GAAA,UAAA;AAAA;AAEzC;AACF;AACF;AACF;AAIF,EAAA;AAOE,IAAM,MAAA,SAAA,GAAY,KAAQ,GAAA,CAAA,GAAI,CAAI,GAAA,EAAA;AAElC,IAAI,IAAA,KAAA,GAAQ,KAAQ,GAAA,CAAA,GAAI,gBAAmB,GAAA,eAAA;AAC3C,IAAA,IAAI,iBAAoB,GAAA,CAAA;AAGxB,IAAA,OAAO,IAAM,EAAA;AACX,MAAM,MAAA,QAAA,GAAW,WAAW,KAAK,CAAA;AACjC,MAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAEvB,MAAA,MAAM,cAAc,WAAY,CAAA;AAAA,QAC9B,gBAAkB,EAAA,qBAAA;AAAA,QAClB,UAAY,EAAA,KAAA;AAAA,QACZ,IAAM,EAAA;AAAA,OACP,CAAA;AACD,MAAA,MAAMC,SAAQ,WAAc,GAAA,QAAA;AAG5B,MAAqBA,iBAAAA,IAAAA,MAAAA;AACrB,MAAS,KAAA,IAAA,SAAA;AAET,MAAI,IAAA,KAAA,GAAQ,CAAK,IAAA,KAAA,IAAS,qBAAsB,CAAA,MAAA;AAC9C,QAAA;AAAA;AAIJ,IAAM,MAAA,WAAA,GAAc,IAAK,CAAA,GAAA,CAAI,IAAK,CAAA,GAAA,CAAI,KAAK,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,iBAAiB,CAAC,CAAA;AACzE,IAAQ,KAAA,GAAA,KAAA,GAAQ,CAAI,GAAA,CAAA,GAAI,WAAc,GAAA,WAAA;AAAA;AAKxC,EAAA;AAGE,IAAM,MAAA,UAAA,GAAa,KAAQ,GAAA,CAAA,GAAI,eAAkB,GAAA,gBAAA;AACjD,IAAA,IAAI,KAAQ,GAAA,UAAA;AACZ,IAAA,OAAO,KAAS,IAAA,CAAA,IAAK,KAAQ,GAAA,qBAAA,CAAsB,MAAQ,EAAA;AACzD,MAAA,MAAM,iBAAiB,IAAK,CAAA,GAAA,CAAI,KAAK,CAAI,GAAA,IAAA,CAAK,IAAI,YAAY,CAAA;AAE9D,MAAM,MAAA,QAAA,GAAW,WAAW,KAAK,CAAA;AACjC,MAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAEvB,MAAA,MAAM,aAAa,QAAW,GAAA,cAAA;AAC9B,MAAA,MAAM,WAAW,WAAY,CAAA;AAAA,QAC3B,gBAAkB,EAAA,qBAAA;AAAA,QAClB,UAAY,EAAA,KAAA;AAAA,QACZ,IAAM,EAAA;AAAA,OACP,CAAA;AAED,MAAA,IAAI,CAAC,iBAAA,CAAkB,QAAU,EAAA,QAAQ,CAAG,EAAA;AAC1C,QAAA,YAAA,IAAgB,QAAW,GAAA,QAAA;AAE3B,QAAA,UAAA,CAAW,KAAK,CAAI,GAAA,QAAA;AAEpB,QAAA,IACE,YACG,CAAA,WAAA,CAAY,CAAC,CAAA,CACb,aAAc,CAAA,IAAA,CAAK,GAAI,CAAA,KAAK,CAAE,CAAA,WAAA,CAAY,CAAC,CAAA,EAAG,SAAW,EAAA;AAAA,UACxD,OAAS,EAAA;AAAA,SACV,KAAK,CACR,EAAA;AACA,UAAA;AAAA;AACF;AAGF,MAAA,IAAI,KAAQ,GAAA,CAAA;AACV,QAAA,KAAA,EAAA;AAAA;AAEA,QAAA,KAAA,EAAA;AAAA;AACJ;AAQF,EAAI,IAAA,iBAAA,CAAkB,YAAc,EAAA,CAAC,CAAG,EAAA;AAEtC,IAAO,OAAA,UAAA;AAAA;AAGT,EAAA;AAEE,IAAM,MAAA,UAAA,GAAa,KAAQ,GAAA,CAAA,GAAI,gBAAmB,GAAA,eAAA;AAElD,IAAM,MAAA,QAAA,GAAW,WAAW,UAAU,CAAA;AACtC,IAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAEvB,IAAA,MAAM,aAAa,QAAW,GAAA,YAAA;AAC9B,IAAA,MAAM,WAAW,WAAY,CAAA;AAAA,MAC3B,gBAAkB,EAAA,qBAAA;AAAA,MAClB,UAAY,EAAA,UAAA;AAAA,MACZ,IAAM,EAAA;AAAA,KACP,CAAA;AAGD,IAAA,UAAA,CAAW,UAAU,CAAI,GAAA,QAAA;AAGzB,IAAA,IAAI,CAAC,iBAAA,CAAkB,QAAU,EAAA,UAAU,CAAG,EAAA;AAC5C,MAAA,IAAI,iBAAiB,UAAa,GAAA,QAAA;AAElC,MAAMC,MAAAA,WAAAA,GAAa,KAAQ,GAAA,CAAA,GAAI,gBAAmB,GAAA,eAAA;AAClD,MAAA,IAAI,KAAQA,GAAAA,WAAAA;AACZ,MAAA,OAAO,KAAS,IAAA,CAAA,IAAK,KAAQ,GAAA,qBAAA,CAAsB,MAAQ,EAAA;AACzD,QAAMC,MAAAA,SAAAA,GAAW,WAAW,KAAK,CAAA;AACjC,QAAA,MAAA,CAAOA,aAAY,IAAI,CAAA;AAEvB,QAAA,MAAMC,cAAaD,SAAW,GAAA,cAAA;AAC9B,QAAA,MAAME,YAAW,WAAY,CAAA;AAAA,UAC3B,gBAAkB,EAAA,qBAAA;AAAA,UAClB,UAAY,EAAA,KAAA;AAAA,UACZ,IAAMD,EAAAA;AAAA,SACP,CAAA;AAED,QAAA,IAAI,CAAC,iBAAA,CAAkBD,SAAUE,EAAAA,SAAQ,CAAG,EAAA;AAC1C,UAAA,cAAA,IAAkBA,SAAWF,GAAAA,SAAAA;AAE7B,UAAA,UAAA,CAAW,KAAK,CAAIE,GAAAA,SAAAA;AAAA;AAGtB,QAAI,IAAA,iBAAA,CAAkB,gBAAgB,CAAC,CAAA;AACrC,UAAA;AAEF,QAAA,IAAI,KAAQ,GAAA,CAAA;AACV,UAAA,KAAA,EAAA;AAAA;AAEA,UAAA,KAAA,EAAA;AAAA;AACJ;AACF;AAMF,EAAM,MAAA,SAAA,GAAY,WAAW,MAAO,CAAA,CAAC,OAAO,IAAS,KAAA,IAAA,GAAO,OAAO,CAAC,CAAA;AAIpE,EAAI,IAAA,CAAC,iBAAkB,CAAA,SAAA,EAAW,GAAG,CAAA;AACnC,IAAO,OAAA,UAAA;AAET,EAAO,OAAA,UAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../src/Splitter/utils/layout.ts"],"sourcesContent":["/* eslint-disable no-lone-blocks */\nimport type { PanelConstraints } from '../SplitterPanel.vue'\nimport { assert } from './assert'\nimport { fuzzyCompareNumbers, fuzzyNumbersEqual } from './compare'\nimport { resizePanel } from './resizePanel'\n\nexport function compareLayouts(a: number[], b: number[]) {\n if (a.length !== b.length) {\n return false\n }\n else {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index])\n return false\n }\n }\n return true\n}\n\n// All units must be in percentages; pixel values should be pre-converted\nexport function adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger,\n}: {\n delta: number\n layout: number[]\n panelConstraints: PanelConstraints[]\n pivotIndices: number[]\n trigger: 'imperative-api' | 'keyboard' | 'mouse-or-touch'\n}): number[] {\n if (fuzzyNumbersEqual(delta, 0))\n return prevLayout\n\n const nextLayout = [...prevLayout]\n\n const [firstPivotIndex, secondPivotIndex] = pivotIndices\n assert(firstPivotIndex != null)\n assert(secondPivotIndex != null)\n\n let deltaApplied = 0\n\n // const DEBUG = [];\n // DEBUG.push(`adjustLayoutByDelta() ${prevLayout.join(\", \")}`);\n // DEBUG.push(` delta: ${delta}`);\n // DEBUG.push(` pivotIndices: ${pivotIndices.join(\", \")}`);\n // DEBUG.push(` trigger: ${trigger}`);\n // DEBUG.push(\"\");\n\n // A resizing panel affects the panels before or after it.\n //\n // A negative delta means the panel(s) immediately after the resize handle should grow/expand by decreasing its offset.\n // Other panels may also need to shrink/contract (and shift) to make room, depending on the min weights.\n //\n // A positive delta means the panel(s) immediately before the resize handle should \"expand\".\n // This is accomplished by shrinking/contracting (and shifting) one or more of the panels after the resize handle.\n\n {\n // If this is a resize triggered by a keyboard event, our logic for expanding/collapsing is different.\n // We no longer check the halfway threshold because this may prevent the panel from expanding at all.\n if (trigger === 'keyboard') {\n {\n // Check if we should expand a collapsed panel\n const index = delta < 0 ? secondPivotIndex : firstPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n\n // DEBUG.push(`edge case check 1: ${index}`);\n // DEBUG.push(` -> collapsible? ${constraints.collapsible}`);\n if (panelConstraints.collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, collapsedSize)) {\n const localDelta = minSize - prevSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n\n {\n // Check if we should collapse a panel at its minimum size\n const index = delta < 0 ? firstPivotIndex : secondPivotIndex\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsible } = panelConstraints\n\n // DEBUG.push(`edge case check 2: ${index}`);\n // DEBUG.push(` -> collapsible? ${collapsible}`);\n if (collapsible) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const panelConstraints = panelConstraintsArray[index]\n assert(panelConstraints)\n const { collapsedSize = 0, minSize = 0 } = panelConstraints\n\n if (fuzzyNumbersEqual(prevSize, minSize)) {\n const localDelta = prevSize - collapsedSize\n // DEBUG.push(` -> expand delta: ${localDelta}`);\n\n if (fuzzyCompareNumbers(localDelta, Math.abs(delta)) > 0)\n delta = delta < 0 ? 0 - localDelta : localDelta\n // DEBUG.push(` -> delta: ${delta}`);\n }\n }\n }\n }\n // DEBUG.push(\"\");\n }\n\n {\n // Pre-calculate max available delta in the opposite direction of our pivot.\n // This will be the maximum amount we're allowed to expand/contract the panels in the primary direction.\n // If this amount is less than the requested delta, adjust the requested delta.\n // If this amount is greater than the requested delta, that's useful information too–\n // as an expanding panel might change from collapsed to min size.\n\n const increment = delta < 0 ? 1 : -1\n\n let index = delta < 0 ? secondPivotIndex : firstPivotIndex\n let maxAvailableDelta = 0\n\n // DEBUG.push(\"pre calc...\");\n while (true) {\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const maxSafeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: 100,\n })\n const delta = maxSafeSize - prevSize\n // DEBUG.push(` ${index}: ${prevSize} -> ${maxSafeSize}`);\n\n maxAvailableDelta += delta\n index += increment\n\n if (index < 0 || index >= panelConstraintsArray.length)\n break\n }\n\n // DEBUG.push(` -> max available delta: ${maxAvailableDelta}`);\n const minAbsDelta = Math.min(Math.abs(delta), Math.abs(maxAvailableDelta))\n delta = delta < 0 ? 0 - minAbsDelta : minAbsDelta\n // DEBUG.push(` -> adjusted delta: ${delta}`);\n // DEBUG.push(\"\");\n }\n\n {\n // Delta added to a panel needs to be subtracted from other panels (within the constraints that those panels allow).\n\n const pivotIndex = delta < 0 ? firstPivotIndex : secondPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const deltaRemaining = Math.abs(delta) - Math.abs(deltaApplied)\n\n const prevSize = prevLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize - deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaApplied += prevSize - safeSize\n\n nextLayout[index] = safeSize\n\n if (\n deltaApplied\n .toPrecision(3)\n .localeCompare(Math.abs(delta).toPrecision(3), undefined, {\n numeric: true,\n }) >= 0\n ) {\n break\n }\n }\n\n if (delta < 0)\n index--\n else\n index++\n }\n }\n // DEBUG.push(`after 1: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n // If we were unable to resize any of the panels panels, return the previous state.\n // This will essentially bailout and ignore e.g. drags past a panel's boundaries\n if (fuzzyNumbersEqual(deltaApplied, 0)) {\n // console.log(DEBUG.join(\"\\n\"));\n return prevLayout\n }\n\n {\n // Now distribute the applied delta to the panels in the other direction\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n\n const prevSize = prevLayout[pivotIndex]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaApplied\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: pivotIndex,\n size: unsafeSize,\n })\n\n // Adjust the pivot panel before, but only by the amount that surrounding panels were able to shrink/contract.\n nextLayout[pivotIndex] = safeSize\n\n // Edge case where expanding or contracting one panel caused another one to change collapsed state\n if (!fuzzyNumbersEqual(safeSize, unsafeSize)) {\n let deltaRemaining = unsafeSize - safeSize\n\n const pivotIndex = delta < 0 ? secondPivotIndex : firstPivotIndex\n let index = pivotIndex\n while (index >= 0 && index < panelConstraintsArray.length) {\n const prevSize = nextLayout[index]\n assert(prevSize != null)\n\n const unsafeSize = prevSize + deltaRemaining\n const safeSize = resizePanel({\n panelConstraints: panelConstraintsArray,\n panelIndex: index,\n size: unsafeSize,\n })\n\n if (!fuzzyNumbersEqual(prevSize, safeSize)) {\n deltaRemaining -= safeSize - prevSize\n\n nextLayout[index] = safeSize\n }\n\n if (fuzzyNumbersEqual(deltaRemaining, 0))\n break\n\n if (delta > 0)\n index--\n else\n index++\n }\n }\n }\n // DEBUG.push(`after 2: ${nextLayout.join(\", \")}`);\n // DEBUG.push(` deltaApplied: ${deltaApplied}`);\n // DEBUG.push(\"\");\n\n const totalSize = nextLayout.reduce((total, size) => size + total, 0)\n // DEBUG.push(`total size: ${totalSize}`);\n // console.log(DEBUG.join(\"\\n\"));\n\n if (!fuzzyNumbersEqual(totalSize, 100))\n return prevLayout\n\n return nextLayout\n}\n"],"names":["panelConstraints","delta","pivotIndex","prevSize","unsafeSize","safeSize"],"mappings":"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"}
|
package/dist/utils/registry.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const utils_style = require('./style.cjs');
|
|
4
3
|
const utils_events = require('./events.cjs');
|
|
5
4
|
const utils_rects = require('./rects.cjs');
|
|
6
5
|
const utils_stackingOrder = require('./stackingOrder.cjs');
|
|
6
|
+
const utils_style = require('./style.cjs');
|
|
7
7
|
|
|
8
8
|
const EXCEEDED_HORIZONTAL_MIN = 1;
|
|
9
9
|
const EXCEEDED_HORIZONTAL_MAX = 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.cjs","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Direction, ResizeEvent } from './types'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport type { Ref } from 'vue'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count","resetGlobalCursorStyle","getResizeEventCoordinates","compare","intersects","setGlobalCursorStyle"],"mappings":";;;;;;;AA0BO,MAAM,uBAA0B,GAAA;AAChC,MAAM,uBAA0B,GAAA;AAChC,MAAM,qBAAwB,GAAA;AAC9B,MAAM,qBAAwB,GAAA;AAErC,SAAS,YAA8C,GAAA;AACrD,EAAA,IAAI,OAAO,UAAe,KAAA,UAAA;AACxB,IAAA,OAAO,UAAW,CAAA,kBAAkB,CAAE,CAAA,OAAA,GAAU,QAAW,GAAA,MAAA;AAC/D;AAEA,MAAM,eAAA,GAAkB,cAAmB,KAAA,QAAA;AAE3C,MAAM,sBAA2C,EAAC;AAClD,IAAI,aAAgB,GAAA,KAAA;AACpB,MAAM,mBAAA,uBAAiD,GAAI,EAAA;AAC3D,MAAM,oBAAA,uBAAgD,GAAI,EAAA;AAE1D,MAAM,wBAAA,uBAA+B,GAAuB,EAAA;AAErD,SAAS,oBACd,CAAA,cAAA,EACA,OACA,EAAA,SAAA,EACA,gBACA,qBACA,EAAA;AACA,EAAM,MAAA,EAAE,eAAkB,GAAA,OAAA;AAE1B,EAAA,MAAM,IAA0B,GAAA;AAAA,IAC9B,SAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,KAAQ,GAAA,mBAAA,CAAoB,GAAI,CAAA,aAAa,CAAK,IAAA,CAAA;AACxD,EAAoB,mBAAA,CAAA,GAAA,CAAI,aAAe,EAAA,KAAA,GAAQ,CAAC,CAAA;AAEhD,EAAA,wBAAA,CAAyB,IAAI,IAAI,CAAA;AAEjC,EAAgB,eAAA,EAAA;AAEhB,EAAA,OAAO,SAAS,sBAAyB,GAAA;AACvC,IAAA,oBAAA,CAAqB,OAAO,cAAc,CAAA;AAC1C,IAAA,wBAAA,CAAyB,OAAO,IAAI,CAAA;AAEpC,IAAA,MAAMA,MAAQ,GAAA,mBAAA,CAAoB,GAAI,CAAA,aAAa,CAAK,IAAA,CAAA;AACxD,IAAoB,mBAAA,CAAA,GAAA,CAAI,aAAeA,EAAAA,MAAAA,GAAQ,CAAC,CAAA;AAEhD,IAAgB,eAAA,EAAA;AAChB,IAAuBC,kCAAA,EAAA;AAEvB,IAAA,IAAID,MAAU,KAAA,CAAA;AACZ,MAAA,mBAAA,CAAoB,OAAO,aAAa,CAAA;AAAA,GAC5C;AACF;AAEA,SAAS,kBAAkB,KAAoB,EAAA;AAC7C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AACnB,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIE,uCAA0B,KAAK,CAAA;AAEhD,EAAgB,aAAA,GAAA,IAAA;AAEhB,EAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAC/C,EAAgB,eAAA,EAAA;AAEhB,EAAI,IAAA,mBAAA,CAAoB,SAAS,CAAG,EAAA;AAClC,IAAA,yBAAA,CAA0B,QAAQ,KAAK,CAAA;AAEvC,IAAA,KAAA,CAAM,cAAe,EAAA;AAAA;AAEzB;AAEA,SAAS,kBAAkB,KAAoB,EAAA;AAC7C,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIA,uCAA0B,KAAK,CAAA;AAEhD,EAAA,IAAI,CAAC,aAAe,EAAA;AAClB,IAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AAKnB,IAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAAA;AAGjD,EAAA,yBAAA,CAA0B,QAAQ,KAAK,CAAA;AAGvC,EAAa,YAAA,EAAA;AAEb,EAAA,IAAI,oBAAoB,MAAS,GAAA,CAAA;AAC/B,IAAA,KAAA,CAAM,cAAe,EAAA;AACzB;AAEA,SAAS,gBAAgB,KAAoB,EAAA;AAC3C,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA;AACnB,EAAA,MAAM,EAAE,CAAA,EAAG,CAAE,EAAA,GAAIA,uCAA0B,KAAK,CAAA;AAEhD,EAAA,oBAAA,CAAqB,KAAM,EAAA;AAC3B,EAAgB,aAAA,GAAA,KAAA;AAEhB,EAAA,IAAI,oBAAoB,MAAS,GAAA,CAAA;AAC/B,IAAA,KAAA,CAAM,cAAe,EAAA;AAEvB,EAAA,yBAAA,CAA0B,MAAM,KAAK,CAAA;AACrC,EAAA,8BAAA,CAA+B,EAAE,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,CAAA;AAC/C,EAAa,YAAA,EAAA;AAEb,EAAgB,eAAA,EAAA;AAClB;AAEA,SAAS,8BAA+B,CAAA;AAAA,EACtC,MAAA;AAAA,EACA,CAAA;AAAA,EACA;AACF,CAIG,EAAA;AACD,EAAA,mBAAA,CAAoB,OAAO,CAAC,CAAA;AAE5B,EAAA,IAAI,aAAoC,GAAA,IAAA;AACxC,EAAA,IAAI,MAAkB,YAAA,WAAA;AACpB,IAAgB,aAAA,GAAA,MAAA;AAElB,EAAyB,wBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACzC,IAAA,MAAM,EAAE,OAAA,EAAS,iBAAmB,EAAA,cAAA,EAAmB,GAAA,IAAA;AAEvD,IAAM,MAAA,cAAA,GAAiB,kBAAkB,qBAAsB,EAAA;AAC/D,IAAA,MAAM,EAAE,MAAA,EAAQ,IAAM,EAAA,KAAA,EAAO,KAAQ,GAAA,cAAA;AAErC,IAAA,MAAM,MAAS,GAAA,eAAA,GACX,cAAe,CAAA,MAAA,GACf,cAAe,CAAA,IAAA;AAEnB,IAAM,MAAA,eAAA,GACF,CAAK,IAAA,IAAA,GAAO,MACX,IAAA,CAAA,IAAK,KAAQ,GAAA,MAAA,IACb,CAAK,IAAA,GAAA,GAAM,MACX,IAAA,CAAA,IAAK,MAAS,GAAA,MAAA;AAEnB,IAAA,IAAI,eAAiB,EAAA;AAOnB,MAAA,IACE,kBAAkB,IACf,IAAA,iBAAA,KAAsB,iBACtB,CAAC,iBAAA,CAAkB,SAAS,aAAa,CAAA,IACzC,CAAC,aAAA,CAAc,SAAS,iBAAiB,CAAA,IAIzCC,4BAAQ,aAAe,EAAA,iBAAiB,IAAI,CAC/C,EAAA;AAOA,QAAA,IAAI,cAAqC,GAAA,aAAA;AACzC,QAAA,IAAI,YAAe,GAAA,KAAA;AACnB,QAAA,OAAO,cAAgB,EAAA;AACrB,UAAI,IAAA,cAAA,CAAe,QAAS,CAAA,iBAAiB,CAAG,EAAA;AAC9C,YAAA;AAAA,WAGA,MAAA,IAAAC,sBAAA;AAAA,YACE,eAAe,qBAAsB,EAAA;AAAA,YACrC,cAEF,CACA,EAAA;AACA,YAAe,YAAA,GAAA,IAAA;AACf,YAAA;AAAA;AAGF,UAAA,cAAA,GAAiB,cAAe,CAAA,aAAA;AAAA;AAGlC,QAAI,IAAA,YAAA;AACF,UAAA;AAAA;AAGJ,MAAA,mBAAA,CAAoB,KAAK,IAAI,CAAA;AAAA;AAC/B,GACD,CAAA;AACH;AAEgB,SAAA,0BAAA,CACd,gBACA,IACA,EAAA;AACA,EAAqB,oBAAA,CAAA,GAAA,CAAI,gBAAgB,IAAI,CAAA;AAC/C;AAEA,SAAS,YAAe,GAAA;AACtB,EAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,EAAA,IAAI,kBAAqB,GAAA,KAAA;AAEzB,EAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACpC,IAAM,MAAA,EAAE,WAAc,GAAA,IAAA;AAEtB,IAAA,IAAI,UAAU,KAAU,KAAA,YAAA;AACtB,MAAuB,oBAAA,GAAA,IAAA;AAAA;AAEvB,MAAqB,kBAAA,GAAA,IAAA;AAAA,GACxB,CAAA;AAED,EAAA,IAAI,eAAkB,GAAA,CAAA;AACtB,EAAqB,oBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACrC,IAAmB,eAAA,IAAA,IAAA;AAAA,GACpB,CAAA;AAED,EAAA,IAAI,oBAAwB,IAAA,kBAAA;AAC1B,IAAAC,gCAAA,CAAqB,gBAAgB,eAAe,CAAA;AAAA,OAC7C,IAAA,oBAAA;AACP,IAAAA,gCAAA,CAAqB,cAAc,eAAe,CAAA;AAAA,OAC3C,IAAA,kBAAA;AACP,IAAAA,gCAAA,CAAqB,YAAY,eAAe,CAAA;AAAA;AAEhD,IAAuBJ,kCAAA,EAAA;AAC3B;AAEA,SAAS,eAAkB,GAAA;AACzB,EAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,aAAkB,KAAA;AAChD,IAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,IAAK,IAAA,CAAA,mBAAA,CAAoB,eAAe,eAAe,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,iBAAiB,CAAA;AACxD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,aAAa,iBAAiB,CAAA;AACvD,IAAK,IAAA,CAAA,mBAAA,CAAoB,cAAc,iBAAiB,CAAA;AAAA,GACzD,CAAA;AAED,EAAO,MAAA,CAAA,mBAAA,CAAoB,WAAW,eAAe,CAAA;AACrD,EAAO,MAAA,CAAA,mBAAA,CAAoB,eAAe,eAAe,CAAA;AACzD,EAAO,MAAA,CAAA,mBAAA,CAAoB,YAAY,eAAe,CAAA;AAEtD,EAAI,IAAA,wBAAA,CAAyB,OAAO,CAAG,EAAA;AACrC,IAAA,IAAI,aAAe,EAAA;AACjB,MAAI,IAAA,mBAAA,CAAoB,SAAS,CAAG,EAAA;AAClC,QAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,aAAkB,KAAA;AACpD,UAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,UAAA,IAAI,QAAQ,CAAG,EAAA;AACb,YAAK,IAAA,CAAA,gBAAA,CAAiB,eAAe,eAAe,CAAA;AACpD,YAAK,IAAA,CAAA,gBAAA,CAAiB,cAAc,iBAAiB,CAAA;AACrD,YAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,YAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAmB,EAAA;AAAA,cACpD,OAAS,EAAA;AAAA,aACV,CAAA;AAAA;AACH,SACD,CAAA;AAAA;AAGH,MAAO,MAAA,CAAA,gBAAA,CAAiB,WAAW,eAAe,CAAA;AAClD,MAAO,MAAA,CAAA,gBAAA,CAAiB,eAAe,eAAe,CAAA;AACtD,MAAO,MAAA,CAAA,gBAAA,CAAiB,YAAY,eAAe,CAAA;AAAA,KAEhD,MAAA;AACH,MAAoB,mBAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,aAAkB,KAAA;AACpD,QAAM,MAAA,EAAE,MAAS,GAAA,aAAA;AAEjB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAiB,CAAA;AACpD,UAAK,IAAA,CAAA,gBAAA,CAAiB,aAAa,iBAAmB,EAAA;AAAA,YACpD,OAAS,EAAA;AAAA,WACV,CAAA;AACD,UAAK,IAAA,CAAA,gBAAA,CAAiB,cAAc,iBAAiB,CAAA;AAAA;AACvD,OACD,CAAA;AAAA;AACH;AAEJ;AAEA,SAAS,yBAAA,CACP,QACA,KACA,EAAA;AACA,EAAyB,wBAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACzC,IAAM,MAAA,EAAE,uBAA0B,GAAA,IAAA;AAElC,IAAM,MAAA,QAAA,GAAW,mBAAoB,CAAA,QAAA,CAAS,IAAI,CAAA;AAElD,IAAsB,qBAAA,CAAA,MAAA,EAAQ,UAAU,KAAK,CAAA;AAAA,GAC9C,CAAA;AACH;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"registry.cjs","sources":["../../src/Splitter/utils/registry.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { Direction, ResizeEvent } from './types'\nimport { getResizeEventCoordinates } from './events'\nimport { intersects } from './rects'\nimport { compare } from './stackingOrder'\nimport { resetGlobalCursorStyle, setGlobalCursorStyle } from './style'\n\nexport type ResizeHandlerAction = 'down' | 'move' | 'up'\nexport type SetResizeHandlerState = (\n action: ResizeHandlerAction,\n isActive: boolean,\n event: ResizeEvent\n) => void\n\nexport type PointerHitAreaMargins = {\n coarse: number\n fine: number\n}\n\nexport type ResizeHandlerData = {\n direction: Ref<Direction>\n element: HTMLElement\n hitAreaMargins: PointerHitAreaMargins\n setResizeHandlerState: SetResizeHandlerState\n}\n\nexport const EXCEEDED_HORIZONTAL_MIN = 0b0001\nexport const EXCEEDED_HORIZONTAL_MAX = 0b0010\nexport const EXCEEDED_VERTICAL_MIN = 0b0100\nexport const EXCEEDED_VERTICAL_MAX = 0b1000\n\nfunction getInputType(): 'coarse' | 'fine' | undefined {\n if (typeof matchMedia === 'function')\n return matchMedia('(pointer:coarse)').matches ? 'coarse' : 'fine'\n}\n\nconst isCoarsePointer = getInputType() === 'coarse'\n\nconst intersectingHandles: ResizeHandlerData[] = []\nlet isPointerDown = false\nconst ownerDocumentCounts: Map<Document, number> = new Map()\nconst panelConstraintFlags: Map<string, number> = new Map()\n\nconst registeredResizeHandlers = new Set<ResizeHandlerData>()\n\nexport function registerResizeHandle(\n resizeHandleId: string,\n element: HTMLElement,\n direction: Ref<Direction>,\n hitAreaMargins: PointerHitAreaMargins,\n setResizeHandlerState: SetResizeHandlerState,\n) {\n const { ownerDocument } = element\n\n const data: ResizeHandlerData = {\n direction,\n element,\n hitAreaMargins,\n setResizeHandlerState,\n }\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 0\n ownerDocumentCounts.set(ownerDocument, count + 1)\n\n registeredResizeHandlers.add(data)\n\n updateListeners()\n\n return function unregisterResizeHandle() {\n panelConstraintFlags.delete(resizeHandleId)\n registeredResizeHandlers.delete(data)\n\n const count = ownerDocumentCounts.get(ownerDocument) ?? 1\n ownerDocumentCounts.set(ownerDocument, count - 1)\n\n updateListeners()\n resetGlobalCursorStyle()\n\n if (count === 1)\n ownerDocumentCounts.delete(ownerDocument)\n }\n}\n\nfunction handlePointerDown(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n isPointerDown = true\n\n recalculateIntersectingHandles({ target, x, y })\n updateListeners()\n\n if (intersectingHandles.length > 0) {\n updateResizeHandlerStates('down', event)\n\n event.preventDefault()\n }\n}\n\nfunction handlePointerMove(event: ResizeEvent) {\n const { x, y } = getResizeEventCoordinates(event)\n\n if (!isPointerDown) {\n const { target } = event\n\n // Recalculate intersecting handles whenever the pointer moves, except if it has already been pressed\n // at that point, the handles may not move with the pointer (depending on constraints)\n // but the same set of active handles should be locked until the pointer is released\n recalculateIntersectingHandles({ target, x, y })\n }\n\n updateResizeHandlerStates('move', event)\n\n // Update cursor based on return value(s) from active handles\n updateCursor()\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n}\n\nfunction handlePointerUp(event: ResizeEvent) {\n const { target } = event\n const { x, y } = getResizeEventCoordinates(event)\n\n panelConstraintFlags.clear()\n isPointerDown = false\n\n if (intersectingHandles.length > 0)\n event.preventDefault()\n\n updateResizeHandlerStates('up', event)\n recalculateIntersectingHandles({ target, x, y })\n updateCursor()\n\n updateListeners()\n}\n\nfunction recalculateIntersectingHandles({\n target,\n x,\n y,\n}: {\n target: EventTarget | null\n x: number\n y: number\n}) {\n intersectingHandles.splice(0)\n\n let targetElement: HTMLElement | null = null\n if (target instanceof HTMLElement)\n targetElement = target\n\n registeredResizeHandlers.forEach((data) => {\n const { element: dragHandleElement, hitAreaMargins } = data\n\n const dragHandleRect = dragHandleElement.getBoundingClientRect()\n const { bottom, left, right, top } = dragHandleRect\n\n const margin = isCoarsePointer\n ? hitAreaMargins.coarse\n : hitAreaMargins.fine\n\n const eventIntersects\n = x >= left - margin\n && x <= right + margin\n && y >= top - margin\n && y <= bottom + margin\n\n if (eventIntersects) {\n // TRICKY\n // We listen for pointers events at the root in order to support hit area margins\n // (determining when the pointer is close enough to an element to be considered a \"hit\")\n // Clicking on an element \"above\" a handle (e.g. a modal) should prevent a hit though\n // so at this point we need to compare stacking order of a potentially intersecting drag handle,\n // and the element that was actually clicked/touched\n if (\n targetElement !== null\n && dragHandleElement !== targetElement\n && !dragHandleElement.contains(targetElement)\n && !targetElement.contains(dragHandleElement)\n // Calculating stacking order has a cost, so we should avoid it if possible\n // That is why we only check potentially intersecting handles,\n // and why we skip if the event target is within the handle's DOM\n && compare(targetElement, dragHandleElement) > 0\n ) {\n // If the target is above the drag handle, then we also need to confirm they overlap\n // If they are beside each other (e.g. a panel and its drag handle) then the handle is still interactive\n //\n // It's not enough to compare only the target\n // The target might be a small element inside of a larger container\n // (For example, a SPAN or a DIV inside of a larger modal dialog)\n let currentElement: HTMLElement | null = targetElement\n let didIntersect = false\n while (currentElement) {\n if (currentElement.contains(dragHandleElement)) {\n break\n }\n else if (\n intersects(\n currentElement.getBoundingClientRect(),\n dragHandleRect,\n true,\n )\n ) {\n didIntersect = true\n break\n }\n\n currentElement = currentElement.parentElement\n }\n\n if (didIntersect)\n return\n }\n\n intersectingHandles.push(data)\n }\n })\n}\n\nexport function reportConstraintsViolation(\n resizeHandleId: string,\n flag: number,\n) {\n panelConstraintFlags.set(resizeHandleId, flag)\n}\n\nfunction updateCursor() {\n let intersectsHorizontal = false\n let intersectsVertical = false\n\n intersectingHandles.forEach((data) => {\n const { direction } = data\n\n if (direction.value === 'horizontal')\n intersectsHorizontal = true\n else\n intersectsVertical = true\n })\n\n let constraintFlags = 0\n panelConstraintFlags.forEach((flag) => {\n constraintFlags |= flag\n })\n\n if (intersectsHorizontal && intersectsVertical)\n setGlobalCursorStyle('intersection', constraintFlags)\n else if (intersectsHorizontal)\n setGlobalCursorStyle('horizontal', constraintFlags)\n else if (intersectsVertical)\n setGlobalCursorStyle('vertical', constraintFlags)\n else\n resetGlobalCursorStyle()\n}\n\nfunction updateListeners() {\n ownerDocumentCounts.forEach((_, ownerDocument) => {\n const { body } = ownerDocument\n\n body.removeEventListener('contextmenu', handlePointerUp)\n body.removeEventListener('mousedown', handlePointerDown)\n body.removeEventListener('mouseleave', handlePointerMove)\n body.removeEventListener('mousemove', handlePointerMove)\n body.removeEventListener('touchmove', handlePointerMove)\n body.removeEventListener('touchstart', handlePointerDown)\n })\n\n window.removeEventListener('mouseup', handlePointerUp)\n window.removeEventListener('touchcancel', handlePointerUp)\n window.removeEventListener('touchend', handlePointerUp)\n\n if (registeredResizeHandlers.size > 0) {\n if (isPointerDown) {\n if (intersectingHandles.length > 0) {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('contextmenu', handlePointerUp)\n body.addEventListener('mouseleave', handlePointerMove)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n }\n })\n }\n\n window.addEventListener('mouseup', handlePointerUp)\n window.addEventListener('touchcancel', handlePointerUp)\n window.addEventListener('touchend', handlePointerUp)\n }\n else {\n ownerDocumentCounts.forEach((count, ownerDocument) => {\n const { body } = ownerDocument\n\n if (count > 0) {\n body.addEventListener('mousedown', handlePointerDown)\n body.addEventListener('mousemove', handlePointerMove)\n body.addEventListener('touchmove', handlePointerMove, {\n passive: false,\n })\n body.addEventListener('touchstart', handlePointerDown)\n }\n })\n }\n }\n}\n\nfunction updateResizeHandlerStates(\n action: ResizeHandlerAction,\n event: ResizeEvent,\n) {\n registeredResizeHandlers.forEach((data) => {\n const { setResizeHandlerState } = data\n\n const isActive = intersectingHandles.includes(data)\n\n setResizeHandlerState(action, isActive, event)\n })\n}\n"],"names":["count","resetGlobalCursorStyle","getResizeEventCoordinates","compare","intersects","setGlobalCursorStyle"],"mappings":"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"}
|
package/dist/utils/registry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as setGlobalCursorStyle, r as resetGlobalCursorStyle } from './style.js';
|
|
2
1
|
import { c as getResizeEventCoordinates } from './events.js';
|
|
3
2
|
import { i as intersects } from './rects.js';
|
|
4
3
|
import { c as compare } from './stackingOrder.js';
|
|
4
|
+
import { s as setGlobalCursorStyle, r as resetGlobalCursorStyle } from './style.js';
|
|
5
5
|
|
|
6
6
|
const EXCEEDED_HORIZONTAL_MIN = 1;
|
|
7
7
|
const EXCEEDED_HORIZONTAL_MAX = 2;
|