@cube-dev/ui-kit 0.199.0 → 0.199.2
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 +18 -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.js +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 +6 -8
- 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 +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +31 -32
- 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 +4 -3
- 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/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 +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 +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- 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 +15 -19
- 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/LayoutContent.js +14 -14
- 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 +1 -1
- package/dist/components/content/Layout/LayoutPane.js +20 -20
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +9 -9
- 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/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/Tag/Tag.js +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 +6 -8
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +4 -6
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/styled.js +2 -2
- 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 +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 +11 -1
- 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 +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 +7 -10
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +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.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 +1 -1
- 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 +1 -1
- 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 +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 +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.js +1 -1
- 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 +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 -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.js +2 -2
- 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 +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/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 +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 +1 -1
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +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 +1 -1
- 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 +6 -6
- 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 +1 -1
- 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 +7 -6
- 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 +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 +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 +8 -6
- 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 +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 +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +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/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 +2 -2
- 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 +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 +127 -162
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- 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 +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 +5 -1
- 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.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/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 +2 -2
- package/docs/Usage.md +2 -0
- 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 +9 -9
- package/docs/components/content/Text.md +1 -1
- package/package.json +2 -2
- package/tasty.config.ts +53 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { isDevEnv } from "../../../utils/is-dev-env.js";
|
|
@@ -135,20 +135,15 @@ function LayoutInner(props) {
|
|
|
135
135
|
});
|
|
136
136
|
return () => cancelAnimationFrame(frameId_0);
|
|
137
137
|
}, [isAutoHeight, hasBox]);
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (style) return {
|
|
146
|
-
...baseStyle,
|
|
147
|
-
...style
|
|
148
|
-
};
|
|
149
|
-
return baseStyle;
|
|
150
|
-
}, [panelSizes, style]) };
|
|
138
|
+
const insetTokens = useMemo(() => ({
|
|
139
|
+
"$inset-top": `${panelSizes.top}px`,
|
|
140
|
+
"$inset-right": `${panelSizes.right}px`,
|
|
141
|
+
"$inset-bottom": `${panelSizes.bottom}px`,
|
|
142
|
+
"$inset-left": `${panelSizes.left}px`
|
|
143
|
+
}), [panelSizes]);
|
|
144
|
+
let transitionStyle = style;
|
|
151
145
|
if (isClippingPanels) {
|
|
146
|
+
transitionStyle = { ...style };
|
|
152
147
|
delete transitionStyle.overflowX;
|
|
153
148
|
delete transitionStyle.overflowY;
|
|
154
149
|
delete transitionStyle.overflowInline;
|
|
@@ -187,17 +182,18 @@ function LayoutInner(props) {
|
|
|
187
182
|
if (!relatedTarget || !inner.contains(relatedTarget)) dismissOverlayPanels?.();
|
|
188
183
|
}, [hasOverlayPanels, dismissOverlayPanels]);
|
|
189
184
|
const handleKeyDown = useCallback((e_0) => {
|
|
190
|
-
if (hasOverlayPanels
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
185
|
+
if (!hasOverlayPanels || e_0.key !== "Escape") return;
|
|
186
|
+
e_0.stopPropagation();
|
|
187
|
+
if (e_0.isDefaultPrevented()) return;
|
|
188
|
+
e_0.preventDefault();
|
|
189
|
+
dismissOverlayPanels?.();
|
|
195
190
|
}, [hasOverlayPanels, dismissOverlayPanels]);
|
|
196
191
|
return /* @__PURE__ */ jsxs(LayoutElement, {
|
|
197
192
|
ref: setRefs,
|
|
198
193
|
...filterBaseProps(otherProps, { eventProps: true }),
|
|
199
194
|
mods,
|
|
200
195
|
styles: finalStyles,
|
|
196
|
+
tokens: insetTokens,
|
|
201
197
|
style: transitionStyle,
|
|
202
198
|
onKeyDown: hasOverlayPanels ? handleKeyDown : void 0,
|
|
203
199
|
children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","names":["useResizeObserver","BaseProps","BlockStyleProps","ColorStyleProps","filterBaseProps","FlowStyleProps","INNER_STYLES","mergeStyles","OUTER_STYLES","OuterStyleProps","Styles","tasty","CSSProperties","FocusEvent","ForwardedRef","forwardRef","HTMLAttributes","KeyboardEvent","ReactNode","useCallback","useContext","useEffect","useMemo","useRef","useState","isDevEnv","useCombinedRefs","extractStyles","Alert","LayoutNestedContext","LayoutPanelTransitionContext","LayoutProvider","useLayoutActionsContext","useLayoutRefsContext","useLayoutStateContext","LayoutElement","as","qa","styles","position","display","overflow","flexGrow","placeSelf","height","collapsed","vertical","Inner","$","container","inset","flow","placeContent","placeItems","transition","DEV_WARNING_STYLES","zIndex","CubeLayoutProps","isGrid","columns","rows","template","contentPadding","hasTransition","minContentSize","children","innerRef","HTMLDivElement","innerProps","_forceShowDevWarning","doNotOverflow","LayoutInner","props","forwardedRef","layoutActions","layoutState","layoutRefs","localRef","isAutoHeight","setIsAutoHeight","isCollapsed","setIsCollapsed","style","innerRefProp","otherProps","combinedInnerRef","updateContainerSize","ref","box","onResize","current","offsetWidth","offsetHeight","outerStyles","innerStyles","isVertical","flowFromProp","flowFromStyles","Record","flowValue","startsWith","finalStyles","gridStyles","gridColumns","gridRows","gridTemplate","panelSizes","left","top","right","bottom","isDragging","isReady","markReady","dismissOverlayPanels","hasOverlayPanels","isClippingPanels","frameId","requestAnimationFrame","cancelAnimationFrame","hasBox","containerWidth","containerHeight","isHeightCheckedRef","isCollapseCheckedRef","element","isShown","insetStyle","baseStyle","transitionStyle","overflowX","overflowY","overflowInline","overflowBlock","overflowClipMargin","mods","dragging","setRefs","showDevWarning","handleInnerFocus","e","inner","currentTarget","contains","target","Node","relatedTarget","handleKeyDown","key","preventDefault","stopPropagation","eventProps","undefined","setPanelContainer","HTMLElement","checkVisibility","Layout","_c","isInRegion","isInLayout","t0","t1","t2","t3","_Layout","displayName","_c"],"sources":["../../../../src/components/content/Layout/Layout.tsx"],"sourcesContent":["import { useResizeObserver } from '@react-aria/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n ColorStyleProps,\n filterBaseProps,\n FlowStyleProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n CSSProperties,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Alert } from '../Alert';\n\nimport {\n LayoutNestedContext,\n LayoutPanelTransitionContext,\n LayoutProvider,\n useLayoutActionsContext,\n useLayoutRefsContext,\n useLayoutStateContext,\n} from './LayoutContext';\n\nconst LayoutElement = tasty({\n as: 'div',\n qa: 'Layout',\n styles: {\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'visible',\n 'do-not-overflow': 'hidden',\n },\n flexGrow: 1,\n placeSelf: 'stretch',\n height: {\n '': 'auto',\n 'auto-height': 'fixed 100%',\n collapsed: '6x',\n },\n\n '$content-padding': '1x',\n // Auto-border size for sub-components (set when layout is vertical)\n '$layout-border-size': {\n '': '0',\n vertical: '1bw',\n },\n\n Inner: {\n // .base-class[data-hover] > [data-element=\"Inner\"] { ...}\n // Direct child selector required for nested layouts\n $: '>',\n container: 'layout / inline-size',\n position: 'absolute',\n inset: '$inset-top $inset-right $inset-bottom $inset-left',\n display: 'flex',\n flow: 'column',\n placeContent: 'stretch',\n placeItems: 'stretch',\n // Disable transition during panel resize for snappy feedback\n // Also disable transition when not ready to prevent initial animation\n // Only animate when has-transition is enabled (and not dragging/not-ready)\n transition: {\n '': 'none',\n 'has-transition': 'inset $transition ease-out',\n 'dragging | not-ready': 'none',\n },\n },\n },\n});\n\n// The collapse warning sits on top of `Inner` rather than in place of it.\n// `Inner` is absolutely positioned, so an in-flow sibling would paint beneath\n// it; match its box and take the layer above.\nconst DEV_WARNING_STYLES: Styles = {\n position: 'absolute',\n inset: '0',\n zIndex: 1,\n overflow: 'auto',\n};\n\nexport interface CubeLayoutProps\n extends\n BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n ColorStyleProps,\n FlowStyleProps {\n /** Switch to grid display mode */\n isGrid?: boolean;\n /** Grid template columns (when isGrid=true) */\n columns?: Styles['gridColumns'];\n /** Grid template rows (when isGrid=true) */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n /** Padding for content areas (Layout.Content components). Default: '1x' */\n contentPadding?: Styles['padding'];\n /** Enable transition animation for Inner content when panels open/close */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n /** Styles for wrapper and Inner sub-element */\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 * @internal Force show dev warning even in production (for storybook testing)\n */\n _forceShowDevWarning?: boolean;\n /**\n * When true, applies overflow: hidden to the root element.\n * By default, overflow is visible.\n */\n doNotOverflow?: boolean;\n}\n\nfunction LayoutInner(\n props: CubeLayoutProps & { forwardedRef?: ForwardedRef<HTMLDivElement> },\n) {\n const layoutActions = useLayoutActionsContext();\n const layoutState = useLayoutStateContext();\n const layoutRefs = useLayoutRefsContext();\n const localRef = useRef<HTMLDivElement>(null);\n const [isAutoHeight, setIsAutoHeight] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const {\n isGrid,\n columns,\n rows,\n template,\n contentPadding,\n hasTransition = false,\n minContentSize,\n styles,\n children,\n style,\n forwardedRef,\n innerRef: innerRefProp,\n innerProps,\n _forceShowDevWarning,\n doNotOverflow,\n ...otherProps\n } = props;\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n const updateContainerSize = layoutActions?.updateContainerSize;\n\n useResizeObserver({\n ref: localRef,\n box: 'border-box',\n onResize: useCallback(() => {\n if (localRef.current) {\n updateContainerSize?.(\n localRef.current.offsetWidth,\n localRef.current.offsetHeight,\n );\n }\n }, [updateContainerSize]),\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 // Calculate if the layout flow is vertical (for auto-border feature)\n // Default flow is 'column' (vertical), only horizontal when explicitly set to 'row'\n const isVertical = useMemo(() => {\n const flowFromProp = innerStyles?.flow;\n const flowFromStyles = (styles?.Inner as Record<string, unknown>)?.flow;\n const flowValue = flowFromProp ?? flowFromStyles;\n\n return typeof flowValue !== 'string' || !flowValue.startsWith('row');\n }, [innerStyles?.flow, styles?.Inner]);\n\n // Merge styles using the same pattern as LayoutPane\n const finalStyles = useMemo(() => {\n // Handle grid mode and grid properties\n const gridStyles: Styles = {};\n\n if (isGrid) {\n gridStyles.display = 'grid';\n }\n\n if (columns) {\n gridStyles.gridColumns = columns;\n }\n\n if (rows) {\n gridStyles.gridRows = rows;\n }\n\n if (template) {\n gridStyles.gridTemplate = template;\n }\n\n return mergeStyles(\n outerStyles,\n contentPadding != null ? { '$content-padding': contentPadding } : null,\n styles,\n { Inner: mergeStyles(innerStyles, gridStyles, styles?.Inner as Styles) },\n );\n }, [\n outerStyles,\n innerStyles,\n contentPadding,\n styles,\n isGrid,\n columns,\n rows,\n template,\n ]);\n\n // Calculate inset values from panel sizes\n const panelSizes = layoutState?.panelSizes ?? {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n };\n\n const isDragging = layoutState?.isDragging ?? false;\n const isReady = layoutState?.isReady ?? true;\n const markReady = layoutActions?.markReady;\n const dismissOverlayPanels = layoutActions?.dismissOverlayPanels;\n const hasOverlayPanels = layoutState?.hasOverlayPanels ?? false;\n const isClippingPanels =\n useContext(LayoutPanelTransitionContext)?.isClippingPanels ?? false;\n\n // Mark layout as ready after first paint\n // Using useEffect + requestAnimationFrame ensures:\n // 1. Panels register in useLayoutEffect → correct insets before first paint\n // 2. First paint with not-ready=true (transition disabled)\n // 3. After paint completes → enables transitions for subsequent changes\n useEffect(() => {\n const frameId = requestAnimationFrame(() => {\n markReady?.();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [markReady]);\n\n // A Layout under a `display: none` ancestor, such as a closed `hideOnClose`\n // panel, has no height to judge yet. Each check waits until the Layout is\n // shown, then runs once. Gaining a box re-runs a pending check, so one first\n // shown at 0×0 is never judged.\n const hasBox =\n (layoutState?.containerWidth ?? 0) > 0 ||\n (layoutState?.containerHeight ?? 0) > 0;\n const isHeightCheckedRef = useRef(false);\n const isCollapseCheckedRef = useRef(false);\n\n // Auto-height detection: if layout collapses to 0 height after initialization,\n // automatically set height to 100% to prevent invisible layout\n useEffect(() => {\n const element = localRef.current;\n\n if (!isReady || !element || isHeightCheckedRef.current) return;\n if (!isShown(element)) return;\n\n isHeightCheckedRef.current = true;\n\n if (element.offsetHeight === 0) {\n setIsAutoHeight(true);\n }\n }, [isReady, hasBox]);\n\n // Second check: if still 0 height after auto-height was applied,\n // show collapsed state with warning\n useEffect(() => {\n if (!isAutoHeight || isCollapseCheckedRef.current) return;\n\n // Use requestAnimationFrame to check after styles have been applied\n const frameId = requestAnimationFrame(() => {\n const element = localRef.current;\n\n if (!element || !isShown(element)) return;\n\n isCollapseCheckedRef.current = true;\n\n if (element.offsetHeight === 0) {\n setIsCollapsed(true);\n }\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [isAutoHeight, hasBox]);\n\n const insetStyle = useMemo(() => {\n const baseStyle: Record<string, string> = {\n '--inset-top': `${panelSizes.top}px`,\n '--inset-right': `${panelSizes.right}px`,\n '--inset-bottom': `${panelSizes.bottom}px`,\n '--inset-left': `${panelSizes.left}px`,\n };\n\n if (style) {\n return { ...baseStyle, ...style } as CSSProperties;\n }\n\n return baseStyle as CSSProperties;\n }, [panelSizes, style]);\n\n // Remove consumer longhands while clipping so they cannot override the shorthand.\n // Restoring the original style object also restores the latest consumer values.\n const transitionStyle = { ...insetStyle };\n if (isClippingPanels) {\n delete transitionStyle.overflowX;\n delete transitionStyle.overflowY;\n delete transitionStyle.overflowInline;\n delete transitionStyle.overflowBlock;\n transitionStyle.overflow = 'clip';\n transitionStyle.overflowClipMargin = '0px';\n }\n\n const mods = useMemo(\n () => ({\n dragging: isDragging,\n 'not-ready': !isReady,\n 'has-transition': hasTransition,\n 'auto-height': isAutoHeight && !isCollapsed,\n collapsed: isCollapsed,\n vertical: isVertical,\n 'do-not-overflow': doNotOverflow,\n }),\n [\n isDragging,\n isReady,\n hasTransition,\n isAutoHeight,\n isCollapsed,\n isVertical,\n doNotOverflow,\n ],\n );\n\n // Combine local ref with forwarded ref\n const setRefs = (element: HTMLDivElement | null) => {\n localRef.current = element;\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(element);\n } else if (forwardedRef) {\n forwardedRef.current = element;\n }\n };\n\n // Show dev warning when collapsed and in dev mode (or forced for stories)\n const showDevWarning = isCollapsed && (_forceShowDevWarning || isDevEnv());\n\n // Handle focus entering the Inner element - dismiss overlay panels\n const handleInnerFocus = useCallback(\n (e: FocusEvent<HTMLDivElement>) => {\n // Only dismiss if there are overlay panels\n if (!hasOverlayPanels) return;\n\n const inner = e.currentTarget;\n\n // Panels portal out of Inner but stay its React children, so focus inside\n // a panel (or a popover opened from it) bubbles here too. Only focus that\n // lands in Inner's own DOM, the main content, can dismiss.\n if (!inner.contains(e.target as Node)) return;\n\n // Check if focus is coming from outside the Inner element\n const relatedTarget = e.relatedTarget as Node | null;\n\n // If relatedTarget is null or not inside the Inner element,\n // focus is entering from outside - dismiss overlay panels\n if (!relatedTarget || !inner.contains(relatedTarget)) {\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n // Handle Escape key anywhere in the Layout - dismiss overlay panels\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (hasOverlayPanels && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n return (\n <LayoutElement\n ref={setRefs}\n {...filterBaseProps(otherProps, { eventProps: true })}\n mods={mods}\n styles={finalStyles}\n style={transitionStyle}\n onKeyDown={hasOverlayPanels ? handleKeyDown : undefined}\n >\n {/* All children go inside the Inner element - panels will portal themselves out */}\n <div\n ref={combinedInnerRef}\n data-element=\"Inner\"\n onFocus={handleInnerFocus}\n {...innerProps}\n >\n {children}\n </div>\n {/* Container for panels to portal into - rendered after Inner so panels paint on top via DOM order */}\n <div ref={layoutRefs?.setPanelContainer} data-element=\"PanelContainer\" />\n {/* Overlaid, never substituted for `children`. A zero-height measurement is\n not proof of a mistake - a collapsed accordion and a container\n mid-animation both measure zero - so unmounting the subtree\n would turn a wrong guess into an outage, and remounting it on the way\n back would drop whatever state it held. */}\n {showDevWarning ? (\n <Alert theme=\"danger\" styles={DEV_WARNING_STYLES}>\n <b>UIKit:</b> <b><Layout/></b> has collapsed to <b>0</b> height.\n Ensure the parent container has a defined height or use the{' '}\n <b>height</b> prop on <b><Layout/></b>.\n </Alert>\n ) : null}\n </LayoutElement>\n );\n}\n\n// False under a `display: none` ancestor. jsdom has no `checkVisibility`, so\n// there every Layout counts as shown.\nfunction isShown(element: HTMLElement) {\n return element.checkVisibility?.() ?? true;\n}\n\n/**\n * Layout component provides a vertical flex layout with overflow-safe content.\n * Uses a two-element architecture (wrapper + content) to ensure content never overflows.\n */\nfunction Layout(props: CubeLayoutProps, ref: ForwardedRef<HTMLDivElement>) {\n const { hasTransition, minContentSize } = props;\n // Nested inside one of another Layout's regions, or placed straight inside\n // another Layout: either way its footer is not the page's.\n const isInRegion = useContext(LayoutNestedContext);\n const isInLayout = useLayoutStateContext() != null;\n\n return (\n <LayoutNestedContext.Provider value={isInRegion || isInLayout}>\n <LayoutProvider\n hasTransition={hasTransition}\n minContentSize={minContentSize}\n >\n <LayoutInner {...props} forwardedRef={ref} />\n </LayoutProvider>\n </LayoutNestedContext.Provider>\n );\n}\n\nconst _Layout = forwardRef(Layout);\n\n_Layout.displayName = 'Layout';\n\nexport { _Layout as Layout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Layout.js","names":["useResizeObserver","BaseProps","BlockStyleProps","ColorStyleProps","filterBaseProps","FlowStyleProps","INNER_STYLES","mergeStyles","OUTER_STYLES","OuterStyleProps","Styles","tasty","CSSProperties","FocusEvent","ForwardedRef","forwardRef","HTMLAttributes","KeyboardEvent","ReactNode","useCallback","useContext","useEffect","useMemo","useRef","useState","isDevEnv","useCombinedRefs","extractStyles","Alert","LayoutNestedContext","LayoutPanelTransitionContext","LayoutProvider","useLayoutActionsContext","useLayoutRefsContext","useLayoutStateContext","LayoutElement","as","qa","styles","position","display","overflow","flexGrow","placeSelf","height","collapsed","vertical","Inner","$","container","inset","flow","placeContent","placeItems","transition","DEV_WARNING_STYLES","zIndex","CubeLayoutProps","isGrid","columns","rows","template","contentPadding","hasTransition","minContentSize","children","innerRef","HTMLDivElement","innerProps","_forceShowDevWarning","doNotOverflow","LayoutInner","props","forwardedRef","layoutActions","layoutState","layoutRefs","localRef","isAutoHeight","setIsAutoHeight","isCollapsed","setIsCollapsed","style","innerRefProp","otherProps","combinedInnerRef","updateContainerSize","ref","box","onResize","current","offsetWidth","offsetHeight","outerStyles","innerStyles","isVertical","flowFromProp","flowFromStyles","Record","flowValue","startsWith","finalStyles","gridStyles","gridColumns","gridRows","gridTemplate","panelSizes","left","top","right","bottom","isDragging","isReady","markReady","dismissOverlayPanels","hasOverlayPanels","isClippingPanels","frameId","requestAnimationFrame","cancelAnimationFrame","hasBox","containerWidth","containerHeight","isHeightCheckedRef","isCollapseCheckedRef","element","isShown","insetTokens","transitionStyle","overflowX","overflowY","overflowInline","overflowBlock","overflowClipMargin","mods","dragging","setRefs","showDevWarning","handleInnerFocus","e","inner","currentTarget","contains","target","Node","relatedTarget","handleKeyDown","key","stopPropagation","isDefaultPrevented","preventDefault","eventProps","undefined","setPanelContainer","HTMLElement","checkVisibility","Layout","_c","isInRegion","isInLayout","t0","t1","t2","t3","_Layout","displayName","_c"],"sources":["../../../../src/components/content/Layout/Layout.tsx"],"sourcesContent":["import { useResizeObserver } from '@react-aria/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n ColorStyleProps,\n filterBaseProps,\n FlowStyleProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n CSSProperties,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { Alert } from '../Alert';\n\nimport {\n LayoutNestedContext,\n LayoutPanelTransitionContext,\n LayoutProvider,\n useLayoutActionsContext,\n useLayoutRefsContext,\n useLayoutStateContext,\n} from './LayoutContext';\n\nconst LayoutElement = tasty({\n as: 'div',\n qa: 'Layout',\n styles: {\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'visible',\n 'do-not-overflow': 'hidden',\n },\n flexGrow: 1,\n placeSelf: 'stretch',\n height: {\n '': 'auto',\n 'auto-height': 'fixed 100%',\n collapsed: '6x',\n },\n\n '$content-padding': '1x',\n // Auto-border size for sub-components (set when layout is vertical)\n '$layout-border-size': {\n '': '0',\n vertical: '1bw',\n },\n\n Inner: {\n // .base-class[data-hover] > [data-element=\"Inner\"] { ...}\n // Direct child selector required for nested layouts\n $: '>',\n container: 'layout / inline-size',\n position: 'absolute',\n inset: '$inset-top $inset-right $inset-bottom $inset-left',\n display: 'flex',\n flow: 'column',\n placeContent: 'stretch',\n placeItems: 'stretch',\n // Disable transition during panel resize for snappy feedback\n // Also disable transition when not ready to prevent initial animation\n // Only animate when has-transition is enabled (and not dragging/not-ready)\n transition: {\n '': 'none',\n 'has-transition': 'inset $transition ease-out',\n 'dragging | not-ready': 'none',\n },\n },\n },\n});\n\n// The collapse warning sits on top of `Inner` rather than in place of it.\n// `Inner` is absolutely positioned, so an in-flow sibling would paint beneath\n// it; match its box and take the layer above.\nconst DEV_WARNING_STYLES: Styles = {\n position: 'absolute',\n inset: '0',\n zIndex: 1,\n overflow: 'auto',\n};\n\nexport interface CubeLayoutProps\n extends\n BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n ColorStyleProps,\n FlowStyleProps {\n /** Switch to grid display mode */\n isGrid?: boolean;\n /** Grid template columns (when isGrid=true) */\n columns?: Styles['gridColumns'];\n /** Grid template rows (when isGrid=true) */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n /** Padding for content areas (Layout.Content components). Default: '1x' */\n contentPadding?: Styles['padding'];\n /** Enable transition animation for Inner content when panels open/close */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n /** Styles for wrapper and Inner sub-element */\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 * @internal Force show dev warning even in production (for storybook testing)\n */\n _forceShowDevWarning?: boolean;\n /**\n * When true, applies overflow: hidden to the root element.\n * By default, overflow is visible.\n */\n doNotOverflow?: boolean;\n}\n\nfunction LayoutInner(\n props: CubeLayoutProps & { forwardedRef?: ForwardedRef<HTMLDivElement> },\n) {\n const layoutActions = useLayoutActionsContext();\n const layoutState = useLayoutStateContext();\n const layoutRefs = useLayoutRefsContext();\n const localRef = useRef<HTMLDivElement>(null);\n const [isAutoHeight, setIsAutoHeight] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const {\n isGrid,\n columns,\n rows,\n template,\n contentPadding,\n hasTransition = false,\n minContentSize,\n styles,\n children,\n style,\n forwardedRef,\n innerRef: innerRefProp,\n innerProps,\n _forceShowDevWarning,\n doNotOverflow,\n ...otherProps\n } = props;\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n const updateContainerSize = layoutActions?.updateContainerSize;\n\n useResizeObserver({\n ref: localRef,\n box: 'border-box',\n onResize: useCallback(() => {\n if (localRef.current) {\n updateContainerSize?.(\n localRef.current.offsetWidth,\n localRef.current.offsetHeight,\n );\n }\n }, [updateContainerSize]),\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 // Calculate if the layout flow is vertical (for auto-border feature)\n // Default flow is 'column' (vertical), only horizontal when explicitly set to 'row'\n const isVertical = useMemo(() => {\n const flowFromProp = innerStyles?.flow;\n const flowFromStyles = (styles?.Inner as Record<string, unknown>)?.flow;\n const flowValue = flowFromProp ?? flowFromStyles;\n\n return typeof flowValue !== 'string' || !flowValue.startsWith('row');\n }, [innerStyles?.flow, styles?.Inner]);\n\n // Merge styles using the same pattern as LayoutPane\n const finalStyles = useMemo(() => {\n // Handle grid mode and grid properties\n const gridStyles: Styles = {};\n\n if (isGrid) {\n gridStyles.display = 'grid';\n }\n\n if (columns) {\n gridStyles.gridColumns = columns;\n }\n\n if (rows) {\n gridStyles.gridRows = rows;\n }\n\n if (template) {\n gridStyles.gridTemplate = template;\n }\n\n return mergeStyles(\n outerStyles,\n contentPadding != null ? { '$content-padding': contentPadding } : null,\n styles,\n { Inner: mergeStyles(innerStyles, gridStyles, styles?.Inner as Styles) },\n );\n }, [\n outerStyles,\n innerStyles,\n contentPadding,\n styles,\n isGrid,\n columns,\n rows,\n template,\n ]);\n\n // Calculate inset values from panel sizes\n const panelSizes = layoutState?.panelSizes ?? {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n };\n\n const isDragging = layoutState?.isDragging ?? false;\n const isReady = layoutState?.isReady ?? true;\n const markReady = layoutActions?.markReady;\n const dismissOverlayPanels = layoutActions?.dismissOverlayPanels;\n const hasOverlayPanels = layoutState?.hasOverlayPanels ?? false;\n const isClippingPanels =\n useContext(LayoutPanelTransitionContext)?.isClippingPanels ?? false;\n\n // Mark layout as ready after first paint\n // Using useEffect + requestAnimationFrame ensures:\n // 1. Panels register in useLayoutEffect → correct insets before first paint\n // 2. First paint with not-ready=true (transition disabled)\n // 3. After paint completes → enables transitions for subsequent changes\n useEffect(() => {\n const frameId = requestAnimationFrame(() => {\n markReady?.();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [markReady]);\n\n // A Layout under a `display: none` ancestor, such as a closed `hideOnClose`\n // panel, has no height to judge yet. Each check waits until the Layout is\n // shown, then runs once. Gaining a box re-runs a pending check, so one first\n // shown at 0×0 is never judged.\n const hasBox =\n (layoutState?.containerWidth ?? 0) > 0 ||\n (layoutState?.containerHeight ?? 0) > 0;\n const isHeightCheckedRef = useRef(false);\n const isCollapseCheckedRef = useRef(false);\n\n // Auto-height detection: if layout collapses to 0 height after initialization,\n // automatically set height to 100% to prevent invisible layout\n useEffect(() => {\n const element = localRef.current;\n\n if (!isReady || !element || isHeightCheckedRef.current) return;\n if (!isShown(element)) return;\n\n isHeightCheckedRef.current = true;\n\n if (element.offsetHeight === 0) {\n setIsAutoHeight(true);\n }\n }, [isReady, hasBox]);\n\n // Second check: if still 0 height after auto-height was applied,\n // show collapsed state with warning\n useEffect(() => {\n if (!isAutoHeight || isCollapseCheckedRef.current) return;\n\n // Use requestAnimationFrame to check after styles have been applied\n const frameId = requestAnimationFrame(() => {\n const element = localRef.current;\n\n if (!element || !isShown(element)) return;\n\n isCollapseCheckedRef.current = true;\n\n if (element.offsetHeight === 0) {\n setIsCollapsed(true);\n }\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [isAutoHeight, hasBox]);\n\n const insetTokens = useMemo(\n () => ({\n '$inset-top': `${panelSizes.top}px`,\n '$inset-right': `${panelSizes.right}px`,\n '$inset-bottom': `${panelSizes.bottom}px`,\n '$inset-left': `${panelSizes.left}px`,\n }),\n [panelSizes],\n );\n\n // Remove consumer longhands while clipping so they cannot override the shorthand.\n // Restoring the original style object also restores the latest consumer values.\n let transitionStyle: CSSProperties | undefined = style;\n if (isClippingPanels) {\n transitionStyle = { ...style };\n delete transitionStyle.overflowX;\n delete transitionStyle.overflowY;\n delete transitionStyle.overflowInline;\n delete transitionStyle.overflowBlock;\n transitionStyle.overflow = 'clip';\n transitionStyle.overflowClipMargin = '0px';\n }\n\n const mods = useMemo(\n () => ({\n dragging: isDragging,\n 'not-ready': !isReady,\n 'has-transition': hasTransition,\n 'auto-height': isAutoHeight && !isCollapsed,\n collapsed: isCollapsed,\n vertical: isVertical,\n 'do-not-overflow': doNotOverflow,\n }),\n [\n isDragging,\n isReady,\n hasTransition,\n isAutoHeight,\n isCollapsed,\n isVertical,\n doNotOverflow,\n ],\n );\n\n // Combine local ref with forwarded ref\n const setRefs = (element: HTMLDivElement | null) => {\n localRef.current = element;\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(element);\n } else if (forwardedRef) {\n forwardedRef.current = element;\n }\n };\n\n // Show dev warning when collapsed and in dev mode (or forced for stories)\n const showDevWarning = isCollapsed && (_forceShowDevWarning || isDevEnv());\n\n // Handle focus entering the Inner element - dismiss overlay panels\n const handleInnerFocus = useCallback(\n (e: FocusEvent<HTMLDivElement>) => {\n // Only dismiss if there are overlay panels\n if (!hasOverlayPanels) return;\n\n const inner = e.currentTarget;\n\n // Panels portal out of Inner but stay its React children, so focus inside\n // a panel (or a popover opened from it) bubbles here too. Only focus that\n // lands in Inner's own DOM, the main content, can dismiss.\n if (!inner.contains(e.target as Node)) return;\n\n // Check if focus is coming from outside the Inner element\n const relatedTarget = e.relatedTarget as Node | null;\n\n // If relatedTarget is null or not inside the Inner element,\n // focus is entering from outside - dismiss overlay panels\n if (!relatedTarget || !inner.contains(relatedTarget)) {\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n // Handle Escape key anywhere in the Layout - dismiss overlay panels.\n // An Escape a control inside already handled is its own: a code editor\n // closing its autocomplete prevents the default and lets the key bubble.\n // Either way it stops here, so an enclosing dialog doesn't close on it.\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (!hasOverlayPanels || e.key !== 'Escape') return;\n\n e.stopPropagation();\n\n if (e.isDefaultPrevented()) return;\n\n e.preventDefault();\n dismissOverlayPanels?.();\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n return (\n <LayoutElement\n ref={setRefs}\n {...filterBaseProps(otherProps, { eventProps: true })}\n mods={mods}\n styles={finalStyles}\n tokens={insetTokens}\n // oxlint-disable-next-line react/forbid-component-props -- forwards the consumer's public `style`; while clipping, the overflow shorthand must also beat its inline longhands\n style={transitionStyle}\n onKeyDown={hasOverlayPanels ? handleKeyDown : undefined}\n >\n {/* All children go inside the Inner element - panels will portal themselves out */}\n <div\n ref={combinedInnerRef}\n data-element=\"Inner\"\n onFocus={handleInnerFocus}\n {...innerProps}\n >\n {children}\n </div>\n {/* Container for panels to portal into - rendered after Inner so panels paint on top via DOM order */}\n <div ref={layoutRefs?.setPanelContainer} data-element=\"PanelContainer\" />\n {/* Overlaid, never substituted for `children`. A zero-height measurement is\n not proof of a mistake - a collapsed accordion and a container\n mid-animation both measure zero - so unmounting the subtree\n would turn a wrong guess into an outage, and remounting it on the way\n back would drop whatever state it held. */}\n {showDevWarning ? (\n <Alert theme=\"danger\" styles={DEV_WARNING_STYLES}>\n <b>UIKit:</b> <b><Layout/></b> has collapsed to <b>0</b> height.\n Ensure the parent container has a defined height or use the{' '}\n <b>height</b> prop on <b><Layout/></b>.\n </Alert>\n ) : null}\n </LayoutElement>\n );\n}\n\n// False under a `display: none` ancestor. jsdom has no `checkVisibility`, so\n// there every Layout counts as shown.\nfunction isShown(element: HTMLElement) {\n return element.checkVisibility?.() ?? true;\n}\n\n/**\n * Layout component provides a vertical flex layout with overflow-safe content.\n * Uses a two-element architecture (wrapper + content) to ensure content never overflows.\n */\nfunction Layout(props: CubeLayoutProps, ref: ForwardedRef<HTMLDivElement>) {\n const { hasTransition, minContentSize } = props;\n // Nested inside one of another Layout's regions, or placed straight inside\n // another Layout: either way its footer is not the page's.\n const isInRegion = useContext(LayoutNestedContext);\n const isInLayout = useLayoutStateContext() != null;\n\n return (\n <LayoutNestedContext.Provider value={isInRegion || isInLayout}>\n <LayoutProvider\n hasTransition={hasTransition}\n minContentSize={minContentSize}\n >\n <LayoutInner {...props} forwardedRef={ref} />\n </LayoutProvider>\n </LayoutNestedContext.Provider>\n );\n}\n\nconst _Layout = forwardRef(Layout);\n\n_Layout.displayName = 'Layout';\n\nexport { _Layout as Layout };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { LayoutContent as _LayoutContent } from "./LayoutContent.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { LayoutContainer as _LayoutContainer } from "./LayoutContainer.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { LayoutContextReset } from "./LayoutContext.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { LayoutContextReset } from "./LayoutContext.js";
|
|
@@ -60,7 +60,7 @@ const ContentElement = tasty({
|
|
|
60
60
|
"": 0,
|
|
61
61
|
"(focused | scrolling) & scrollbar=tiny": 1
|
|
62
62
|
},
|
|
63
|
-
transition: "opacity
|
|
63
|
+
transition: "opacity $scrollbar-transition",
|
|
64
64
|
pointerEvents: "none"
|
|
65
65
|
},
|
|
66
66
|
ScrollbarH: {
|
|
@@ -76,7 +76,7 @@ const ContentElement = tasty({
|
|
|
76
76
|
"": 0,
|
|
77
77
|
"(focused | scrolling) & scrollbar=tiny": 1
|
|
78
78
|
},
|
|
79
|
-
transition: "opacity
|
|
79
|
+
transition: "opacity $scrollbar-transition",
|
|
80
80
|
pointerEvents: "none"
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -97,19 +97,19 @@ function LayoutContent(props, ref) {
|
|
|
97
97
|
$[0] = t1;
|
|
98
98
|
} else t1 = $[0];
|
|
99
99
|
const { hoverProps, isHovered } = useHover(t1);
|
|
100
|
-
const {
|
|
100
|
+
const { handleVTokens, handleHTokens, hasOverflowY, hasOverflowX, isScrolling } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);
|
|
101
101
|
let t2;
|
|
102
|
-
if ($[1] !==
|
|
102
|
+
if ($[1] !== handleHTokens || $[2] !== handleVTokens || $[3] !== isTinyScrollbar) {
|
|
103
103
|
t2 = isTinyScrollbar ? {
|
|
104
|
-
...
|
|
105
|
-
...
|
|
106
|
-
} :
|
|
107
|
-
$[1] =
|
|
108
|
-
$[2] =
|
|
104
|
+
...handleVTokens,
|
|
105
|
+
...handleHTokens
|
|
106
|
+
} : void 0;
|
|
107
|
+
$[1] = handleHTokens;
|
|
108
|
+
$[2] = handleVTokens;
|
|
109
109
|
$[3] = isTinyScrollbar;
|
|
110
110
|
$[4] = t2;
|
|
111
111
|
} else t2 = $[4];
|
|
112
|
-
const
|
|
112
|
+
const scrollbarTokens = t2;
|
|
113
113
|
let t3;
|
|
114
114
|
if ($[5] !== externalMods || $[6] !== isHovered || $[7] !== isScrolling || $[8] !== scrollbar) {
|
|
115
115
|
t3 = {
|
|
@@ -162,14 +162,14 @@ function LayoutContent(props, ref) {
|
|
|
162
162
|
$[21] = t8;
|
|
163
163
|
} else t8 = $[21];
|
|
164
164
|
let t9;
|
|
165
|
-
if ($[22] !== T0 || $[23] !== combinedRef || $[24] !== finalStyles || $[25] !== hoverProps || $[26] !== mods || $[27] !==
|
|
165
|
+
if ($[22] !== T0 || $[23] !== combinedRef || $[24] !== finalStyles || $[25] !== hoverProps || $[26] !== mods || $[27] !== scrollbarTokens || $[28] !== t4 || $[29] !== t6 || $[30] !== t7 || $[31] !== t8) {
|
|
166
166
|
t9 = /* @__PURE__ */ jsxs(T0, {
|
|
167
167
|
ref: combinedRef,
|
|
168
168
|
...t4,
|
|
169
169
|
...hoverProps,
|
|
170
170
|
mods,
|
|
171
171
|
styles: finalStyles,
|
|
172
|
-
|
|
172
|
+
tokens: scrollbarTokens,
|
|
173
173
|
children: [
|
|
174
174
|
t6,
|
|
175
175
|
t7,
|
|
@@ -181,7 +181,7 @@ function LayoutContent(props, ref) {
|
|
|
181
181
|
$[24] = finalStyles;
|
|
182
182
|
$[25] = hoverProps;
|
|
183
183
|
$[26] = mods;
|
|
184
|
-
$[27] =
|
|
184
|
+
$[27] = scrollbarTokens;
|
|
185
185
|
$[28] = t4;
|
|
186
186
|
$[29] = t6;
|
|
187
187
|
$[30] = t7;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutContent.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","Mods","OUTER_STYLES","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useRef","useHover","useCombinedRefs","extractStyles","useTinyScrollbar","LayoutContextReset","ContentElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","flexShrink","height","overflow","boxSizing","border","Inner","$","flow","padding","scrollbar","ScrollbarV","right","top","width","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ScrollbarType","CubeLayoutContentProps","children","mods","innerRef","HTMLDivElement","innerProps","LayoutContent","props","ref","_c","t0","externalMods","innerRefProp","otherProps","undefined","outerStyles","innerStyles","internalInnerRef","combinedInnerRef","combinedRef","isTinyScrollbar","t1","Symbol","for","hoverProps","isHovered","
|
|
1
|
+
{"version":3,"file":"LayoutContent.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","Mods","OUTER_STYLES","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useRef","useHover","useCombinedRefs","extractStyles","useTinyScrollbar","LayoutContextReset","ContentElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","flexShrink","height","overflow","boxSizing","border","Inner","$","flow","padding","scrollbar","ScrollbarV","right","top","width","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ScrollbarType","CubeLayoutContentProps","children","mods","innerRef","HTMLDivElement","innerProps","LayoutContent","props","ref","_c","t0","externalMods","innerRefProp","otherProps","undefined","outerStyles","innerStyles","internalInnerRef","combinedInnerRef","combinedRef","isTinyScrollbar","t1","Symbol","for","hoverProps","isHovered","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t2","scrollbarTokens","t3","hovered","scrolling","finalStyles","T0","t4","eventProps","t5","t6","t7","t8","t9","_LayoutContent","displayName","_c"],"sources":["../../../../src/components/content/Layout/LayoutContent.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n Mods,\n OUTER_STYLES,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useRef,\n} from 'react';\nimport { useHover } from 'react-aria';\n\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContentElement = tasty({\n as: 'div',\n qa: 'LayoutContent',\n styles: {\n container: 'content / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n flexGrow: 1,\n flexShrink: 1,\n height: 'min 0',\n overflow: 'hidden',\n boxSizing: 'content-box',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'auto',\n 'scrollbar=thin': '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 $: '>',\n position: 'absolute',\n right: '1px',\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 position: 'absolute',\n bottom: '1px',\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});\n\nexport type ScrollbarType = 'default' | 'thin' | 'tiny' | 'none';\n\nexport interface CubeLayoutContentProps extends BaseProps, ContainerStyleProps {\n /** Scrollbar style: 'default' | 'thin' | 'tiny' | 'none' */\n scrollbar?: ScrollbarType;\n children?: ReactNode;\n /** Additional modifiers to apply */\n mods?: Mods;\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\nfunction LayoutContent(\n props: CubeLayoutContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n scrollbar = 'thin',\n styles,\n mods: externalMods,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const combinedRef = useCombinedRefs(ref);\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 const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const mods = {\n ...externalMods,\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n return (\n <ContentElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={mods}\n styles={finalStyles}\n tokens={scrollbarTokens}\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 </ContentElement>\n );\n}\n\nconst _LayoutContent = forwardRef(LayoutContent);\n\n_LayoutContent.displayName = 'Layout.Content';\n\nexport { _LayoutContent as LayoutContent };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { createContext, useContext, useRef, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { LayoutContent as _LayoutContent } from "./LayoutContent.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { LayoutNestedContext } from "./LayoutContext.js";
|
|
3
3
|
import { LayoutContent as _LayoutContent } from "./LayoutContent.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { LayoutContent as _LayoutContent } from "./LayoutContent.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | Cube Dev Team */
|
|
2
2
|
import { useAutoTooltip } from "../use-auto-tooltip.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { Button } from "../../actions/Button/Button.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.199.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.199.2 | 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";
|
|
@@ -128,7 +128,7 @@ const PaneElement = tasty({
|
|
|
128
128
|
"": 0,
|
|
129
129
|
"(focused | scrolling) & scrollbar=tiny": 1
|
|
130
130
|
},
|
|
131
|
-
transition: "opacity
|
|
131
|
+
transition: "opacity $scrollbar-transition",
|
|
132
132
|
pointerEvents: "none"
|
|
133
133
|
},
|
|
134
134
|
ScrollbarH: {
|
|
@@ -147,7 +147,7 @@ const PaneElement = tasty({
|
|
|
147
147
|
"": 0,
|
|
148
148
|
"(focused | scrolling) & scrollbar=tiny": 1
|
|
149
149
|
},
|
|
150
|
-
transition: "opacity
|
|
150
|
+
transition: "opacity $scrollbar-transition",
|
|
151
151
|
pointerEvents: "none"
|
|
152
152
|
},
|
|
153
153
|
ResizeHandler: {
|
|
@@ -345,7 +345,7 @@ function LayoutPane(props, ref) {
|
|
|
345
345
|
$[5] = t5;
|
|
346
346
|
} else t5 = $[5];
|
|
347
347
|
const { hoverProps, isHovered } = useHover(t5);
|
|
348
|
-
const {
|
|
348
|
+
const { handleVTokens, handleHTokens, hasOverflowY, hasOverflowX, isScrolling } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);
|
|
349
349
|
let t6;
|
|
350
350
|
if ($[6] !== maxSize || $[7] !== minSize) {
|
|
351
351
|
t6 = (value) => clampSize(value, minSize, maxSize);
|
|
@@ -547,17 +547,17 @@ function LayoutPane(props, ref) {
|
|
|
547
547
|
} else t15 = $[42];
|
|
548
548
|
const handleResetSize = t15;
|
|
549
549
|
let t16;
|
|
550
|
-
if ($[43] !==
|
|
550
|
+
if ($[43] !== handleHTokens || $[44] !== handleVTokens || $[45] !== isTinyScrollbar) {
|
|
551
551
|
t16 = isTinyScrollbar ? {
|
|
552
|
-
...
|
|
553
|
-
...
|
|
554
|
-
} :
|
|
555
|
-
$[43] =
|
|
556
|
-
$[44] =
|
|
552
|
+
...handleVTokens,
|
|
553
|
+
...handleHTokens
|
|
554
|
+
} : void 0;
|
|
555
|
+
$[43] = handleHTokens;
|
|
556
|
+
$[44] = handleVTokens;
|
|
557
557
|
$[45] = isTinyScrollbar;
|
|
558
558
|
$[46] = t16;
|
|
559
559
|
} else t16 = $[46];
|
|
560
|
-
const
|
|
560
|
+
const scrollbarTokens = t16;
|
|
561
561
|
const t17 = !isResizable;
|
|
562
562
|
let t18;
|
|
563
563
|
if ($[47] !== debouncedHandlerHovered || $[48] !== isDragging || $[49] !== isHandlerFocused || $[50] !== isHovered || $[51] !== isScrolling || $[52] !== mods || $[53] !== resizeEdge || $[54] !== scrollbar || $[55] !== t17) {
|
|
@@ -588,18 +588,18 @@ function LayoutPane(props, ref) {
|
|
|
588
588
|
const t19 = `${size}px`;
|
|
589
589
|
const t20 = minSize == null ? "initial" : typeof minSize === "number" ? `${minSize}px` : minSize;
|
|
590
590
|
let t21;
|
|
591
|
-
if ($[57] !==
|
|
591
|
+
if ($[57] !== scrollbarTokens || $[58] !== t19 || $[59] !== t20) {
|
|
592
592
|
t21 = {
|
|
593
|
-
...
|
|
594
|
-
"
|
|
595
|
-
"
|
|
593
|
+
...scrollbarTokens,
|
|
594
|
+
"$pane-size": t19,
|
|
595
|
+
"$pane-min-size": t20
|
|
596
596
|
};
|
|
597
|
-
$[57] =
|
|
597
|
+
$[57] = scrollbarTokens;
|
|
598
598
|
$[58] = t19;
|
|
599
599
|
$[59] = t20;
|
|
600
600
|
$[60] = t21;
|
|
601
601
|
} else t21 = $[60];
|
|
602
|
-
const
|
|
602
|
+
const paneTokens = t21;
|
|
603
603
|
const T0 = PaneElement;
|
|
604
604
|
const t22 = filterBaseProps(otherProps, { eventProps: true });
|
|
605
605
|
let t23;
|
|
@@ -654,14 +654,14 @@ function LayoutPane(props, ref) {
|
|
|
654
654
|
$[79] = t27;
|
|
655
655
|
} else t27 = $[79];
|
|
656
656
|
let t28;
|
|
657
|
-
if ($[80] !== T0 || $[81] !== combinedRef || $[82] !== finalStyles || $[83] !== hoverProps || $[84] !== paneMods || $[85] !==
|
|
657
|
+
if ($[80] !== T0 || $[81] !== combinedRef || $[82] !== finalStyles || $[83] !== hoverProps || $[84] !== paneMods || $[85] !== paneTokens || $[86] !== t22 || $[87] !== t24 || $[88] !== t25 || $[89] !== t26 || $[90] !== t27) {
|
|
658
658
|
t28 = /* @__PURE__ */ jsxs(T0, {
|
|
659
659
|
ref: combinedRef,
|
|
660
660
|
...t22,
|
|
661
661
|
...hoverProps,
|
|
662
662
|
mods: paneMods,
|
|
663
663
|
styles: finalStyles,
|
|
664
|
-
|
|
664
|
+
tokens: paneTokens,
|
|
665
665
|
children: [
|
|
666
666
|
t24,
|
|
667
667
|
t25,
|
|
@@ -674,7 +674,7 @@ function LayoutPane(props, ref) {
|
|
|
674
674
|
$[82] = finalStyles;
|
|
675
675
|
$[83] = hoverProps;
|
|
676
676
|
$[84] = paneMods;
|
|
677
|
-
$[85] =
|
|
677
|
+
$[85] = paneTokens;
|
|
678
678
|
$[86] = t22;
|
|
679
679
|
$[87] = t24;
|
|
680
680
|
$[88] = t25;
|