@cube-dev/ui-kit 0.199.1 → 0.200.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/CHANGELOG.md +47 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +2 -2
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.d.ts +6 -4
- package/dist/components/GridProvider.js +14 -9
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +17 -17
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +7 -9
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +7 -12
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +35 -37
- package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +116 -127
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +4 -3
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +5 -4
- package/dist/components/actions/Menu/styled.js.map +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +32 -23
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/Alert.js.map +1 -1
- package/dist/components/content/Alert/use-alert.js +24 -27
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +6 -2
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +83 -87
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +6 -13
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.js +18 -18
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +10 -14
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +18 -16
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +2 -2
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +35 -31
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +31 -27
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +23 -25
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.js +6 -2
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +2 -5
- package/dist/components/content/TextItem/TextItem.js.map +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +11 -21
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +7 -7
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/styled.js +31 -12
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableView.js +4 -7
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +36 -29
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +4 -4
- package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +12 -15
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +174 -183
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +5 -9
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +49 -39
- package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +5 -3
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +2 -2
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +6 -8
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +2 -2
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +1 -1
- package/dist/components/fields/ListBox/ListBox.js +49 -24
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +2 -2
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +91 -96
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -2
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -1
- package/dist/components/fields/Select/Select.js +4 -4
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +3 -3
- package/dist/components/fields/Slider/HueSlider.js.map +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +4 -6
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +5 -5
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +7 -6
- package/dist/components/fields/Slider/elements.js.map +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.d.ts +1 -1
- package/dist/components/fields/TagInput/TagInput.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +3 -3
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -6
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +7 -7
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +4 -4
- package/dist/components/fields/color/channels.js.map +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +11 -8
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +13 -38
- package/dist/components/layout/Panel.js.map +1 -1
- package/dist/components/layout/Prefix.js +16 -22
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +30 -25
- package/dist/components/layout/ResizablePanel.js.map +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +16 -22
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +2 -1
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +2 -2
- package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +62 -68
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +6 -9
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +20 -17
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +6 -6
- package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +3 -3
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +6 -6
- package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +4 -4
- package/dist/components/other/Calendar/styled.js.map +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +3 -4
- package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +3 -3
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +5 -6
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +2 -2
- package/dist/components/overlays/Modal/Underlay.js.map +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +28 -13
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +8 -6
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +58 -57
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/Cube.js.map +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +153 -188
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +2 -2
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +25 -22
- package/dist/icons/DirectionIcon.js.map +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +21 -38
- package/dist/icons/Icon.js.map +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +7 -2
- package/dist/icons/PlayCircleIcon.js.map +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +12 -2
- package/dist/tokens/base.js.map +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +4 -4
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +1 -1
- package/dist/tokens/resolve.js.map +1 -1
- package/dist/tokens/shadows.d.ts +0 -1
- package/dist/tokens/shadows.js +2 -3
- package/dist/tokens/shadows.js.map +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/BaseProperties.md +2 -0
- package/docs/ComplexLayout.md +1 -1
- package/docs/Usage.md +47 -2
- package/docs/Utilities.md +5 -2
- package/docs/components/GridProvider.md +3 -3
- package/docs/components/content/HotKeys.md +2 -2
- package/docs/components/content/InlineInput.md +2 -2
- package/docs/components/content/Item.md +5 -5
- package/docs/components/content/Layout.md +8 -8
- package/docs/components/content/Text.md +1 -1
- package/docs/components/fields/ComboBox.md +1 -1
- package/docs/components/fields/CommandTextArea.md +1 -1
- package/docs/components/fields/FilterListBox.md +1 -1
- package/docs/components/fields/FilterPicker.md +1 -1
- package/docs/components/fields/ListBox.md +2 -2
- package/docs/components/fields/Picker.md +1 -1
- package/docs/components/fields/SearchComboBox.md +1 -1
- package/docs/components/fields/Select.md +1 -1
- package/docs/components/fields/TagInput.md +1 -1
- package/docs/tasty/react-api.md +1 -1
- package/package.json +3 -3
- package/tasty.config.ts +206 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutPane.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","OUTER_STYLES","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCallback","useEffect","useEffectEvent","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","useI18n","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","mountedPanes","WeakMap","Element","isHorizontal","adoptSize","drawn","setPaneSize","pane","HTMLElement","size","style","setProperty","getDrawnSize","element","getClientRects","length","NaN","getComputedStyle","parseFloat","width","height","givesWay","flexShrink","getOverflow","container","rect","getBoundingClientRect","scale","offsetWidth","offsetHeight","available","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","used","count","item","Array","from","children","itemStyle","display","position","itemRect","marginLeft","marginRight","marginTop","marginBottom","gap","columnGap","rowGap","Math","max","getPanesBeside","parentElement","flexDirection","startsWith","flexWrap","HTMLCollectionOf","filter","get","Number","isFinite","PaneMove","target","start","ownSize","pointerType","beside","besideSizes","held","maxOverflow","undoMove","move","forEach","index","removeProperty","PaneElement","as","qa","styles","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","boxSizing","Inner","$","flow","padding","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","defaultSize","minSize","maxSize","onSizeChange","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t","t0","hoverProps","focusProps","isFocusVisible","t1","t2","t3","tabIndex","undefined","role","t4","t5","LayoutPane","ref","providedSize","mods","innerRefProp","otherProps","combinedRef","internalInnerRef","combinedInnerRef","prevProvidedSizeRef","isDragging","setIsDragging","isHandlerHovered","setIsHandlerHovered","isHandlerFocused","setIsHandlerFocused","debouncedHandlerHovered","initialSize","setSize","outerStyles","innerStyles","isTinyScrollbar","Symbol","for","handleVStyle","handleHStyle","hasOverflowY","hasOverflowX","isScrolling","t6","value","clampValue","moveRef","t7","rounded","round","abs","getPropertyValue","map","_temp","side","paneStart","sizes","item_0","item_1","item_2","_temp2","beginMove","t8","move_0","finalSize","pane_0","current","sizes_0","item_4","item_5","index_0","endMove","t9","onMoveStart","onMove","e","delta","step","shiftKey","rawDelta","deltaX","deltaY","pane_1","move_1","next","excess","onMoveEnd","e_0","move_2","t10","drawn_0","t11","pane_2","set","drawn_1","delete","t12","t13","t14","t15","resetSize","parseInt","clampedSize","handleResetSize","t16","scrollbarStyle","t17","t18","hovered","scrolling","handlerHovered","focused","drag","paneMods","finalStyles","t19","t20","t21","paneStyle","T0","t22","eventProps","t23","t24","t25","t26","t27","t28","item_3","_LayoutPane","displayName","_c","mergeProps"],"sources":["../../../../src/components/content/Layout/LayoutPane.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n useEffect,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { ScrollbarType } from './LayoutContent';\nimport { LayoutContextReset } from './LayoutContext';\nimport { clampSize } from './utils';\n\n// Handler dimensions\nconst HANDLER_WIDTH = 9; // Interactive area\nconst HANDLER_RESERVED = 5; // Space reserved in Inner padding\n\n/** Mounted panes by element: the axis each resizes along, and how it takes a size. */\nconst mountedPanes = new WeakMap<\n Element,\n { isHorizontal: boolean; adoptSize: (drawn: number) => void }\n>();\n\nfunction setPaneSize(pane: HTMLElement, size: number) {\n pane.style.setProperty('--pane-size', `${size}px`);\n}\n\n/** The size an element is drawn at, or `NaN` when it is not drawn. */\nfunction getDrawnSize(element: HTMLElement, isHorizontal: boolean) {\n // Hidden, an element reports the size it is set to.\n if (!element.getClientRects().length) return NaN;\n\n const style = getComputedStyle(element);\n\n return parseFloat(isHorizontal ? style.width : style.height);\n}\n\nfunction givesWay(element: Element) {\n return parseFloat(getComputedStyle(element).flexShrink) > 0;\n}\n\n/** How far a flex container's items run past its content box. */\nfunction getOverflow(container: HTMLElement, isHorizontal: boolean) {\n const style = getComputedStyle(container);\n const rect = container.getBoundingClientRect();\n // Items are measured as drawn, which a zoomed or scaled ancestor makes\n // differ from the container's own layout size.\n const scale =\n (isHorizontal\n ? rect.width / container.offsetWidth\n : rect.height / container.offsetHeight) || 1;\n const available = isHorizontal\n ? container.clientWidth -\n parseFloat(style.paddingLeft) -\n parseFloat(style.paddingRight)\n : container.clientHeight -\n parseFloat(style.paddingTop) -\n parseFloat(style.paddingBottom);\n let used = 0;\n let count = 0;\n\n for (const item of Array.from(container.children)) {\n const itemStyle = getComputedStyle(item);\n\n if (\n itemStyle.display === 'none' ||\n itemStyle.position === 'absolute' ||\n itemStyle.position === 'fixed'\n ) {\n continue;\n }\n\n const itemRect = item.getBoundingClientRect();\n\n used += isHorizontal\n ? itemRect.width / scale +\n parseFloat(itemStyle.marginLeft) +\n parseFloat(itemStyle.marginRight)\n : itemRect.height / scale +\n parseFloat(itemStyle.marginTop) +\n parseFloat(itemStyle.marginBottom);\n count += 1;\n }\n\n const gap = parseFloat(isHorizontal ? style.columnGap : style.rowGap) || 0;\n\n return used + gap * Math.max(count - 1, 0) - available;\n}\n\n/**\n * The other drawn panes that give way along the same axis, when this one gives\n * way in a non-wrapping flex container along it.\n */\nfunction getPanesBeside(pane: HTMLElement, isHorizontal: boolean) {\n const container = pane.parentElement;\n\n if (!container || !givesWay(pane)) return [];\n\n const style = getComputedStyle(container);\n\n if (\n (style.display !== 'flex' && style.display !== 'inline-flex') ||\n style.flexDirection.startsWith('row') !== isHorizontal ||\n style.flexWrap !== 'nowrap'\n ) {\n return [];\n }\n\n return Array.from(container.children as HTMLCollectionOf<HTMLElement>).filter(\n (item) =>\n item !== pane &&\n mountedPanes.get(item)?.isHorizontal === isHorizontal &&\n givesWay(item) &&\n Number.isFinite(getDrawnSize(item, isHorizontal)),\n );\n}\n\ninterface PaneMove {\n /** Where the pointer or keys ask the pane to be. */\n target: number;\n /** The size so far, ahead of the rendered one. */\n size: number;\n /** The size the move begins at. */\n start: number;\n /** The pane's own size before the move. */\n ownSize: string;\n /** What began the move: a pointer or the keyboard. */\n pointerType: string;\n /** The flex container the pane gives way in beside other panes, or `null`. */\n container: HTMLElement | null;\n /** The panes beside it, sized as drawn for the move. */\n beside: HTMLElement[];\n /** Their own sizes before the move. */\n besideSizes: string[];\n /** The panes that hold their size until the move ends. */\n held: HTMLElement[];\n /** How far the container's items may run past it, as they did at the start. */\n maxOverflow: number;\n}\n\n/**\n * Gives the panes beside a move back their own sizes and lets go of every\n * held pane.\n */\nfunction undoMove(move: PaneMove) {\n move.beside.forEach((item, index) =>\n item.style.setProperty('--pane-size', move.besideSizes[index]),\n );\n move.held.forEach((item) => item.style.removeProperty('flex-shrink'));\n}\n\nconst PaneElement = tasty({\n as: 'div',\n qa: 'LayoutPane',\n styles: {\n container: 'pane / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n // Holds its size. With `flexShrink={1}` it gives way down to its minimum\n // when a flex container runs short.\n flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '($pane-min-size, 2x) $pane-size $pane-size',\n },\n height: {\n '': '($pane-min-size, 2x) $pane-size $pane-size',\n 'edge=right': 'auto',\n },\n boxSizing: 'content-box',\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n // Reserve space for handler on resize edge\n paddingRight: {\n '': '($content-padding, 1x)',\n 'edge=right': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n paddingBottom: {\n '': '($content-padding, 1x)',\n 'edge=bottom': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n position: 'absolute',\n right: {\n '': '1px',\n 'edge=right': `${HANDLER_RESERVED + 1}px`,\n },\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity 0.15s',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n position: 'absolute',\n bottom: {\n '': '1px',\n 'edge=bottom': `${HANDLER_RESERVED + 1}px`,\n },\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity 0.15s',\n pointerEvents: 'none',\n },\n\n // Compact resize handler - only drag dots\n ResizeHandler: {\n position: 'absolute',\n // Size: 9px interactive area\n width: {\n '': '100%',\n 'edge=right': `${HANDLER_WIDTH}px`,\n },\n height: {\n '': `${HANDLER_WIDTH}px`,\n 'edge=right': '100%',\n },\n // Position at edge, centered on the reserved space boundary\n right: {\n '': 'initial',\n 'edge=right': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n },\n bottom: {\n '': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n 'edge=right': 'initial',\n },\n top: {\n '': 'initial',\n 'edge=right': 0,\n },\n left: {\n '': 0,\n 'edge=right': 'initial',\n },\n cursor: {\n '': 'row-resize',\n 'edge=right': 'col-resize',\n disabled: 'not-allowed',\n },\n padding: 0,\n outline: 0,\n boxSizing: 'border-box',\n transition: 'theme',\n },\n\n Drag: {\n display: 'grid',\n gap: '2bw',\n border: 0,\n flow: {\n '': 'row',\n 'edge=right': 'column',\n },\n gridColumns: {\n '': '3px 3px 3px 3px 3px',\n 'edge=right': 'auto',\n },\n gridRows: {\n '': 'auto',\n 'edge=right': '3px 3px 3px 3px 3px',\n },\n width: {\n '': 'auto',\n 'edge=right': '3px',\n },\n height: {\n '': '3px',\n 'edge=right': 'auto',\n },\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n transition: 'theme',\n radius: 'round',\n outline: {\n '': '0',\n 'focused | drag': '1bw #primary-text',\n },\n outlineOffset: 1,\n },\n\n DragPart: {\n radius: true,\n fill: {\n '': '#dark-03',\n 'handlerHovered | drag | focused': '#primary-text',\n disabled: '#disabled-surface-text',\n },\n },\n },\n});\n\nexport type ResizeEdge = 'right' | 'bottom';\n\nexport interface CubeLayoutPaneProps extends BaseProps, ContainerStyleProps {\n /** Edge where resize handler appears */\n resizeEdge?: ResizeEdge;\n /** Enable resize functionality */\n isResizable?: boolean;\n /** Controlled size (width for right edge, height for bottom edge) */\n size?: number | string;\n /** Default size for uncontrolled state */\n defaultSize?: number | string;\n /** Minimum size constraint */\n minSize?: number | string;\n /** Maximum size constraint */\n maxSize?: number | string;\n /**\n * Size change callback. With `flexShrink={1}`, also called when another\n * such pane beside it is resized and this pane keeps the size it is drawn\n * at.\n */\n onSizeChange?: (size: number) => void;\n /** Scrollbar style */\n scrollbar?: ScrollbarType;\n /** Custom styles */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface PaneResizeHandlerProps {\n edge: ResizeEdge;\n isDisabled?: boolean;\n moveProps: ReturnType<typeof useMove>['moveProps'];\n onDoubleClick?: () => void;\n onHoverChange?: (isHovered: boolean) => void;\n onFocusChange?: (isFocused: boolean) => void;\n}\n\nfunction PaneResizeHandler(props: PaneResizeHandlerProps) {\n const {\n edge,\n isDisabled,\n moveProps,\n onDoubleClick,\n onHoverChange,\n onFocusChange,\n } = props;\n const { t } = useI18n();\n const { hoverProps, isHovered } = useHover({\n onHoverChange,\n });\n const { focusProps, isFocusVisible } = useFocusRing();\n const isHorizontal = edge === 'right';\n\n // Notify parent of focus changes\n useEffect(() => {\n onFocusChange?.(isFocusVisible);\n }, [isFocusVisible, onFocusChange]);\n\n return (\n <div\n data-element=\"ResizeHandler\"\n {...mergeProps(hoverProps, focusProps, isDisabled ? {} : moveProps, {\n tabIndex: isDisabled ? undefined : 0,\n role: 'separator',\n 'aria-orientation': isHorizontal ? 'vertical' : 'horizontal',\n 'aria-label':\n edge === 'right'\n ? t('layout.resizePaneRight', 'Resize pane right')\n : t('layout.resizePaneBottom', 'Resize pane bottom'),\n onDoubleClick: isDisabled ? undefined : onDoubleClick,\n })}\n >\n {!isDisabled && (\n <div data-element=\"Drag\">\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction LayoutPane(\n props: CubeLayoutPaneProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n resizeEdge = 'right',\n isResizable = false,\n size: providedSize,\n defaultSize = 200,\n minSize,\n maxSize,\n onSizeChange,\n scrollbar = 'thin',\n styles,\n mods,\n children,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n\n const combinedRef = useCombinedRefs(ref);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const prevProvidedSizeRef = useRef(providedSize);\n const isHorizontal = resizeEdge === 'right';\n\n // Resize state\n const [isDragging, setIsDragging] = useState(false);\n const [isHandlerHovered, setIsHandlerHovered] = useState(false);\n const [isHandlerFocused, setIsHandlerFocused] = useState(false);\n const debouncedHandlerHovered = useDebouncedValue(isHandlerHovered, 150);\n const [size, setSize] = useState<number>(() => {\n const initialSize =\n typeof providedSize === 'number'\n ? providedSize\n : typeof defaultSize === 'number'\n ? defaultSize\n : 200;\n\n return clampSize(initialSize, minSize, maxSize);\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVStyle,\n handleHStyle,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n // Clamp size to min/max constraints\n const clampValue = useCallback(\n (value: number) => clampSize(value, minSize, maxSize),\n [minSize, maxSize],\n );\n\n const moveRef = useRef<PaneMove | null>(null);\n\n const beginMove = (pane: HTMLElement, pointerType: string): PaneMove => {\n const drawn = getDrawnSize(pane, isHorizontal);\n const beside = getPanesBeside(pane, isHorizontal);\n const rounded = Math.round(drawn);\n // Flex shrinking or a CSS minimum can draw the pane at another size than\n // `size`; resize from the one on screen, or the first moves do nothing.\n // Beside other panes the move begins exactly there, so nothing shifts.\n const start = beside.length\n ? drawn\n : Math.abs(rounded - size) >= 1\n ? rounded\n : size;\n const move: PaneMove = {\n target: start,\n size: start,\n start,\n ownSize: pane.style.getPropertyValue('--pane-size'),\n pointerType,\n container: beside.length ? pane.parentElement : null,\n beside,\n besideSizes: beside.map((item) =>\n item.style.getPropertyValue('--pane-size'),\n ),\n held: [],\n maxOverflow: 0,\n };\n\n // Beside other panes that give way, this one would hand them part of every\n // move: flex shares the room by size, and theirs are larger than drawn. So\n // they take the sizes they are drawn at, and this pane holds its size until\n // the move ends, as do the panes before its grip: the room comes from\n // beyond the grip. Keyboard moves start and end within one event, so this\n // goes to the DOM, not through a render. Every size is read before one is\n // written, as each write reflows the rest.\n if (move.container) {\n const side = isHorizontal ? 'left' : 'top';\n const paneStart = pane.getBoundingClientRect()[side];\n const sizes = beside.map((item) => getDrawnSize(item, isHorizontal));\n\n move.maxOverflow = Math.max(getOverflow(move.container, isHorizontal), 0);\n move.held = [\n pane,\n ...beside.filter(\n (item) => item.getBoundingClientRect()[side] < paneStart,\n ),\n ];\n beside.forEach((item, index) => setPaneSize(item, sizes[index]));\n move.held.forEach((item) => item.style.setProperty('flex-shrink', '0'));\n }\n\n return move;\n };\n\n const endMove = (move: PaneMove) => {\n // Round to integer when the move ends and notify parent\n const finalSize = Math.round(clampValue(move.size));\n const pane = combinedRef.current;\n\n if (move.container) {\n // A move that ends where it began, as a key pressed at a stop does,\n // leaves every pane as it found them.\n if (finalSize === Math.round(move.start)) {\n undoMove(move);\n pane.style.setProperty('--pane-size', move.ownSize);\n setSize(parseFloat(move.ownSize));\n\n return;\n }\n\n setPaneSize(pane, finalSize);\n\n // The panes beside it keep the sizes they are left at, read while the\n // panes still hold, before one is written. A pane left at its own size,\n // or hidden meanwhile, keeps its own.\n const sizes = move.beside.map((item) =>\n Math.round(getDrawnSize(item, isHorizontal)),\n );\n\n undoMove(move);\n move.beside.forEach((item, index) => {\n if (\n Number.isFinite(sizes[index]) &&\n sizes[index] !== Math.round(parseFloat(move.besideSizes[index]))\n ) {\n mountedPanes.get(item)?.adoptSize(sizes[index]);\n }\n });\n }\n\n setSize(finalSize);\n onSizeChange?.(finalSize);\n };\n\n const { moveProps } = useMove({\n onMoveStart() {\n if (!isResizable) return;\n setIsDragging(true);\n },\n onMove(e) {\n if (!isResizable) return;\n\n let delta: number;\n\n if (e.pointerType === 'keyboard') {\n // Keyboard resize: 10px per step, 50px with Shift\n const step = e.shiftKey ? 50 : 10;\n const rawDelta = isHorizontal ? e.deltaX : e.deltaY;\n delta = rawDelta * step;\n } else {\n // Pointer resize: use exact delta values\n delta = isHorizontal ? e.deltaX : e.deltaY;\n }\n\n // A move across the resize axis changes nothing.\n if (!delta) return;\n\n const pane = combinedRef.current;\n // An arrow key pressed during a drag joins it.\n const move = moveRef.current ?? beginMove(pane, e.pointerType);\n\n moveRef.current = move;\n move.target += delta;\n\n let next = clampValue(move.target);\n\n if (!move.container) {\n // On its own, the pane keeps no travel past its limits.\n move.target = next;\n } else {\n setPaneSize(pane, next);\n\n // Holding its size, the pane would push the items beyond its grip out\n // of the container once none of them can give way. It grows only into\n // the room it would have taken while giving way, and the target keeps\n // the travel past that, as flex did.\n if (next > move.size) {\n const excess =\n getOverflow(move.container, isHorizontal) - move.maxOverflow;\n\n if (excess > 0) {\n next = Math.max(next - excess, move.size);\n setPaneSize(pane, next);\n }\n }\n }\n\n move.size = next;\n setSize(next);\n },\n onMoveEnd(e) {\n const move = moveRef.current;\n\n // Beside other panes, a key pressed during a drag leaves the move to the\n // pointer. On its own, the pane reports at the key's end, and the drag\n // goes on as a new move, as before.\n if (move?.container && move.pointerType !== e.pointerType) return;\n\n moveRef.current = null;\n setIsDragging(false);\n\n if (move) endMove(move);\n },\n });\n\n const adoptSize = useEffectEvent((drawn: number) => {\n setPaneSize(combinedRef.current, drawn);\n setSize(drawn);\n onSizeChange?.(drawn);\n });\n\n useEffect(() => {\n const pane = combinedRef.current;\n\n mountedPanes.set(pane, {\n isHorizontal,\n adoptSize: (drawn) => adoptSize(drawn),\n });\n\n return () => {\n mountedPanes.delete(pane);\n\n // Unmounted or turned to the other axis mid-move, the pane gives the\n // panes beside it back.\n if (moveRef.current) undoMove(moveRef.current);\n\n moveRef.current = null;\n };\n }, [combinedRef, isHorizontal]);\n\n // Sync provided size with internal state (only when providedSize actually changes)\n // This prevents resetting size when only isDragging changes (which would cause a flash)\n useEffect(() => {\n if (prevProvidedSizeRef.current !== providedSize) {\n prevProvidedSizeRef.current = providedSize;\n if (typeof providedSize === 'number' && !isDragging) {\n setSize(clampValue(providedSize));\n }\n }\n }, [providedSize, isDragging, clampValue]);\n\n // Reset to default size on double-click\n const handleResetSize = () => {\n const resetSize =\n typeof defaultSize === 'number' ? defaultSize : parseInt(defaultSize, 10);\n const clampedSize = clampValue(resetSize || 200);\n setSize(clampedSize);\n onSizeChange?.(clampedSize);\n };\n\n const scrollbarStyle = isTinyScrollbar\n ? { ...handleVStyle, ...handleHStyle }\n : {};\n\n const paneMods = {\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n handlerHovered: debouncedHandlerHovered,\n focused: isHandlerFocused,\n disabled: !isResizable,\n edge: resizeEdge,\n drag: isDragging,\n ...mods,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n // Size is NOT included here - it's set via CSS custom property in paneStyle for performance\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n // Size is set via CSS custom property for performance during drag\n // This avoids expensive style recalculation on every mouse move\n const paneStyle = {\n ...scrollbarStyle,\n '--pane-size': `${size}px`,\n // Reset rather than left unset: a custom property inherits, and an\n // enclosing pane's minimum is not this one's.\n '--pane-min-size':\n minSize == null\n ? 'initial'\n : typeof minSize === 'number'\n ? `${minSize}px`\n : minSize,\n };\n\n return (\n <PaneElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={paneMods}\n styles={finalStyles}\n style={paneStyle}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n {isResizable && (\n <PaneResizeHandler\n edge={resizeEdge}\n isDisabled={!isResizable}\n moveProps={moveProps}\n onDoubleClick={handleResetSize}\n onHoverChange={setIsHandlerHovered}\n onFocusChange={setIsHandlerFocused}\n />\n )}\n </PaneElement>\n );\n}\n\nconst _LayoutPane = forwardRef(LayoutPane);\n\n_LayoutPane.displayName = 'Layout.Pane';\n\nexport { _LayoutPane as LayoutPane };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LayoutPane.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","OUTER_STYLES","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCallback","useEffect","useEffectEvent","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","useI18n","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","mountedPanes","WeakMap","Element","isHorizontal","adoptSize","drawn","setPaneSize","pane","HTMLElement","size","style","setProperty","getDrawnSize","element","getClientRects","length","NaN","getComputedStyle","parseFloat","width","height","givesWay","flexShrink","getOverflow","container","rect","getBoundingClientRect","scale","offsetWidth","offsetHeight","available","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","used","count","item","Array","from","children","itemStyle","display","position","itemRect","marginLeft","marginRight","marginTop","marginBottom","gap","columnGap","rowGap","Math","max","getPanesBeside","parentElement","flexDirection","startsWith","flexWrap","HTMLCollectionOf","filter","get","Number","isFinite","PaneMove","target","start","ownSize","pointerType","beside","besideSizes","held","maxOverflow","undoMove","move","forEach","index","removeProperty","PaneElement","as","qa","styles","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","boxSizing","Inner","$","flow","padding","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","defaultSize","minSize","maxSize","onSizeChange","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t","t0","hoverProps","focusProps","isFocusVisible","t1","t2","t3","tabIndex","undefined","role","t4","t5","LayoutPane","ref","providedSize","mods","innerRefProp","otherProps","combinedRef","internalInnerRef","combinedInnerRef","prevProvidedSizeRef","isDragging","setIsDragging","isHandlerHovered","setIsHandlerHovered","isHandlerFocused","setIsHandlerFocused","debouncedHandlerHovered","initialSize","setSize","outerStyles","innerStyles","isTinyScrollbar","Symbol","for","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t6","value","clampValue","moveRef","t7","rounded","round","abs","getPropertyValue","map","_temp","side","paneStart","sizes","item_0","item_1","item_2","_temp2","beginMove","t8","move_0","finalSize","pane_0","current","sizes_0","item_4","item_5","index_0","endMove","t9","onMoveStart","onMove","e","delta","step","shiftKey","rawDelta","deltaX","deltaY","pane_1","move_1","next","excess","onMoveEnd","e_0","move_2","t10","drawn_0","t11","pane_2","set","drawn_1","delete","t12","t13","t14","t15","resetSize","parseInt","clampedSize","handleResetSize","t16","scrollbarTokens","t17","t18","hovered","scrolling","handlerHovered","focused","drag","paneMods","finalStyles","t19","t20","t21","paneTokens","T0","t22","eventProps","t23","t24","t25","t26","t27","t28","item_3","_LayoutPane","displayName","_c","mergeProps"],"sources":["../../../../src/components/content/Layout/LayoutPane.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n useEffect,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { ScrollbarType } from './LayoutContent';\nimport { LayoutContextReset } from './LayoutContext';\nimport { clampSize } from './utils';\n\n// Handler dimensions\nconst HANDLER_WIDTH = 9; // Interactive area\nconst HANDLER_RESERVED = 5; // Space reserved in Inner padding\n\n/** Mounted panes by element: the axis each resizes along, and how it takes a size. */\nconst mountedPanes = new WeakMap<\n Element,\n { isHorizontal: boolean; adoptSize: (drawn: number) => void }\n>();\n\nfunction setPaneSize(pane: HTMLElement, size: number) {\n pane.style.setProperty('--pane-size', `${size}px`);\n}\n\n/** The size an element is drawn at, or `NaN` when it is not drawn. */\nfunction getDrawnSize(element: HTMLElement, isHorizontal: boolean) {\n // Hidden, an element reports the size it is set to.\n if (!element.getClientRects().length) return NaN;\n\n const style = getComputedStyle(element);\n\n return parseFloat(isHorizontal ? style.width : style.height);\n}\n\nfunction givesWay(element: Element) {\n return parseFloat(getComputedStyle(element).flexShrink) > 0;\n}\n\n/** How far a flex container's items run past its content box. */\nfunction getOverflow(container: HTMLElement, isHorizontal: boolean) {\n const style = getComputedStyle(container);\n const rect = container.getBoundingClientRect();\n // Items are measured as drawn, which a zoomed or scaled ancestor makes\n // differ from the container's own layout size.\n const scale =\n (isHorizontal\n ? rect.width / container.offsetWidth\n : rect.height / container.offsetHeight) || 1;\n const available = isHorizontal\n ? container.clientWidth -\n parseFloat(style.paddingLeft) -\n parseFloat(style.paddingRight)\n : container.clientHeight -\n parseFloat(style.paddingTop) -\n parseFloat(style.paddingBottom);\n let used = 0;\n let count = 0;\n\n for (const item of Array.from(container.children)) {\n const itemStyle = getComputedStyle(item);\n\n if (\n itemStyle.display === 'none' ||\n itemStyle.position === 'absolute' ||\n itemStyle.position === 'fixed'\n ) {\n continue;\n }\n\n const itemRect = item.getBoundingClientRect();\n\n used += isHorizontal\n ? itemRect.width / scale +\n parseFloat(itemStyle.marginLeft) +\n parseFloat(itemStyle.marginRight)\n : itemRect.height / scale +\n parseFloat(itemStyle.marginTop) +\n parseFloat(itemStyle.marginBottom);\n count += 1;\n }\n\n const gap = parseFloat(isHorizontal ? style.columnGap : style.rowGap) || 0;\n\n return used + gap * Math.max(count - 1, 0) - available;\n}\n\n/**\n * The other drawn panes that give way along the same axis, when this one gives\n * way in a non-wrapping flex container along it.\n */\nfunction getPanesBeside(pane: HTMLElement, isHorizontal: boolean) {\n const container = pane.parentElement;\n\n if (!container || !givesWay(pane)) return [];\n\n const style = getComputedStyle(container);\n\n if (\n (style.display !== 'flex' && style.display !== 'inline-flex') ||\n style.flexDirection.startsWith('row') !== isHorizontal ||\n style.flexWrap !== 'nowrap'\n ) {\n return [];\n }\n\n return Array.from(container.children as HTMLCollectionOf<HTMLElement>).filter(\n (item) =>\n item !== pane &&\n mountedPanes.get(item)?.isHorizontal === isHorizontal &&\n givesWay(item) &&\n Number.isFinite(getDrawnSize(item, isHorizontal)),\n );\n}\n\ninterface PaneMove {\n /** Where the pointer or keys ask the pane to be. */\n target: number;\n /** The size so far, ahead of the rendered one. */\n size: number;\n /** The size the move begins at. */\n start: number;\n /** The pane's own size before the move. */\n ownSize: string;\n /** What began the move: a pointer or the keyboard. */\n pointerType: string;\n /** The flex container the pane gives way in beside other panes, or `null`. */\n container: HTMLElement | null;\n /** The panes beside it, sized as drawn for the move. */\n beside: HTMLElement[];\n /** Their own sizes before the move. */\n besideSizes: string[];\n /** The panes that hold their size until the move ends. */\n held: HTMLElement[];\n /** How far the container's items may run past it, as they did at the start. */\n maxOverflow: number;\n}\n\n/**\n * Gives the panes beside a move back their own sizes and lets go of every\n * held pane.\n */\nfunction undoMove(move: PaneMove) {\n move.beside.forEach((item, index) =>\n item.style.setProperty('--pane-size', move.besideSizes[index]),\n );\n move.held.forEach((item) => item.style.removeProperty('flex-shrink'));\n}\n\nconst PaneElement = tasty({\n as: 'div',\n qa: 'LayoutPane',\n styles: {\n container: 'pane / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n // Holds its size. With `flexShrink={1}` it gives way down to its minimum\n // when a flex container runs short.\n flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '($pane-min-size, 2x) $pane-size $pane-size',\n },\n height: {\n '': '($pane-min-size, 2x) $pane-size $pane-size',\n 'edge=right': 'auto',\n },\n boxSizing: 'content-box',\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n // Reserve space for handler on resize edge\n paddingRight: {\n '': '($content-padding, 1x)',\n 'edge=right': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n paddingBottom: {\n '': '($content-padding, 1x)',\n 'edge=bottom': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n right: {\n '': '$scrollbar-inset',\n 'edge=right': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: {\n '': '$scrollbar-inset',\n 'edge=bottom': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n // Compact resize handler - only drag dots\n ResizeHandler: {\n position: 'absolute',\n // Size: 9px interactive area\n width: {\n '': '100%',\n 'edge=right': `${HANDLER_WIDTH}px`,\n },\n height: {\n '': `${HANDLER_WIDTH}px`,\n 'edge=right': '100%',\n },\n // Position at edge, centered on the reserved space boundary\n right: {\n '': 'initial',\n 'edge=right': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n },\n bottom: {\n '': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n 'edge=right': 'initial',\n },\n top: {\n '': 'initial',\n 'edge=right': 0,\n },\n left: {\n '': 0,\n 'edge=right': 'initial',\n },\n cursor: {\n '': 'row-resize',\n 'edge=right': 'col-resize',\n disabled: 'not-allowed',\n },\n padding: 0,\n outline: 0,\n boxSizing: 'border-box',\n transition: 'theme',\n },\n\n Drag: {\n // Grip dots and their spacing in device pixels, so they stay crisp at\n // any gap.\n '$grip-size': '3px',\n '$dot-gap': '2px',\n display: 'grid',\n gap: '$dot-gap',\n border: 0,\n flow: {\n '': 'row',\n 'edge=right': 'column',\n },\n gridColumns: {\n '': 'repeat(5, $grip-size)',\n 'edge=right': 'auto',\n },\n gridRows: {\n '': 'auto',\n 'edge=right': 'repeat(5, $grip-size)',\n },\n width: {\n '': 'auto',\n 'edge=right': '$grip-size',\n },\n height: {\n '': '$grip-size',\n 'edge=right': 'auto',\n },\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n transition: 'theme',\n radius: 'round',\n outline: {\n '': '0',\n 'focused | drag': '$ring-width #primary-text',\n },\n outlineOffset: '$outline-offset',\n },\n\n DragPart: {\n radius: true,\n fill: {\n '': '#dark-03',\n 'handlerHovered | drag | focused': '#primary-text',\n disabled: '#disabled-surface-text',\n },\n },\n },\n});\n\nexport type ResizeEdge = 'right' | 'bottom';\n\nexport interface CubeLayoutPaneProps extends BaseProps, ContainerStyleProps {\n /** Edge where resize handler appears */\n resizeEdge?: ResizeEdge;\n /** Enable resize functionality */\n isResizable?: boolean;\n /** Controlled size (width for right edge, height for bottom edge) */\n size?: number | string;\n /** Default size for uncontrolled state */\n defaultSize?: number | string;\n /** Minimum size constraint */\n minSize?: number | string;\n /** Maximum size constraint */\n maxSize?: number | string;\n /**\n * Size change callback. With `flexShrink={1}`, also called when another\n * such pane beside it is resized and this pane keeps the size it is drawn\n * at.\n */\n onSizeChange?: (size: number) => void;\n /** Scrollbar style */\n scrollbar?: ScrollbarType;\n /** Custom styles */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface PaneResizeHandlerProps {\n edge: ResizeEdge;\n isDisabled?: boolean;\n moveProps: ReturnType<typeof useMove>['moveProps'];\n onDoubleClick?: () => void;\n onHoverChange?: (isHovered: boolean) => void;\n onFocusChange?: (isFocused: boolean) => void;\n}\n\nfunction PaneResizeHandler(props: PaneResizeHandlerProps) {\n const {\n edge,\n isDisabled,\n moveProps,\n onDoubleClick,\n onHoverChange,\n onFocusChange,\n } = props;\n const { t } = useI18n();\n const { hoverProps, isHovered } = useHover({\n onHoverChange,\n });\n const { focusProps, isFocusVisible } = useFocusRing();\n const isHorizontal = edge === 'right';\n\n // Notify parent of focus changes\n useEffect(() => {\n onFocusChange?.(isFocusVisible);\n }, [isFocusVisible, onFocusChange]);\n\n return (\n <div\n data-element=\"ResizeHandler\"\n {...mergeProps(hoverProps, focusProps, isDisabled ? {} : moveProps, {\n tabIndex: isDisabled ? undefined : 0,\n role: 'separator',\n 'aria-orientation': isHorizontal ? 'vertical' : 'horizontal',\n 'aria-label':\n edge === 'right'\n ? t('layout.resizePaneRight', 'Resize pane right')\n : t('layout.resizePaneBottom', 'Resize pane bottom'),\n onDoubleClick: isDisabled ? undefined : onDoubleClick,\n })}\n >\n {!isDisabled && (\n <div data-element=\"Drag\">\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction LayoutPane(\n props: CubeLayoutPaneProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n resizeEdge = 'right',\n isResizable = false,\n size: providedSize,\n defaultSize = 200,\n minSize,\n maxSize,\n onSizeChange,\n scrollbar = 'thin',\n styles,\n mods,\n children,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n\n const combinedRef = useCombinedRefs(ref);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const prevProvidedSizeRef = useRef(providedSize);\n const isHorizontal = resizeEdge === 'right';\n\n // Resize state\n const [isDragging, setIsDragging] = useState(false);\n const [isHandlerHovered, setIsHandlerHovered] = useState(false);\n const [isHandlerFocused, setIsHandlerFocused] = useState(false);\n const debouncedHandlerHovered = useDebouncedValue(isHandlerHovered, 150);\n const [size, setSize] = useState<number>(() => {\n const initialSize =\n typeof providedSize === 'number'\n ? providedSize\n : typeof defaultSize === 'number'\n ? defaultSize\n : 200;\n\n return clampSize(initialSize, minSize, maxSize);\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVTokens,\n handleHTokens,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n // Clamp size to min/max constraints\n const clampValue = useCallback(\n (value: number) => clampSize(value, minSize, maxSize),\n [minSize, maxSize],\n );\n\n const moveRef = useRef<PaneMove | null>(null);\n\n const beginMove = (pane: HTMLElement, pointerType: string): PaneMove => {\n const drawn = getDrawnSize(pane, isHorizontal);\n const beside = getPanesBeside(pane, isHorizontal);\n const rounded = Math.round(drawn);\n // Flex shrinking or a CSS minimum can draw the pane at another size than\n // `size`; resize from the one on screen, or the first moves do nothing.\n // Beside other panes the move begins exactly there, so nothing shifts.\n const start = beside.length\n ? drawn\n : Math.abs(rounded - size) >= 1\n ? rounded\n : size;\n const move: PaneMove = {\n target: start,\n size: start,\n start,\n ownSize: pane.style.getPropertyValue('--pane-size'),\n pointerType,\n container: beside.length ? pane.parentElement : null,\n beside,\n besideSizes: beside.map((item) =>\n item.style.getPropertyValue('--pane-size'),\n ),\n held: [],\n maxOverflow: 0,\n };\n\n // Beside other panes that give way, this one would hand them part of every\n // move: flex shares the room by size, and theirs are larger than drawn. So\n // they take the sizes they are drawn at, and this pane holds its size until\n // the move ends, as do the panes before its grip: the room comes from\n // beyond the grip. Keyboard moves start and end within one event, so this\n // goes to the DOM, not through a render. Every size is read before one is\n // written, as each write reflows the rest.\n if (move.container) {\n const side = isHorizontal ? 'left' : 'top';\n const paneStart = pane.getBoundingClientRect()[side];\n const sizes = beside.map((item) => getDrawnSize(item, isHorizontal));\n\n move.maxOverflow = Math.max(getOverflow(move.container, isHorizontal), 0);\n move.held = [\n pane,\n ...beside.filter(\n (item) => item.getBoundingClientRect()[side] < paneStart,\n ),\n ];\n beside.forEach((item, index) => setPaneSize(item, sizes[index]));\n move.held.forEach((item) => item.style.setProperty('flex-shrink', '0'));\n }\n\n return move;\n };\n\n const endMove = (move: PaneMove) => {\n // Round to integer when the move ends and notify parent\n const finalSize = Math.round(clampValue(move.size));\n const pane = combinedRef.current;\n\n if (move.container) {\n // A move that ends where it began, as a key pressed at a stop does,\n // leaves every pane as it found them.\n if (finalSize === Math.round(move.start)) {\n undoMove(move);\n pane.style.setProperty('--pane-size', move.ownSize);\n setSize(parseFloat(move.ownSize));\n\n return;\n }\n\n setPaneSize(pane, finalSize);\n\n // The panes beside it keep the sizes they are left at, read while the\n // panes still hold, before one is written. A pane left at its own size,\n // or hidden meanwhile, keeps its own.\n const sizes = move.beside.map((item) =>\n Math.round(getDrawnSize(item, isHorizontal)),\n );\n\n undoMove(move);\n move.beside.forEach((item, index) => {\n if (\n Number.isFinite(sizes[index]) &&\n sizes[index] !== Math.round(parseFloat(move.besideSizes[index]))\n ) {\n mountedPanes.get(item)?.adoptSize(sizes[index]);\n }\n });\n }\n\n setSize(finalSize);\n onSizeChange?.(finalSize);\n };\n\n const { moveProps } = useMove({\n onMoveStart() {\n if (!isResizable) return;\n setIsDragging(true);\n },\n onMove(e) {\n if (!isResizable) return;\n\n let delta: number;\n\n if (e.pointerType === 'keyboard') {\n // Keyboard resize: 10px per step, 50px with Shift\n const step = e.shiftKey ? 50 : 10;\n const rawDelta = isHorizontal ? e.deltaX : e.deltaY;\n delta = rawDelta * step;\n } else {\n // Pointer resize: use exact delta values\n delta = isHorizontal ? e.deltaX : e.deltaY;\n }\n\n // A move across the resize axis changes nothing.\n if (!delta) return;\n\n const pane = combinedRef.current;\n // An arrow key pressed during a drag joins it.\n const move = moveRef.current ?? beginMove(pane, e.pointerType);\n\n moveRef.current = move;\n move.target += delta;\n\n let next = clampValue(move.target);\n\n if (!move.container) {\n // On its own, the pane keeps no travel past its limits.\n move.target = next;\n } else {\n setPaneSize(pane, next);\n\n // Holding its size, the pane would push the items beyond its grip out\n // of the container once none of them can give way. It grows only into\n // the room it would have taken while giving way, and the target keeps\n // the travel past that, as flex did.\n if (next > move.size) {\n const excess =\n getOverflow(move.container, isHorizontal) - move.maxOverflow;\n\n if (excess > 0) {\n next = Math.max(next - excess, move.size);\n setPaneSize(pane, next);\n }\n }\n }\n\n move.size = next;\n setSize(next);\n },\n onMoveEnd(e) {\n const move = moveRef.current;\n\n // Beside other panes, a key pressed during a drag leaves the move to the\n // pointer. On its own, the pane reports at the key's end, and the drag\n // goes on as a new move, as before.\n if (move?.container && move.pointerType !== e.pointerType) return;\n\n moveRef.current = null;\n setIsDragging(false);\n\n if (move) endMove(move);\n },\n });\n\n const adoptSize = useEffectEvent((drawn: number) => {\n setPaneSize(combinedRef.current, drawn);\n setSize(drawn);\n onSizeChange?.(drawn);\n });\n\n useEffect(() => {\n const pane = combinedRef.current;\n\n mountedPanes.set(pane, {\n isHorizontal,\n adoptSize: (drawn) => adoptSize(drawn),\n });\n\n return () => {\n mountedPanes.delete(pane);\n\n // Unmounted or turned to the other axis mid-move, the pane gives the\n // panes beside it back.\n if (moveRef.current) undoMove(moveRef.current);\n\n moveRef.current = null;\n };\n }, [combinedRef, isHorizontal]);\n\n // Sync provided size with internal state (only when providedSize actually changes)\n // This prevents resetting size when only isDragging changes (which would cause a flash)\n useEffect(() => {\n if (prevProvidedSizeRef.current !== providedSize) {\n prevProvidedSizeRef.current = providedSize;\n if (typeof providedSize === 'number' && !isDragging) {\n setSize(clampValue(providedSize));\n }\n }\n }, [providedSize, isDragging, clampValue]);\n\n // Reset to default size on double-click\n const handleResetSize = () => {\n const resetSize =\n typeof defaultSize === 'number' ? defaultSize : parseInt(defaultSize, 10);\n const clampedSize = clampValue(resetSize || 200);\n setSize(clampedSize);\n onSizeChange?.(clampedSize);\n };\n\n const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const paneMods = {\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n handlerHovered: debouncedHandlerHovered,\n focused: isHandlerFocused,\n disabled: !isResizable,\n edge: resizeEdge,\n drag: isDragging,\n ...mods,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n // Size is NOT included here - it's set via the `$pane-size` token in paneTokens for performance\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` to `Inner`\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n // Size is set via CSS custom property for performance during drag\n // This avoids expensive style recalculation on every mouse move\n const paneTokens = {\n ...scrollbarTokens,\n '$pane-size': `${size}px`,\n // Reset rather than left unset: a custom property inherits, and an\n // enclosing pane's minimum is not this one's.\n '$pane-min-size':\n minSize == null\n ? 'initial'\n : typeof minSize === 'number'\n ? `${minSize}px`\n : minSize,\n };\n\n return (\n <PaneElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={paneMods}\n styles={finalStyles}\n tokens={paneTokens}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n {isResizable && (\n <PaneResizeHandler\n edge={resizeEdge}\n isDisabled={!isResizable}\n moveProps={moveProps}\n onDoubleClick={handleResetSize}\n onHoverChange={setIsHandlerHovered}\n onFocusChange={setIsHandlerFocused}\n />\n )}\n </PaneElement>\n );\n}\n\nconst _LayoutPane = forwardRef(LayoutPane);\n\n_LayoutPane.displayName = 'Layout.Pane';\n\nexport { _LayoutPane as LayoutPane };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
@@ -89,13 +89,17 @@ const ResizeHandlerElement = tasty({
|
|
|
89
89
|
qa: "PanelResizeHandler",
|
|
90
90
|
styles: {
|
|
91
91
|
position: "absolute",
|
|
92
|
+
"$handle-size": `${HANDLER_WIDTH}px`,
|
|
93
|
+
"$grip-size": "3px",
|
|
94
|
+
"$dot-size": "1px",
|
|
95
|
+
"$dot-gap": "2px",
|
|
92
96
|
width: {
|
|
93
97
|
"": "100%",
|
|
94
|
-
horizontal:
|
|
98
|
+
horizontal: "$handle-size",
|
|
95
99
|
"disabled & horizontal": "1bw"
|
|
96
100
|
},
|
|
97
101
|
height: {
|
|
98
|
-
"":
|
|
102
|
+
"": "$handle-size",
|
|
99
103
|
horizontal: "100%",
|
|
100
104
|
"disabled & !horizontal": "1bw"
|
|
101
105
|
},
|
|
@@ -145,18 +149,18 @@ const ResizeHandlerElement = tasty({
|
|
|
145
149
|
Track: {
|
|
146
150
|
width: {
|
|
147
151
|
"": "initial",
|
|
148
|
-
horizontal: "
|
|
149
|
-
"disabled & horizontal": "
|
|
152
|
+
horizontal: "$grip-size",
|
|
153
|
+
"disabled & horizontal": "1bw"
|
|
150
154
|
},
|
|
151
155
|
height: {
|
|
152
|
-
"": "
|
|
156
|
+
"": "$grip-size",
|
|
153
157
|
horizontal: "initial",
|
|
154
|
-
"disabled & !horizontal": "
|
|
158
|
+
"disabled & !horizontal": "1bw"
|
|
155
159
|
},
|
|
156
160
|
position: "absolute",
|
|
157
161
|
inset: {
|
|
158
|
-
"": "
|
|
159
|
-
horizontal: "0
|
|
162
|
+
"": "(($handle-size - $grip-size) / 2) 0",
|
|
163
|
+
horizontal: "0 (($handle-size - $grip-size) / 2)",
|
|
160
164
|
disabled: "0 0"
|
|
161
165
|
},
|
|
162
166
|
fill: {
|
|
@@ -166,38 +170,38 @@ const ResizeHandlerElement = tasty({
|
|
|
166
170
|
border: 0,
|
|
167
171
|
transition: "theme",
|
|
168
172
|
outline: {
|
|
169
|
-
"": "
|
|
170
|
-
"drag | focused": "
|
|
173
|
+
"": "$ring-width #primary-text.0",
|
|
174
|
+
"drag | focused": "$ring-width #primary-text"
|
|
171
175
|
},
|
|
172
|
-
outlineOffset:
|
|
176
|
+
outlineOffset: "$outline-offset"
|
|
173
177
|
},
|
|
174
178
|
Drag: {
|
|
175
179
|
display: "grid",
|
|
176
|
-
gap: "
|
|
180
|
+
gap: "$dot-gap",
|
|
177
181
|
border: 0,
|
|
178
182
|
flow: {
|
|
179
183
|
"": "row",
|
|
180
184
|
horizontal: "column"
|
|
181
185
|
},
|
|
182
186
|
gridColumns: {
|
|
183
|
-
"": "
|
|
187
|
+
"": "repeat(5, $grip-size)",
|
|
184
188
|
horizontal: "auto"
|
|
185
189
|
},
|
|
186
190
|
gridRows: {
|
|
187
191
|
"": "auto",
|
|
188
|
-
horizontal: "
|
|
192
|
+
horizontal: "repeat(5, $grip-size)"
|
|
189
193
|
},
|
|
190
194
|
width: {
|
|
191
195
|
"": "auto",
|
|
192
|
-
horizontal: "
|
|
196
|
+
horizontal: "$dot-size"
|
|
193
197
|
},
|
|
194
198
|
height: {
|
|
195
|
-
"": "
|
|
199
|
+
"": "$dot-size",
|
|
196
200
|
horizontal: "auto"
|
|
197
201
|
},
|
|
198
202
|
inset: {
|
|
199
|
-
"": "
|
|
200
|
-
horizontal: "50%
|
|
203
|
+
"": "(($handle-size - $dot-size) / 2) 50% auto auto",
|
|
204
|
+
horizontal: "50% (($handle-size - $dot-size) / 2) auto auto"
|
|
201
205
|
},
|
|
202
206
|
transform: {
|
|
203
207
|
"": "translate(-50%, 0)",
|
|
@@ -236,7 +240,7 @@ const OverlayBackdrop = tasty({
|
|
|
236
240
|
});
|
|
237
241
|
function ResizeHandler(props) {
|
|
238
242
|
const $ = c(8);
|
|
239
|
-
const { side, isDisabled, mods, moveProps,
|
|
243
|
+
const { side, isDisabled, mods, moveProps, tokens, onDoubleClick } = props;
|
|
240
244
|
const { t } = useI18n();
|
|
241
245
|
const label = {
|
|
242
246
|
left: t("layout.resizeLeftPanel", "Resize left panel"),
|
|
@@ -263,7 +267,7 @@ function ResizeHandler(props) {
|
|
|
263
267
|
side,
|
|
264
268
|
...mods
|
|
265
269
|
},
|
|
266
|
-
|
|
270
|
+
tokens,
|
|
267
271
|
tabIndex: isDisabled ? void 0 : 0,
|
|
268
272
|
role: "separator",
|
|
269
273
|
"aria-orientation": isHorizontal ? "vertical" : "horizontal",
|
|
@@ -565,10 +569,10 @@ function LayoutPanel(props, ref) {
|
|
|
565
569
|
naturalMax,
|
|
566
570
|
containerDimension
|
|
567
571
|
]);
|
|
568
|
-
const
|
|
569
|
-
"
|
|
570
|
-
"
|
|
571
|
-
"
|
|
572
|
+
const panelTokens = useMemo(() => ({
|
|
573
|
+
"$panel-size": `${size}px`,
|
|
574
|
+
"$min-size": typeof minSize === "number" ? `${minSize}px` : minSize,
|
|
575
|
+
"$max-size": maxSizeCss
|
|
572
576
|
}), [
|
|
573
577
|
size,
|
|
574
578
|
minSize,
|
|
@@ -610,7 +614,7 @@ function LayoutPanel(props, ref) {
|
|
|
610
614
|
hidden: isHidden
|
|
611
615
|
},
|
|
612
616
|
styles: finalStyles,
|
|
613
|
-
|
|
617
|
+
tokens: panelTokens,
|
|
614
618
|
"data-side": side,
|
|
615
619
|
children: /* @__PURE__ */ jsx(LayoutPanelContext.Provider, {
|
|
616
620
|
value: panelContextValue,
|
|
@@ -626,7 +630,7 @@ function LayoutPanel(props, ref) {
|
|
|
626
630
|
"has-transition": hasTransition && isReady
|
|
627
631
|
},
|
|
628
632
|
moveProps,
|
|
629
|
-
|
|
633
|
+
tokens: panelTokens,
|
|
630
634
|
onDoubleClick: handleResetSize
|
|
631
635
|
})
|
|
632
636
|
] });
|