reka-ui 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Accordion/AccordionContent.cjs +2 -1
- package/dist/Accordion/AccordionContent.cjs.map +1 -1
- package/dist/Accordion/AccordionContent.js +3 -2
- package/dist/Accordion/AccordionContent.js.map +1 -1
- package/dist/Accordion/AccordionHeader.js +1 -1
- package/dist/Accordion/AccordionItem.cjs +2 -2
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +3 -3
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionRoot.cjs +1 -1
- package/dist/Accordion/AccordionRoot.js +2 -2
- package/dist/Accordion/AccordionTrigger.cjs +2 -2
- package/dist/Accordion/AccordionTrigger.cjs.map +1 -1
- package/dist/Accordion/AccordionTrigger.js +3 -3
- package/dist/Accordion/AccordionTrigger.js.map +1 -1
- package/dist/AlertDialog/AlertDialogAction.js +1 -1
- package/dist/AlertDialog/AlertDialogCancel.js +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs +1 -1
- package/dist/AlertDialog/AlertDialogContent.js +2 -2
- package/dist/AlertDialog/AlertDialogDescription.js +1 -1
- package/dist/AlertDialog/AlertDialogOverlay.js +1 -1
- package/dist/AlertDialog/AlertDialogPortal.js +1 -1
- package/dist/AlertDialog/AlertDialogRoot.js +1 -1
- package/dist/AlertDialog/AlertDialogTitle.js +1 -1
- package/dist/AlertDialog/AlertDialogTrigger.js +1 -1
- package/dist/AspectRatio/AspectRatio.js +1 -1
- package/dist/Avatar/AvatarFallback.js +1 -1
- package/dist/Avatar/AvatarImage.js +1 -1
- package/dist/Avatar/AvatarRoot.cjs +1 -1
- package/dist/Avatar/AvatarRoot.js +2 -2
- package/dist/Calendar/CalendarCell.cjs +2 -2
- package/dist/Calendar/CalendarCell.js +3 -3
- package/dist/Calendar/CalendarCellTrigger.cjs +74 -48
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js +75 -49
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Calendar/CalendarGrid.cjs +2 -2
- package/dist/Calendar/CalendarGrid.cjs.map +1 -1
- package/dist/Calendar/CalendarGrid.js +3 -3
- package/dist/Calendar/CalendarGrid.js.map +1 -1
- package/dist/Calendar/CalendarGridBody.js +1 -1
- package/dist/Calendar/CalendarGridHead.js +1 -1
- package/dist/Calendar/CalendarGridRow.js +1 -1
- package/dist/Calendar/CalendarHeadCell.js +1 -1
- package/dist/Calendar/CalendarHeader.js +1 -1
- package/dist/Calendar/CalendarHeading.cjs +1 -1
- package/dist/Calendar/CalendarHeading.js +2 -2
- package/dist/Calendar/CalendarNext.cjs +3 -3
- package/dist/Calendar/CalendarNext.js +4 -4
- package/dist/Calendar/CalendarPrev.cjs +3 -3
- package/dist/Calendar/CalendarPrev.js +4 -4
- package/dist/Calendar/CalendarRoot.cjs +14 -12
- package/dist/Calendar/CalendarRoot.cjs.map +1 -1
- package/dist/Calendar/CalendarRoot.js +15 -13
- package/dist/Calendar/CalendarRoot.js.map +1 -1
- package/dist/Calendar/useCalendar.js +1 -1
- package/dist/Calendar/utils.cjs +9 -0
- package/dist/Calendar/utils.cjs.map +1 -0
- package/dist/Calendar/utils.js +7 -0
- package/dist/Calendar/utils.js.map +1 -0
- package/dist/Checkbox/CheckboxGroupRoot.cjs +3 -3
- package/dist/Checkbox/CheckboxGroupRoot.js +4 -4
- package/dist/Checkbox/CheckboxIndicator.cjs +1 -1
- package/dist/Checkbox/CheckboxIndicator.js +2 -2
- package/dist/Checkbox/CheckboxRoot.cjs +8 -8
- package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxRoot.js +10 -10
- package/dist/Checkbox/CheckboxRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleContent.cjs +4 -4
- package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleContent.js +5 -5
- package/dist/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.cjs +4 -4
- package/dist/Collapsible/CollapsibleRoot.js +5 -5
- package/dist/Collapsible/CollapsibleTrigger.cjs +2 -2
- package/dist/Collapsible/CollapsibleTrigger.js +3 -3
- package/dist/Combobox/ComboboxAnchor.js +1 -1
- package/dist/Combobox/ComboboxArrow.js +1 -1
- package/dist/Combobox/ComboboxCancel.cjs +1 -1
- package/dist/Combobox/ComboboxCancel.js +2 -2
- package/dist/Combobox/ComboboxContent.cjs +1 -1
- package/dist/Combobox/ComboboxContent.cjs.map +1 -1
- package/dist/Combobox/ComboboxContent.js +2 -2
- package/dist/Combobox/ComboboxContent.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +2 -2
- package/dist/Combobox/ComboboxEmpty.js +1 -1
- package/dist/Combobox/ComboboxGroup.cjs +3 -3
- package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
- package/dist/Combobox/ComboboxGroup.js +4 -4
- package/dist/Combobox/ComboboxGroup.js.map +1 -1
- package/dist/Combobox/ComboboxInput.cjs +1 -1
- package/dist/Combobox/ComboboxInput.js +2 -2
- package/dist/Combobox/ComboboxItem.cjs +2 -5
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +4 -6
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxItemIndicator.js +1 -1
- package/dist/Combobox/ComboboxLabel.cjs +1 -1
- package/dist/Combobox/ComboboxLabel.cjs.map +1 -1
- package/dist/Combobox/ComboboxLabel.js +2 -2
- package/dist/Combobox/ComboboxLabel.js.map +1 -1
- package/dist/Combobox/ComboboxPortal.js +1 -1
- package/dist/Combobox/ComboboxRoot.cjs +7 -7
- package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
- package/dist/Combobox/ComboboxRoot.js +8 -8
- package/dist/Combobox/ComboboxRoot.js.map +1 -1
- package/dist/Combobox/ComboboxSeparator.js +1 -1
- package/dist/Combobox/ComboboxTrigger.cjs +3 -3
- package/dist/Combobox/ComboboxTrigger.js +4 -4
- package/dist/Combobox/ComboboxViewport.cjs +1 -1
- package/dist/Combobox/ComboboxViewport.js +2 -2
- package/dist/Combobox/ComboboxVirtualizer.js +1 -1
- package/dist/ConfigProvider/ConfigProvider.cjs +2 -2
- package/dist/ConfigProvider/ConfigProvider.js +2 -2
- package/dist/ContextMenu/ContextMenuArrow.js +1 -1
- package/dist/ContextMenu/ContextMenuCheckboxItem.js +1 -1
- package/dist/ContextMenu/ContextMenuContent.js +1 -1
- package/dist/ContextMenu/ContextMenuGroup.js +1 -1
- package/dist/ContextMenu/ContextMenuItem.js +1 -1
- package/dist/ContextMenu/ContextMenuItemIndicator.js +1 -1
- package/dist/ContextMenu/ContextMenuLabel.js +1 -1
- package/dist/ContextMenu/ContextMenuPortal.js +1 -1
- package/dist/ContextMenu/ContextMenuRadioGroup.js +1 -1
- package/dist/ContextMenu/ContextMenuRadioItem.js +1 -1
- package/dist/ContextMenu/ContextMenuRoot.cjs +1 -1
- package/dist/ContextMenu/ContextMenuRoot.js +2 -2
- package/dist/ContextMenu/ContextMenuSeparator.js +1 -1
- package/dist/ContextMenu/ContextMenuSub.cjs +2 -2
- package/dist/ContextMenu/ContextMenuSub.js +3 -3
- package/dist/ContextMenu/ContextMenuSubContent.js +1 -1
- package/dist/ContextMenu/ContextMenuSubTrigger.js +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.cjs +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
- package/dist/DateField/DateFieldInput.cjs +5 -5
- package/dist/DateField/DateFieldInput.js +6 -6
- package/dist/DateField/DateFieldRoot.cjs +10 -10
- package/dist/DateField/DateFieldRoot.js +11 -11
- package/dist/DatePicker/DatePickerArrow.js +1 -1
- package/dist/DatePicker/DatePickerCalendar.js +1 -1
- package/dist/DatePicker/DatePickerCell.js +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js +1 -1
- package/dist/DatePicker/DatePickerClose.js +1 -1
- package/dist/DatePicker/DatePickerContent.js +1 -1
- package/dist/DatePicker/DatePickerField.js +1 -1
- package/dist/DatePicker/DatePickerGrid.js +1 -1
- package/dist/DatePicker/DatePickerGridBody.js +1 -1
- package/dist/DatePicker/DatePickerGridHead.js +1 -1
- package/dist/DatePicker/DatePickerGridRow.js +1 -1
- package/dist/DatePicker/DatePickerHeadCell.js +1 -1
- package/dist/DatePicker/DatePickerHeader.js +1 -1
- package/dist/DatePicker/DatePickerHeading.js +1 -1
- package/dist/DatePicker/DatePickerInput.js +1 -1
- package/dist/DatePicker/DatePickerNext.js +1 -1
- package/dist/DatePicker/DatePickerPrev.js +1 -1
- package/dist/DatePicker/DatePickerRoot.cjs +11 -11
- package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
- package/dist/DatePicker/DatePickerRoot.js +12 -12
- package/dist/DatePicker/DatePickerRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerTrigger.js +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.cjs +5 -5
- package/dist/DateRangeField/DateRangeFieldInput.js +6 -6
- package/dist/DateRangeField/DateRangeFieldRoot.cjs +22 -18
- package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js +23 -19
- package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.js +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerCellTrigger.js +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.js +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js +1 -1
- package/dist/DateRangePicker/DateRangePickerField.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.js +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.js +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.js +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.js +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.js +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.cjs +11 -11
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +12 -12
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.js +1 -1
- package/dist/Dialog/DialogClose.cjs +1 -1
- package/dist/Dialog/DialogClose.js +2 -2
- package/dist/Dialog/DialogContent.js +1 -1
- package/dist/Dialog/DialogContentImpl.cjs +2 -2
- package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
- package/dist/Dialog/DialogContentImpl.js +3 -3
- package/dist/Dialog/DialogContentImpl.js.map +1 -1
- package/dist/Dialog/DialogContentModal.js +1 -1
- package/dist/Dialog/DialogContentNonModal.js +1 -1
- package/dist/Dialog/DialogDescription.js +1 -1
- package/dist/Dialog/DialogOverlay.js +1 -1
- package/dist/Dialog/DialogOverlayImpl.js +1 -1
- package/dist/Dialog/DialogPortal.js +1 -1
- package/dist/Dialog/DialogRoot.cjs +2 -2
- package/dist/Dialog/DialogRoot.js +2 -2
- package/dist/Dialog/DialogTitle.js +1 -1
- package/dist/Dialog/DialogTrigger.cjs +3 -3
- package/dist/Dialog/DialogTrigger.cjs.map +1 -1
- package/dist/Dialog/DialogTrigger.js +4 -4
- package/dist/Dialog/DialogTrigger.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs +1 -1
- package/dist/DismissableLayer/DismissableLayer.js +2 -2
- package/dist/DismissableLayer/DismissableLayerBranch.js +1 -1
- package/dist/DismissableLayer/utils.cjs +1 -0
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +1 -0
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuArrow.js +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.js +2 -2
- package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuGroup.js +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuItemIndicator.js +1 -1
- package/dist/DropdownMenu/DropdownMenuLabel.js +1 -1
- package/dist/DropdownMenu/DropdownMenuPortal.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.cjs +3 -3
- package/dist/DropdownMenu/DropdownMenuRoot.js +4 -4
- package/dist/DropdownMenu/DropdownMenuSeparator.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.cjs +2 -2
- package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.js +3 -3
- package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubContent.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSubTrigger.js +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs +4 -4
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.js +5 -5
- package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
- package/dist/Editable/EditableArea.cjs +7 -7
- package/dist/Editable/EditableArea.js +8 -8
- package/dist/Editable/EditableCancelTrigger.cjs +4 -4
- package/dist/Editable/EditableCancelTrigger.js +5 -5
- package/dist/Editable/EditableEditTrigger.cjs +4 -4
- package/dist/Editable/EditableEditTrigger.js +5 -5
- package/dist/Editable/EditableInput.cjs +4 -4
- package/dist/Editable/EditableInput.js +5 -5
- package/dist/Editable/EditablePreview.cjs +4 -4
- package/dist/Editable/EditablePreview.js +5 -5
- package/dist/Editable/EditableRoot.cjs +2 -2
- package/dist/Editable/EditableRoot.js +3 -3
- package/dist/Editable/EditableSubmitTrigger.cjs +4 -4
- package/dist/Editable/EditableSubmitTrigger.js +5 -5
- package/dist/FocusScope/FocusScope.js +1 -1
- package/dist/FocusScope/utils.cjs +1 -1
- package/dist/FocusScope/utils.cjs.map +1 -1
- package/dist/FocusScope/utils.js +1 -1
- package/dist/FocusScope/utils.js.map +1 -1
- package/dist/HoverCard/HoverCardArrow.js +1 -1
- package/dist/HoverCard/HoverCardContent.js +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +2 -2
- package/dist/HoverCard/HoverCardContentImpl.js +3 -3
- package/dist/HoverCard/HoverCardPortal.js +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs +3 -3
- package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
- package/dist/HoverCard/HoverCardRoot.js +4 -4
- package/dist/HoverCard/HoverCardRoot.js.map +1 -1
- package/dist/HoverCard/HoverCardTrigger.js +1 -1
- package/dist/HoverCard/utils.cjs +1 -1
- package/dist/HoverCard/utils.cjs.map +1 -1
- package/dist/HoverCard/utils.js +1 -1
- package/dist/HoverCard/utils.js.map +1 -1
- package/dist/Label/Label.js +1 -1
- package/dist/Listbox/ListboxContent.cjs +2 -2
- package/dist/Listbox/ListboxContent.js +3 -3
- package/dist/Listbox/ListboxFilter.cjs +8 -5
- package/dist/Listbox/ListboxFilter.cjs.map +1 -1
- package/dist/Listbox/ListboxFilter.js +9 -6
- package/dist/Listbox/ListboxFilter.js.map +1 -1
- package/dist/Listbox/ListboxGroup.cjs +2 -2
- package/dist/Listbox/ListboxGroup.cjs.map +1 -1
- package/dist/Listbox/ListboxGroup.js +3 -3
- package/dist/Listbox/ListboxGroup.js.map +1 -1
- package/dist/Listbox/ListboxGroupLabel.js +1 -1
- package/dist/Listbox/ListboxItem.cjs +6 -6
- package/dist/Listbox/ListboxItem.cjs.map +1 -1
- package/dist/Listbox/ListboxItem.js +7 -7
- package/dist/Listbox/ListboxItem.js.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.js +1 -1
- package/dist/Listbox/ListboxRoot.cjs +6 -6
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js +7 -7
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +1 -1
- package/dist/Listbox/utils.cjs +2 -2
- package/dist/Listbox/utils.cjs.map +1 -1
- package/dist/Listbox/utils.js +2 -2
- package/dist/Listbox/utils.js.map +1 -1
- package/dist/Menu/MenuAnchor.js +1 -1
- package/dist/Menu/MenuArrow.js +1 -1
- package/dist/Menu/MenuCheckboxItem.js +1 -1
- package/dist/Menu/MenuContent.js +1 -1
- package/dist/Menu/MenuContentImpl.cjs +2 -2
- package/dist/Menu/MenuContentImpl.js +4 -4
- package/dist/Menu/MenuGroup.js +1 -1
- package/dist/Menu/MenuItem.js +1 -1
- package/dist/Menu/MenuItemImpl.cjs +3 -3
- package/dist/Menu/MenuItemImpl.js +4 -4
- package/dist/Menu/MenuItemIndicator.cjs +1 -1
- package/dist/Menu/MenuItemIndicator.js +2 -2
- package/dist/Menu/MenuLabel.js +1 -1
- package/dist/Menu/MenuPortal.js +1 -1
- package/dist/Menu/MenuRadioGroup.js +1 -1
- package/dist/Menu/MenuRadioItem.js +1 -1
- package/dist/Menu/MenuRoot.js +1 -1
- package/dist/Menu/MenuRootContentModal.js +1 -1
- package/dist/Menu/MenuRootContentNonModal.js +1 -1
- package/dist/Menu/MenuSeparator.js +1 -1
- package/dist/Menu/MenuSub.cjs +2 -2
- package/dist/Menu/MenuSub.js +3 -3
- package/dist/Menu/MenuSubContent.cjs +1 -1
- package/dist/Menu/MenuSubContent.cjs.map +1 -1
- package/dist/Menu/MenuSubContent.js +2 -2
- package/dist/Menu/MenuSubContent.js.map +1 -1
- package/dist/Menu/MenuSubTrigger.cjs +2 -2
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js +3 -3
- package/dist/Menu/MenuSubTrigger.js.map +1 -1
- package/dist/Menubar/MenubarArrow.js +1 -1
- package/dist/Menubar/MenubarCheckboxItem.js +1 -1
- package/dist/Menubar/MenubarContent.cjs +1 -1
- package/dist/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/Menubar/MenubarContent.js +2 -2
- package/dist/Menubar/MenubarContent.js.map +1 -1
- package/dist/Menubar/MenubarGroup.js +1 -1
- package/dist/Menubar/MenubarItem.js +1 -1
- package/dist/Menubar/MenubarItemIndicator.js +1 -1
- package/dist/Menubar/MenubarLabel.js +1 -1
- package/dist/Menubar/MenubarMenu.cjs +1 -1
- package/dist/Menubar/MenubarMenu.js +2 -2
- package/dist/Menubar/MenubarPortal.js +1 -1
- package/dist/Menubar/MenubarRadioGroup.js +1 -1
- package/dist/Menubar/MenubarRadioItem.js +1 -1
- package/dist/Menubar/MenubarRoot.cjs +3 -3
- package/dist/Menubar/MenubarRoot.js +4 -4
- package/dist/Menubar/MenubarSeparator.js +1 -1
- package/dist/Menubar/MenubarSub.cjs +2 -2
- package/dist/Menubar/MenubarSub.js +3 -3
- package/dist/Menubar/MenubarSubContent.js +1 -1
- package/dist/Menubar/MenubarSubTrigger.js +1 -1
- package/dist/Menubar/MenubarTrigger.cjs +5 -5
- package/dist/Menubar/MenubarTrigger.js +6 -6
- package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.js +2 -2
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js +2 -2
- package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.js +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
- package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuLink.cjs +2 -2
- package/dist/NavigationMenu/NavigationMenuLink.js +3 -3
- package/dist/NavigationMenu/NavigationMenuList.js +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.cjs +4 -4
- package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.js +5 -5
- package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.cjs +12 -2
- package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.js +13 -3
- 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 +8 -8
- package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.js +10 -10
- 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 +5 -5
- package/dist/NumberField/NumberFieldDecrement.js +6 -6
- package/dist/NumberField/NumberFieldIncrement.cjs +5 -5
- package/dist/NumberField/NumberFieldIncrement.js +6 -6
- package/dist/NumberField/NumberFieldInput.cjs +3 -3
- package/dist/NumberField/NumberFieldInput.js +4 -4
- package/dist/NumberField/NumberFieldRoot.cjs +7 -7
- package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
- package/dist/NumberField/NumberFieldRoot.js +8 -8
- package/dist/NumberField/NumberFieldRoot.js.map +1 -1
- package/dist/NumberField/utils.js +1 -1
- package/dist/Pagination/PaginationEllipsis.js +1 -1
- package/dist/Pagination/PaginationFirst.cjs +1 -1
- package/dist/Pagination/PaginationFirst.js +2 -2
- package/dist/Pagination/PaginationLast.cjs +1 -1
- package/dist/Pagination/PaginationLast.js +2 -2
- package/dist/Pagination/PaginationList.js +1 -1
- package/dist/Pagination/PaginationListItem.cjs +3 -3
- package/dist/Pagination/PaginationListItem.js +4 -4
- package/dist/Pagination/PaginationNext.cjs +1 -1
- package/dist/Pagination/PaginationNext.js +2 -2
- package/dist/Pagination/PaginationPrev.cjs +1 -1
- package/dist/Pagination/PaginationPrev.js +2 -2
- package/dist/Pagination/PaginationRoot.cjs +2 -2
- package/dist/Pagination/PaginationRoot.js +3 -3
- package/dist/PinInput/PinInputInput.cjs +4 -4
- package/dist/PinInput/PinInputInput.cjs.map +1 -1
- package/dist/PinInput/PinInputInput.js +5 -5
- package/dist/PinInput/PinInputInput.js.map +1 -1
- package/dist/PinInput/PinInputRoot.cjs +4 -4
- package/dist/PinInput/PinInputRoot.js +5 -5
- package/dist/Popover/PopoverAnchor.js +1 -1
- package/dist/Popover/PopoverArrow.js +1 -1
- package/dist/Popover/PopoverClose.cjs +1 -1
- package/dist/Popover/PopoverClose.js +2 -2
- package/dist/Popover/PopoverContent.cjs +1 -1
- package/dist/Popover/PopoverContent.cjs.map +1 -1
- package/dist/Popover/PopoverContent.js +2 -2
- package/dist/Popover/PopoverContent.js.map +1 -1
- package/dist/Popover/PopoverContentImpl.js +1 -1
- package/dist/Popover/PopoverContentModal.js +1 -1
- package/dist/Popover/PopoverContentNonModal.js +1 -1
- package/dist/Popover/PopoverPortal.js +1 -1
- package/dist/Popover/PopoverRoot.cjs +2 -2
- package/dist/Popover/PopoverRoot.js +3 -3
- package/dist/Popover/PopoverTrigger.cjs +2 -2
- package/dist/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/Popover/PopoverTrigger.js +3 -3
- package/dist/Popover/PopoverTrigger.js.map +1 -1
- package/dist/Popper/PopperAnchor.js +1 -1
- package/dist/Popper/PopperArrow.cjs +4 -4
- package/dist/Popper/PopperArrow.js +5 -5
- package/dist/Popper/PopperContent.cjs +3 -3
- package/dist/Popper/PopperContent.cjs.map +1 -1
- package/dist/Popper/PopperContent.js +5 -5
- package/dist/Popper/PopperContent.js.map +1 -1
- package/dist/Presence/usePresence.cjs +2 -2
- package/dist/Presence/usePresence.cjs.map +1 -1
- package/dist/Presence/usePresence.js +2 -2
- package/dist/Presence/usePresence.js.map +1 -1
- package/dist/Primitive/Primitive.cjs +1 -1
- package/dist/Primitive/Primitive.cjs.map +1 -1
- package/dist/Primitive/Primitive.js +1 -1
- package/dist/Primitive/Primitive.js.map +1 -1
- package/dist/Progress/ProgressIndicator.cjs +1 -1
- package/dist/Progress/ProgressIndicator.js +2 -2
- package/dist/Progress/ProgressRoot.cjs +5 -5
- package/dist/Progress/ProgressRoot.js +6 -6
- package/dist/RadioGroup/Radio.cjs +6 -6
- package/dist/RadioGroup/Radio.cjs.map +1 -1
- package/dist/RadioGroup/Radio.js +7 -7
- package/dist/RadioGroup/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.cjs +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.js +2 -2
- package/dist/RadioGroup/RadioGroupItem.cjs +2 -2
- package/dist/RadioGroup/RadioGroupItem.js +3 -3
- package/dist/RadioGroup/RadioGroupRoot.cjs +5 -5
- package/dist/RadioGroup/RadioGroupRoot.js +6 -6
- package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarCell.js +3 -3
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +84 -58
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +85 -59
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.js +3 -3
- package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGridBody.js +1 -1
- package/dist/RangeCalendar/RangeCalendarGridHead.js +1 -1
- package/dist/RangeCalendar/RangeCalendarGridRow.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeadCell.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeader.js +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.cjs +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.js +2 -2
- package/dist/RangeCalendar/RangeCalendarNext.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarNext.js +4 -4
- package/dist/RangeCalendar/RangeCalendarPrev.cjs +3 -3
- package/dist/RangeCalendar/RangeCalendarPrev.js +4 -4
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +18 -16
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +19 -17
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.cjs +4 -4
- package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.js +5 -5
- package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.cjs +4 -4
- package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.js +5 -5
- package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
- package/dist/RovingFocus/utils.cjs +2 -2
- package/dist/RovingFocus/utils.cjs.map +1 -1
- package/dist/RovingFocus/utils.js +2 -2
- package/dist/RovingFocus/utils.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.js +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +2 -2
- package/dist/ScrollArea/ScrollAreaCornerImpl.js +3 -3
- package/dist/ScrollArea/ScrollAreaRoot.cjs +4 -4
- package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaRoot.js +5 -5
- package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.js +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.js +2 -2
- package/dist/ScrollArea/ScrollAreaScrollbarY.cjs +3 -3
- package/dist/ScrollArea/ScrollAreaScrollbarY.js +4 -4
- package/dist/ScrollArea/ScrollAreaThumb.js +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js +2 -2
- package/dist/Select/BubbleSelect.cjs +2 -2
- package/dist/Select/BubbleSelect.cjs.map +1 -1
- package/dist/Select/BubbleSelect.js +3 -3
- package/dist/Select/BubbleSelect.js.map +1 -1
- package/dist/Select/SelectArrow.js +1 -1
- package/dist/Select/SelectContent.js +1 -1
- package/dist/Select/SelectContentImpl.cjs +17 -7
- package/dist/Select/SelectContentImpl.cjs.map +1 -1
- package/dist/Select/SelectContentImpl.js +18 -8
- 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 +6 -6
- package/dist/Select/SelectItem.cjs.map +1 -1
- package/dist/Select/SelectItem.js +7 -7
- package/dist/Select/SelectItem.js.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
- package/dist/Select/SelectItemAlignedPosition.js +2 -2
- package/dist/Select/SelectItemIndicator.js +1 -1
- package/dist/Select/SelectItemText.js +1 -1
- package/dist/Select/SelectLabel.js +1 -1
- package/dist/Select/SelectPopperPosition.js +1 -1
- package/dist/Select/SelectPortal.js +1 -1
- package/dist/Select/SelectRoot.cjs +6 -6
- package/dist/Select/SelectRoot.cjs.map +1 -1
- package/dist/Select/SelectRoot.js +7 -7
- package/dist/Select/SelectRoot.js.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.js +1 -1
- package/dist/Select/SelectScrollDownButton.cjs +1 -1
- package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
- package/dist/Select/SelectScrollDownButton.js +2 -2
- package/dist/Select/SelectScrollDownButton.js.map +1 -1
- package/dist/Select/SelectScrollUpButton.cjs +1 -1
- package/dist/Select/SelectScrollUpButton.cjs.map +1 -1
- package/dist/Select/SelectScrollUpButton.js +2 -2
- package/dist/Select/SelectScrollUpButton.js.map +1 -1
- package/dist/Select/SelectSeparator.js +1 -1
- package/dist/Select/SelectTrigger.cjs +4 -4
- package/dist/Select/SelectTrigger.cjs.map +1 -1
- package/dist/Select/SelectTrigger.js +5 -5
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/SelectValue.cjs +1 -1
- package/dist/Select/SelectValue.js +2 -2
- package/dist/Select/SelectViewport.cjs +1 -1
- package/dist/Select/SelectViewport.cjs.map +1 -1
- package/dist/Select/SelectViewport.js +2 -2
- package/dist/Select/SelectViewport.js.map +1 -1
- package/dist/Select/utils.cjs +2 -2
- package/dist/Select/utils.cjs.map +1 -1
- package/dist/Select/utils.js +2 -2
- package/dist/Select/utils.js.map +1 -1
- package/dist/Separator/Separator.js +1 -1
- package/dist/Slider/SliderHorizontal.cjs +2 -2
- package/dist/Slider/SliderHorizontal.js +3 -3
- package/dist/Slider/SliderImpl.js +1 -1
- package/dist/Slider/SliderRange.cjs +1 -1
- package/dist/Slider/SliderRange.js +2 -2
- package/dist/Slider/SliderRoot.cjs +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 +4 -4
- package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
- package/dist/Slider/SliderThumbImpl.js +5 -5
- package/dist/Slider/SliderThumbImpl.js.map +1 -1
- package/dist/Slider/SliderTrack.cjs +1 -1
- package/dist/Slider/SliderTrack.js +2 -2
- package/dist/Slider/SliderVertical.cjs +2 -2
- package/dist/Slider/SliderVertical.js +3 -3
- package/dist/Slider/utils.cjs +1 -1
- package/dist/Slider/utils.cjs.map +1 -1
- package/dist/Slider/utils.js +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Splitter/SplitterGroup.cjs +2 -2
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js +3 -3
- package/dist/Splitter/SplitterGroup.js.map +1 -1
- package/dist/Splitter/SplitterPanel.cjs +3 -3
- package/dist/Splitter/SplitterPanel.cjs.map +1 -1
- package/dist/Splitter/SplitterPanel.js +4 -4
- package/dist/Splitter/SplitterPanel.js.map +1 -1
- package/dist/Splitter/SplitterResizeHandle.cjs +2 -2
- package/dist/Splitter/SplitterResizeHandle.js +3 -3
- package/dist/Stepper/StepperDescription.js +1 -1
- package/dist/Stepper/StepperIndicator.js +1 -1
- package/dist/Stepper/StepperItem.cjs +6 -6
- package/dist/Stepper/StepperItem.cjs.map +1 -1
- package/dist/Stepper/StepperItem.js +7 -7
- package/dist/Stepper/StepperItem.js.map +1 -1
- package/dist/Stepper/StepperRoot.cjs +3 -3
- package/dist/Stepper/StepperRoot.js +4 -4
- package/dist/Stepper/StepperSeparator.js +1 -1
- package/dist/Stepper/StepperTitle.js +1 -1
- package/dist/Stepper/StepperTrigger.cjs +5 -5
- package/dist/Stepper/StepperTrigger.cjs.map +1 -1
- package/dist/Stepper/StepperTrigger.js +6 -6
- package/dist/Stepper/StepperTrigger.js.map +1 -1
- package/dist/Switch/SwitchRoot.cjs +6 -6
- package/dist/Switch/SwitchRoot.cjs.map +1 -1
- package/dist/Switch/SwitchRoot.js +7 -7
- package/dist/Switch/SwitchRoot.js.map +1 -1
- package/dist/Switch/SwitchThumb.cjs +1 -1
- package/dist/Switch/SwitchThumb.js +2 -2
- package/dist/Tabs/TabsContent.cjs +1 -1
- package/dist/Tabs/TabsContent.js +2 -2
- package/dist/Tabs/TabsIndicator.js +1 -1
- package/dist/Tabs/TabsList.cjs +1 -1
- package/dist/Tabs/TabsList.js +2 -2
- package/dist/Tabs/TabsRoot.cjs +3 -3
- package/dist/Tabs/TabsRoot.cjs.map +1 -1
- package/dist/Tabs/TabsRoot.js +4 -4
- package/dist/Tabs/TabsRoot.js.map +1 -1
- package/dist/Tabs/TabsTrigger.cjs +3 -3
- package/dist/Tabs/TabsTrigger.js +4 -4
- package/dist/TagsInput/TagsInputClear.cjs +2 -2
- package/dist/TagsInput/TagsInputClear.js +3 -3
- package/dist/TagsInput/TagsInputInput.cjs +1 -1
- package/dist/TagsInput/TagsInputInput.js +2 -2
- package/dist/TagsInput/TagsInputItem.cjs +2 -2
- package/dist/TagsInput/TagsInputItem.js +3 -3
- package/dist/TagsInput/TagsInputItemDelete.cjs +4 -3
- package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js +5 -4
- package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemText.js +2 -2
- package/dist/TagsInput/TagsInputItemText.js.map +1 -1
- package/dist/TagsInput/TagsInputRoot.cjs +7 -7
- package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
- package/dist/TagsInput/TagsInputRoot.js +8 -8
- package/dist/TagsInput/TagsInputRoot.js.map +1 -1
- package/dist/Teleport/Teleport.js +1 -1
- package/dist/TimeField/TimeFieldInput.cjs +5 -5
- package/dist/TimeField/TimeFieldInput.js +6 -6
- package/dist/TimeField/TimeFieldRoot.cjs +17 -14
- package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
- package/dist/TimeField/TimeFieldRoot.js +19 -16
- package/dist/TimeField/TimeFieldRoot.js.map +1 -1
- package/dist/Toast/FocusProxy.js +1 -1
- package/dist/Toast/ToastAction.js +1 -1
- package/dist/Toast/ToastAnnounce.js +1 -1
- package/dist/Toast/ToastAnnounceExclude.cjs +1 -1
- package/dist/Toast/ToastAnnounceExclude.js +2 -2
- package/dist/Toast/ToastClose.cjs +3 -3
- package/dist/Toast/ToastClose.cjs.map +1 -1
- package/dist/Toast/ToastClose.js +4 -4
- package/dist/Toast/ToastClose.js.map +1 -1
- package/dist/Toast/ToastDescription.js +1 -1
- package/dist/Toast/ToastPortal.js +1 -1
- package/dist/Toast/ToastRoot.cjs +5 -2
- package/dist/Toast/ToastRoot.cjs.map +1 -1
- package/dist/Toast/ToastRoot.js +6 -3
- package/dist/Toast/ToastRoot.js.map +1 -1
- package/dist/Toast/ToastRootImpl.cjs +7 -4
- package/dist/Toast/ToastRootImpl.cjs.map +1 -1
- package/dist/Toast/ToastRootImpl.js +9 -6
- package/dist/Toast/ToastRootImpl.js.map +1 -1
- package/dist/Toast/ToastTitle.js +1 -1
- package/dist/Toast/ToastViewport.cjs +3 -3
- package/dist/Toast/ToastViewport.js +4 -4
- package/dist/Toast/utils.js +1 -1
- package/dist/Toggle/Toggle.cjs +4 -4
- package/dist/Toggle/Toggle.js +5 -5
- package/dist/ToggleGroup/ToggleGroupItem.cjs +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/ToggleGroup/ToggleGroupRoot.cjs +4 -4
- package/dist/ToggleGroup/ToggleGroupRoot.js +5 -5
- package/dist/Toolbar/ToolbarButton.cjs +2 -2
- package/dist/Toolbar/ToolbarButton.js +3 -3
- package/dist/Toolbar/ToolbarLink.cjs +1 -1
- package/dist/Toolbar/ToolbarLink.js +2 -2
- package/dist/Toolbar/ToolbarRoot.cjs +2 -2
- package/dist/Toolbar/ToolbarRoot.js +3 -3
- package/dist/Toolbar/ToolbarSeparator.js +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
- package/dist/Toolbar/ToolbarToggleItem.js +1 -1
- package/dist/Tooltip/TooltipArrow.js +1 -1
- package/dist/Tooltip/TooltipContent.js +1 -1
- package/dist/Tooltip/TooltipContentHoverable.js +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +1 -1
- package/dist/Tooltip/TooltipPortal.js +1 -1
- package/dist/Tooltip/TooltipProvider.cjs +1 -1
- package/dist/Tooltip/TooltipProvider.js +1 -1
- package/dist/Tooltip/TooltipRoot.cjs +8 -8
- package/dist/Tooltip/TooltipRoot.js +9 -9
- package/dist/Tooltip/TooltipTrigger.cjs +2 -2
- package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/Tooltip/TooltipTrigger.js +3 -3
- package/dist/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/Tree/TreeItem.cjs +5 -5
- package/dist/Tree/TreeItem.cjs.map +1 -1
- package/dist/Tree/TreeItem.js +6 -6
- package/dist/Tree/TreeItem.js.map +1 -1
- package/dist/Tree/TreeRoot.cjs +8 -8
- package/dist/Tree/TreeRoot.cjs.map +1 -1
- package/dist/Tree/TreeRoot.js +9 -9
- package/dist/Tree/TreeRoot.js.map +1 -1
- package/dist/Tree/TreeVirtualizer.js +1 -1
- package/dist/Viewport/Viewport.js +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.cjs +3 -3
- package/dist/VisuallyHidden/VisuallyHidden.js +4 -4
- package/dist/VisuallyHidden/VisuallyHiddenInput.cjs +9 -3
- package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInput.js +10 -4
- package/dist/VisuallyHidden/VisuallyHiddenInput.js.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js +2 -2
- package/dist/component/Arrow.cjs +2 -2
- package/dist/component/Arrow.js +3 -3
- package/dist/component/BaseSeparator.cjs +1 -1
- package/dist/component/BaseSeparator.js +2 -2
- package/dist/constant/components.cjs +4 -0
- package/dist/constant/components.cjs.map +1 -1
- package/dist/constant/components.js +4 -0
- package/dist/constant/components.js.map +1 -1
- package/dist/date/comparators.cjs +1 -1
- package/dist/date/comparators.cjs.map +1 -1
- package/dist/date/comparators.js +2 -2
- package/dist/date/comparators.js.map +1 -1
- package/dist/date/parser.cjs +2 -2
- package/dist/date/parser.js +3 -3
- package/dist/date/useDateField.cjs +9 -9
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +10 -10
- package/dist/date/useDateField.js.map +1 -1
- package/dist/date/utils.cjs +2 -2
- package/dist/date/utils.cjs.map +1 -1
- package/dist/date/utils.js +2 -2
- package/dist/date/utils.js.map +1 -1
- package/dist/index.cjs +91 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +75 -12
- package/dist/index.js +43 -41
- package/dist/index.js.map +1 -1
- package/dist/shared/nullish.cjs +1 -1
- package/dist/shared/nullish.cjs.map +1 -1
- package/dist/shared/nullish.js +1 -1
- package/dist/shared/nullish.js.map +1 -1
- package/dist/shared/useBodyScrollLock.cjs +2 -2
- package/dist/shared/useBodyScrollLock.cjs.map +1 -1
- package/dist/shared/useBodyScrollLock.js +4 -4
- package/dist/shared/useBodyScrollLock.js.map +1 -1
- package/dist/shared/useDateFormatter.js +2 -2
- package/dist/shared/useForwardProps.cjs +2 -2
- package/dist/shared/useForwardProps.cjs.map +1 -1
- package/dist/shared/useForwardProps.js +2 -2
- package/dist/shared/useForwardProps.js.map +1 -1
- package/dist/shared/useGraceArea.cjs +1 -1
- package/dist/shared/useGraceArea.cjs.map +1 -1
- package/dist/shared/useGraceArea.js +1 -1
- package/dist/shared/useGraceArea.js.map +1 -1
- package/dist/shared/useId.cjs +1 -1
- package/dist/shared/useId.cjs.map +1 -1
- package/dist/shared/useId.js +1 -1
- package/dist/shared/useId.js.map +1 -1
- package/dist/shared/useSelectionBehavior.cjs +1 -1
- package/dist/shared/useSelectionBehavior.cjs.map +1 -1
- package/dist/shared/useSelectionBehavior.js +1 -1
- package/dist/shared/useSelectionBehavior.js.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.cjs +5 -5
- package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.js +5 -5
- package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
- package/dist/shared/useSize.cjs +1 -1
- package/dist/shared/useSize.cjs.map +1 -1
- package/dist/shared/useSize.js +1 -1
- package/dist/shared/useSize.js.map +1 -1
- package/dist/shared/useTypeahead.cjs +1 -1
- package/dist/shared/useTypeahead.cjs.map +1 -1
- package/dist/shared/useTypeahead.js +1 -1
- package/dist/shared/useTypeahead.js.map +1 -1
- package/dist/utils/layout.cjs +1 -1
- package/dist/utils/layout.cjs.map +1 -1
- package/dist/utils/layout.js +1 -1
- package/dist/utils/layout.js.map +1 -1
- package/dist/utils/style.cjs +2 -2
- package/dist/utils/style.cjs.map +1 -1
- package/dist/utils/style.js +3 -3
- package/dist/utils/style.js.map +1 -1
- package/package.json +3 -3
|
@@ -26,7 +26,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
26
26
|
const { forwardRef, currentElement: thumbElement } = shared_useForwardExpose.useForwardExpose();
|
|
27
27
|
const { CollectionItem } = Collection_Collection.useCollection();
|
|
28
28
|
const value = vue.computed(() => rootContext.modelValue?.value?.[props.index]);
|
|
29
|
-
const percent = vue.computed(() => value.value ===
|
|
29
|
+
const percent = vue.computed(() => value.value === void 0 ? 0 : Slider_utils.convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100));
|
|
30
30
|
const label = vue.computed(() => Slider_utils.getLabel(props.index, rootContext.modelValue?.value?.length ?? 0));
|
|
31
31
|
const size = shared_useSize.useSize(thumbElement);
|
|
32
32
|
const orientationSize = vue.computed(() => size[orientation.size].value);
|
|
@@ -51,9 +51,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
51
51
|
vue.createVNode(vue.unref(Primitive_Primitive.Primitive), vue.mergeProps(_ctx.$attrs, {
|
|
52
52
|
ref: vue.unref(forwardRef),
|
|
53
53
|
role: "slider",
|
|
54
|
-
tabindex: vue.unref(rootContext).disabled.value ?
|
|
54
|
+
tabindex: vue.unref(rootContext).disabled.value ? void 0 : 0,
|
|
55
55
|
"aria-label": _ctx.$attrs["aria-label"] || label.value,
|
|
56
|
-
"data-disabled": vue.unref(rootContext).disabled.value ? "" :
|
|
56
|
+
"data-disabled": vue.unref(rootContext).disabled.value ? "" : void 0,
|
|
57
57
|
"data-orientation": vue.unref(rootContext).orientation.value,
|
|
58
58
|
"aria-valuenow": value.value,
|
|
59
59
|
"aria-valuemin": vue.unref(rootContext).min.value,
|
|
@@ -71,7 +71,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
71
|
* snap into the correct position during hydration which would be visually jarring for
|
|
72
72
|
* slower connections.
|
|
73
73
|
*/
|
|
74
|
-
display: !vue.unref(isMounted) && value.value ===
|
|
74
|
+
display: !vue.unref(isMounted) && value.value === void 0 ? "none" : void 0
|
|
75
75
|
},
|
|
76
76
|
onFocus: _cache[0] || (_cache[0] = () => {
|
|
77
77
|
vue.unref(rootContext).valueIndexToChangeRef.value = _ctx.index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderThumbImpl.cjs","sources":["../../src/Slider/SliderThumbImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface SliderThumbImplProps extends PrimitiveProps {\n index: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport { useMounted } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { injectSliderRootContext } from './SliderRoot.vue'\nimport { convertValueToPercentage, getLabel, getThumbInBoundsOffset, injectSliderOrientationContext } from './utils'\nimport { useForwardExpose, useSize } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SliderThumbImplProps>()\n\nconst rootContext = injectSliderRootContext()\nconst orientation = injectSliderOrientationContext()\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst value = computed(() => rootContext.modelValue?.value?.[props.index])\nconst percent = computed(() => value.value === undefined ? 0 : convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100))\nconst label = computed(() => getLabel(props.index, rootContext.modelValue?.value?.length ?? 0))\nconst size = useSize(thumbElement)\nconst orientationSize = computed(() => size[orientation!.size].value)\nconst thumbInBoundsOffset = computed(() => {\n if (rootContext.thumbAlignment.value === 'overflow' || !orientationSize.value) {\n return 0\n }\n else {\n return getThumbInBoundsOffset(orientationSize.value, percent.value, orientation!.direction)\n }\n})\n\nconst isMounted = useMounted()\nonMounted(() => {\n rootContext.thumbElements.value.push(thumbElement.value)\n})\nonUnmounted(() => {\n const i = rootContext.thumbElements.value.findIndex(i => i === thumbElement.value) ?? -1\n rootContext.thumbElements.value.splice(i, 1)\n})\n</script>\n\n<template>\n <CollectionItem>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n role=\"slider\"\n :tabindex=\"rootContext.disabled.value ? undefined : 0\"\n :aria-label=\"$attrs['aria-label'] || label\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n :data-orientation=\"rootContext.orientation.value\"\n :aria-valuenow=\"value\"\n :aria-valuemin=\"rootContext.min.value\"\n :aria-valuemax=\"rootContext.max.value\"\n :aria-orientation=\"rootContext.orientation.value\"\n :as-child=\"asChild\"\n :as=\"as\"\n :style=\"{\n transform: 'var(--reka-slider-thumb-transform)',\n position: 'absolute',\n [orientation!.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`,\n /**\n * There will be no value on initial render while we work out the index so we hide thumbs\n * without a value, otherwise SSR will render them in the wrong position before they\n * snap into the correct position during hydration which would be visually jarring for\n * slower connections.\n */\n display: !isMounted && value === undefined ? 'none' : undefined,\n }\"\n @focus=\"() => {\n rootContext.valueIndexToChangeRef.value = index\n }\"\n >\n <slot />\n </Primitive>\n </CollectionItem>\n</template>\n"],"names":["injectSliderRootContext","injectSliderOrientationContext","useForwardExpose","useCollection","computed","convertValueToPercentage","getLabel","useSize","getThumbInBoundsOffset","useMounted","onMounted","onUnmounted","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,yCAAwB,EAAA;AAC5C,IAAA,MAAM,cAAcC,2CAA+B,EAAA;AAEnD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiBC,wCAAiB,EAAA;AACtE,IAAM,MAAA,EAAE,cAAe,EAAA,GAAIC,mCAAc,EAAA;AAEzC,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM,WAAA,CAAY,YAAY,KAAQ,GAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACzE,IAAA,MAAM,UAAUA,YAAS,CAAA,MAAM,MAAM,KAAU,KAAA,
|
|
1
|
+
{"version":3,"file":"SliderThumbImpl.cjs","sources":["../../src/Slider/SliderThumbImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface SliderThumbImplProps extends PrimitiveProps {\n index: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport { useMounted } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { injectSliderRootContext } from './SliderRoot.vue'\nimport { convertValueToPercentage, getLabel, getThumbInBoundsOffset, injectSliderOrientationContext } from './utils'\nimport { useForwardExpose, useSize } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SliderThumbImplProps>()\n\nconst rootContext = injectSliderRootContext()\nconst orientation = injectSliderOrientationContext()\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst value = computed(() => rootContext.modelValue?.value?.[props.index])\nconst percent = computed(() => value.value === undefined ? 0 : convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100))\nconst label = computed(() => getLabel(props.index, rootContext.modelValue?.value?.length ?? 0))\nconst size = useSize(thumbElement)\nconst orientationSize = computed(() => size[orientation!.size].value)\nconst thumbInBoundsOffset = computed(() => {\n if (rootContext.thumbAlignment.value === 'overflow' || !orientationSize.value) {\n return 0\n }\n else {\n return getThumbInBoundsOffset(orientationSize.value, percent.value, orientation!.direction)\n }\n})\n\nconst isMounted = useMounted()\nonMounted(() => {\n rootContext.thumbElements.value.push(thumbElement.value)\n})\nonUnmounted(() => {\n const i = rootContext.thumbElements.value.findIndex(i => i === thumbElement.value) ?? -1\n rootContext.thumbElements.value.splice(i, 1)\n})\n</script>\n\n<template>\n <CollectionItem>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n role=\"slider\"\n :tabindex=\"rootContext.disabled.value ? undefined : 0\"\n :aria-label=\"$attrs['aria-label'] || label\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n :data-orientation=\"rootContext.orientation.value\"\n :aria-valuenow=\"value\"\n :aria-valuemin=\"rootContext.min.value\"\n :aria-valuemax=\"rootContext.max.value\"\n :aria-orientation=\"rootContext.orientation.value\"\n :as-child=\"asChild\"\n :as=\"as\"\n :style=\"{\n transform: 'var(--reka-slider-thumb-transform)',\n position: 'absolute',\n [orientation!.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`,\n /**\n * There will be no value on initial render while we work out the index so we hide thumbs\n * without a value, otherwise SSR will render them in the wrong position before they\n * snap into the correct position during hydration which would be visually jarring for\n * slower connections.\n */\n display: !isMounted && value === undefined ? 'none' : undefined,\n }\"\n @focus=\"() => {\n rootContext.valueIndexToChangeRef.value = index\n }\"\n >\n <slot />\n </Primitive>\n </CollectionItem>\n</template>\n"],"names":["injectSliderRootContext","injectSliderOrientationContext","useForwardExpose","useCollection","computed","convertValueToPercentage","getLabel","useSize","getThumbInBoundsOffset","useMounted","onMounted","onUnmounted","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,yCAAwB,EAAA;AAC5C,IAAA,MAAM,cAAcC,2CAA+B,EAAA;AAEnD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiBC,wCAAiB,EAAA;AACtE,IAAM,MAAA,EAAE,cAAe,EAAA,GAAIC,mCAAc,EAAA;AAEzC,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM,WAAA,CAAY,YAAY,KAAQ,GAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACzE,IAAA,MAAM,UAAUA,YAAS,CAAA,MAAM,MAAM,KAAU,KAAA,MAAA,GAAY,IAAIC,qCAAyB,CAAA,KAAA,CAAM,KAAO,EAAA,WAAA,CAAY,IAAI,KAAS,IAAA,CAAA,EAAG,YAAY,GAAI,CAAA,KAAA,IAAS,GAAG,CAAC,CAAA;AAC9J,IAAM,MAAA,KAAA,GAAQD,YAAS,CAAA,MAAME,qBAAS,CAAA,KAAA,CAAM,KAAO,EAAA,WAAA,CAAY,UAAY,EAAA,KAAA,EAAO,MAAU,IAAA,CAAC,CAAC,CAAA;AAC9F,IAAM,MAAA,IAAA,GAAOC,uBAAQ,YAAY,CAAA;AACjC,IAAA,MAAM,kBAAkBH,YAAS,CAAA,MAAM,KAAK,WAAa,CAAA,IAAI,EAAE,KAAK,CAAA;AACpE,IAAM,MAAA,mBAAA,GAAsBA,aAAS,MAAM;AACzC,MAAA,IAAI,YAAY,cAAe,CAAA,KAAA,KAAU,UAAc,IAAA,CAAC,gBAAgB,KAAO,EAAA;AAC7E,QAAO,OAAA,CAAA;AAAA,OAEJ,MAAA;AACH,QAAA,OAAOI,oCAAuB,eAAgB,CAAA,KAAA,EAAO,OAAQ,CAAA,KAAA,EAAO,YAAa,SAAS,CAAA;AAAA;AAC5F,KACD,CAAA;AAED,IAAA,MAAM,YAAYC,eAAW,EAAA;AAC7B,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAM,MAAA,CAAA,GAAI,WAAY,CAAA,aAAA,CAAc,KAAM,CAAA,SAAA,CAAU,CAAAC,EAAKA,KAAAA,EAAAA,KAAM,YAAa,CAAA,KAAK,CAAK,IAAA,EAAA;AACtF,MAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,MAAO,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,KAC5C,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, onMounted, onUnmounted,
|
|
1
|
+
import { defineComponent, computed, onMounted, onUnmounted, createBlock, openBlock, unref, withCtx, createVNode, mergeProps, renderSlot } from 'vue';
|
|
2
2
|
import { useMounted } from '@vueuse/core';
|
|
3
3
|
import { u as useCollection } from '../Collection/Collection.js';
|
|
4
4
|
import { i as injectSliderOrientationContext, c as convertValueToPercentage, d as getLabel, e as getThumbInBoundsOffset } from './utils.js';
|
|
@@ -24,7 +24,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
24
24
|
const { forwardRef, currentElement: thumbElement } = useForwardExpose();
|
|
25
25
|
const { CollectionItem } = useCollection();
|
|
26
26
|
const value = computed(() => rootContext.modelValue?.value?.[props.index]);
|
|
27
|
-
const percent = computed(() => value.value ===
|
|
27
|
+
const percent = computed(() => value.value === void 0 ? 0 : convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100));
|
|
28
28
|
const label = computed(() => getLabel(props.index, rootContext.modelValue?.value?.length ?? 0));
|
|
29
29
|
const size = useSize(thumbElement);
|
|
30
30
|
const orientationSize = computed(() => size[orientation.size].value);
|
|
@@ -49,9 +49,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
49
49
|
createVNode(unref(Primitive), mergeProps(_ctx.$attrs, {
|
|
50
50
|
ref: unref(forwardRef),
|
|
51
51
|
role: "slider",
|
|
52
|
-
tabindex: unref(rootContext).disabled.value ?
|
|
52
|
+
tabindex: unref(rootContext).disabled.value ? void 0 : 0,
|
|
53
53
|
"aria-label": _ctx.$attrs["aria-label"] || label.value,
|
|
54
|
-
"data-disabled": unref(rootContext).disabled.value ? "" :
|
|
54
|
+
"data-disabled": unref(rootContext).disabled.value ? "" : void 0,
|
|
55
55
|
"data-orientation": unref(rootContext).orientation.value,
|
|
56
56
|
"aria-valuenow": value.value,
|
|
57
57
|
"aria-valuemin": unref(rootContext).min.value,
|
|
@@ -69,7 +69,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
69
69
|
* snap into the correct position during hydration which would be visually jarring for
|
|
70
70
|
* slower connections.
|
|
71
71
|
*/
|
|
72
|
-
display: !unref(isMounted) && value.value ===
|
|
72
|
+
display: !unref(isMounted) && value.value === void 0 ? "none" : void 0
|
|
73
73
|
},
|
|
74
74
|
onFocus: _cache[0] || (_cache[0] = () => {
|
|
75
75
|
unref(rootContext).valueIndexToChangeRef.value = _ctx.index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderThumbImpl.js","sources":["../../src/Slider/SliderThumbImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface SliderThumbImplProps extends PrimitiveProps {\n index: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport { useMounted } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { injectSliderRootContext } from './SliderRoot.vue'\nimport { convertValueToPercentage, getLabel, getThumbInBoundsOffset, injectSliderOrientationContext } from './utils'\nimport { useForwardExpose, useSize } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SliderThumbImplProps>()\n\nconst rootContext = injectSliderRootContext()\nconst orientation = injectSliderOrientationContext()\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst value = computed(() => rootContext.modelValue?.value?.[props.index])\nconst percent = computed(() => value.value === undefined ? 0 : convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100))\nconst label = computed(() => getLabel(props.index, rootContext.modelValue?.value?.length ?? 0))\nconst size = useSize(thumbElement)\nconst orientationSize = computed(() => size[orientation!.size].value)\nconst thumbInBoundsOffset = computed(() => {\n if (rootContext.thumbAlignment.value === 'overflow' || !orientationSize.value) {\n return 0\n }\n else {\n return getThumbInBoundsOffset(orientationSize.value, percent.value, orientation!.direction)\n }\n})\n\nconst isMounted = useMounted()\nonMounted(() => {\n rootContext.thumbElements.value.push(thumbElement.value)\n})\nonUnmounted(() => {\n const i = rootContext.thumbElements.value.findIndex(i => i === thumbElement.value) ?? -1\n rootContext.thumbElements.value.splice(i, 1)\n})\n</script>\n\n<template>\n <CollectionItem>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n role=\"slider\"\n :tabindex=\"rootContext.disabled.value ? undefined : 0\"\n :aria-label=\"$attrs['aria-label'] || label\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n :data-orientation=\"rootContext.orientation.value\"\n :aria-valuenow=\"value\"\n :aria-valuemin=\"rootContext.min.value\"\n :aria-valuemax=\"rootContext.max.value\"\n :aria-orientation=\"rootContext.orientation.value\"\n :as-child=\"asChild\"\n :as=\"as\"\n :style=\"{\n transform: 'var(--reka-slider-thumb-transform)',\n position: 'absolute',\n [orientation!.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`,\n /**\n * There will be no value on initial render while we work out the index so we hide thumbs\n * without a value, otherwise SSR will render them in the wrong position before they\n * snap into the correct position during hydration which would be visually jarring for\n * slower connections.\n */\n display: !isMounted && value === undefined ? 'none' : undefined,\n }\"\n @focus=\"() => {\n rootContext.valueIndexToChangeRef.value = index\n }\"\n >\n <slot />\n </Primitive>\n </CollectionItem>\n</template>\n"],"names":["i"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,uBAAwB,EAAA;AAC5C,IAAA,MAAM,cAAc,8BAA+B,EAAA;AAEnD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiB,gBAAiB,EAAA;AACtE,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,aAAc,EAAA;AAEzC,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM,WAAA,CAAY,YAAY,KAAQ,GAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACzE,IAAA,MAAM,UAAU,QAAS,CAAA,MAAM,MAAM,KAAU,KAAA,
|
|
1
|
+
{"version":3,"file":"SliderThumbImpl.js","sources":["../../src/Slider/SliderThumbImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface SliderThumbImplProps extends PrimitiveProps {\n index: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted } from 'vue'\nimport { useMounted } from '@vueuse/core'\nimport { Primitive } from '@/Primitive'\nimport { useCollection } from '@/Collection'\nimport { injectSliderRootContext } from './SliderRoot.vue'\nimport { convertValueToPercentage, getLabel, getThumbInBoundsOffset, injectSliderOrientationContext } from './utils'\nimport { useForwardExpose, useSize } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SliderThumbImplProps>()\n\nconst rootContext = injectSliderRootContext()\nconst orientation = injectSliderOrientationContext()\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst { CollectionItem } = useCollection()\n\nconst value = computed(() => rootContext.modelValue?.value?.[props.index])\nconst percent = computed(() => value.value === undefined ? 0 : convertValueToPercentage(value.value, rootContext.min.value ?? 0, rootContext.max.value ?? 100))\nconst label = computed(() => getLabel(props.index, rootContext.modelValue?.value?.length ?? 0))\nconst size = useSize(thumbElement)\nconst orientationSize = computed(() => size[orientation!.size].value)\nconst thumbInBoundsOffset = computed(() => {\n if (rootContext.thumbAlignment.value === 'overflow' || !orientationSize.value) {\n return 0\n }\n else {\n return getThumbInBoundsOffset(orientationSize.value, percent.value, orientation!.direction)\n }\n})\n\nconst isMounted = useMounted()\nonMounted(() => {\n rootContext.thumbElements.value.push(thumbElement.value)\n})\nonUnmounted(() => {\n const i = rootContext.thumbElements.value.findIndex(i => i === thumbElement.value) ?? -1\n rootContext.thumbElements.value.splice(i, 1)\n})\n</script>\n\n<template>\n <CollectionItem>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n role=\"slider\"\n :tabindex=\"rootContext.disabled.value ? undefined : 0\"\n :aria-label=\"$attrs['aria-label'] || label\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n :data-orientation=\"rootContext.orientation.value\"\n :aria-valuenow=\"value\"\n :aria-valuemin=\"rootContext.min.value\"\n :aria-valuemax=\"rootContext.max.value\"\n :aria-orientation=\"rootContext.orientation.value\"\n :as-child=\"asChild\"\n :as=\"as\"\n :style=\"{\n transform: 'var(--reka-slider-thumb-transform)',\n position: 'absolute',\n [orientation!.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`,\n /**\n * There will be no value on initial render while we work out the index so we hide thumbs\n * without a value, otherwise SSR will render them in the wrong position before they\n * snap into the correct position during hydration which would be visually jarring for\n * slower connections.\n */\n display: !isMounted && value === undefined ? 'none' : undefined,\n }\"\n @focus=\"() => {\n rootContext.valueIndexToChangeRef.value = index\n }\"\n >\n <slot />\n </Primitive>\n </CollectionItem>\n</template>\n"],"names":["i"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,uBAAwB,EAAA;AAC5C,IAAA,MAAM,cAAc,8BAA+B,EAAA;AAEnD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiB,gBAAiB,EAAA;AACtE,IAAM,MAAA,EAAE,cAAe,EAAA,GAAI,aAAc,EAAA;AAEzC,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM,WAAA,CAAY,YAAY,KAAQ,GAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AACzE,IAAA,MAAM,UAAU,QAAS,CAAA,MAAM,MAAM,KAAU,KAAA,MAAA,GAAY,IAAI,wBAAyB,CAAA,KAAA,CAAM,KAAO,EAAA,WAAA,CAAY,IAAI,KAAS,IAAA,CAAA,EAAG,YAAY,GAAI,CAAA,KAAA,IAAS,GAAG,CAAC,CAAA;AAC9J,IAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,MAAM,QAAS,CAAA,KAAA,CAAM,KAAO,EAAA,WAAA,CAAY,UAAY,EAAA,KAAA,EAAO,MAAU,IAAA,CAAC,CAAC,CAAA;AAC9F,IAAM,MAAA,IAAA,GAAO,QAAQ,YAAY,CAAA;AACjC,IAAA,MAAM,kBAAkB,QAAS,CAAA,MAAM,KAAK,WAAa,CAAA,IAAI,EAAE,KAAK,CAAA;AACpE,IAAM,MAAA,mBAAA,GAAsB,SAAS,MAAM;AACzC,MAAA,IAAI,YAAY,cAAe,CAAA,KAAA,KAAU,UAAc,IAAA,CAAC,gBAAgB,KAAO,EAAA;AAC7E,QAAO,OAAA,CAAA;AAAA,OAEJ,MAAA;AACH,QAAA,OAAO,uBAAuB,eAAgB,CAAA,KAAA,EAAO,OAAQ,CAAA,KAAA,EAAO,YAAa,SAAS,CAAA;AAAA;AAC5F,KACD,CAAA;AAED,IAAA,MAAM,YAAY,UAAW,EAAA;AAC7B,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,CAAA,GAAI,WAAY,CAAA,aAAA,CAAc,KAAM,CAAA,SAAA,CAAU,CAAAA,EAAKA,KAAAA,EAAAA,KAAM,YAAa,CAAA,KAAK,CAAK,IAAA,EAAA;AACtF,MAAA,WAAA,CAAY,aAAc,CAAA,KAAA,CAAM,MAAO,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,KAC5C,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
return vue.openBlock(), vue.createBlock(vue.unref(Primitive_Primitive.Primitive), {
|
|
19
19
|
"as-child": _ctx.asChild,
|
|
20
20
|
as: _ctx.as,
|
|
21
|
-
"data-disabled": vue.unref(rootContext).disabled.value ? "" :
|
|
21
|
+
"data-disabled": vue.unref(rootContext).disabled.value ? "" : void 0,
|
|
22
22
|
"data-orientation": vue.unref(rootContext).orientation.value
|
|
23
23
|
}, {
|
|
24
24
|
default: vue.withCtx(() => [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent,
|
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
3
3
|
import { P as Primitive } from '../Primitive/Primitive.js';
|
|
4
4
|
import { i as injectSliderRootContext } from './SliderRoot.js';
|
|
@@ -16,7 +16,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16
16
|
return openBlock(), createBlock(unref(Primitive), {
|
|
17
17
|
"as-child": _ctx.asChild,
|
|
18
18
|
as: _ctx.as,
|
|
19
|
-
"data-disabled": unref(rootContext).disabled.value ? "" :
|
|
19
|
+
"data-disabled": unref(rootContext).disabled.value ? "" : void 0,
|
|
20
20
|
"data-orientation": unref(rootContext).orientation.value
|
|
21
21
|
}, {
|
|
22
22
|
default: withCtx(() => [
|
|
@@ -59,8 +59,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
59
59
|
emits("slideMove", value);
|
|
60
60
|
}),
|
|
61
61
|
onSlideEnd: _cache[2] || (_cache[2] = () => {
|
|
62
|
-
rectRef.value =
|
|
63
|
-
offsetPosition.value =
|
|
62
|
+
rectRef.value = void 0;
|
|
63
|
+
offsetPosition.value = void 0;
|
|
64
64
|
emits("slideEnd");
|
|
65
65
|
}),
|
|
66
66
|
onStepKeyDown: _cache[3] || (_cache[3] = (event) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, toRefs, ref, computed, openBlock,
|
|
1
|
+
import { defineComponent, toRefs, ref, computed, createBlock, openBlock, normalizeStyle, unref, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { _ as _sfc_main$1 } from './SliderImpl.js';
|
|
3
3
|
import { p as provideSliderOrientationContext, B as BACK_KEYS, l as linearScale } from './utils.js';
|
|
4
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
@@ -57,8 +57,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
57
57
|
emits("slideMove", value);
|
|
58
58
|
}),
|
|
59
59
|
onSlideEnd: _cache[2] || (_cache[2] = () => {
|
|
60
|
-
rectRef.value =
|
|
61
|
-
offsetPosition.value =
|
|
60
|
+
rectRef.value = void 0;
|
|
61
|
+
offsetPosition.value = void 0;
|
|
62
62
|
emits("slideEnd");
|
|
63
63
|
}),
|
|
64
64
|
onStepKeyDown: _cache[3] || (_cache[3] = (event) => {
|
package/dist/Slider/utils.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../src/Slider/utils.ts"],"sourcesContent":["import { clamp, createContext } from '@/shared'\n\nexport interface SliderOrientationPrivateProps {\n min: number\n max: number\n inverted: boolean\n}\n\nexport type SliderOrientationPrivateEmits = {\n slideEnd: []\n slideStart: [value: number]\n slideMove: [value: number]\n homeKeyDown: [event: KeyboardEvent]\n endKeyDown: [event: KeyboardEvent]\n stepKeyDown: [event: KeyboardEvent, direction: number]\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n const percentage = percentPerStep * (value - min)\n return clamp(percentage, 0, 100)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2)\n return `Value ${index + 1} of ${totalValues}`\n\n else if (totalValues === 2)\n return ['Minimum', 'Maximum'][index]\n\n else\n return undefined\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1)\n return 0\n const distances = values.map(value => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount\n return Math.round(value * rounder) / rounder\n}\n\nexport type Direction = 'ltr' | 'rtl'\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top'\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft'],\n\n}\n\ntype Side = 'top' | 'right' | 'bottom' | 'left'\ninterface SliderOrientation {\n startEdge: Side\n endEdge: Side\n size: 'width' | 'height'\n direction: number\n}\n\nexport const [injectSliderOrientationContext, provideSliderOrientationContext]\n = createContext<SliderOrientation>(['SliderVertical', 'SliderHorizontal'])\n"],"names":["clamp","createContext"],"mappings":";;;;;AAiBO,SAAS,mBAAoB,CAAA,UAAA,GAAuB,EAAC,EAAG,WAAmB,OAAiB,EAAA;AACjG,EAAM,MAAA,UAAA,GAAa,CAAC,GAAG,UAAU,CAAA;AACjC,EAAA,UAAA,CAAW,OAAO,CAAI,GAAA,SAAA;AACtB,EAAA,OAAO,WAAW,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,IAAI,CAAC,CAAA;AACxC;AAEgB,SAAA,wBAAA,CAAyB,KAAe,EAAA,GAAA,EAAa,GAAa,EAAA;AAChF,EAAA,MAAM,WAAW,GAAM,GAAA,GAAA;AACvB,EAAA,MAAM,iBAAiB,GAAM,GAAA,QAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,kBAAkB,KAAQ,GAAA,GAAA,CAAA;AAC7C,EAAO,OAAAA,kBAAA,CAAM,UAAY,EAAA,CAAA,EAAG,GAAG,CAAA;AACjC;AAKgB,SAAA,QAAA,CAAS,OAAe,WAAqB,EAAA;AAC3D,EAAA,IAAI,WAAc,GAAA,CAAA;AAChB,IAAA,OAAO,CAAS,MAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,IAAA,EAAO,WAAW,CAAA,CAAA;AAAA,OAAA,IAEpC,WAAgB,KAAA,CAAA;AACvB,IAAA,OAAO,CAAC,SAAA,EAAW,SAAS,CAAA,CAAE,KAAK,CAAA;AAAA;AAGnC,IAAO,OAAA,
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../src/Slider/utils.ts"],"sourcesContent":["import { clamp, createContext } from '@/shared'\n\nexport interface SliderOrientationPrivateProps {\n min: number\n max: number\n inverted: boolean\n}\n\nexport type SliderOrientationPrivateEmits = {\n slideEnd: []\n slideStart: [value: number]\n slideMove: [value: number]\n homeKeyDown: [event: KeyboardEvent]\n endKeyDown: [event: KeyboardEvent]\n stepKeyDown: [event: KeyboardEvent, direction: number]\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n const percentage = percentPerStep * (value - min)\n return clamp(percentage, 0, 100)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2)\n return `Value ${index + 1} of ${totalValues}`\n\n else if (totalValues === 2)\n return ['Minimum', 'Maximum'][index]\n\n else\n return undefined\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1)\n return 0\n const distances = values.map(value => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount\n return Math.round(value * rounder) / rounder\n}\n\nexport type Direction = 'ltr' | 'rtl'\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top'\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft'],\n\n}\n\ntype Side = 'top' | 'right' | 'bottom' | 'left'\ninterface SliderOrientation {\n startEdge: Side\n endEdge: Side\n size: 'width' | 'height'\n direction: number\n}\n\nexport const [injectSliderOrientationContext, provideSliderOrientationContext]\n = createContext<SliderOrientation>(['SliderVertical', 'SliderHorizontal'])\n"],"names":["clamp","createContext"],"mappings":";;;;;AAiBO,SAAS,mBAAoB,CAAA,UAAA,GAAuB,EAAC,EAAG,WAAmB,OAAiB,EAAA;AACjG,EAAM,MAAA,UAAA,GAAa,CAAC,GAAG,UAAU,CAAA;AACjC,EAAA,UAAA,CAAW,OAAO,CAAI,GAAA,SAAA;AACtB,EAAA,OAAO,WAAW,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,IAAI,CAAC,CAAA;AACxC;AAEgB,SAAA,wBAAA,CAAyB,KAAe,EAAA,GAAA,EAAa,GAAa,EAAA;AAChF,EAAA,MAAM,WAAW,GAAM,GAAA,GAAA;AACvB,EAAA,MAAM,iBAAiB,GAAM,GAAA,QAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,kBAAkB,KAAQ,GAAA,GAAA,CAAA;AAC7C,EAAO,OAAAA,kBAAA,CAAM,UAAY,EAAA,CAAA,EAAG,GAAG,CAAA;AACjC;AAKgB,SAAA,QAAA,CAAS,OAAe,WAAqB,EAAA;AAC3D,EAAA,IAAI,WAAc,GAAA,CAAA;AAChB,IAAA,OAAO,CAAS,MAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,IAAA,EAAO,WAAW,CAAA,CAAA;AAAA,OAAA,IAEpC,WAAgB,KAAA,CAAA;AACvB,IAAA,OAAO,CAAC,SAAA,EAAW,SAAS,CAAA,CAAE,KAAK,CAAA;AAAA;AAGnC,IAAO,OAAA,MAAA;AACX;AAUgB,SAAA,oBAAA,CAAqB,QAAkB,SAAmB,EAAA;AACxE,EAAA,IAAI,OAAO,MAAW,KAAA,CAAA;AACpB,IAAO,OAAA,CAAA;AACT,EAAM,MAAA,SAAA,GAAY,OAAO,GAAI,CAAA,CAAA,KAAA,KAAS,KAAK,GAAI,CAAA,KAAA,GAAQ,SAAS,CAAC,CAAA;AACjE,EAAA,MAAM,eAAkB,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,SAAS,CAAA;AAC7C,EAAO,OAAA,SAAA,CAAU,QAAQ,eAAe,CAAA;AAC1C;AAMgB,SAAA,sBAAA,CAAuB,KAAe,EAAA,IAAA,EAAc,SAAmB,EAAA;AACrF,EAAA,MAAM,YAAY,KAAQ,GAAA,CAAA;AAC1B,EAAA,MAAM,WAAc,GAAA,EAAA;AACpB,EAAM,MAAA,MAAA,GAAS,YAAY,CAAC,CAAA,EAAG,WAAW,CAAG,EAAA,CAAC,CAAG,EAAA,SAAS,CAAC,CAAA;AAC3D,EAAA,OAAA,CAAQ,SAAY,GAAA,MAAA,CAAO,IAAI,CAAA,GAAI,SAAa,IAAA,SAAA;AAClD;AASO,SAAS,sBAAsB,MAAkB,EAAA;AACtD,EAAA,OAAO,MAAO,CAAA,KAAA,CAAM,CAAG,EAAA,EAAE,CAAE,CAAA,GAAA,CAAI,CAAC,KAAA,EAAO,KAAU,KAAA,MAAA,CAAO,KAAQ,GAAA,CAAC,IAAI,KAAK,CAAA;AAC5E;AAcgB,SAAA,wBAAA,CAAyB,QAAkB,qBAA+B,EAAA;AACxF,EAAA,IAAI,wBAAwB,CAAG,EAAA;AAC7B,IAAM,MAAA,kBAAA,GAAqB,sBAAsB,MAAM,CAAA;AACvD,IAAA,MAAM,2BAA8B,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,kBAAkB,CAAA;AAClE,IAAA,OAAO,2BAA+B,IAAA,qBAAA;AAAA;AAExC,EAAO,OAAA,IAAA;AACT;AAGgB,SAAA,WAAA,CAAY,OAAkC,MAAmC,EAAA;AAC/F,EAAA,OAAO,CAAC,KAAkB,KAAA;AACxB,IAAI,IAAA,KAAA,CAAM,CAAC,CAAA,KAAM,KAAM,CAAA,CAAC,KAAK,MAAO,CAAA,CAAC,CAAM,KAAA,MAAA,CAAO,CAAC,CAAA;AACjD,MAAA,OAAO,OAAO,CAAC,CAAA;AACjB,IAAM,MAAA,KAAA,GAAA,CAAS,MAAO,CAAA,CAAC,CAAI,GAAA,MAAA,CAAO,CAAC,CAAA,KAAM,KAAM,CAAA,CAAC,CAAI,GAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AAC3D,IAAA,OAAO,OAAO,CAAC,CAAA,GAAI,KAAS,IAAA,KAAA,GAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,GAC7C;AACF;AAEO,SAAS,gBAAgB,KAAe,EAAA;AAC7C,EAAQ,OAAA,CAAA,MAAA,CAAO,KAAK,CAAE,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAC,KAAK,EAAI,EAAA,MAAA;AAC7C;AAEgB,SAAA,UAAA,CAAW,OAAe,YAAsB,EAAA;AAC9D,EAAA,MAAM,UAAU,EAAM,IAAA,YAAA;AACtB,EAAA,OAAO,IAAK,CAAA,KAAA,CAAM,KAAQ,GAAA,OAAO,CAAI,GAAA,OAAA;AACvC;AAIa,MAAA,SAAA,GAAY,CAAC,QAAA,EAAU,UAAU;AACvC,MAAM,UAAa,GAAA,CAAC,SAAW,EAAA,WAAA,EAAa,aAAa,YAAY;AAGrE,MAAM,SAA8C,GAAA;AAAA,EACzD,WAAa,EAAA,CAAC,MAAQ,EAAA,UAAA,EAAY,aAAa,WAAW,CAAA;AAAA,EAC1D,YAAc,EAAA,CAAC,MAAQ,EAAA,UAAA,EAAY,aAAa,YAAY,CAAA;AAAA,EAC5D,aAAe,EAAA,CAAC,MAAQ,EAAA,UAAA,EAAY,aAAa,WAAW,CAAA;AAAA,EAC5D,UAAY,EAAA,CAAC,MAAQ,EAAA,UAAA,EAAY,WAAW,WAAW;AAEzD;AAUa,MAAA,CAAC,gCAAgC,+BAA+B,CAAA,GACzEC,mCAAiC,CAAC,gBAAA,EAAkB,kBAAkB,CAAC;;;;;;;;;;;;;;;;;"}
|
package/dist/Slider/utils.js
CHANGED
package/dist/Slider/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/Slider/utils.ts"],"sourcesContent":["import { clamp, createContext } from '@/shared'\n\nexport interface SliderOrientationPrivateProps {\n min: number\n max: number\n inverted: boolean\n}\n\nexport type SliderOrientationPrivateEmits = {\n slideEnd: []\n slideStart: [value: number]\n slideMove: [value: number]\n homeKeyDown: [event: KeyboardEvent]\n endKeyDown: [event: KeyboardEvent]\n stepKeyDown: [event: KeyboardEvent, direction: number]\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n const percentage = percentPerStep * (value - min)\n return clamp(percentage, 0, 100)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2)\n return `Value ${index + 1} of ${totalValues}`\n\n else if (totalValues === 2)\n return ['Minimum', 'Maximum'][index]\n\n else\n return undefined\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1)\n return 0\n const distances = values.map(value => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount\n return Math.round(value * rounder) / rounder\n}\n\nexport type Direction = 'ltr' | 'rtl'\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top'\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft'],\n\n}\n\ntype Side = 'top' | 'right' | 'bottom' | 'left'\ninterface SliderOrientation {\n startEdge: Side\n endEdge: Side\n size: 'width' | 'height'\n direction: number\n}\n\nexport const [injectSliderOrientationContext, provideSliderOrientationContext]\n = createContext<SliderOrientation>(['SliderVertical', 'SliderHorizontal'])\n"],"names":[],"mappings":";;;AAiBO,SAAS,mBAAoB,CAAA,UAAA,GAAuB,EAAC,EAAG,WAAmB,OAAiB,EAAA;AACjG,EAAM,MAAA,UAAA,GAAa,CAAC,GAAG,UAAU,CAAA;AACjC,EAAA,UAAA,CAAW,OAAO,CAAI,GAAA,SAAA;AACtB,EAAA,OAAO,WAAW,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,IAAI,CAAC,CAAA;AACxC;AAEgB,SAAA,wBAAA,CAAyB,KAAe,EAAA,GAAA,EAAa,GAAa,EAAA;AAChF,EAAA,MAAM,WAAW,GAAM,GAAA,GAAA;AACvB,EAAA,MAAM,iBAAiB,GAAM,GAAA,QAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,kBAAkB,KAAQ,GAAA,GAAA,CAAA;AAC7C,EAAO,OAAA,KAAA,CAAM,UAAY,EAAA,CAAA,EAAG,GAAG,CAAA;AACjC;AAKgB,SAAA,QAAA,CAAS,OAAe,WAAqB,EAAA;AAC3D,EAAA,IAAI,WAAc,GAAA,CAAA;AAChB,IAAA,OAAO,CAAS,MAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,IAAA,EAAO,WAAW,CAAA,CAAA;AAAA,OAAA,IAEpC,WAAgB,KAAA,CAAA;AACvB,IAAA,OAAO,CAAC,SAAA,EAAW,SAAS,CAAA,CAAE,KAAK,CAAA;AAAA;AAGnC,IAAO,OAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/Slider/utils.ts"],"sourcesContent":["import { clamp, createContext } from '@/shared'\n\nexport interface SliderOrientationPrivateProps {\n min: number\n max: number\n inverted: boolean\n}\n\nexport type SliderOrientationPrivateEmits = {\n slideEnd: []\n slideStart: [value: number]\n slideMove: [value: number]\n homeKeyDown: [event: KeyboardEvent]\n endKeyDown: [event: KeyboardEvent]\n stepKeyDown: [event: KeyboardEvent, direction: number]\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n const percentage = percentPerStep * (value - min)\n return clamp(percentage, 0, 100)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2)\n return `Value ${index + 1} of ${totalValues}`\n\n else if (totalValues === 2)\n return ['Minimum', 'Maximum'][index]\n\n else\n return undefined\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1)\n return 0\n const distances = values.map(value => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount\n return Math.round(value * rounder) / rounder\n}\n\nexport type Direction = 'ltr' | 'rtl'\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown']\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top'\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft'],\n\n}\n\ntype Side = 'top' | 'right' | 'bottom' | 'left'\ninterface SliderOrientation {\n startEdge: Side\n endEdge: Side\n size: 'width' | 'height'\n direction: number\n}\n\nexport const [injectSliderOrientationContext, provideSliderOrientationContext]\n = createContext<SliderOrientation>(['SliderVertical', 'SliderHorizontal'])\n"],"names":[],"mappings":"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"}
|
|
@@ -14,12 +14,12 @@ const utils_events = require('../utils/events.cjs');
|
|
|
14
14
|
const utils_validation = require('../utils/validation.cjs');
|
|
15
15
|
const utils_storage = require('../utils/storage.cjs');
|
|
16
16
|
const composables_useWindowSplitterPanelGroupBehavior = require('../composables/useWindowSplitterPanelGroupBehavior.cjs');
|
|
17
|
+
const shared_createContext = require('../shared/createContext.cjs');
|
|
17
18
|
const shared_useId = require('../shared/useId.cjs');
|
|
18
19
|
const shared_useDirection = require('../shared/useDirection.cjs');
|
|
19
20
|
const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
|
|
20
21
|
const shared_arrays = require('../shared/arrays.cjs');
|
|
21
22
|
const Primitive_Primitive = require('../Primitive/Primitive.cjs');
|
|
22
|
-
const shared_createContext = require('../shared/createContext.cjs');
|
|
23
23
|
|
|
24
24
|
const LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100;
|
|
25
25
|
const defaultStorage = {
|
|
@@ -432,7 +432,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
432
432
|
} = panelDataHelper(panelDataArray, panelData, layout2);
|
|
433
433
|
if (!collapsible)
|
|
434
434
|
return false;
|
|
435
|
-
if (panelSize ===
|
|
435
|
+
if (panelSize === void 0) {
|
|
436
436
|
return panelData.constraints.defaultSize === panelData.constraints.collapsedSize;
|
|
437
437
|
} else {
|
|
438
438
|
return panelSize === collapsedSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitterGroup.cjs","sources":["../../src/Splitter/SplitterGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport {\n initializeDefaultStorage,\n loadPanelGroupState,\n savePanelGroupState,\n} from './utils/storage'\nimport { areEqual, createContext, useDirection, useForwardExpose, useId } from '@/shared'\nimport { type CSSProperties, type Ref, computed, ref, toRefs, watch, watchEffect } from 'vue'\nimport { useWindowSplitterPanelGroupBehavior } from './utils/composables/useWindowSplitterPanelGroupBehavior'\n\nexport interface SplitterGroupProps extends PrimitiveProps {\n /** Group id; falls back to `useId` when not provided. */\n id?: string | null\n /** Unique id used to auto-save group arrangement via `localStorage`. */\n autoSaveId?: string | null\n /** The group orientation of splitter. */\n direction: Direction\n /** Step size when arrow key was pressed. */\n keyboardResizeBy?: number | null\n /** Custom storage API; defaults to localStorage */\n storage?: PanelGroupStorage\n}\n\nexport type SplitterGroupEmits = {\n /** Event handler called when group layout changes */\n layout: [val: number[]]\n}\n\nconst LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100\n\nexport type PanelGroupStorage = {\n getItem: (name: string) => string | null\n setItem: (name: string, value: string) => void\n}\n\nconst defaultStorage: PanelGroupStorage = {\n getItem: (name: string) => {\n initializeDefaultStorage(defaultStorage)\n return defaultStorage.getItem(name)\n },\n setItem: (name: string, value: string) => {\n initializeDefaultStorage(defaultStorage)\n defaultStorage.setItem(name, value)\n },\n}\n\nexport type PanelGroupContext = {\n direction: Ref<Direction>\n dragState: DragState | null\n groupId: string\n reevaluatePanelConstraints: (panelData: PanelData, prevConstraints: PanelConstraints) => void\n registerPanel: (panelData: PanelData) => void\n registerResizeHandle: (dragHandleId: string) => ResizeHandler\n resizePanel: (panelData: PanelData, size: number) => void\n startDragging: (dragHandleId: string, event: ResizeEvent) => void\n stopDragging: () => void\n unregisterPanel: (panelData: PanelData) => void\n panelGroupElement: Ref<ParentNode | null>\n\n // Exposed function for child component\n collapsePanel: (panelData: PanelData) => void\n expandPanel: (panelData: PanelData) => void\n isPanelCollapsed: (panelData: PanelData) => boolean\n isPanelExpanded: (panelData: PanelData) => boolean\n getPanelSize: (panelData: PanelData) => number\n getPanelStyle: (panelData: PanelData, defaultSize: number | undefined) => CSSProperties\n}\n\nexport const [injectPanelGroupContext, providePanelGroupContext] = createContext<PanelGroupContext>('PanelGroup')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nimport type { PanelConstraints, PanelData } from './SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent, ResizeHandler } from './utils/types'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n reportConstraintsViolation,\n} from './utils/registry'\nimport { adjustLayoutByDelta, compareLayouts } from './utils/layout'\nimport { assert } from './utils/assert'\nimport { calculateDeltaPercentage, calculateUnsafeDefaultLayout } from './utils/calculate'\nimport { callPanelCallbacks } from './utils/callPanelCallbacks'\nimport { computePanelFlexBoxStyle } from './utils/style'\nimport debounce from './utils/debounce'\nimport { determinePivotIndices } from './utils/pivot'\nimport { getResizeHandleElement } from './utils/dom'\nimport { getResizeEventCursorPosition, isKeyDown, isMouseEvent, isTouchEvent } from './utils/events'\nimport { validatePanelGroupLayout } from './utils/validation'\n\nconst props = withDefaults(defineProps<SplitterGroupProps>(), {\n autoSaveId: null,\n keyboardResizeBy: 10,\n storage: () => defaultStorage,\n})\nconst emits = defineEmits<SplitterGroupEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current size of layout */\n layout: typeof layout.value\n }) => any\n}>()\n\nconst debounceMap: {\n [key: string]: typeof savePanelGroupState\n} = {}\n\nconst { direction } = toRefs(props)\nconst groupId = useId(props.id, 'reka-splitter-group')\nconst dir = useDirection()\nconst { forwardRef, currentElement: panelGroupElementRef } = useForwardExpose()\n\nconst dragState = ref<DragState | null>(null)\nconst layout = ref<number[]>([])\nconst panelIdToLastNotifiedSizeMapRef = ref<Record<string, number>>({})\nconst panelSizeBeforeCollapseRef = ref<Map<string, number>>(new Map())\nconst prevDeltaRef = ref<number>(0)\n\nconst committedValuesRef = computed(() => ({\n autoSaveId: props.autoSaveId,\n direction: props.direction,\n dragState: dragState.value,\n id: groupId,\n keyboardResizeBy: props.keyboardResizeBy,\n storage: props.storage,\n}) satisfies {\n autoSaveId: string | null\n direction: Direction\n dragState: DragState | null\n id: string\n keyboardResizeBy: number | null\n storage: PanelGroupStorage\n})\n\nconst eagerValuesRef = ref<{\n layout: number[]\n panelDataArray: PanelData[]\n panelDataArrayChanged: boolean\n}>({\n layout: layout.value,\n panelDataArray: [],\n panelDataArrayChanged: false,\n})\n\nconst setLayout = (val: number[]) => layout.value = val\n\nuseWindowSplitterPanelGroupBehavior({\n eagerValuesRef,\n groupId,\n layout,\n panelDataArray: eagerValuesRef.value.panelDataArray,\n setLayout,\n panelGroupElement: panelGroupElementRef,\n})\n\nwatchEffect(() => {\n const { panelDataArray } = eagerValuesRef.value\n const { autoSaveId } = props\n // If this panel has been configured to persist sizing information, save sizes to local storage.\n if (autoSaveId) {\n if (layout.value.length === 0 || layout.value.length !== panelDataArray.length)\n return\n\n let debouncedSave = debounceMap[autoSaveId]\n\n // Limit the frequency of localStorage updates.\n if (!debouncedSave) {\n debouncedSave = debounce(\n savePanelGroupState,\n LOCAL_STORAGE_DEBOUNCE_INTERVAL,\n )\n\n debounceMap[autoSaveId] = debouncedSave\n }\n\n // Clone mutable data before passing to the debounced function,\n // else we run the risk of saving an incorrect combination of mutable and immutable values to state.\n const clonedPanelDataArray = [...panelDataArray]\n const clonedPanelSizesBeforeCollapse = new Map(\n panelSizeBeforeCollapseRef.value,\n )\n\n debouncedSave(\n autoSaveId,\n clonedPanelDataArray,\n clonedPanelSizesBeforeCollapse,\n layout.value,\n props.storage,\n )\n }\n})\n\nfunction getPanelStyle(panelData: PanelData, defaultSize: number | undefined) {\n const { panelDataArray } = eagerValuesRef.value\n\n const panelIndex = findPanelDataIndex(panelDataArray, panelData)\n\n return computePanelFlexBoxStyle({\n defaultSize,\n dragState: dragState.value,\n layout: layout.value,\n panelData: panelDataArray,\n panelIndex,\n })\n}\n\nfunction registerPanel(panelData: PanelData) {\n const { panelDataArray } = eagerValuesRef.value\n\n panelDataArray.push(panelData)\n panelDataArray.sort((panelA, panelB) => {\n const orderA = panelA.order\n const orderB = panelB.order\n if (orderA == null && orderB == null)\n return 0\n else if (orderA == null)\n return -1\n else if (orderB == null)\n return 1\n else\n return orderA - orderB\n })\n\n eagerValuesRef.value.panelDataArrayChanged = true\n}\n\n// (Re)calculate group layout whenever panels are registered or unregistered.\n// useIsomorphicLayoutEffect\nwatch(() => eagerValuesRef.value.panelDataArrayChanged, () => {\n if (eagerValuesRef.value.panelDataArrayChanged) {\n eagerValuesRef.value.panelDataArrayChanged = false\n\n const { autoSaveId, storage } = committedValuesRef.value\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n // If this panel has been configured to persist sizing information,\n // default size should be restored from local storage if possible.\n let unsafeLayout: number[] | null = null\n if (autoSaveId) {\n const state = loadPanelGroupState(autoSaveId, panelDataArray, storage)\n if (state) {\n panelSizeBeforeCollapseRef.value = new Map(\n Object.entries(state.expandToSizes),\n )\n unsafeLayout = state.layout\n }\n }\n\n if (unsafeLayout === null) {\n unsafeLayout = calculateUnsafeDefaultLayout({\n panelDataArray,\n })\n }\n\n // Validate even saved layouts in case something has changed since last render\n // e.g. for pixel groups, this could be the size of the window\n const nextLayout = validatePanelGroupLayout({\n layout: unsafeLayout,\n panelConstraints: panelDataArray.map(\n panelData => panelData.constraints,\n ),\n })\n\n if (!areEqual(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n})\n\nfunction registerResizeHandle(dragHandleId: string) {\n return function resizeHandler(event: ResizeEvent) {\n event.preventDefault()\n const panelGroupElement = panelGroupElementRef.value\n if (!panelGroupElement)\n return () => null\n\n const { direction, dragState, id: groupId, keyboardResizeBy } = committedValuesRef.value\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n const { initialLayout } = dragState ?? {}\n\n const pivotIndices = determinePivotIndices(\n groupId,\n dragHandleId,\n panelGroupElement,\n )\n\n let delta = calculateDeltaPercentage(\n event,\n dragHandleId,\n direction,\n dragState,\n keyboardResizeBy,\n panelGroupElement,\n )\n if (delta === 0)\n return\n\n // Support RTL layouts\n const isHorizontal = direction === 'horizontal'\n if (dir.value === 'rtl' && isHorizontal)\n delta = -delta\n\n const panelConstraints = panelDataArray.map(panelData => panelData.constraints)\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: initialLayout ?? prevLayout,\n panelConstraints,\n pivotIndices,\n trigger: isKeyDown(event) ? 'keyboard' : 'mouse-or-touch',\n })\n\n const layoutChanged = !compareLayouts(prevLayout, nextLayout)\n\n // Only update the cursor for layout changes triggered by touch/mouse events (not keyboard)\n // Update the cursor even if the layout hasn't changed (we may need to show an invalid cursor state)\n if (isMouseEvent(event) || isTouchEvent(event)) {\n // Watch for multiple subsequent deltas; this might occur for tiny cursor movements.\n // In this case, Panel sizes might not change–\n // but updating cursor in this scenario would cause a flicker.\n if (prevDeltaRef.value !== delta) {\n prevDeltaRef.value = delta\n\n if (!layoutChanged) {\n // If the pointer has moved too far to resize the panel any further, note this so we can update the cursor.\n // This mimics VS Code behavior.\n if (isHorizontal) {\n reportConstraintsViolation(\n dragHandleId,\n delta < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX,\n )\n }\n else {\n reportConstraintsViolation(\n dragHandleId,\n delta < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX,\n )\n }\n }\n else {\n reportConstraintsViolation(dragHandleId, 0)\n }\n }\n }\n\n if (layoutChanged) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n}\n\nfunction resizePanel(panelData: PanelData, unsafePanelSize: number) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n const panelConstraintsArray = panelDataArray.map(panelData => panelData.constraints)\n\n const { panelSize, pivotIndices } = panelDataHelper(\n panelDataArray,\n panelData,\n prevLayout,\n )\n\n assert(panelSize != null)\n\n const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1\n const delta = isLastPanel\n ? panelSize - unsafePanelSize\n : unsafePanelSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n}\n\nfunction reevaluatePanelConstraints(panelData: PanelData, prevConstraints: PanelConstraints) {\n const { layout, panelDataArray } = eagerValuesRef.value\n const index = findPanelDataIndex(panelDataArray, panelData)\n panelDataArray[index] = panelData\n eagerValuesRef.value.panelDataArrayChanged = true\n const {\n collapsedSize: prevCollapsedSize = 0,\n collapsible: prevCollapsible,\n } = prevConstraints\n\n const {\n collapsedSize: nextCollapsedSize = 0,\n collapsible: nextCollapsible,\n maxSize: nextMaxSize = 100,\n minSize: nextMinSize = 0,\n } = panelData.constraints\n\n const { panelSize: prevPanelSize } = panelDataHelper(\n panelDataArray,\n panelData,\n layout,\n )\n if (prevPanelSize === null) {\n // It's possible that the panels in this group have changed since the last render\n return\n }\n\n if (\n prevCollapsible\n && nextCollapsible\n && prevPanelSize === prevCollapsedSize\n ) {\n if (prevCollapsedSize !== nextCollapsedSize) {\n resizePanel(panelData, nextCollapsedSize)\n }\n else {\n // Stay collapsed\n }\n }\n else if (prevPanelSize < nextMinSize) {\n resizePanel(panelData, nextMinSize)\n }\n else if (prevPanelSize > nextMaxSize) {\n resizePanel(panelData, nextMaxSize)\n }\n}\n\nfunction startDragging(dragHandleId: string, event: ResizeEvent) {\n const { direction } = committedValuesRef.value\n const { layout } = eagerValuesRef.value\n if (!panelGroupElementRef.value)\n return\n\n const handleElement = getResizeHandleElement(\n dragHandleId,\n panelGroupElementRef.value,\n )\n assert(handleElement)\n\n const initialCursorPosition = getResizeEventCursorPosition(\n direction,\n event,\n )\n\n dragState.value = {\n dragHandleId,\n dragHandleRect: handleElement.getBoundingClientRect(),\n initialCursorPosition,\n initialLayout: layout,\n }\n}\nfunction stopDragging() {\n dragState.value = null\n}\n\nfunction unregisterPanel(panelData: PanelData) {\n const { panelDataArray } = eagerValuesRef.value\n\n const index = findPanelDataIndex(panelDataArray, panelData)\n if (index >= 0) {\n panelDataArray.splice(index, 1)\n\n // TRICKY\n // When a panel is removed from the group, we should delete the most recent prev-size entry for it.\n // If we don't do this, then a conditionally rendered panel might not call onResize when it's re-mounted.\n // Strict effects mode makes this tricky though because all panels will be registered, unregistered, then re-registered on mount.\n delete panelIdToLastNotifiedSizeMapRef.value[panelData.id]\n\n eagerValuesRef.value.panelDataArrayChanged = true\n }\n}\n\nfunction collapsePanel(panelData: PanelData) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n const {\n collapsedSize = 0,\n panelSize,\n pivotIndices,\n } = panelDataHelper(panelDataArray, panelData, prevLayout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n if (panelSize !== collapsedSize) {\n // Store size before collapse;\n // This is the size that gets restored if the expand() API is used.\n panelSizeBeforeCollapseRef.value.set(panelData.id, panelSize)\n\n const isLastPanel\n = findPanelDataIndex(panelDataArray, panelData)\n === panelDataArray.length - 1\n const delta = isLastPanel\n ? panelSize - collapsedSize\n : collapsedSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n }\n}\n\nfunction expandPanel(panelData: PanelData) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n const {\n collapsedSize = 0,\n panelSize,\n minSize = 0,\n pivotIndices,\n } = panelDataHelper(panelDataArray, panelData, prevLayout)\n\n if (panelSize === collapsedSize) {\n // Restore this panel to the size it was before it was collapsed, if possible.\n const prevPanelSize = panelSizeBeforeCollapseRef.value.get(\n panelData.id,\n )\n\n const baseSize\n = prevPanelSize != null && prevPanelSize >= minSize\n ? prevPanelSize\n : minSize\n\n const isLastPanel\n = findPanelDataIndex(panelDataArray, panelData)\n === panelDataArray.length - 1\n const delta = isLastPanel ? panelSize - baseSize : baseSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n }\n}\n\nfunction getPanelSize(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const { panelSize } = panelDataHelper(panelDataArray, panelData, layout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n return panelSize\n}\n\nfunction isPanelCollapsed(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const {\n collapsedSize = 0,\n collapsible,\n panelSize,\n } = panelDataHelper(panelDataArray, panelData, layout)\n\n if (!collapsible)\n return false\n\n // panelSize is undefined during ssr due to vue ssr reactivity limitation.\n if (panelSize === undefined) {\n return panelData.constraints.defaultSize === panelData.constraints.collapsedSize\n }\n else {\n return panelSize === collapsedSize\n }\n}\n\nfunction isPanelExpanded(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const {\n collapsedSize = 0,\n collapsible,\n panelSize,\n } = panelDataHelper(panelDataArray, panelData, layout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n return !collapsible || panelSize > collapsedSize\n}\n\nprovidePanelGroupContext({\n direction,\n dragState: dragState.value,\n groupId,\n reevaluatePanelConstraints,\n registerPanel,\n registerResizeHandle,\n resizePanel,\n startDragging,\n stopDragging,\n unregisterPanel,\n panelGroupElement: panelGroupElementRef,\n\n collapsePanel,\n expandPanel,\n isPanelCollapsed,\n isPanelExpanded,\n getPanelSize,\n getPanelStyle,\n})\n\nfunction findPanelDataIndex(panelDataArray: PanelData[], panelData: PanelData) {\n return panelDataArray.findIndex(\n prevPanelData =>\n prevPanelData === panelData || prevPanelData.id === panelData.id,\n )\n}\n\nfunction panelDataHelper(\n panelDataArray: PanelData[],\n panelData: PanelData,\n layout: number[],\n) {\n const panelIndex = findPanelDataIndex(panelDataArray, panelData)\n\n const isLastPanel = panelIndex === panelDataArray.length - 1\n const pivotIndices = isLastPanel\n ? [panelIndex - 1, panelIndex]\n : [panelIndex, panelIndex + 1]\n\n const panelSize = layout[panelIndex]\n\n return {\n ...panelData.constraints,\n panelSize,\n pivotIndices,\n }\n}\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :style=\"{\n display: 'flex',\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n height: '100%',\n overflow: 'hidden',\n width: '100%',\n }\"\n data-panel-group=\"\"\n :data-orientation=\"direction\"\n :data-panel-group-id=\"groupId\"\n >\n <slot :layout=\"layout\" />\n </Primitive>\n</template>\n"],"names":["initializeDefaultStorage","createContext","toRefs","useId","useDirection","useForwardExpose","ref","computed","useWindowSplitterPanelGroupBehavior","watchEffect","debounce","savePanelGroupState","computePanelFlexBoxStyle","watch","loadPanelGroupState","calculateUnsafeDefaultLayout","validatePanelGroupLayout","areEqual","callPanelCallbacks","direction","dragState","groupId","determinePivotIndices","calculateDeltaPercentage","adjustLayoutByDelta","isKeyDown","compareLayouts","isMouseEvent","isTouchEvent","reportConstraintsViolation","EXCEEDED_HORIZONTAL_MIN","EXCEEDED_HORIZONTAL_MAX","EXCEEDED_VERTICAL_MIN","EXCEEDED_VERTICAL_MAX","panelData","assert","layout","getResizeHandleElement","getResizeEventCursorPosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SplitterGroup.cjs","sources":["../../src/Splitter/SplitterGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport {\n initializeDefaultStorage,\n loadPanelGroupState,\n savePanelGroupState,\n} from './utils/storage'\nimport { areEqual, createContext, useDirection, useForwardExpose, useId } from '@/shared'\nimport { type CSSProperties, type Ref, computed, ref, toRefs, watch, watchEffect } from 'vue'\nimport { useWindowSplitterPanelGroupBehavior } from './utils/composables/useWindowSplitterPanelGroupBehavior'\n\nexport interface SplitterGroupProps extends PrimitiveProps {\n /** Group id; falls back to `useId` when not provided. */\n id?: string | null\n /** Unique id used to auto-save group arrangement via `localStorage`. */\n autoSaveId?: string | null\n /** The group orientation of splitter. */\n direction: Direction\n /** Step size when arrow key was pressed. */\n keyboardResizeBy?: number | null\n /** Custom storage API; defaults to localStorage */\n storage?: PanelGroupStorage\n}\n\nexport type SplitterGroupEmits = {\n /** Event handler called when group layout changes */\n layout: [val: number[]]\n}\n\nconst LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100\n\nexport type PanelGroupStorage = {\n getItem: (name: string) => string | null\n setItem: (name: string, value: string) => void\n}\n\nconst defaultStorage: PanelGroupStorage = {\n getItem: (name: string) => {\n initializeDefaultStorage(defaultStorage)\n return defaultStorage.getItem(name)\n },\n setItem: (name: string, value: string) => {\n initializeDefaultStorage(defaultStorage)\n defaultStorage.setItem(name, value)\n },\n}\n\nexport type PanelGroupContext = {\n direction: Ref<Direction>\n dragState: DragState | null\n groupId: string\n reevaluatePanelConstraints: (panelData: PanelData, prevConstraints: PanelConstraints) => void\n registerPanel: (panelData: PanelData) => void\n registerResizeHandle: (dragHandleId: string) => ResizeHandler\n resizePanel: (panelData: PanelData, size: number) => void\n startDragging: (dragHandleId: string, event: ResizeEvent) => void\n stopDragging: () => void\n unregisterPanel: (panelData: PanelData) => void\n panelGroupElement: Ref<ParentNode | null>\n\n // Exposed function for child component\n collapsePanel: (panelData: PanelData) => void\n expandPanel: (panelData: PanelData) => void\n isPanelCollapsed: (panelData: PanelData) => boolean\n isPanelExpanded: (panelData: PanelData) => boolean\n getPanelSize: (panelData: PanelData) => number\n getPanelStyle: (panelData: PanelData, defaultSize: number | undefined) => CSSProperties\n}\n\nexport const [injectPanelGroupContext, providePanelGroupContext] = createContext<PanelGroupContext>('PanelGroup')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\n\nimport type { PanelConstraints, PanelData } from './SplitterPanel.vue'\nimport type { Direction, DragState, ResizeEvent, ResizeHandler } from './utils/types'\nimport {\n EXCEEDED_HORIZONTAL_MAX,\n EXCEEDED_HORIZONTAL_MIN,\n EXCEEDED_VERTICAL_MAX,\n EXCEEDED_VERTICAL_MIN,\n reportConstraintsViolation,\n} from './utils/registry'\nimport { adjustLayoutByDelta, compareLayouts } from './utils/layout'\nimport { assert } from './utils/assert'\nimport { calculateDeltaPercentage, calculateUnsafeDefaultLayout } from './utils/calculate'\nimport { callPanelCallbacks } from './utils/callPanelCallbacks'\nimport { computePanelFlexBoxStyle } from './utils/style'\nimport debounce from './utils/debounce'\nimport { determinePivotIndices } from './utils/pivot'\nimport { getResizeHandleElement } from './utils/dom'\nimport { getResizeEventCursorPosition, isKeyDown, isMouseEvent, isTouchEvent } from './utils/events'\nimport { validatePanelGroupLayout } from './utils/validation'\n\nconst props = withDefaults(defineProps<SplitterGroupProps>(), {\n autoSaveId: null,\n keyboardResizeBy: 10,\n storage: () => defaultStorage,\n})\nconst emits = defineEmits<SplitterGroupEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current size of layout */\n layout: typeof layout.value\n }) => any\n}>()\n\nconst debounceMap: {\n [key: string]: typeof savePanelGroupState\n} = {}\n\nconst { direction } = toRefs(props)\nconst groupId = useId(props.id, 'reka-splitter-group')\nconst dir = useDirection()\nconst { forwardRef, currentElement: panelGroupElementRef } = useForwardExpose()\n\nconst dragState = ref<DragState | null>(null)\nconst layout = ref<number[]>([])\nconst panelIdToLastNotifiedSizeMapRef = ref<Record<string, number>>({})\nconst panelSizeBeforeCollapseRef = ref<Map<string, number>>(new Map())\nconst prevDeltaRef = ref<number>(0)\n\nconst committedValuesRef = computed(() => ({\n autoSaveId: props.autoSaveId,\n direction: props.direction,\n dragState: dragState.value,\n id: groupId,\n keyboardResizeBy: props.keyboardResizeBy,\n storage: props.storage,\n}) satisfies {\n autoSaveId: string | null\n direction: Direction\n dragState: DragState | null\n id: string\n keyboardResizeBy: number | null\n storage: PanelGroupStorage\n})\n\nconst eagerValuesRef = ref<{\n layout: number[]\n panelDataArray: PanelData[]\n panelDataArrayChanged: boolean\n}>({\n layout: layout.value,\n panelDataArray: [],\n panelDataArrayChanged: false,\n})\n\nconst setLayout = (val: number[]) => layout.value = val\n\nuseWindowSplitterPanelGroupBehavior({\n eagerValuesRef,\n groupId,\n layout,\n panelDataArray: eagerValuesRef.value.panelDataArray,\n setLayout,\n panelGroupElement: panelGroupElementRef,\n})\n\nwatchEffect(() => {\n const { panelDataArray } = eagerValuesRef.value\n const { autoSaveId } = props\n // If this panel has been configured to persist sizing information, save sizes to local storage.\n if (autoSaveId) {\n if (layout.value.length === 0 || layout.value.length !== panelDataArray.length)\n return\n\n let debouncedSave = debounceMap[autoSaveId]\n\n // Limit the frequency of localStorage updates.\n if (!debouncedSave) {\n debouncedSave = debounce(\n savePanelGroupState,\n LOCAL_STORAGE_DEBOUNCE_INTERVAL,\n )\n\n debounceMap[autoSaveId] = debouncedSave\n }\n\n // Clone mutable data before passing to the debounced function,\n // else we run the risk of saving an incorrect combination of mutable and immutable values to state.\n const clonedPanelDataArray = [...panelDataArray]\n const clonedPanelSizesBeforeCollapse = new Map(\n panelSizeBeforeCollapseRef.value,\n )\n\n debouncedSave(\n autoSaveId,\n clonedPanelDataArray,\n clonedPanelSizesBeforeCollapse,\n layout.value,\n props.storage,\n )\n }\n})\n\nfunction getPanelStyle(panelData: PanelData, defaultSize: number | undefined) {\n const { panelDataArray } = eagerValuesRef.value\n\n const panelIndex = findPanelDataIndex(panelDataArray, panelData)\n\n return computePanelFlexBoxStyle({\n defaultSize,\n dragState: dragState.value,\n layout: layout.value,\n panelData: panelDataArray,\n panelIndex,\n })\n}\n\nfunction registerPanel(panelData: PanelData) {\n const { panelDataArray } = eagerValuesRef.value\n\n panelDataArray.push(panelData)\n panelDataArray.sort((panelA, panelB) => {\n const orderA = panelA.order\n const orderB = panelB.order\n if (orderA == null && orderB == null)\n return 0\n else if (orderA == null)\n return -1\n else if (orderB == null)\n return 1\n else\n return orderA - orderB\n })\n\n eagerValuesRef.value.panelDataArrayChanged = true\n}\n\n// (Re)calculate group layout whenever panels are registered or unregistered.\n// useIsomorphicLayoutEffect\nwatch(() => eagerValuesRef.value.panelDataArrayChanged, () => {\n if (eagerValuesRef.value.panelDataArrayChanged) {\n eagerValuesRef.value.panelDataArrayChanged = false\n\n const { autoSaveId, storage } = committedValuesRef.value\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n // If this panel has been configured to persist sizing information,\n // default size should be restored from local storage if possible.\n let unsafeLayout: number[] | null = null\n if (autoSaveId) {\n const state = loadPanelGroupState(autoSaveId, panelDataArray, storage)\n if (state) {\n panelSizeBeforeCollapseRef.value = new Map(\n Object.entries(state.expandToSizes),\n )\n unsafeLayout = state.layout\n }\n }\n\n if (unsafeLayout === null) {\n unsafeLayout = calculateUnsafeDefaultLayout({\n panelDataArray,\n })\n }\n\n // Validate even saved layouts in case something has changed since last render\n // e.g. for pixel groups, this could be the size of the window\n const nextLayout = validatePanelGroupLayout({\n layout: unsafeLayout,\n panelConstraints: panelDataArray.map(\n panelData => panelData.constraints,\n ),\n })\n\n if (!areEqual(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n})\n\nfunction registerResizeHandle(dragHandleId: string) {\n return function resizeHandler(event: ResizeEvent) {\n event.preventDefault()\n const panelGroupElement = panelGroupElementRef.value\n if (!panelGroupElement)\n return () => null\n\n const { direction, dragState, id: groupId, keyboardResizeBy } = committedValuesRef.value\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n const { initialLayout } = dragState ?? {}\n\n const pivotIndices = determinePivotIndices(\n groupId,\n dragHandleId,\n panelGroupElement,\n )\n\n let delta = calculateDeltaPercentage(\n event,\n dragHandleId,\n direction,\n dragState,\n keyboardResizeBy,\n panelGroupElement,\n )\n if (delta === 0)\n return\n\n // Support RTL layouts\n const isHorizontal = direction === 'horizontal'\n if (dir.value === 'rtl' && isHorizontal)\n delta = -delta\n\n const panelConstraints = panelDataArray.map(panelData => panelData.constraints)\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: initialLayout ?? prevLayout,\n panelConstraints,\n pivotIndices,\n trigger: isKeyDown(event) ? 'keyboard' : 'mouse-or-touch',\n })\n\n const layoutChanged = !compareLayouts(prevLayout, nextLayout)\n\n // Only update the cursor for layout changes triggered by touch/mouse events (not keyboard)\n // Update the cursor even if the layout hasn't changed (we may need to show an invalid cursor state)\n if (isMouseEvent(event) || isTouchEvent(event)) {\n // Watch for multiple subsequent deltas; this might occur for tiny cursor movements.\n // In this case, Panel sizes might not change–\n // but updating cursor in this scenario would cause a flicker.\n if (prevDeltaRef.value !== delta) {\n prevDeltaRef.value = delta\n\n if (!layoutChanged) {\n // If the pointer has moved too far to resize the panel any further, note this so we can update the cursor.\n // This mimics VS Code behavior.\n if (isHorizontal) {\n reportConstraintsViolation(\n dragHandleId,\n delta < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX,\n )\n }\n else {\n reportConstraintsViolation(\n dragHandleId,\n delta < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX,\n )\n }\n }\n else {\n reportConstraintsViolation(dragHandleId, 0)\n }\n }\n }\n\n if (layoutChanged) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n}\n\nfunction resizePanel(panelData: PanelData, unsafePanelSize: number) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n const panelConstraintsArray = panelDataArray.map(panelData => panelData.constraints)\n\n const { panelSize, pivotIndices } = panelDataHelper(\n panelDataArray,\n panelData,\n prevLayout,\n )\n\n assert(panelSize != null)\n\n const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1\n const delta = isLastPanel\n ? panelSize - unsafePanelSize\n : unsafePanelSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n}\n\nfunction reevaluatePanelConstraints(panelData: PanelData, prevConstraints: PanelConstraints) {\n const { layout, panelDataArray } = eagerValuesRef.value\n const index = findPanelDataIndex(panelDataArray, panelData)\n panelDataArray[index] = panelData\n eagerValuesRef.value.panelDataArrayChanged = true\n const {\n collapsedSize: prevCollapsedSize = 0,\n collapsible: prevCollapsible,\n } = prevConstraints\n\n const {\n collapsedSize: nextCollapsedSize = 0,\n collapsible: nextCollapsible,\n maxSize: nextMaxSize = 100,\n minSize: nextMinSize = 0,\n } = panelData.constraints\n\n const { panelSize: prevPanelSize } = panelDataHelper(\n panelDataArray,\n panelData,\n layout,\n )\n if (prevPanelSize === null) {\n // It's possible that the panels in this group have changed since the last render\n return\n }\n\n if (\n prevCollapsible\n && nextCollapsible\n && prevPanelSize === prevCollapsedSize\n ) {\n if (prevCollapsedSize !== nextCollapsedSize) {\n resizePanel(panelData, nextCollapsedSize)\n }\n else {\n // Stay collapsed\n }\n }\n else if (prevPanelSize < nextMinSize) {\n resizePanel(panelData, nextMinSize)\n }\n else if (prevPanelSize > nextMaxSize) {\n resizePanel(panelData, nextMaxSize)\n }\n}\n\nfunction startDragging(dragHandleId: string, event: ResizeEvent) {\n const { direction } = committedValuesRef.value\n const { layout } = eagerValuesRef.value\n if (!panelGroupElementRef.value)\n return\n\n const handleElement = getResizeHandleElement(\n dragHandleId,\n panelGroupElementRef.value,\n )\n assert(handleElement)\n\n const initialCursorPosition = getResizeEventCursorPosition(\n direction,\n event,\n )\n\n dragState.value = {\n dragHandleId,\n dragHandleRect: handleElement.getBoundingClientRect(),\n initialCursorPosition,\n initialLayout: layout,\n }\n}\nfunction stopDragging() {\n dragState.value = null\n}\n\nfunction unregisterPanel(panelData: PanelData) {\n const { panelDataArray } = eagerValuesRef.value\n\n const index = findPanelDataIndex(panelDataArray, panelData)\n if (index >= 0) {\n panelDataArray.splice(index, 1)\n\n // TRICKY\n // When a panel is removed from the group, we should delete the most recent prev-size entry for it.\n // If we don't do this, then a conditionally rendered panel might not call onResize when it's re-mounted.\n // Strict effects mode makes this tricky though because all panels will be registered, unregistered, then re-registered on mount.\n delete panelIdToLastNotifiedSizeMapRef.value[panelData.id]\n\n eagerValuesRef.value.panelDataArrayChanged = true\n }\n}\n\nfunction collapsePanel(panelData: PanelData) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n const {\n collapsedSize = 0,\n panelSize,\n pivotIndices,\n } = panelDataHelper(panelDataArray, panelData, prevLayout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n if (panelSize !== collapsedSize) {\n // Store size before collapse;\n // This is the size that gets restored if the expand() API is used.\n panelSizeBeforeCollapseRef.value.set(panelData.id, panelSize)\n\n const isLastPanel\n = findPanelDataIndex(panelDataArray, panelData)\n === panelDataArray.length - 1\n const delta = isLastPanel\n ? panelSize - collapsedSize\n : collapsedSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n }\n}\n\nfunction expandPanel(panelData: PanelData) {\n const { layout: prevLayout, panelDataArray } = eagerValuesRef.value\n\n if (panelData.constraints.collapsible) {\n const panelConstraintsArray = panelDataArray.map(\n panelData => panelData.constraints,\n )\n\n const {\n collapsedSize = 0,\n panelSize,\n minSize = 0,\n pivotIndices,\n } = panelDataHelper(panelDataArray, panelData, prevLayout)\n\n if (panelSize === collapsedSize) {\n // Restore this panel to the size it was before it was collapsed, if possible.\n const prevPanelSize = panelSizeBeforeCollapseRef.value.get(\n panelData.id,\n )\n\n const baseSize\n = prevPanelSize != null && prevPanelSize >= minSize\n ? prevPanelSize\n : minSize\n\n const isLastPanel\n = findPanelDataIndex(panelDataArray, panelData)\n === panelDataArray.length - 1\n const delta = isLastPanel ? panelSize - baseSize : baseSize - panelSize\n\n const nextLayout = adjustLayoutByDelta({\n delta,\n layout: prevLayout,\n panelConstraints: panelConstraintsArray,\n pivotIndices,\n trigger: 'imperative-api',\n })\n\n if (!compareLayouts(prevLayout, nextLayout)) {\n setLayout(nextLayout)\n\n eagerValuesRef.value.layout = nextLayout\n\n emits('layout', nextLayout)\n\n callPanelCallbacks(\n panelDataArray,\n nextLayout,\n panelIdToLastNotifiedSizeMapRef.value,\n )\n }\n }\n }\n}\n\nfunction getPanelSize(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const { panelSize } = panelDataHelper(panelDataArray, panelData, layout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n return panelSize\n}\n\nfunction isPanelCollapsed(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const {\n collapsedSize = 0,\n collapsible,\n panelSize,\n } = panelDataHelper(panelDataArray, panelData, layout)\n\n if (!collapsible)\n return false\n\n // panelSize is undefined during ssr due to vue ssr reactivity limitation.\n if (panelSize === undefined) {\n return panelData.constraints.defaultSize === panelData.constraints.collapsedSize\n }\n else {\n return panelSize === collapsedSize\n }\n}\n\nfunction isPanelExpanded(panelData: PanelData) {\n const { layout, panelDataArray } = eagerValuesRef.value\n\n const {\n collapsedSize = 0,\n collapsible,\n panelSize,\n } = panelDataHelper(panelDataArray, panelData, layout)\n\n assert(\n panelSize != null,\n `Panel size not found for panel \"${panelData.id}\"`,\n )\n\n return !collapsible || panelSize > collapsedSize\n}\n\nprovidePanelGroupContext({\n direction,\n dragState: dragState.value,\n groupId,\n reevaluatePanelConstraints,\n registerPanel,\n registerResizeHandle,\n resizePanel,\n startDragging,\n stopDragging,\n unregisterPanel,\n panelGroupElement: panelGroupElementRef,\n\n collapsePanel,\n expandPanel,\n isPanelCollapsed,\n isPanelExpanded,\n getPanelSize,\n getPanelStyle,\n})\n\nfunction findPanelDataIndex(panelDataArray: PanelData[], panelData: PanelData) {\n return panelDataArray.findIndex(\n prevPanelData =>\n prevPanelData === panelData || prevPanelData.id === panelData.id,\n )\n}\n\nfunction panelDataHelper(\n panelDataArray: PanelData[],\n panelData: PanelData,\n layout: number[],\n) {\n const panelIndex = findPanelDataIndex(panelDataArray, panelData)\n\n const isLastPanel = panelIndex === panelDataArray.length - 1\n const pivotIndices = isLastPanel\n ? [panelIndex - 1, panelIndex]\n : [panelIndex, panelIndex + 1]\n\n const panelSize = layout[panelIndex]\n\n return {\n ...panelData.constraints,\n panelSize,\n pivotIndices,\n }\n}\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :style=\"{\n display: 'flex',\n flexDirection: direction === 'horizontal' ? 'row' : 'column',\n height: '100%',\n overflow: 'hidden',\n width: '100%',\n }\"\n data-panel-group=\"\"\n :data-orientation=\"direction\"\n :data-panel-group-id=\"groupId\"\n >\n <slot :layout=\"layout\" />\n </Primitive>\n</template>\n"],"names":["initializeDefaultStorage","createContext","toRefs","useId","useDirection","useForwardExpose","ref","computed","useWindowSplitterPanelGroupBehavior","watchEffect","debounce","savePanelGroupState","computePanelFlexBoxStyle","watch","loadPanelGroupState","calculateUnsafeDefaultLayout","validatePanelGroupLayout","areEqual","callPanelCallbacks","direction","dragState","groupId","determinePivotIndices","calculateDeltaPercentage","adjustLayoutByDelta","isKeyDown","compareLayouts","isMouseEvent","isTouchEvent","reportConstraintsViolation","EXCEEDED_HORIZONTAL_MIN","EXCEEDED_HORIZONTAL_MAX","EXCEEDED_VERTICAL_MIN","EXCEEDED_VERTICAL_MAX","panelData","assert","layout","getResizeHandleElement","getResizeEventCursorPosition"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, toRefs, ref, computed, watchEffect, watch,
|
|
1
|
+
import { defineComponent, toRefs, ref, computed, watchEffect, watch, createBlock, openBlock, unref, normalizeStyle, withCtx, renderSlot } from 'vue';
|
|
2
2
|
import { r as reportConstraintsViolation, E as EXCEEDED_HORIZONTAL_MIN, a as EXCEEDED_HORIZONTAL_MAX, b as EXCEEDED_VERTICAL_MIN, c as EXCEEDED_VERTICAL_MAX } from '../utils/registry.js';
|
|
3
3
|
import { a as adjustLayoutByDelta, c as compareLayouts } from '../utils/layout.js';
|
|
4
4
|
import { a as assert } from '../utils/assert.js';
|
|
@@ -12,12 +12,12 @@ import { i as isKeyDown, a as isMouseEvent, b as isTouchEvent, g as getResizeEve
|
|
|
12
12
|
import { v as validatePanelGroupLayout } from '../utils/validation.js';
|
|
13
13
|
import { s as savePanelGroupState, l as loadPanelGroupState, i as initializeDefaultStorage } from '../utils/storage.js';
|
|
14
14
|
import { u as useWindowSplitterPanelGroupBehavior } from '../composables/useWindowSplitterPanelGroupBehavior.js';
|
|
15
|
+
import { c as createContext } from '../shared/createContext.js';
|
|
15
16
|
import { u as useId } from '../shared/useId.js';
|
|
16
17
|
import { u as useDirection } from '../shared/useDirection.js';
|
|
17
18
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
18
19
|
import { a as areEqual } from '../shared/arrays.js';
|
|
19
20
|
import { P as Primitive } from '../Primitive/Primitive.js';
|
|
20
|
-
import { c as createContext } from '../shared/createContext.js';
|
|
21
21
|
|
|
22
22
|
const LOCAL_STORAGE_DEBOUNCE_INTERVAL = 100;
|
|
23
23
|
const defaultStorage = {
|
|
@@ -430,7 +430,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
430
430
|
} = panelDataHelper(panelDataArray, panelData, layout2);
|
|
431
431
|
if (!collapsible)
|
|
432
432
|
return false;
|
|
433
|
-
if (panelSize ===
|
|
433
|
+
if (panelSize === void 0) {
|
|
434
434
|
return panelData.constraints.defaultSize === panelData.constraints.collapsedSize;
|
|
435
435
|
} else {
|
|
436
436
|
return panelSize === collapsedSize;
|