@cube-dev/ui-kit 0.0.0-canary-0b79a39 → 0.0.0-canary-c02e70f
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 +6 -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 +23 -21
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +128 -66
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +451 -280
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +57 -93
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- 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 +49 -69
- package/dist/components/actions/Menu/Menu.js.map +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 +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +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 +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 +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/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +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 +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +44 -60
- package/dist/components/content/Disclosure/Disclosure.js.map +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 +39 -65
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.js +208 -263
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +70 -145
- package/dist/components/content/ItemBadge/ItemBadge.js.map +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 +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 +39 -18
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +100 -48
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +211 -95
- package/dist/components/content/Layout/LayoutContext.js.map +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/LayoutFooter.js.map +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +240 -123
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- 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/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +28 -48
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +9 -17
- 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 +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +68 -105
- package/dist/components/content/Tree/use-checkbox-tree.js.map +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 +106 -138
- package/dist/components/content/use-auto-tooltip.js.map +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 +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/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.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 +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-order.js +30 -31
- package/dist/components/data/TableBase/use-column-order.js.map +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 +38 -42
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +19 -57
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +55 -64
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +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.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +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 +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 +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 +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 +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +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.js +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +32 -38
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +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/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- 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 +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TagInput/TagInput.js +738 -1139
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.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 +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 +1 -1
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +10 -15
- package/dist/components/form/Form/Field.js.map +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/react.js.map +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 +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/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/placement.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.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 +129 -48
- package/dist/components/layout/Panel.js.map +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +227 -347
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -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 +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js.map +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 +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-editing.js.map +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 +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +497 -515
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +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/ModernDialogForm.js +1 -1
- package/dist/components/overlays/Dialog/context.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/Modal/Modal.js +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/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.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 +266 -161
- 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 +18 -9
- package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +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 +1 -1
- 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 +1 -1
- package/dist/components/status/Spin/Cube.js +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 +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +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/useFormatter.js +1 -1
- package/dist/i18n/useFormatter.js.map +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 +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 +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 +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/navigationAdapter.default.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +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/resolve.js +1 -1
- package/dist/tokens/shadows.js +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/escapePropagation.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/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/useKeySymbols.js.map +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/usePopoverSync.js.map +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 +2 -2
- package/docs/CreateComponent.md +3 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c02e70f | 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";
|
|
@@ -8,7 +8,7 @@ import { useTinyScrollbar } from "./hooks/useTinyScrollbar.js";
|
|
|
8
8
|
import { clampSize } from "./utils.js";
|
|
9
9
|
import { c } from "react-compiler-runtime";
|
|
10
10
|
import { INNER_STYLES, OUTER_STYLES, filterBaseProps, mergeStyles, tasty } from "@tenphi/tasty";
|
|
11
|
-
import { forwardRef,
|
|
11
|
+
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
12
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { useFocusRing, useHover, useMove } from "react-aria";
|
|
14
14
|
|
|
@@ -256,7 +256,12 @@ function PaneResizeHandler(props) {
|
|
|
256
256
|
return t5;
|
|
257
257
|
}
|
|
258
258
|
function LayoutPane(props, ref) {
|
|
259
|
-
const
|
|
259
|
+
const $ = c(73);
|
|
260
|
+
const { resizeEdge: t0, isResizable: t1, size: providedSize, defaultSize: t2, minSize, maxSize, onSizeChange, scrollbar: t3, styles, mods, children, innerRef: innerRefProp, innerProps, ...otherProps } = props;
|
|
261
|
+
const resizeEdge = t0 === void 0 ? "right" : t0;
|
|
262
|
+
const isResizable = t1 === void 0 ? false : t1;
|
|
263
|
+
const defaultSize = t2 === void 0 ? 200 : t2;
|
|
264
|
+
const scrollbar = t3 === void 0 ? "thin" : t3;
|
|
260
265
|
const combinedRef = useCombinedRefs(ref);
|
|
261
266
|
const internalInnerRef = useRef(null);
|
|
262
267
|
const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);
|
|
@@ -266,133 +271,245 @@ function LayoutPane(props, ref) {
|
|
|
266
271
|
const [isHandlerHovered, setIsHandlerHovered] = useState(false);
|
|
267
272
|
const [isHandlerFocused, setIsHandlerFocused] = useState(false);
|
|
268
273
|
const debouncedHandlerHovered = useDebouncedValue(isHandlerHovered, 150);
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
274
|
+
let t4;
|
|
275
|
+
if ($[0] !== defaultSize || $[1] !== maxSize || $[2] !== minSize || $[3] !== providedSize) {
|
|
276
|
+
t4 = () => {
|
|
277
|
+
return clampSize(typeof providedSize === "number" ? providedSize : typeof defaultSize === "number" ? defaultSize : 200, minSize, maxSize);
|
|
278
|
+
};
|
|
279
|
+
$[0] = defaultSize;
|
|
280
|
+
$[1] = maxSize;
|
|
281
|
+
$[2] = minSize;
|
|
282
|
+
$[3] = providedSize;
|
|
283
|
+
$[4] = t4;
|
|
284
|
+
} else t4 = $[4];
|
|
285
|
+
const [size, setSize] = useState(t4);
|
|
272
286
|
const outerStyles = extractStyles(otherProps, OUTER_STYLES);
|
|
273
287
|
const innerStyles = extractStyles(otherProps, INNER_STYLES);
|
|
274
288
|
const isTinyScrollbar = scrollbar === "tiny";
|
|
275
|
-
|
|
289
|
+
let t5;
|
|
290
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
291
|
+
t5 = {};
|
|
292
|
+
$[5] = t5;
|
|
293
|
+
} else t5 = $[5];
|
|
294
|
+
const { hoverProps, isHovered } = useHover(t5);
|
|
276
295
|
const { handleVStyle, handleHStyle, hasOverflowY, hasOverflowX, isScrolling } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
])
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
296
|
+
let t6;
|
|
297
|
+
if ($[6] !== maxSize || $[7] !== minSize) {
|
|
298
|
+
t6 = (value) => clampSize(value, minSize, maxSize);
|
|
299
|
+
$[6] = maxSize;
|
|
300
|
+
$[7] = minSize;
|
|
301
|
+
$[8] = t6;
|
|
302
|
+
} else t6 = $[8];
|
|
303
|
+
const clampValue = t6;
|
|
304
|
+
let t7;
|
|
305
|
+
if ($[9] !== clampValue || $[10] !== isHorizontal || $[11] !== isResizable || $[12] !== onSizeChange) {
|
|
306
|
+
t7 = {
|
|
307
|
+
onMoveStart() {
|
|
308
|
+
if (!isResizable) return;
|
|
309
|
+
setIsDragging(true);
|
|
310
|
+
},
|
|
311
|
+
onMove(e) {
|
|
312
|
+
if (!isResizable) return;
|
|
313
|
+
let delta;
|
|
314
|
+
if (e.pointerType === "keyboard") {
|
|
315
|
+
const step = e.shiftKey ? 50 : 10;
|
|
316
|
+
delta = (isHorizontal ? e.deltaX : e.deltaY) * step;
|
|
317
|
+
} else delta = isHorizontal ? e.deltaX : e.deltaY;
|
|
318
|
+
setSize((currentSize) => clampValue(currentSize + delta));
|
|
319
|
+
},
|
|
320
|
+
onMoveEnd() {
|
|
321
|
+
setIsDragging(false);
|
|
322
|
+
setSize((currentSize_0) => {
|
|
323
|
+
const finalSize = Math.round(clampValue(currentSize_0));
|
|
324
|
+
onSizeChange?.(finalSize);
|
|
325
|
+
return finalSize;
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
$[9] = clampValue;
|
|
330
|
+
$[10] = isHorizontal;
|
|
331
|
+
$[11] = isResizable;
|
|
332
|
+
$[12] = onSizeChange;
|
|
333
|
+
$[13] = t7;
|
|
334
|
+
} else t7 = $[13];
|
|
335
|
+
const { moveProps } = useMove(t7);
|
|
336
|
+
let t8;
|
|
337
|
+
let t9;
|
|
338
|
+
if ($[14] !== clampValue || $[15] !== isDragging || $[16] !== providedSize) {
|
|
339
|
+
t8 = () => {
|
|
340
|
+
if (prevProvidedSizeRef.current !== providedSize) {
|
|
341
|
+
prevProvidedSizeRef.current = providedSize;
|
|
342
|
+
if (typeof providedSize === "number" && !isDragging) setSize(clampValue(providedSize));
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
t9 = [
|
|
346
|
+
providedSize,
|
|
347
|
+
isDragging,
|
|
348
|
+
clampValue
|
|
349
|
+
];
|
|
350
|
+
$[14] = clampValue;
|
|
351
|
+
$[15] = isDragging;
|
|
352
|
+
$[16] = providedSize;
|
|
353
|
+
$[17] = t8;
|
|
354
|
+
$[18] = t9;
|
|
355
|
+
} else {
|
|
356
|
+
t8 = $[17];
|
|
357
|
+
t9 = $[18];
|
|
358
|
+
}
|
|
359
|
+
useEffect(t8, t9);
|
|
360
|
+
let t10;
|
|
361
|
+
if ($[19] !== clampValue || $[20] !== defaultSize || $[21] !== onSizeChange) {
|
|
362
|
+
t10 = () => {
|
|
363
|
+
const clampedSize = clampValue((typeof defaultSize === "number" ? defaultSize : parseInt(defaultSize, 10)) || 200);
|
|
364
|
+
setSize(clampedSize);
|
|
365
|
+
onSizeChange?.(clampedSize);
|
|
366
|
+
};
|
|
367
|
+
$[19] = clampValue;
|
|
368
|
+
$[20] = defaultSize;
|
|
369
|
+
$[21] = onSizeChange;
|
|
370
|
+
$[22] = t10;
|
|
371
|
+
} else t10 = $[22];
|
|
372
|
+
const handleResetSize = t10;
|
|
373
|
+
let t11;
|
|
374
|
+
if ($[23] !== handleHStyle || $[24] !== handleVStyle || $[25] !== isTinyScrollbar) {
|
|
375
|
+
t11 = isTinyScrollbar ? {
|
|
323
376
|
...handleVStyle,
|
|
324
377
|
...handleHStyle
|
|
378
|
+
} : {};
|
|
379
|
+
$[23] = handleHStyle;
|
|
380
|
+
$[24] = handleVStyle;
|
|
381
|
+
$[25] = isTinyScrollbar;
|
|
382
|
+
$[26] = t11;
|
|
383
|
+
} else t11 = $[26];
|
|
384
|
+
const scrollbarStyle = t11;
|
|
385
|
+
const t12 = !isResizable;
|
|
386
|
+
let t13;
|
|
387
|
+
if ($[27] !== debouncedHandlerHovered || $[28] !== isDragging || $[29] !== isHandlerFocused || $[30] !== isHovered || $[31] !== isScrolling || $[32] !== mods || $[33] !== resizeEdge || $[34] !== scrollbar || $[35] !== t12) {
|
|
388
|
+
t13 = {
|
|
389
|
+
scrollbar,
|
|
390
|
+
hovered: isHovered,
|
|
391
|
+
scrolling: isScrolling,
|
|
392
|
+
handlerHovered: debouncedHandlerHovered,
|
|
393
|
+
focused: isHandlerFocused,
|
|
394
|
+
disabled: t12,
|
|
395
|
+
edge: resizeEdge,
|
|
396
|
+
drag: isDragging,
|
|
397
|
+
...mods
|
|
398
|
+
};
|
|
399
|
+
$[27] = debouncedHandlerHovered;
|
|
400
|
+
$[28] = isDragging;
|
|
401
|
+
$[29] = isHandlerFocused;
|
|
402
|
+
$[30] = isHovered;
|
|
403
|
+
$[31] = isScrolling;
|
|
404
|
+
$[32] = mods;
|
|
405
|
+
$[33] = resizeEdge;
|
|
406
|
+
$[34] = scrollbar;
|
|
407
|
+
$[35] = t12;
|
|
408
|
+
$[36] = t13;
|
|
409
|
+
} else t13 = $[36];
|
|
410
|
+
const paneMods = t13;
|
|
411
|
+
const finalStyles = mergeStyles(styles, outerStyles, innerStyles ? { Inner: innerStyles } : null);
|
|
412
|
+
const t14 = `${size}px`;
|
|
413
|
+
const t15 = typeof minSize === "number" ? `${minSize}px` : minSize;
|
|
414
|
+
const t16 = typeof maxSize === "number" ? `${maxSize}px` : maxSize;
|
|
415
|
+
let t17;
|
|
416
|
+
if ($[37] !== scrollbarStyle || $[38] !== t14 || $[39] !== t15 || $[40] !== t16) {
|
|
417
|
+
t17 = {
|
|
418
|
+
...scrollbarStyle,
|
|
419
|
+
"--pane-size": t14,
|
|
420
|
+
"--min-size": t15,
|
|
421
|
+
"--max-size": t16
|
|
325
422
|
};
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
])
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
423
|
+
$[37] = scrollbarStyle;
|
|
424
|
+
$[38] = t14;
|
|
425
|
+
$[39] = t15;
|
|
426
|
+
$[40] = t16;
|
|
427
|
+
$[41] = t17;
|
|
428
|
+
} else t17 = $[41];
|
|
429
|
+
const paneStyle = t17;
|
|
430
|
+
const T0 = PaneElement;
|
|
431
|
+
const t18 = filterBaseProps(otherProps, { eventProps: true });
|
|
432
|
+
let t19;
|
|
433
|
+
if ($[42] !== children) {
|
|
434
|
+
t19 = /* @__PURE__ */ jsx(LayoutContextReset, { children });
|
|
435
|
+
$[42] = children;
|
|
436
|
+
$[43] = t19;
|
|
437
|
+
} else t19 = $[43];
|
|
438
|
+
let t20;
|
|
439
|
+
if ($[44] !== combinedInnerRef || $[45] !== innerProps || $[46] !== t19) {
|
|
440
|
+
t20 = /* @__PURE__ */ jsx("div", {
|
|
441
|
+
ref: combinedInnerRef,
|
|
442
|
+
"data-element": "Inner",
|
|
443
|
+
...innerProps,
|
|
444
|
+
children: t19
|
|
445
|
+
});
|
|
446
|
+
$[44] = combinedInnerRef;
|
|
447
|
+
$[45] = innerProps;
|
|
448
|
+
$[46] = t19;
|
|
449
|
+
$[47] = t20;
|
|
450
|
+
} else t20 = $[47];
|
|
451
|
+
let t21;
|
|
452
|
+
if ($[48] !== hasOverflowY || $[49] !== isTinyScrollbar) {
|
|
453
|
+
t21 = isTinyScrollbar && hasOverflowY && /* @__PURE__ */ jsx("div", { "data-element": "ScrollbarV" });
|
|
454
|
+
$[48] = hasOverflowY;
|
|
455
|
+
$[49] = isTinyScrollbar;
|
|
456
|
+
$[50] = t21;
|
|
457
|
+
} else t21 = $[50];
|
|
458
|
+
let t22;
|
|
459
|
+
if ($[51] !== hasOverflowX || $[52] !== isTinyScrollbar) {
|
|
460
|
+
t22 = isTinyScrollbar && hasOverflowX && /* @__PURE__ */ jsx("div", { "data-element": "ScrollbarH" });
|
|
461
|
+
$[51] = hasOverflowX;
|
|
462
|
+
$[52] = isTinyScrollbar;
|
|
463
|
+
$[53] = t22;
|
|
464
|
+
} else t22 = $[53];
|
|
465
|
+
let t23;
|
|
466
|
+
if ($[54] !== handleResetSize || $[55] !== isResizable || $[56] !== moveProps || $[57] !== resizeEdge || $[58] !== setIsHandlerFocused || $[59] !== setIsHandlerHovered) {
|
|
467
|
+
t23 = isResizable && /* @__PURE__ */ jsx(PaneResizeHandler, {
|
|
468
|
+
edge: resizeEdge,
|
|
469
|
+
isDisabled: !isResizable,
|
|
470
|
+
moveProps,
|
|
471
|
+
onDoubleClick: handleResetSize,
|
|
472
|
+
onHoverChange: setIsHandlerHovered,
|
|
473
|
+
onFocusChange: setIsHandlerFocused
|
|
474
|
+
});
|
|
475
|
+
$[54] = handleResetSize;
|
|
476
|
+
$[55] = isResizable;
|
|
477
|
+
$[56] = moveProps;
|
|
478
|
+
$[57] = resizeEdge;
|
|
479
|
+
$[58] = setIsHandlerFocused;
|
|
480
|
+
$[59] = setIsHandlerHovered;
|
|
481
|
+
$[60] = t23;
|
|
482
|
+
} else t23 = $[60];
|
|
483
|
+
let t24;
|
|
484
|
+
if ($[61] !== T0 || $[62] !== combinedRef || $[63] !== finalStyles || $[64] !== hoverProps || $[65] !== paneMods || $[66] !== paneStyle || $[67] !== t18 || $[68] !== t20 || $[69] !== t21 || $[70] !== t22 || $[71] !== t23) {
|
|
485
|
+
t24 = /* @__PURE__ */ jsxs(T0, {
|
|
486
|
+
ref: combinedRef,
|
|
487
|
+
...t18,
|
|
488
|
+
...hoverProps,
|
|
489
|
+
mods: paneMods,
|
|
490
|
+
styles: finalStyles,
|
|
491
|
+
style: paneStyle,
|
|
492
|
+
children: [
|
|
493
|
+
t20,
|
|
494
|
+
t21,
|
|
495
|
+
t22,
|
|
496
|
+
t23
|
|
497
|
+
]
|
|
498
|
+
});
|
|
499
|
+
$[61] = T0;
|
|
500
|
+
$[62] = combinedRef;
|
|
501
|
+
$[63] = finalStyles;
|
|
502
|
+
$[64] = hoverProps;
|
|
503
|
+
$[65] = paneMods;
|
|
504
|
+
$[66] = paneStyle;
|
|
505
|
+
$[67] = t18;
|
|
506
|
+
$[68] = t20;
|
|
507
|
+
$[69] = t21;
|
|
508
|
+
$[70] = t22;
|
|
509
|
+
$[71] = t23;
|
|
510
|
+
$[72] = t24;
|
|
511
|
+
} else t24 = $[72];
|
|
512
|
+
return t24;
|
|
396
513
|
}
|
|
397
514
|
const _LayoutPane = forwardRef(LayoutPane);
|
|
398
515
|
_LayoutPane.displayName = "Layout.Pane";
|
|
@@ -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","useMemo","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","PaneElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexShrink","flexGrow","width","height","boxSizing","Inner","$","flow","padding","paddingRight","paddingBottom","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","gap","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","size","defaultSize","minSize","maxSize","onSizeChange","children","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t0","hoverProps","focusProps","isFocusVisible","isHorizontal","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","setSize","initialSize","outerStyles","innerStyles","isTinyScrollbar","handleVStyle","handleHStyle","hasOverflowY","hasOverflowX","isScrolling","clampValue","value","onMoveStart","onMove","e","delta","pointerType","step","shiftKey","rawDelta","deltaX","deltaY","currentSize","onMoveEnd","finalSize","Math","round","current","handleResetSize","resetSize","parseInt","clampedSize","scrollbarStyle","paneMods","hovered","scrolling","handlerHovered","focused","drag","finalStyles","paneStyle","eventProps","_LayoutPane","displayName"],"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 useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks';\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\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 flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '2x $pane-size $pane-size',\n },\n height: {\n '': '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 /** Size change callback */\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 { 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': `Resize pane ${edge}`,\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 { 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 setSize((currentSize) => clampValue(currentSize + delta));\n },\n onMoveEnd() {\n setIsDragging(false);\n // Round to integer on release and notify parent\n setSize((currentSize) => {\n const finalSize = Math.round(clampValue(currentSize));\n onSizeChange?.(finalSize);\n return finalSize;\n });\n },\n });\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 = useCallback(() => {\n const resetSize =\n typeof defaultSize === 'number' ? defaultSize : parseInt(defaultSize, 10);\n const clampedSize = clampValue(resetSize || 200);\n setSize(clampedSize);\n onSizeChange?.(clampedSize);\n }, [defaultSize, clampValue, onSizeChange]);\n\n const scrollbarStyle = useMemo(() => {\n if (!isTinyScrollbar) return {};\n\n return {\n ...handleVStyle,\n ...handleHStyle,\n };\n }, [isTinyScrollbar, handleVStyle, handleHStyle]);\n\n const paneMods = useMemo(\n () => ({\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 scrollbar,\n isHovered,\n isScrolling,\n debouncedHandlerHovered,\n isHandlerFocused,\n isResizable,\n resizeEdge,\n isDragging,\n mods,\n ],\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 = useMemo(() => {\n return mergeStyles(\n styles,\n outerStyles,\n innerStyles ? { Inner: innerStyles } : null,\n );\n }, [styles, outerStyles, innerStyles]);\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 = useMemo(\n () => ({\n ...scrollbarStyle,\n '--pane-size': `${size}px`,\n '--min-size': typeof minSize === 'number' ? `${minSize}px` : minSize,\n '--max-size': typeof maxSize === 'number' ? `${maxSize}px` : maxSize,\n }),\n [scrollbarStyle, size, minSize, maxSize],\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","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","PaneElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexShrink","flexGrow","width","height","boxSizing","Inner","$","flow","padding","paddingRight","paddingBottom","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","gap","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","size","defaultSize","minSize","maxSize","onSizeChange","children","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t0","hoverProps","focusProps","isFocusVisible","isHorizontal","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","t7","onMoveStart","onMove","e","delta","pointerType","step","shiftKey","rawDelta","deltaX","deltaY","currentSize","onMoveEnd","currentSize_0","finalSize","Math","round","t8","t9","current","t10","resetSize","parseInt","clampedSize","handleResetSize","t11","scrollbarStyle","t12","t13","hovered","scrolling","handlerHovered","focused","drag","paneMods","finalStyles","t14","t15","t16","t17","paneStyle","T0","t18","eventProps","t19","t20","t21","t22","t23","t24","_LayoutPane","displayName"],"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 useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks';\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\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 flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '2x $pane-size $pane-size',\n },\n height: {\n '': '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 /** Size change callback */\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 { 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': `Resize pane ${edge}`,\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 { 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 setSize((currentSize) => clampValue(currentSize + delta));\n },\n onMoveEnd() {\n setIsDragging(false);\n // Round to integer on release and notify parent\n setSize((currentSize) => {\n const finalSize = Math.round(clampValue(currentSize));\n onSizeChange?.(finalSize);\n return finalSize;\n });\n },\n });\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 '--min-size': typeof minSize === 'number' ? `${minSize}px` : minSize,\n '--max-size': typeof maxSize === 'number' ? `${maxSize}px` : maxSize,\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,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c02e70f | 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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c02e70f | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
4
4
|
import { _Item } from "../Item/Item.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutPanelHeader.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","tasty","ForwardedRef","forwardRef","ReactNode","
|
|
1
|
+
{"version":3,"file":"LayoutPanelHeader.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","tasty","ForwardedRef","forwardRef","ReactNode","useI18n","CloseIcon","extractStyles","ItemAction","useDialogContext","CubeItemProps","Item","useLayoutPanelContext","PanelHeaderElement","qa","shape","type","styles","border","boxSizing","CubeLayoutPanelHeaderProps","Omit","title","level","isClosable","onClose","LayoutPanelHeader","props","ref","$","_c","t","actions","children","otherProps","t0","t1","t2","t3","t4","t5","t6","t7","undefined","dialogContext","panelContext","onOpenChange","handleClose","closeAction","finalActions","_LayoutPanelHeader","displayName"],"sources":["../../../../src/components/content/Layout/LayoutPanelHeader.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, ReactNode } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { extractStyles } from '../../../utils/styles';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { useDialogContext } from '../../overlays/Dialog/context';\nimport { CubeItemProps, Item } from '../Item/Item';\n\nimport { useLayoutPanelContext } from './LayoutContext';\n\nconst PanelHeaderElement = tasty(Item, {\n qa: 'PanelHeader',\n shape: 'sharp',\n type: 'header',\n styles: {\n border: 'bottom',\n boxSizing: 'content-box',\n\n '$inline-padding': '($content-padding, 1x)',\n },\n});\n\nexport interface CubeLayoutPanelHeaderProps\n extends Omit<BaseProps, 'theme'>,\n ContainerStyleProps,\n CubeItemProps {\n /** Panel title */\n title?: ReactNode;\n /** Title heading level (affects semantics, not visual) */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n /** Show close button */\n isClosable?: boolean;\n /** Close button click handler */\n onClose?: () => void;\n}\n\nfunction LayoutPanelHeader(\n props: CubeLayoutPanelHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { t } = useI18n();\n\n const {\n title,\n level = 3,\n isClosable,\n onClose,\n actions,\n children,\n ...otherProps\n } = props;\n\n // Extract container styles\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n // Access dialog context if in dialog mode\n const dialogContext = useDialogContext();\n // Access panel context to update panel open state\n const panelContext = useLayoutPanelContext();\n\n // Close handler that works for both panel and dialog modes\n const handleClose = () => {\n // Call user-provided onClose callback\n onClose?.();\n // Update panel's internal open state\n panelContext?.onOpenChange(false);\n // If in dialog mode, also close the dialog\n dialogContext?.onClose?.();\n };\n\n const closeAction = isClosable ? (\n <ItemAction\n icon={<CloseIcon />}\n aria-label={t('layout.closePanel', 'Close panel')}\n onPress={handleClose}\n />\n ) : null;\n\n const finalActions = actions ?? closeAction;\n\n return (\n <PanelHeaderElement\n ref={ref}\n level={level}\n size=\"large\"\n actions={finalActions}\n styles={styles}\n {...otherProps}\n >\n {title ?? children}\n </PanelHeaderElement>\n );\n}\n\nconst _LayoutPanelHeader = forwardRef(LayoutPanelHeader);\n\n_LayoutPanelHeader.displayName = 'Layout.PanelHeader';\n\nexport { _LayoutPanelHeader as LayoutPanelHeader };\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAMe,qBAAqBZ,MAAMU,OAAM;CACrCG,IAAI;CACJC,OAAO;CACPC,MAAM;CACNC,QAAQ;EACNC,QAAQ;EACRC,WAAW;EAEX,mBAAmB;EACrB;CACD,CAAC;AAgBF,SAAAO,kBAAAC,OAAAC,KAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAIE,MAAA,EAAAC,MAAc1B,SAAS;CAAC,IAAA2B;CAAA,IAAAC;CAAA,IAAAT;CAAA,IAAAD;CAAA,IAAAE;CAAA,IAAAS;CAAA,IAAAC;CAAA,IAAAb;AAAA,KAAAO,EAAA,OAAAF,OAAA;EAExB,MAAA,EAAAL,OAAAc,IAAAb,OAAAc,IAAAb,YAAAc,IAAAb,SAAAc,IAAAP,SAAAQ,IAAAP,UAAAQ,IAAA,GAAAC,OAQIf;AARJL,UAAAc;AAAAZ,eAAAc;AAAAb,YAAAc;AAAAP,YAAAQ;AAAAP,aAAAQ;AAAAP,eAAAQ;AAEEnB,UAAAc,OAAAM,SAAA,IAAAN;AASaF,OAAA5B,cAAc2B,YAAYnC,iBAAiB;AAAA8B,IAAA,KAAAF;AAAAE,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAL;AAAAK,IAAA,KAAAN;AAAAM,IAAA,KAAAJ;AAAAI,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAP;QAAA;AAAAU,YAAAH,EAAA;AAAAI,aAAAJ,EAAA;AAAAL,eAAAK,EAAA;AAAAN,UAAAM,EAAA;AAAAJ,YAAAI,EAAA;AAAAK,eAAAL,EAAA;AAAAM,OAAAN,EAAA;AAAAP,UAAAO,EAAA;;CAA1D,MAAAZ,SAAekB;CAGf,MAAAS,gBAAsBnC,kBAAkB;CAExC,MAAAoC,eAAqBjC,uBAAuB;CAAC,IAAAwB;AAAA,KAAAP,EAAA,OAAAe,iBAAAf,EAAA,QAAAJ,WAAAI,EAAA,QAAAgB,cAAA;AAGzBT,aAAA;AAElBX,cAAW;AAEXoB,iBAAYC,aAAe,MAAM;AAEjCF,kBAAanB,WAAa;;AAC3BI,IAAA,KAAAe;AAAAf,IAAA,MAAAJ;AAAAI,IAAA,MAAAgB;AAAAhB,IAAA,MAAAO;OAAAA,MAAAP,EAAA;CAPD,MAAAkB,cAAoBX;CAOlB,IAAAC;AAAA,KAAAR,EAAA,QAAAkB,eAAAlB,EAAA,QAAAL,cAAAK,EAAA,QAAAE,GAAA;AAEkBM,OAAAb,aAClB,oBAAC;GACO,MAAA,oBAAC,cAAW;GACN,cAAAO,EAAE,qBAAqB,cAAa;GACvCgB,SAAAA;IAEL,GANY;AAMZlB,IAAA,MAAAkB;AAAAlB,IAAA,MAAAL;AAAAK,IAAA,MAAAE;AAAAF,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;CAER,MAAAoB,eAAqBjB,WARDK;CAmBf,MAAAC,KAAAhB,SAAAW;CAAiB,IAAAM;AAAA,KAAAV,EAAA,QAAAoB,gBAAApB,EAAA,QAAAN,SAAAM,EAAA,QAAAK,cAAAL,EAAA,QAAAD,OAAAC,EAAA,QAAAZ,UAAAY,EAAA,QAAAS,IAAA;AARpBC,OAAA,oBAAC;GACMX;GACEL;GACF,MAAA;GACI0B,SAAAA;GACDhC;GAAM,GACViB;aAEHI;IACkB;AAAAT,IAAA,MAAAoB;AAAApB,IAAA,MAAAN;AAAAM,IAAA,MAAAK;AAAAL,IAAA,MAAAD;AAAAC,IAAA,MAAAZ;AAAAY,IAAA,MAAAS;AAAAT,IAAA,MAAAU;OAAAA,MAAAV,EAAA;AAAA,QATrBU;;AAaJ,MAAMW,qBAAqB/C,WAAWuB,kBAAkB;AAExDwB,mBAAmBC,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-c02e70f | Cube Dev Team */
|
|
2
2
|
import { _LayoutContent } from "./LayoutContent.js";
|
|
3
3
|
import { c } from "react-compiler-runtime";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|