reka-ui 2.8.2 → 2.9.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/dist/Autocomplete/AutocompleteInput.cjs +128 -0
- package/dist/Autocomplete/AutocompleteInput.cjs.map +1 -0
- package/dist/Autocomplete/AutocompleteInput.js +122 -0
- package/dist/Autocomplete/AutocompleteInput.js.map +1 -0
- package/dist/Autocomplete/AutocompleteRoot.cjs +258 -0
- package/dist/Autocomplete/AutocompleteRoot.cjs.map +1 -0
- package/dist/Autocomplete/AutocompleteRoot.js +246 -0
- package/dist/Autocomplete/AutocompleteRoot.js.map +1 -0
- package/dist/Calendar/CalendarCellTrigger.cjs +8 -5
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js +9 -6
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Calendar/CalendarNext.cjs +7 -3
- package/dist/Calendar/CalendarNext.cjs.map +1 -1
- package/dist/Calendar/CalendarNext.js +7 -3
- package/dist/Calendar/CalendarNext.js.map +1 -1
- package/dist/Calendar/CalendarPrev.cjs +7 -3
- package/dist/Calendar/CalendarPrev.cjs.map +1 -1
- package/dist/Calendar/CalendarPrev.js +7 -3
- package/dist/Calendar/CalendarPrev.js.map +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.cjs +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
- package/dist/Checkbox/CheckboxRoot.cjs +21 -10
- package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxRoot.js +21 -10
- package/dist/Checkbox/CheckboxRoot.js.map +1 -1
- package/dist/ColorArea/ColorAreaArea.cjs +143 -0
- package/dist/ColorArea/ColorAreaArea.cjs.map +1 -0
- package/dist/ColorArea/ColorAreaArea.js +137 -0
- package/dist/ColorArea/ColorAreaArea.js.map +1 -0
- package/dist/ColorArea/ColorAreaRoot.cjs +240 -0
- package/dist/ColorArea/ColorAreaRoot.cjs.map +1 -0
- package/dist/ColorArea/ColorAreaRoot.js +228 -0
- package/dist/ColorArea/ColorAreaRoot.js.map +1 -0
- package/dist/ColorArea/ColorAreaThumb.cjs +91 -0
- package/dist/ColorArea/ColorAreaThumb.cjs.map +1 -0
- package/dist/ColorArea/ColorAreaThumb.js +85 -0
- package/dist/ColorArea/ColorAreaThumb.js.map +1 -0
- package/dist/ColorArea/utils.cjs +32 -0
- package/dist/ColorArea/utils.cjs.map +1 -0
- package/dist/ColorArea/utils.js +21 -0
- package/dist/ColorArea/utils.js.map +1 -0
- package/dist/ColorField/ColorFieldInput.cjs +140 -0
- package/dist/ColorField/ColorFieldInput.cjs.map +1 -0
- package/dist/ColorField/ColorFieldInput.js +134 -0
- package/dist/ColorField/ColorFieldInput.js.map +1 -0
- package/dist/ColorField/ColorFieldRoot.cjs +281 -0
- package/dist/ColorField/ColorFieldRoot.cjs.map +1 -0
- package/dist/ColorField/ColorFieldRoot.js +269 -0
- package/dist/ColorField/ColorFieldRoot.js.map +1 -0
- package/dist/ColorSlider/ColorSliderRoot.cjs +230 -0
- package/dist/ColorSlider/ColorSliderRoot.cjs.map +1 -0
- package/dist/ColorSlider/ColorSliderRoot.js +218 -0
- package/dist/ColorSlider/ColorSliderRoot.js.map +1 -0
- package/dist/ColorSlider/ColorSliderThumb.cjs +66 -0
- package/dist/ColorSlider/ColorSliderThumb.cjs.map +1 -0
- package/dist/ColorSlider/ColorSliderThumb.js +60 -0
- package/dist/ColorSlider/ColorSliderThumb.js.map +1 -0
- package/dist/ColorSlider/ColorSliderTrack.cjs +55 -0
- package/dist/ColorSlider/ColorSliderTrack.cjs.map +1 -0
- package/dist/ColorSlider/ColorSliderTrack.js +49 -0
- package/dist/ColorSlider/ColorSliderTrack.js.map +1 -0
- package/dist/ColorSwatch/ColorSwatch.cjs +106 -0
- package/dist/ColorSwatch/ColorSwatch.cjs.map +1 -0
- package/dist/ColorSwatch/ColorSwatch.js +100 -0
- package/dist/ColorSwatch/ColorSwatch.js.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs +78 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItem.cjs.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js +66 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItem.js.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs +40 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.cjs.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js +34 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemIndicator.js.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs +43 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.cjs.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js +37 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerItemSwatch.js.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs +110 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.cjs.map +1 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js +104 -0
- package/dist/ColorSwatchPicker/ColorSwatchPickerRoot.js.map +1 -0
- package/dist/Combobox/ComboboxContent.cjs +4 -0
- package/dist/Combobox/ComboboxContent.cjs.map +1 -1
- package/dist/Combobox/ComboboxContent.js +4 -0
- package/dist/Combobox/ComboboxContent.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +9 -2
- package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +9 -2
- package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
- package/dist/Combobox/ComboboxRoot.cjs +7 -1
- package/dist/Combobox/ComboboxRoot.js +2 -2
- package/dist/DateField/DateFieldRoot.cjs +1 -1
- package/dist/DateField/DateFieldRoot.js +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.cjs +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuFilter.cjs +134 -0
- package/dist/DropdownMenu/DropdownMenuFilter.cjs.map +1 -0
- package/dist/DropdownMenu/DropdownMenuFilter.js +128 -0
- package/dist/DropdownMenu/DropdownMenuFilter.js.map +1 -0
- package/dist/Listbox/ListboxRoot.cjs +1 -1
- package/dist/Listbox/ListboxRoot.js +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +1 -1
- package/dist/Menu/MenuContentImpl.cjs +44 -4
- package/dist/Menu/MenuContentImpl.cjs.map +1 -1
- package/dist/Menu/MenuContentImpl.js +44 -4
- package/dist/Menu/MenuContentImpl.js.map +1 -1
- package/dist/Menu/MenuItemImpl.cjs +8 -3
- package/dist/Menu/MenuItemImpl.cjs.map +1 -1
- package/dist/Menu/MenuItemImpl.js +9 -4
- package/dist/Menu/MenuItemImpl.js.map +1 -1
- package/dist/Menu/MenuSubContent.cjs +8 -2
- package/dist/Menu/MenuSubContent.cjs.map +1 -1
- package/dist/Menu/MenuSubContent.js +9 -3
- package/dist/Menu/MenuSubContent.js.map +1 -1
- package/dist/Menu/MenuSubTrigger.cjs +7 -0
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js +8 -1
- package/dist/Menu/MenuSubTrigger.js.map +1 -1
- package/dist/MonthPicker/MonthPickerCell.cjs +59 -0
- package/dist/MonthPicker/MonthPickerCell.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerCell.js +53 -0
- package/dist/MonthPicker/MonthPickerCell.js.map +1 -0
- package/dist/MonthPicker/MonthPickerCellTrigger.cjs +197 -0
- package/dist/MonthPicker/MonthPickerCellTrigger.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerCellTrigger.js +191 -0
- package/dist/MonthPicker/MonthPickerCellTrigger.js.map +1 -0
- package/dist/MonthPicker/MonthPickerGrid.cjs +59 -0
- package/dist/MonthPicker/MonthPickerGrid.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerGrid.js +53 -0
- package/dist/MonthPicker/MonthPickerGrid.js.map +1 -0
- package/dist/MonthPicker/MonthPickerGridBody.cjs +41 -0
- package/dist/MonthPicker/MonthPickerGridBody.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerGridBody.js +35 -0
- package/dist/MonthPicker/MonthPickerGridBody.js.map +1 -0
- package/dist/MonthPicker/MonthPickerGridRow.cjs +41 -0
- package/dist/MonthPicker/MonthPickerGridRow.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerGridRow.js +35 -0
- package/dist/MonthPicker/MonthPickerGridRow.js.map +1 -0
- package/dist/MonthPicker/MonthPickerHeader.cjs +41 -0
- package/dist/MonthPicker/MonthPickerHeader.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerHeader.js +35 -0
- package/dist/MonthPicker/MonthPickerHeader.js.map +1 -0
- package/dist/MonthPicker/MonthPickerHeading.cjs +48 -0
- package/dist/MonthPicker/MonthPickerHeading.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerHeading.js +42 -0
- package/dist/MonthPicker/MonthPickerHeading.js.map +1 -0
- package/dist/MonthPicker/MonthPickerNext.cjs +68 -0
- package/dist/MonthPicker/MonthPickerNext.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerNext.js +62 -0
- package/dist/MonthPicker/MonthPickerNext.js.map +1 -0
- package/dist/MonthPicker/MonthPickerPrev.cjs +68 -0
- package/dist/MonthPicker/MonthPickerPrev.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerPrev.js +62 -0
- package/dist/MonthPicker/MonthPickerPrev.js.map +1 -0
- package/dist/MonthPicker/MonthPickerRoot.cjs +281 -0
- package/dist/MonthPicker/MonthPickerRoot.cjs.map +1 -0
- package/dist/MonthPicker/MonthPickerRoot.js +269 -0
- package/dist/MonthPicker/MonthPickerRoot.js.map +1 -0
- package/dist/MonthPicker/useMonthPicker.cjs +148 -0
- package/dist/MonthPicker/useMonthPicker.cjs.map +1 -0
- package/dist/MonthPicker/useMonthPicker.js +136 -0
- package/dist/MonthPicker/useMonthPicker.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerCell.cjs +59 -0
- package/dist/MonthRangePicker/MonthRangePickerCell.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerCell.js +53 -0
- package/dist/MonthRangePicker/MonthRangePickerCell.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs +258 -0
- package/dist/MonthRangePicker/MonthRangePickerCellTrigger.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js +252 -0
- package/dist/MonthRangePicker/MonthRangePickerCellTrigger.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGrid.cjs +59 -0
- package/dist/MonthRangePicker/MonthRangePickerGrid.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGrid.js +53 -0
- package/dist/MonthRangePicker/MonthRangePickerGrid.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs +41 -0
- package/dist/MonthRangePicker/MonthRangePickerGridBody.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGridBody.js +35 -0
- package/dist/MonthRangePicker/MonthRangePickerGridBody.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs +41 -0
- package/dist/MonthRangePicker/MonthRangePickerGridRow.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerGridRow.js +35 -0
- package/dist/MonthRangePicker/MonthRangePickerGridRow.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerHeader.cjs +41 -0
- package/dist/MonthRangePicker/MonthRangePickerHeader.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerHeader.js +35 -0
- package/dist/MonthRangePicker/MonthRangePickerHeader.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerHeading.cjs +48 -0
- package/dist/MonthRangePicker/MonthRangePickerHeading.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerHeading.js +42 -0
- package/dist/MonthRangePicker/MonthRangePickerHeading.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerNext.cjs +68 -0
- package/dist/MonthRangePicker/MonthRangePickerNext.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerNext.js +62 -0
- package/dist/MonthRangePicker/MonthRangePickerNext.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerPrev.cjs +68 -0
- package/dist/MonthRangePicker/MonthRangePickerPrev.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerPrev.js +62 -0
- package/dist/MonthRangePicker/MonthRangePickerPrev.js.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerRoot.cjs +347 -0
- package/dist/MonthRangePicker/MonthRangePickerRoot.cjs.map +1 -0
- package/dist/MonthRangePicker/MonthRangePickerRoot.js +335 -0
- package/dist/MonthRangePicker/MonthRangePickerRoot.js.map +1 -0
- package/dist/MonthRangePicker/useRangeMonthPicker.cjs +128 -0
- package/dist/MonthRangePicker/useRangeMonthPicker.cjs.map +1 -0
- package/dist/MonthRangePicker/useRangeMonthPicker.js +122 -0
- package/dist/MonthRangePicker/useRangeMonthPicker.js.map +1 -0
- package/dist/NavigationMenu/NavigationMenuItem.js +3 -3
- package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
- package/dist/NumberField/NumberFieldRoot.cjs +3 -2
- package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
- package/dist/NumberField/NumberFieldRoot.js +3 -2
- package/dist/NumberField/NumberFieldRoot.js.map +1 -1
- package/dist/Progress/ProgressRoot.cjs.map +1 -1
- package/dist/Progress/ProgressRoot.js.map +1 -1
- package/dist/RadioGroup/RadioGroupRoot.cjs +1 -1
- package/dist/RadioGroup/RadioGroupRoot.js +1 -1
- package/dist/RangeCalendar/RangeCalendarNext.cjs +9 -5
- package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarNext.js +9 -5
- package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.cjs +9 -5
- package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.js +9 -5
- package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.cjs +9 -13
- package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.js +9 -13
- package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
- package/dist/Splitter/SplitterGroup.cjs +136 -26
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js +136 -26
- package/dist/Splitter/SplitterGroup.js.map +1 -1
- package/dist/Splitter/SplitterPanel.cjs +7 -2
- package/dist/Splitter/SplitterPanel.cjs.map +1 -1
- package/dist/Splitter/SplitterPanel.js +7 -2
- package/dist/Splitter/SplitterPanel.js.map +1 -1
- package/dist/Switch/SwitchRoot.cjs +23 -9
- package/dist/Switch/SwitchRoot.cjs.map +1 -1
- package/dist/Switch/SwitchRoot.js +23 -9
- package/dist/Switch/SwitchRoot.js.map +1 -1
- package/dist/Switch/SwitchThumb.cjs +1 -1
- package/dist/Switch/SwitchThumb.cjs.map +1 -1
- package/dist/Switch/SwitchThumb.js +1 -1
- package/dist/Switch/SwitchThumb.js.map +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
- package/dist/TimeField/TimeFieldRoot.js +1 -1
- package/dist/TimeField/TimeFieldRoot.js.map +1 -1
- package/dist/TimeRangeField/TimeRangeFieldInput.cjs +102 -0
- package/dist/TimeRangeField/TimeRangeFieldInput.cjs.map +1 -0
- package/dist/TimeRangeField/TimeRangeFieldInput.js +96 -0
- package/dist/TimeRangeField/TimeRangeFieldInput.js.map +1 -0
- package/dist/TimeRangeField/TimeRangeFieldRoot.cjs +402 -0
- package/dist/TimeRangeField/TimeRangeFieldRoot.cjs.map +1 -0
- package/dist/TimeRangeField/TimeRangeFieldRoot.js +390 -0
- package/dist/TimeRangeField/TimeRangeFieldRoot.js.map +1 -0
- package/dist/Toast/ToastAnnounce.cjs +4 -1
- package/dist/Toast/ToastAnnounce.cjs.map +1 -1
- package/dist/Toast/ToastAnnounce.js +4 -1
- package/dist/Toast/ToastAnnounce.js.map +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.cjs +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.js +1 -1
- package/dist/Tooltip/TooltipContent.cjs +1 -2
- package/dist/Tooltip/TooltipContent.cjs.map +1 -1
- package/dist/Tooltip/TooltipContent.js +1 -2
- package/dist/Tooltip/TooltipContent.js.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.cjs +25 -18
- package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +25 -18
- package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
- package/dist/Tooltip/TooltipProvider.cjs +7 -2
- package/dist/Tooltip/TooltipProvider.cjs.map +1 -1
- package/dist/Tooltip/TooltipProvider.js +7 -2
- package/dist/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/YearPicker/YearPickerCell.cjs +59 -0
- package/dist/YearPicker/YearPickerCell.cjs.map +1 -0
- package/dist/YearPicker/YearPickerCell.js +53 -0
- package/dist/YearPicker/YearPickerCell.js.map +1 -0
- package/dist/YearPicker/YearPickerCellTrigger.cjs +197 -0
- package/dist/YearPicker/YearPickerCellTrigger.cjs.map +1 -0
- package/dist/YearPicker/YearPickerCellTrigger.js +191 -0
- package/dist/YearPicker/YearPickerCellTrigger.js.map +1 -0
- package/dist/YearPicker/YearPickerGrid.cjs +59 -0
- package/dist/YearPicker/YearPickerGrid.cjs.map +1 -0
- package/dist/YearPicker/YearPickerGrid.js +53 -0
- package/dist/YearPicker/YearPickerGrid.js.map +1 -0
- package/dist/YearPicker/YearPickerGridBody.cjs +41 -0
- package/dist/YearPicker/YearPickerGridBody.cjs.map +1 -0
- package/dist/YearPicker/YearPickerGridBody.js +35 -0
- package/dist/YearPicker/YearPickerGridBody.js.map +1 -0
- package/dist/YearPicker/YearPickerGridRow.cjs +41 -0
- package/dist/YearPicker/YearPickerGridRow.cjs.map +1 -0
- package/dist/YearPicker/YearPickerGridRow.js +35 -0
- package/dist/YearPicker/YearPickerGridRow.js.map +1 -0
- package/dist/YearPicker/YearPickerHeader.cjs +41 -0
- package/dist/YearPicker/YearPickerHeader.cjs.map +1 -0
- package/dist/YearPicker/YearPickerHeader.js +35 -0
- package/dist/YearPicker/YearPickerHeader.js.map +1 -0
- package/dist/YearPicker/YearPickerHeading.cjs +48 -0
- package/dist/YearPicker/YearPickerHeading.cjs.map +1 -0
- package/dist/YearPicker/YearPickerHeading.js +42 -0
- package/dist/YearPicker/YearPickerHeading.js.map +1 -0
- package/dist/YearPicker/YearPickerNext.cjs +68 -0
- package/dist/YearPicker/YearPickerNext.cjs.map +1 -0
- package/dist/YearPicker/YearPickerNext.js +62 -0
- package/dist/YearPicker/YearPickerNext.js.map +1 -0
- package/dist/YearPicker/YearPickerPrev.cjs +68 -0
- package/dist/YearPicker/YearPickerPrev.cjs.map +1 -0
- package/dist/YearPicker/YearPickerPrev.js +62 -0
- package/dist/YearPicker/YearPickerPrev.js.map +1 -0
- package/dist/YearPicker/YearPickerRoot.cjs +287 -0
- package/dist/YearPicker/YearPickerRoot.cjs.map +1 -0
- package/dist/YearPicker/YearPickerRoot.js +275 -0
- package/dist/YearPicker/YearPickerRoot.js.map +1 -0
- package/dist/YearPicker/useYearPicker.cjs +180 -0
- package/dist/YearPicker/useYearPicker.cjs.map +1 -0
- package/dist/YearPicker/useYearPicker.js +168 -0
- package/dist/YearPicker/useYearPicker.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerCell.cjs +59 -0
- package/dist/YearRangePicker/YearRangePickerCell.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerCell.js +53 -0
- package/dist/YearRangePicker/YearRangePickerCell.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs +256 -0
- package/dist/YearRangePicker/YearRangePickerCellTrigger.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerCellTrigger.js +250 -0
- package/dist/YearRangePicker/YearRangePickerCellTrigger.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGrid.cjs +59 -0
- package/dist/YearRangePicker/YearRangePickerGrid.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGrid.js +53 -0
- package/dist/YearRangePicker/YearRangePickerGrid.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGridBody.cjs +41 -0
- package/dist/YearRangePicker/YearRangePickerGridBody.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGridBody.js +35 -0
- package/dist/YearRangePicker/YearRangePickerGridBody.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGridRow.cjs +41 -0
- package/dist/YearRangePicker/YearRangePickerGridRow.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerGridRow.js +35 -0
- package/dist/YearRangePicker/YearRangePickerGridRow.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerHeader.cjs +41 -0
- package/dist/YearRangePicker/YearRangePickerHeader.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerHeader.js +35 -0
- package/dist/YearRangePicker/YearRangePickerHeader.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerHeading.cjs +48 -0
- package/dist/YearRangePicker/YearRangePickerHeading.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerHeading.js +42 -0
- package/dist/YearRangePicker/YearRangePickerHeading.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerNext.cjs +68 -0
- package/dist/YearRangePicker/YearRangePickerNext.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerNext.js +62 -0
- package/dist/YearRangePicker/YearRangePickerNext.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerPrev.cjs +68 -0
- package/dist/YearRangePicker/YearRangePickerPrev.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerPrev.js +62 -0
- package/dist/YearRangePicker/YearRangePickerPrev.js.map +1 -0
- package/dist/YearRangePicker/YearRangePickerRoot.cjs +350 -0
- package/dist/YearRangePicker/YearRangePickerRoot.cjs.map +1 -0
- package/dist/YearRangePicker/YearRangePickerRoot.js +338 -0
- package/dist/YearRangePicker/YearRangePickerRoot.js.map +1 -0
- package/dist/YearRangePicker/useRangeYearPicker.cjs +128 -0
- package/dist/YearRangePicker/useRangeYearPicker.cjs.map +1 -0
- package/dist/YearRangePicker/useRangeYearPicker.js +122 -0
- package/dist/YearRangePicker/useRangeYearPicker.js.map +1 -0
- package/dist/color/channel.cjs +378 -0
- package/dist/color/channel.cjs.map +1 -0
- package/dist/color/channel.js +349 -0
- package/dist/color/channel.js.map +1 -0
- package/dist/color/convert.cjs +285 -0
- package/dist/color/convert.cjs.map +1 -0
- package/dist/color/convert.js +237 -0
- package/dist/color/convert.js.map +1 -0
- package/dist/color/gradient.cjs +377 -0
- package/dist/color/gradient.cjs.map +1 -0
- package/dist/color/gradient.js +354 -0
- package/dist/color/gradient.js.map +1 -0
- package/dist/color/parse.cjs +113 -0
- package/dist/color/parse.cjs.map +1 -0
- package/dist/color/parse.js +95 -0
- package/dist/color/parse.js.map +1 -0
- package/dist/color/utils.cjs +112 -0
- package/dist/color/utils.cjs.map +1 -0
- package/dist/color/utils.js +100 -0
- package/dist/color/utils.js.map +1 -0
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +11 -7
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js +11 -7
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
- package/dist/constant/components.cjs +87 -1
- package/dist/constant/components.cjs.map +1 -1
- package/dist/constant/components.js +87 -1
- package/dist/constant/components.js.map +1 -1
- package/dist/constant.d.cts +12 -1
- package/dist/constant.d.cts.map +1 -1
- package/dist/constant.d.ts +12 -1
- package/dist/constant.d.ts.map +1 -1
- package/dist/date/calendar.cjs +41 -0
- package/dist/date/calendar.cjs.map +1 -1
- package/dist/date/calendar.js +30 -1
- package/dist/date/calendar.js.map +1 -1
- package/dist/date/comparators.cjs +129 -0
- package/dist/date/comparators.cjs.map +1 -1
- package/dist/date/comparators.js +76 -1
- package/dist/date/comparators.js.map +1 -1
- package/dist/date/useDateField.cjs +0 -1
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +0 -1
- package/dist/date/useDateField.js.map +1 -1
- package/dist/date.cjs +11 -0
- package/dist/date.d.cts +2 -2
- package/dist/date.d.ts +2 -2
- package/dist/date.js +3 -3
- package/dist/index.cjs +216 -46
- package/dist/index.d.cts +3 -8834
- package/dist/index.d.ts +3 -8834
- package/dist/index.js +116 -47
- package/dist/index2.d.cts +58 -2
- package/dist/index2.d.cts.map +1 -1
- package/dist/index2.d.ts +58 -2
- package/dist/index2.d.ts.map +1 -1
- package/dist/index3.d.cts +11061 -0
- package/dist/index3.d.cts.map +1 -0
- package/dist/index3.d.ts +11061 -0
- package/dist/index3.d.ts.map +1 -0
- package/dist/internal.cjs +81 -0
- package/dist/internal.d.cts +22 -0
- package/dist/internal.d.cts.map +1 -0
- package/dist/internal.d.ts +22 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +64 -0
- package/dist/internal2.cjs +0 -0
- package/dist/internal2.js +0 -0
- package/dist/namespaced/index.cjs +33 -1
- package/dist/namespaced/index.d.cts +32 -4
- package/dist/namespaced/index.d.mts +32 -4
- package/dist/namespaced/index.mjs +32 -4
- package/dist/shared/useArrowNavigation.cjs +4 -2
- package/dist/shared/useArrowNavigation.cjs.map +1 -1
- package/dist/shared/useArrowNavigation.js +4 -2
- package/dist/shared/useArrowNavigation.js.map +1 -1
- package/dist/shared/useForwardExpose.cjs +6 -2
- package/dist/shared/useForwardExpose.cjs.map +1 -1
- package/dist/shared/useForwardExpose.js +7 -3
- package/dist/shared/useForwardExpose.js.map +1 -1
- package/dist/shared/useId.cjs +7 -4
- package/dist/shared/useId.cjs.map +1 -1
- package/dist/shared/useId.js +7 -4
- package/dist/shared/useId.js.map +1 -1
- package/dist/utils/storage.cjs +7 -1
- package/dist/utils/storage.cjs.map +1 -1
- package/dist/utils/storage.js +7 -1
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/units.cjs +101 -0
- package/dist/utils/units.cjs.map +1 -0
- package/dist/utils/units.js +83 -0
- package/dist/utils/units.js.map +1 -0
- package/package.json +6 -2
- package/src/Autocomplete/AutocompleteInput.vue +112 -0
- package/src/Autocomplete/AutocompleteRoot.vue +272 -0
- package/src/Autocomplete/index.ts +72 -0
- package/src/Calendar/CalendarCellTrigger.vue +2 -1
- package/src/Calendar/CalendarNext.vue +8 -2
- package/src/Calendar/CalendarPrev.vue +8 -2
- package/src/Calendar/CalendarRoot.vue +1 -1
- package/src/Checkbox/CheckboxRoot.vue +32 -13
- package/src/ColorArea/ColorAreaArea.vue +145 -0
- package/src/ColorArea/ColorAreaRoot.vue +255 -0
- package/src/ColorArea/ColorAreaThumb.vue +75 -0
- package/src/ColorArea/index.ts +14 -0
- package/src/ColorArea/utils.ts +24 -0
- package/src/ColorField/ColorFieldInput.vue +133 -0
- package/src/ColorField/ColorFieldRoot.vue +326 -0
- package/src/ColorField/index.ts +10 -0
- package/src/ColorSlider/ColorSliderRoot.vue +224 -0
- package/src/ColorSlider/ColorSliderThumb.vue +54 -0
- package/src/ColorSlider/ColorSliderTrack.vue +36 -0
- package/src/ColorSlider/index.ts +14 -0
- package/src/ColorSlider/utils.ts +39 -0
- package/src/ColorSwatch/ColorSwatch.vue +97 -0
- package/src/ColorSwatch/index.ts +4 -0
- package/src/ColorSwatchPicker/ColorSwatchPickerItem.vue +60 -0
- package/src/ColorSwatchPicker/ColorSwatchPickerItemIndicator.vue +17 -0
- package/src/ColorSwatchPicker/ColorSwatchPickerItemSwatch.vue +21 -0
- package/src/ColorSwatchPicker/ColorSwatchPickerRoot.vue +50 -0
- package/src/ColorSwatchPicker/index.ts +17 -0
- package/src/Combobox/ComboboxContentImpl.vue +13 -1
- package/src/DateField/DateFieldRoot.vue +1 -1
- package/src/DateRangeField/DateRangeFieldRoot.vue +11 -4
- package/src/DismissableLayer/utils.ts +1 -2
- package/src/DropdownMenu/DropdownMenuFilter.vue +119 -0
- package/src/DropdownMenu/index.ts +5 -0
- package/src/Menu/MenuContentImpl.vue +68 -2
- package/src/Menu/MenuItemImpl.vue +11 -6
- package/src/Menu/MenuSubContent.vue +14 -3
- package/src/Menu/MenuSubTrigger.vue +13 -1
- package/src/MonthPicker/MonthPickerCell.vue +30 -0
- package/src/MonthPicker/MonthPickerCellTrigger.vue +214 -0
- package/src/MonthPicker/MonthPickerGrid.vue +32 -0
- package/src/MonthPicker/MonthPickerGridBody.vue +17 -0
- package/src/MonthPicker/MonthPickerGridRow.vue +20 -0
- package/src/MonthPicker/MonthPickerHeader.vue +17 -0
- package/src/MonthPicker/MonthPickerHeading.vue +35 -0
- package/src/MonthPicker/MonthPickerNext.vue +52 -0
- package/src/MonthPicker/MonthPickerPrev.vue +52 -0
- package/src/MonthPicker/MonthPickerRoot.vue +311 -0
- package/src/MonthPicker/index.ts +42 -0
- package/src/MonthPicker/useMonthPicker.ts +193 -0
- package/src/MonthRangePicker/MonthRangePickerCell.vue +30 -0
- package/src/MonthRangePicker/MonthRangePickerCellTrigger.vue +309 -0
- package/src/MonthRangePicker/MonthRangePickerGrid.vue +32 -0
- package/src/MonthRangePicker/MonthRangePickerGridBody.vue +17 -0
- package/src/MonthRangePicker/MonthRangePickerGridRow.vue +20 -0
- package/src/MonthRangePicker/MonthRangePickerHeader.vue +17 -0
- package/src/MonthRangePicker/MonthRangePickerHeading.vue +35 -0
- package/src/MonthRangePicker/MonthRangePickerNext.vue +52 -0
- package/src/MonthRangePicker/MonthRangePickerPrev.vue +52 -0
- package/src/MonthRangePicker/MonthRangePickerRoot.vue +391 -0
- package/src/MonthRangePicker/index.ts +42 -0
- package/src/MonthRangePicker/useRangeMonthPicker.ts +165 -0
- package/src/NumberField/NumberFieldRoot.vue +2 -1
- package/src/Progress/ProgressRoot.vue +3 -1
- package/src/RangeCalendar/RangeCalendarNext.vue +10 -4
- package/src/RangeCalendar/RangeCalendarPrev.vue +10 -4
- package/src/RangeCalendar/RangeCalendarRoot.vue +2 -2
- package/src/RangeCalendar/useRangeCalendar.ts +5 -8
- package/src/Splitter/SplitterGroup.vue +218 -49
- package/src/Splitter/SplitterPanel.vue +11 -6
- package/src/Splitter/utils/composables/useWindowSplitterPanelGroupBehavior.ts +16 -6
- package/src/Splitter/utils/storage.ts +14 -0
- package/src/Splitter/utils/units.ts +161 -0
- package/src/Splitter/utils/validation.ts +3 -2
- package/src/Switch/SwitchRoot.vue +36 -19
- package/src/Switch/SwitchThumb.vue +1 -1
- package/src/TimeField/TimeFieldRoot.vue +0 -3
- package/src/TimeRangeField/TimeRangeFieldInput.vue +74 -0
- package/src/TimeRangeField/TimeRangeFieldRoot.vue +473 -0
- package/src/TimeRangeField/index.ts +2 -0
- package/src/Toast/ToastAnnounce.vue +4 -1
- package/src/Tooltip/TooltipContent.vue +1 -3
- package/src/Tooltip/TooltipContentImpl.vue +18 -10
- package/src/Tooltip/TooltipProvider.vue +8 -1
- package/src/YearPicker/YearPickerCell.vue +30 -0
- package/src/YearPicker/YearPickerCellTrigger.vue +218 -0
- package/src/YearPicker/YearPickerGrid.vue +32 -0
- package/src/YearPicker/YearPickerGridBody.vue +17 -0
- package/src/YearPicker/YearPickerGridRow.vue +20 -0
- package/src/YearPicker/YearPickerHeader.vue +17 -0
- package/src/YearPicker/YearPickerHeading.vue +35 -0
- package/src/YearPicker/YearPickerNext.vue +52 -0
- package/src/YearPicker/YearPickerPrev.vue +52 -0
- package/src/YearPicker/YearPickerRoot.vue +314 -0
- package/src/YearPicker/index.ts +42 -0
- package/src/YearPicker/useYearPicker.ts +202 -0
- package/src/YearRangePicker/YearRangePickerCell.vue +30 -0
- package/src/YearRangePicker/YearRangePickerCellTrigger.vue +311 -0
- package/src/YearRangePicker/YearRangePickerGrid.vue +32 -0
- package/src/YearRangePicker/YearRangePickerGridBody.vue +17 -0
- package/src/YearRangePicker/YearRangePickerGridRow.vue +20 -0
- package/src/YearRangePicker/YearRangePickerHeader.vue +17 -0
- package/src/YearRangePicker/YearRangePickerHeading.vue +35 -0
- package/src/YearRangePicker/YearRangePickerNext.vue +52 -0
- package/src/YearRangePicker/YearRangePickerPrev.vue +52 -0
- package/src/YearRangePicker/YearRangePickerRoot.vue +391 -0
- package/src/YearRangePicker/index.ts +42 -0
- package/src/YearRangePicker/useRangeYearPicker.ts +165 -0
- package/src/date/calendar.ts +29 -0
- package/src/date/comparators.ts +97 -0
- package/src/index.ts +41 -0
- package/src/internal.ts +7 -0
- package/src/shared/color/channel.ts +424 -0
- package/src/shared/color/convert.ts +293 -0
- package/src/shared/color/gradient.ts +347 -0
- package/src/shared/color/index.ts +35 -0
- package/src/shared/color/parse.ts +140 -0
- package/src/shared/color/types.ts +40 -0
- package/src/shared/color/utils.ts +143 -0
- package/src/shared/date/types.ts +6 -0
- package/src/shared/date/useDateField.ts +37 -39
- package/src/shared/macro.ts +11 -0
- package/src/shared/useArrowNavigation.ts +8 -2
- package/src/shared/useForwardExpose.ts +20 -5
- package/src/shared/useId.ts +6 -7
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -10,11 +10,13 @@ const require_utils_dom = require('../utils/dom.cjs');
|
|
|
10
10
|
const require_utils_events = require('../utils/events.cjs');
|
|
11
11
|
const require_utils_calculate = require('../utils/calculate.cjs');
|
|
12
12
|
const require_utils_callPanelCallbacks = require('../utils/callPanelCallbacks.cjs');
|
|
13
|
+
const require_utils_compare = require('../utils/compare.cjs');
|
|
13
14
|
const require_utils_debounce = require('../utils/debounce.cjs');
|
|
14
15
|
const require_utils_layout = require('../utils/layout.cjs');
|
|
15
16
|
const require_utils_pivot = require('../utils/pivot.cjs');
|
|
16
17
|
const require_utils_style = require('../utils/style.cjs');
|
|
17
18
|
const require_utils_registry = require('../utils/registry.cjs');
|
|
19
|
+
const require_utils_units = require('../utils/units.cjs');
|
|
18
20
|
const require_utils_validation = require('../utils/validation.cjs');
|
|
19
21
|
const require_composables_useWindowSplitterPanelGroupBehavior = require('../composables/useWindowSplitterPanelGroupBehavior.cjs');
|
|
20
22
|
const require_utils_storage = require('../utils/storage.cjs');
|
|
@@ -78,6 +80,7 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
78
80
|
const dir = require_shared_useDirection.useDirection();
|
|
79
81
|
const { forwardRef, currentElement: panelGroupElementRef } = require_shared_useForwardExpose.useForwardExpose();
|
|
80
82
|
const dragState = (0, vue.ref)(null);
|
|
83
|
+
const groupSizeInPixels = (0, vue.ref)(null);
|
|
81
84
|
const layout = (0, vue.ref)([]);
|
|
82
85
|
const panelIdToLastNotifiedSizeMapRef = (0, vue.ref)({});
|
|
83
86
|
const panelSizeBeforeCollapseRef = (0, vue.ref)(/* @__PURE__ */ new Map());
|
|
@@ -95,6 +98,34 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
95
98
|
panelDataArray: [],
|
|
96
99
|
panelDataArrayChanged: false
|
|
97
100
|
});
|
|
101
|
+
function getGroupSizeInPixels() {
|
|
102
|
+
if (groupSizeInPixels.value != null) return groupSizeInPixels.value;
|
|
103
|
+
const element = panelGroupElementRef.value;
|
|
104
|
+
if (element && element instanceof HTMLElement) {
|
|
105
|
+
const rect = element.getBoundingClientRect();
|
|
106
|
+
const size = direction.value === "horizontal" ? rect.width : rect.height;
|
|
107
|
+
if (!Number.isNaN(size)) {
|
|
108
|
+
groupSizeInPixels.value = size;
|
|
109
|
+
return size;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
function getPanelConstraintsInPercent(groupSizeOverride) {
|
|
115
|
+
const groupSize = groupSizeOverride ?? getGroupSizeInPixels();
|
|
116
|
+
return require_utils_units.convertPanelConstraintsToPercent({
|
|
117
|
+
panelDataArray: eagerValuesRef.value.panelDataArray,
|
|
118
|
+
groupSizeInPixels: groupSize
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function getPanelDataWithPercentConstraints(groupSizeOverride) {
|
|
122
|
+
const percentConstraints = getPanelConstraintsInPercent(groupSizeOverride);
|
|
123
|
+
if (!percentConstraints) return null;
|
|
124
|
+
return eagerValuesRef.value.panelDataArray.map((panelData, index) => ({
|
|
125
|
+
...panelData,
|
|
126
|
+
constraints: percentConstraints[index]
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
98
129
|
const setLayout = (val) => layout.value = val;
|
|
99
130
|
require_composables_useWindowSplitterPanelGroupBehavior.useWindowSplitterPanelGroupBehavior({
|
|
100
131
|
eagerValuesRef,
|
|
@@ -102,7 +133,22 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
102
133
|
layout,
|
|
103
134
|
panelDataArray: eagerValuesRef.value.panelDataArray,
|
|
104
135
|
setLayout,
|
|
105
|
-
panelGroupElement: panelGroupElementRef
|
|
136
|
+
panelGroupElement: panelGroupElementRef,
|
|
137
|
+
getPanelDataWithPercentConstraints
|
|
138
|
+
});
|
|
139
|
+
(0, vue.watchEffect)((onCleanup) => {
|
|
140
|
+
const element = panelGroupElementRef.value;
|
|
141
|
+
if (!element) return;
|
|
142
|
+
if (typeof ResizeObserver !== "function") return;
|
|
143
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
144
|
+
const entry = entries[0];
|
|
145
|
+
if (!entry) return;
|
|
146
|
+
const { height, width } = entry.contentRect;
|
|
147
|
+
const nextSize = direction.value === "horizontal" ? width : height;
|
|
148
|
+
if (!Number.isNaN(nextSize)) groupSizeInPixels.value = nextSize;
|
|
149
|
+
});
|
|
150
|
+
if (element instanceof HTMLElement) resizeObserver.observe(element);
|
|
151
|
+
onCleanup(() => resizeObserver.disconnect());
|
|
106
152
|
});
|
|
107
153
|
(0, vue.watchEffect)(() => {
|
|
108
154
|
const { panelDataArray } = eagerValuesRef.value;
|
|
@@ -156,10 +202,16 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
156
202
|
unsafeLayout = state.layout;
|
|
157
203
|
}
|
|
158
204
|
}
|
|
159
|
-
if (unsafeLayout === null)
|
|
205
|
+
if (unsafeLayout === null) {
|
|
206
|
+
const panelDataArrayWithPercentConstraints = getPanelDataWithPercentConstraints();
|
|
207
|
+
if (!panelDataArrayWithPercentConstraints) return;
|
|
208
|
+
unsafeLayout = require_utils_calculate.calculateUnsafeDefaultLayout({ panelDataArray: panelDataArrayWithPercentConstraints });
|
|
209
|
+
}
|
|
210
|
+
const panelConstraints = getPanelConstraintsInPercent();
|
|
211
|
+
if (!panelConstraints) return;
|
|
160
212
|
const nextLayout = require_utils_validation.validatePanelGroupLayout({
|
|
161
213
|
layout: unsafeLayout,
|
|
162
|
-
panelConstraints
|
|
214
|
+
panelConstraints
|
|
163
215
|
});
|
|
164
216
|
if (!require_shared_arrays.areEqual(prevLayout, nextLayout)) {
|
|
165
217
|
setLayout(nextLayout);
|
|
@@ -169,6 +221,31 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
169
221
|
}
|
|
170
222
|
}
|
|
171
223
|
});
|
|
224
|
+
(0, vue.watch)(groupSizeInPixels, (nextSize, prevSize) => {
|
|
225
|
+
if (prevSize == null || nextSize == null) return;
|
|
226
|
+
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
227
|
+
if (prevLayout.length === 0) return;
|
|
228
|
+
if (!require_utils_units.hasPixelSizedPanel(panelDataArray)) return;
|
|
229
|
+
const recalculatedLayout = require_utils_units.recalculateLayoutForPixelPanels({
|
|
230
|
+
layout: prevLayout,
|
|
231
|
+
panelDataArray,
|
|
232
|
+
prevGroupSize: prevSize,
|
|
233
|
+
nextGroupSize: nextSize
|
|
234
|
+
});
|
|
235
|
+
if (!recalculatedLayout) return;
|
|
236
|
+
const panelConstraints = getPanelConstraintsInPercent(nextSize);
|
|
237
|
+
if (!panelConstraints) return;
|
|
238
|
+
const nextLayout = require_utils_validation.validatePanelGroupLayout({
|
|
239
|
+
layout: recalculatedLayout,
|
|
240
|
+
panelConstraints
|
|
241
|
+
});
|
|
242
|
+
if (!require_utils_layout.compareLayouts(prevLayout, nextLayout)) {
|
|
243
|
+
setLayout(nextLayout);
|
|
244
|
+
eagerValuesRef.value.layout = nextLayout;
|
|
245
|
+
emits("layout", nextLayout);
|
|
246
|
+
require_utils_callPanelCallbacks.callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.value);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
172
249
|
function registerResizeHandle(dragHandleId) {
|
|
173
250
|
return function resizeHandler(event) {
|
|
174
251
|
event.preventDefault();
|
|
@@ -182,7 +259,8 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
182
259
|
if (delta === 0) return;
|
|
183
260
|
const isHorizontal = direction$1 === "horizontal";
|
|
184
261
|
if (dir.value === "rtl" && isHorizontal) delta = -delta;
|
|
185
|
-
const panelConstraints =
|
|
262
|
+
const panelConstraints = getPanelConstraintsInPercent();
|
|
263
|
+
if (!panelConstraints) return;
|
|
186
264
|
const nextLayout = require_utils_layout.adjustLayoutByDelta({
|
|
187
265
|
delta,
|
|
188
266
|
layout: initialLayout ?? prevLayout,
|
|
@@ -209,11 +287,19 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
209
287
|
}
|
|
210
288
|
function resizePanel(panelData, unsafePanelSize) {
|
|
211
289
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
212
|
-
const panelConstraintsArray =
|
|
213
|
-
|
|
290
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
291
|
+
if (!panelConstraintsArray) return;
|
|
292
|
+
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
293
|
+
const panelUnit = panelData.constraints.sizeUnit ?? "%";
|
|
294
|
+
let sizeInPercent = unsafePanelSize;
|
|
295
|
+
if (panelUnit === "px") {
|
|
296
|
+
const groupSize = getGroupSizeInPixels();
|
|
297
|
+
if (groupSize != null) sizeInPercent = unsafePanelSize / groupSize * 100;
|
|
298
|
+
}
|
|
299
|
+
const { panelSize, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
214
300
|
require_utils_assert.assert(panelSize != null);
|
|
215
|
-
const isLastPanel =
|
|
216
|
-
const delta = isLastPanel ? panelSize -
|
|
301
|
+
const isLastPanel = panelIndex === panelDataArray.length - 1;
|
|
302
|
+
const delta = isLastPanel ? panelSize - sizeInPercent : sizeInPercent - panelSize;
|
|
217
303
|
const nextLayout = require_utils_layout.adjustLayoutByDelta({
|
|
218
304
|
delta,
|
|
219
305
|
layout: prevLayout,
|
|
@@ -233,12 +319,16 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
233
319
|
const index = findPanelDataIndex(panelDataArray, panelData);
|
|
234
320
|
panelDataArray[index] = panelData;
|
|
235
321
|
eagerValuesRef.value.panelDataArrayChanged = true;
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
const
|
|
322
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
323
|
+
if (!panelConstraintsArray) return;
|
|
324
|
+
const nextConstraints = panelConstraintsArray[index];
|
|
325
|
+
const { panelSize: prevPanelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray);
|
|
239
326
|
if (prevPanelSize === null) return;
|
|
240
|
-
|
|
241
|
-
|
|
327
|
+
const nextCollapsedSize = nextConstraints?.collapsedSize ?? 0;
|
|
328
|
+
const nextMaxSize = nextConstraints?.maxSize ?? 100;
|
|
329
|
+
const nextMinSize = nextConstraints?.minSize ?? 0;
|
|
330
|
+
if (nextConstraints?.collapsible && isPanelCollapsed(panelData)) {
|
|
331
|
+
if (prevPanelSize !== nextCollapsedSize) resizePanel(panelData, nextCollapsedSize);
|
|
242
332
|
} else if (prevPanelSize < nextMinSize) resizePanel(panelData, nextMinSize);
|
|
243
333
|
else if (prevPanelSize > nextMaxSize) resizePanel(panelData, nextMaxSize);
|
|
244
334
|
}
|
|
@@ -271,11 +361,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
271
361
|
function collapsePanel(panelData) {
|
|
272
362
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
273
363
|
if (panelData.constraints.collapsible) {
|
|
274
|
-
const panelConstraintsArray =
|
|
275
|
-
|
|
364
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
365
|
+
if (!panelConstraintsArray) return;
|
|
366
|
+
const { collapsedSize = 0, panelSize, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
276
367
|
require_utils_assert.assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
277
368
|
if (panelSize !== collapsedSize) {
|
|
278
|
-
|
|
369
|
+
const sizeUnit = panelData.constraints.sizeUnit ?? "%";
|
|
370
|
+
const groupSize = groupSizeInPixels.value ?? getGroupSizeInPixels();
|
|
371
|
+
const sizeBeforeCollapse = sizeUnit === "px" && groupSize ? panelSize / 100 * groupSize : panelSize;
|
|
372
|
+
panelSizeBeforeCollapseRef.value.set(panelData.id, sizeBeforeCollapse);
|
|
279
373
|
const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;
|
|
280
374
|
const delta = isLastPanel ? panelSize - collapsedSize : collapsedSize - panelSize;
|
|
281
375
|
const nextLayout = require_utils_layout.adjustLayoutByDelta({
|
|
@@ -297,11 +391,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
297
391
|
function expandPanel(panelData) {
|
|
298
392
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
299
393
|
if (panelData.constraints.collapsible) {
|
|
300
|
-
const panelConstraintsArray =
|
|
301
|
-
|
|
302
|
-
|
|
394
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
395
|
+
if (!panelConstraintsArray) return;
|
|
396
|
+
const { collapsedSize = 0, panelSize = 0, minSize = 0, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
397
|
+
if (require_utils_compare.fuzzyCompareNumbers(panelSize, collapsedSize) <= 0) {
|
|
303
398
|
const prevPanelSize = panelSizeBeforeCollapseRef.value.get(panelData.id);
|
|
304
|
-
const
|
|
399
|
+
const sizeUnit = panelData.constraints.sizeUnit ?? "%";
|
|
400
|
+
const groupSize = groupSizeInPixels.value ?? getGroupSizeInPixels();
|
|
401
|
+
const restoredSize = sizeUnit === "px" && groupSize ? prevPanelSize != null ? prevPanelSize / groupSize * 100 : null : prevPanelSize;
|
|
402
|
+
const baseSize = restoredSize != null && restoredSize >= minSize ? restoredSize : minSize;
|
|
305
403
|
const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;
|
|
306
404
|
const delta = isLastPanel ? panelSize - baseSize : baseSize - panelSize;
|
|
307
405
|
const nextLayout = require_utils_layout.adjustLayoutByDelta({
|
|
@@ -324,18 +422,28 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
324
422
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
325
423
|
const { panelSize } = panelDataHelper(panelDataArray, panelData, layout$1);
|
|
326
424
|
require_utils_assert.assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
425
|
+
const panelUnit = panelData.constraints.sizeUnit ?? "%";
|
|
426
|
+
if (panelUnit === "px") {
|
|
427
|
+
const groupSize = getGroupSizeInPixels();
|
|
428
|
+
if (groupSize != null) return panelSize / 100 * groupSize;
|
|
429
|
+
}
|
|
327
430
|
return panelSize;
|
|
328
431
|
}
|
|
329
432
|
function isPanelCollapsed(panelData) {
|
|
330
433
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
331
|
-
const
|
|
434
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
435
|
+
const { collapsedSize = 0, collapsible, panelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray ?? void 0);
|
|
332
436
|
if (!collapsible) return false;
|
|
333
|
-
if (panelSize === void 0)
|
|
334
|
-
|
|
437
|
+
if (panelSize === void 0) {
|
|
438
|
+
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
439
|
+
const constraints = panelConstraintsArray?.[panelIndex] ?? panelData.constraints;
|
|
440
|
+
return constraints.defaultSize === constraints.collapsedSize;
|
|
441
|
+
} else return panelSize === collapsedSize;
|
|
335
442
|
}
|
|
336
443
|
function isPanelExpanded(panelData) {
|
|
337
444
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
338
|
-
const
|
|
445
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
446
|
+
const { collapsedSize = 0, collapsible, panelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray ?? void 0);
|
|
339
447
|
require_utils_assert.assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
340
448
|
return !collapsible || panelSize > collapsedSize;
|
|
341
449
|
}
|
|
@@ -361,13 +469,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
361
469
|
function findPanelDataIndex(panelDataArray, panelData) {
|
|
362
470
|
return panelDataArray.findIndex((prevPanelData) => prevPanelData === panelData || prevPanelData.id === panelData.id);
|
|
363
471
|
}
|
|
364
|
-
function panelDataHelper(panelDataArray, panelData, layout$1) {
|
|
472
|
+
function panelDataHelper(panelDataArray, panelData, layout$1, panelConstraints) {
|
|
365
473
|
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
366
474
|
const isLastPanel = panelIndex === panelDataArray.length - 1;
|
|
367
475
|
const pivotIndices = isLastPanel ? [panelIndex - 1, panelIndex] : [panelIndex, panelIndex + 1];
|
|
476
|
+
const constraints = panelConstraints ?? getPanelConstraintsInPercent();
|
|
477
|
+
const panelConstraintsFromGroup = constraints?.[panelIndex];
|
|
368
478
|
const panelSize = layout$1[panelIndex];
|
|
369
479
|
return {
|
|
370
|
-
...panelData.constraints,
|
|
480
|
+
...panelConstraintsFromGroup ?? panelData.constraints,
|
|
371
481
|
panelSize,
|
|
372
482
|
pivotIndices
|
|
373
483
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitterGroup.cjs","names":["as","asChild"],"sources":["../../src/Splitter/SplitterGroup.vue","../../src/Splitter/SplitterGroup.vue"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SplitterGroup.cjs","names":["as","asChild"],"sources":["../../src/Splitter/SplitterGroup.vue","../../src/Splitter/SplitterGroup.vue"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -9,11 +9,13 @@ import { getResizeHandleElement } from "../utils/dom.js";
|
|
|
9
9
|
import { getResizeEventCursorPosition, isKeyDown, isMouseEvent, isTouchEvent } from "../utils/events.js";
|
|
10
10
|
import { calculateDeltaPercentage, calculateUnsafeDefaultLayout } from "../utils/calculate.js";
|
|
11
11
|
import { callPanelCallbacks } from "../utils/callPanelCallbacks.js";
|
|
12
|
+
import { fuzzyCompareNumbers } from "../utils/compare.js";
|
|
12
13
|
import { debounce } from "../utils/debounce.js";
|
|
13
14
|
import { adjustLayoutByDelta, compareLayouts } from "../utils/layout.js";
|
|
14
15
|
import { determinePivotIndices } from "../utils/pivot.js";
|
|
15
16
|
import { computePanelFlexBoxStyle } from "../utils/style.js";
|
|
16
17
|
import { EXCEEDED_HORIZONTAL_MAX, EXCEEDED_HORIZONTAL_MIN, EXCEEDED_VERTICAL_MAX, EXCEEDED_VERTICAL_MIN, reportConstraintsViolation } from "../utils/registry.js";
|
|
18
|
+
import { convertPanelConstraintsToPercent, hasPixelSizedPanel, recalculateLayoutForPixelPanels } from "../utils/units.js";
|
|
17
19
|
import { validatePanelGroupLayout } from "../utils/validation.js";
|
|
18
20
|
import { useWindowSplitterPanelGroupBehavior } from "../composables/useWindowSplitterPanelGroupBehavior.js";
|
|
19
21
|
import { initializeDefaultStorage, loadPanelGroupState, savePanelGroupState } from "../utils/storage.js";
|
|
@@ -77,6 +79,7 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
77
79
|
const dir = useDirection();
|
|
78
80
|
const { forwardRef, currentElement: panelGroupElementRef } = useForwardExpose();
|
|
79
81
|
const dragState = ref(null);
|
|
82
|
+
const groupSizeInPixels = ref(null);
|
|
80
83
|
const layout = ref([]);
|
|
81
84
|
const panelIdToLastNotifiedSizeMapRef = ref({});
|
|
82
85
|
const panelSizeBeforeCollapseRef = ref(/* @__PURE__ */ new Map());
|
|
@@ -94,6 +97,34 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
94
97
|
panelDataArray: [],
|
|
95
98
|
panelDataArrayChanged: false
|
|
96
99
|
});
|
|
100
|
+
function getGroupSizeInPixels() {
|
|
101
|
+
if (groupSizeInPixels.value != null) return groupSizeInPixels.value;
|
|
102
|
+
const element = panelGroupElementRef.value;
|
|
103
|
+
if (element && element instanceof HTMLElement) {
|
|
104
|
+
const rect = element.getBoundingClientRect();
|
|
105
|
+
const size = direction.value === "horizontal" ? rect.width : rect.height;
|
|
106
|
+
if (!Number.isNaN(size)) {
|
|
107
|
+
groupSizeInPixels.value = size;
|
|
108
|
+
return size;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
function getPanelConstraintsInPercent(groupSizeOverride) {
|
|
114
|
+
const groupSize = groupSizeOverride ?? getGroupSizeInPixels();
|
|
115
|
+
return convertPanelConstraintsToPercent({
|
|
116
|
+
panelDataArray: eagerValuesRef.value.panelDataArray,
|
|
117
|
+
groupSizeInPixels: groupSize
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function getPanelDataWithPercentConstraints(groupSizeOverride) {
|
|
121
|
+
const percentConstraints = getPanelConstraintsInPercent(groupSizeOverride);
|
|
122
|
+
if (!percentConstraints) return null;
|
|
123
|
+
return eagerValuesRef.value.panelDataArray.map((panelData, index) => ({
|
|
124
|
+
...panelData,
|
|
125
|
+
constraints: percentConstraints[index]
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
97
128
|
const setLayout = (val) => layout.value = val;
|
|
98
129
|
useWindowSplitterPanelGroupBehavior({
|
|
99
130
|
eagerValuesRef,
|
|
@@ -101,7 +132,22 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
101
132
|
layout,
|
|
102
133
|
panelDataArray: eagerValuesRef.value.panelDataArray,
|
|
103
134
|
setLayout,
|
|
104
|
-
panelGroupElement: panelGroupElementRef
|
|
135
|
+
panelGroupElement: panelGroupElementRef,
|
|
136
|
+
getPanelDataWithPercentConstraints
|
|
137
|
+
});
|
|
138
|
+
watchEffect((onCleanup) => {
|
|
139
|
+
const element = panelGroupElementRef.value;
|
|
140
|
+
if (!element) return;
|
|
141
|
+
if (typeof ResizeObserver !== "function") return;
|
|
142
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
143
|
+
const entry = entries[0];
|
|
144
|
+
if (!entry) return;
|
|
145
|
+
const { height, width } = entry.contentRect;
|
|
146
|
+
const nextSize = direction.value === "horizontal" ? width : height;
|
|
147
|
+
if (!Number.isNaN(nextSize)) groupSizeInPixels.value = nextSize;
|
|
148
|
+
});
|
|
149
|
+
if (element instanceof HTMLElement) resizeObserver.observe(element);
|
|
150
|
+
onCleanup(() => resizeObserver.disconnect());
|
|
105
151
|
});
|
|
106
152
|
watchEffect(() => {
|
|
107
153
|
const { panelDataArray } = eagerValuesRef.value;
|
|
@@ -155,10 +201,16 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
155
201
|
unsafeLayout = state.layout;
|
|
156
202
|
}
|
|
157
203
|
}
|
|
158
|
-
if (unsafeLayout === null)
|
|
204
|
+
if (unsafeLayout === null) {
|
|
205
|
+
const panelDataArrayWithPercentConstraints = getPanelDataWithPercentConstraints();
|
|
206
|
+
if (!panelDataArrayWithPercentConstraints) return;
|
|
207
|
+
unsafeLayout = calculateUnsafeDefaultLayout({ panelDataArray: panelDataArrayWithPercentConstraints });
|
|
208
|
+
}
|
|
209
|
+
const panelConstraints = getPanelConstraintsInPercent();
|
|
210
|
+
if (!panelConstraints) return;
|
|
159
211
|
const nextLayout = validatePanelGroupLayout({
|
|
160
212
|
layout: unsafeLayout,
|
|
161
|
-
panelConstraints
|
|
213
|
+
panelConstraints
|
|
162
214
|
});
|
|
163
215
|
if (!areEqual(prevLayout, nextLayout)) {
|
|
164
216
|
setLayout(nextLayout);
|
|
@@ -168,6 +220,31 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
168
220
|
}
|
|
169
221
|
}
|
|
170
222
|
});
|
|
223
|
+
watch(groupSizeInPixels, (nextSize, prevSize) => {
|
|
224
|
+
if (prevSize == null || nextSize == null) return;
|
|
225
|
+
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
226
|
+
if (prevLayout.length === 0) return;
|
|
227
|
+
if (!hasPixelSizedPanel(panelDataArray)) return;
|
|
228
|
+
const recalculatedLayout = recalculateLayoutForPixelPanels({
|
|
229
|
+
layout: prevLayout,
|
|
230
|
+
panelDataArray,
|
|
231
|
+
prevGroupSize: prevSize,
|
|
232
|
+
nextGroupSize: nextSize
|
|
233
|
+
});
|
|
234
|
+
if (!recalculatedLayout) return;
|
|
235
|
+
const panelConstraints = getPanelConstraintsInPercent(nextSize);
|
|
236
|
+
if (!panelConstraints) return;
|
|
237
|
+
const nextLayout = validatePanelGroupLayout({
|
|
238
|
+
layout: recalculatedLayout,
|
|
239
|
+
panelConstraints
|
|
240
|
+
});
|
|
241
|
+
if (!compareLayouts(prevLayout, nextLayout)) {
|
|
242
|
+
setLayout(nextLayout);
|
|
243
|
+
eagerValuesRef.value.layout = nextLayout;
|
|
244
|
+
emits("layout", nextLayout);
|
|
245
|
+
callPanelCallbacks(panelDataArray, nextLayout, panelIdToLastNotifiedSizeMapRef.value);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
171
248
|
function registerResizeHandle(dragHandleId) {
|
|
172
249
|
return function resizeHandler(event) {
|
|
173
250
|
event.preventDefault();
|
|
@@ -181,7 +258,8 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
181
258
|
if (delta === 0) return;
|
|
182
259
|
const isHorizontal = direction$1 === "horizontal";
|
|
183
260
|
if (dir.value === "rtl" && isHorizontal) delta = -delta;
|
|
184
|
-
const panelConstraints =
|
|
261
|
+
const panelConstraints = getPanelConstraintsInPercent();
|
|
262
|
+
if (!panelConstraints) return;
|
|
185
263
|
const nextLayout = adjustLayoutByDelta({
|
|
186
264
|
delta,
|
|
187
265
|
layout: initialLayout ?? prevLayout,
|
|
@@ -208,11 +286,19 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
208
286
|
}
|
|
209
287
|
function resizePanel(panelData, unsafePanelSize) {
|
|
210
288
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
211
|
-
const panelConstraintsArray =
|
|
212
|
-
|
|
289
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
290
|
+
if (!panelConstraintsArray) return;
|
|
291
|
+
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
292
|
+
const panelUnit = panelData.constraints.sizeUnit ?? "%";
|
|
293
|
+
let sizeInPercent = unsafePanelSize;
|
|
294
|
+
if (panelUnit === "px") {
|
|
295
|
+
const groupSize = getGroupSizeInPixels();
|
|
296
|
+
if (groupSize != null) sizeInPercent = unsafePanelSize / groupSize * 100;
|
|
297
|
+
}
|
|
298
|
+
const { panelSize, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
213
299
|
assert(panelSize != null);
|
|
214
|
-
const isLastPanel =
|
|
215
|
-
const delta = isLastPanel ? panelSize -
|
|
300
|
+
const isLastPanel = panelIndex === panelDataArray.length - 1;
|
|
301
|
+
const delta = isLastPanel ? panelSize - sizeInPercent : sizeInPercent - panelSize;
|
|
216
302
|
const nextLayout = adjustLayoutByDelta({
|
|
217
303
|
delta,
|
|
218
304
|
layout: prevLayout,
|
|
@@ -232,12 +318,16 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
232
318
|
const index = findPanelDataIndex(panelDataArray, panelData);
|
|
233
319
|
panelDataArray[index] = panelData;
|
|
234
320
|
eagerValuesRef.value.panelDataArrayChanged = true;
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
const
|
|
321
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
322
|
+
if (!panelConstraintsArray) return;
|
|
323
|
+
const nextConstraints = panelConstraintsArray[index];
|
|
324
|
+
const { panelSize: prevPanelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray);
|
|
238
325
|
if (prevPanelSize === null) return;
|
|
239
|
-
|
|
240
|
-
|
|
326
|
+
const nextCollapsedSize = nextConstraints?.collapsedSize ?? 0;
|
|
327
|
+
const nextMaxSize = nextConstraints?.maxSize ?? 100;
|
|
328
|
+
const nextMinSize = nextConstraints?.minSize ?? 0;
|
|
329
|
+
if (nextConstraints?.collapsible && isPanelCollapsed(panelData)) {
|
|
330
|
+
if (prevPanelSize !== nextCollapsedSize) resizePanel(panelData, nextCollapsedSize);
|
|
241
331
|
} else if (prevPanelSize < nextMinSize) resizePanel(panelData, nextMinSize);
|
|
242
332
|
else if (prevPanelSize > nextMaxSize) resizePanel(panelData, nextMaxSize);
|
|
243
333
|
}
|
|
@@ -270,11 +360,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
270
360
|
function collapsePanel(panelData) {
|
|
271
361
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
272
362
|
if (panelData.constraints.collapsible) {
|
|
273
|
-
const panelConstraintsArray =
|
|
274
|
-
|
|
363
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
364
|
+
if (!panelConstraintsArray) return;
|
|
365
|
+
const { collapsedSize = 0, panelSize, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
275
366
|
assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
276
367
|
if (panelSize !== collapsedSize) {
|
|
277
|
-
|
|
368
|
+
const sizeUnit = panelData.constraints.sizeUnit ?? "%";
|
|
369
|
+
const groupSize = groupSizeInPixels.value ?? getGroupSizeInPixels();
|
|
370
|
+
const sizeBeforeCollapse = sizeUnit === "px" && groupSize ? panelSize / 100 * groupSize : panelSize;
|
|
371
|
+
panelSizeBeforeCollapseRef.value.set(panelData.id, sizeBeforeCollapse);
|
|
278
372
|
const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;
|
|
279
373
|
const delta = isLastPanel ? panelSize - collapsedSize : collapsedSize - panelSize;
|
|
280
374
|
const nextLayout = adjustLayoutByDelta({
|
|
@@ -296,11 +390,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
296
390
|
function expandPanel(panelData) {
|
|
297
391
|
const { layout: prevLayout, panelDataArray } = eagerValuesRef.value;
|
|
298
392
|
if (panelData.constraints.collapsible) {
|
|
299
|
-
const panelConstraintsArray =
|
|
300
|
-
|
|
301
|
-
|
|
393
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
394
|
+
if (!panelConstraintsArray) return;
|
|
395
|
+
const { collapsedSize = 0, panelSize = 0, minSize = 0, pivotIndices } = panelDataHelper(panelDataArray, panelData, prevLayout, panelConstraintsArray);
|
|
396
|
+
if (fuzzyCompareNumbers(panelSize, collapsedSize) <= 0) {
|
|
302
397
|
const prevPanelSize = panelSizeBeforeCollapseRef.value.get(panelData.id);
|
|
303
|
-
const
|
|
398
|
+
const sizeUnit = panelData.constraints.sizeUnit ?? "%";
|
|
399
|
+
const groupSize = groupSizeInPixels.value ?? getGroupSizeInPixels();
|
|
400
|
+
const restoredSize = sizeUnit === "px" && groupSize ? prevPanelSize != null ? prevPanelSize / groupSize * 100 : null : prevPanelSize;
|
|
401
|
+
const baseSize = restoredSize != null && restoredSize >= minSize ? restoredSize : minSize;
|
|
304
402
|
const isLastPanel = findPanelDataIndex(panelDataArray, panelData) === panelDataArray.length - 1;
|
|
305
403
|
const delta = isLastPanel ? panelSize - baseSize : baseSize - panelSize;
|
|
306
404
|
const nextLayout = adjustLayoutByDelta({
|
|
@@ -323,18 +421,28 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
323
421
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
324
422
|
const { panelSize } = panelDataHelper(panelDataArray, panelData, layout$1);
|
|
325
423
|
assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
424
|
+
const panelUnit = panelData.constraints.sizeUnit ?? "%";
|
|
425
|
+
if (panelUnit === "px") {
|
|
426
|
+
const groupSize = getGroupSizeInPixels();
|
|
427
|
+
if (groupSize != null) return panelSize / 100 * groupSize;
|
|
428
|
+
}
|
|
326
429
|
return panelSize;
|
|
327
430
|
}
|
|
328
431
|
function isPanelCollapsed(panelData) {
|
|
329
432
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
330
|
-
const
|
|
433
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
434
|
+
const { collapsedSize = 0, collapsible, panelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray ?? void 0);
|
|
331
435
|
if (!collapsible) return false;
|
|
332
|
-
if (panelSize === void 0)
|
|
333
|
-
|
|
436
|
+
if (panelSize === void 0) {
|
|
437
|
+
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
438
|
+
const constraints = panelConstraintsArray?.[panelIndex] ?? panelData.constraints;
|
|
439
|
+
return constraints.defaultSize === constraints.collapsedSize;
|
|
440
|
+
} else return panelSize === collapsedSize;
|
|
334
441
|
}
|
|
335
442
|
function isPanelExpanded(panelData) {
|
|
336
443
|
const { layout: layout$1, panelDataArray } = eagerValuesRef.value;
|
|
337
|
-
const
|
|
444
|
+
const panelConstraintsArray = getPanelConstraintsInPercent();
|
|
445
|
+
const { collapsedSize = 0, collapsible, panelSize } = panelDataHelper(panelDataArray, panelData, layout$1, panelConstraintsArray ?? void 0);
|
|
338
446
|
assert(panelSize != null, `Panel size not found for panel "${panelData.id}"`);
|
|
339
447
|
return !collapsible || panelSize > collapsedSize;
|
|
340
448
|
}
|
|
@@ -360,13 +468,15 @@ var SplitterGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
360
468
|
function findPanelDataIndex(panelDataArray, panelData) {
|
|
361
469
|
return panelDataArray.findIndex((prevPanelData) => prevPanelData === panelData || prevPanelData.id === panelData.id);
|
|
362
470
|
}
|
|
363
|
-
function panelDataHelper(panelDataArray, panelData, layout$1) {
|
|
471
|
+
function panelDataHelper(panelDataArray, panelData, layout$1, panelConstraints) {
|
|
364
472
|
const panelIndex = findPanelDataIndex(panelDataArray, panelData);
|
|
365
473
|
const isLastPanel = panelIndex === panelDataArray.length - 1;
|
|
366
474
|
const pivotIndices = isLastPanel ? [panelIndex - 1, panelIndex] : [panelIndex, panelIndex + 1];
|
|
475
|
+
const constraints = panelConstraints ?? getPanelConstraintsInPercent();
|
|
476
|
+
const panelConstraintsFromGroup = constraints?.[panelIndex];
|
|
367
477
|
const panelSize = layout$1[panelIndex];
|
|
368
478
|
return {
|
|
369
|
-
...panelData.constraints,
|
|
479
|
+
...panelConstraintsFromGroup ?? panelData.constraints,
|
|
370
480
|
panelSize,
|
|
371
481
|
pivotIndices
|
|
372
482
|
};
|