@cube-dev/ui-kit 0.0.0-canary-e056095 → 0.0.0-canary-31f7f8e
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/_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 +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/Button/Button.d.ts +0 -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 +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/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/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/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/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/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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +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 +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.d.ts +28 -28
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +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 +2 -2
- 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 +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/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 +2 -2
- 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.d.ts +1 -2
- 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.d.ts +0 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.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-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +2 -2
- package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -2
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +2 -2
- package/dist/components/fields/ColorPicker/ColorPicker.js +2 -2
- 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/CommandTextArea/CommandTextArea.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- 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 +3 -3
- 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 +4 -4
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -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 +2 -2
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/Picker/Picker.js +3 -3
- package/dist/components/fields/RadioGroup/Radio.js +2 -2
- package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
- 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 +2 -2
- 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/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/SliderTrack.js +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 +2 -2
- package/dist/components/fields/TextArea/TextArea.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- 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/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +7 -6
- package/dist/components/fields/color/channels.js.map +1 -1
- package/dist/components/fields/color/color.d.ts +1 -0
- package/dist/components/fields/color/color.js +22 -100
- package/dist/components/fields/color/color.js.map +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 +1 -1
- package/dist/components/form/Form/Form.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/index.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/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 +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 +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +3 -3
- 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 +2 -2
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- 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 +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 +2 -2
- 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 +2 -2
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +4 -4
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -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/Modal/types.d.ts +0 -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.d.ts +0 -2
- 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 +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/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/index.d.ts +0 -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 -25
- package/dist/i18n/locales/en-US/uikit.js +1 -25
- package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -27
- package/dist/i18n/locales/es-ES/uikit.js +1 -25
- package/dist/i18n/locales/es-MX/uikit.js +1 -25
- package/dist/i18n/locales/fr-FR/uikit.js +1 -25
- package/dist/i18n/locales/it-IT/uikit.js +1 -25
- package/dist/i18n/locales/ja-JP/uikit.js +1 -25
- package/dist/i18n/locales/nb-NO/uikit.js +1 -25
- package/dist/i18n/locales/pt-BR/uikit.js +1 -25
- package/dist/i18n/locales/pt-PT/uikit.js +1 -25
- package/dist/i18n/locales/sv-SE/uikit.js +1 -25
- package/dist/i18n/locales/vi-VN/uikit.js +1 -25
- package/dist/i18n/locales.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 +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/index.d.ts +0 -8
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +2 -15
- package/dist/index.js +50 -61
- package/dist/index.js.map +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 +2 -2
- 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 +2 -2
- package/dist/tokens/index.d.ts +1 -0
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.d.ts +61 -0
- package/dist/tokens/legacy-color.js +58 -0
- package/dist/tokens/legacy-color.js.map +1 -0
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +2 -2
- 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.d.ts +2 -0
- package/dist/utils/colors.js +247 -0
- package/dist/utils/colors.js.map +1 -0
- 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/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/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 +18 -0
- package/package.json +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/layout/Dashboard/Dashboard.d.ts +0 -19
- package/dist/components/layout/Dashboard/Dashboard.js +0 -188
- package/dist/components/layout/Dashboard/Dashboard.js.map +0 -1
- package/dist/components/layout/Dashboard/DashboardContainer.d.ts +0 -13
- package/dist/components/layout/Dashboard/DashboardContainer.js +0 -272
- package/dist/components/layout/Dashboard/DashboardContainer.js.map +0 -1
- package/dist/components/layout/Dashboard/DashboardContainerContent.js +0 -405
- package/dist/components/layout/Dashboard/DashboardContainerContent.js.map +0 -1
- package/dist/components/layout/Dashboard/DashboardNodeActions.js +0 -228
- package/dist/components/layout/Dashboard/DashboardNodeActions.js.map +0 -1
- package/dist/components/layout/Dashboard/DashboardTabs.d.ts +0 -14
- package/dist/components/layout/Dashboard/DashboardTabs.js +0 -85
- package/dist/components/layout/Dashboard/DashboardTabs.js.map +0 -1
- package/dist/components/layout/Dashboard/DashboardWidget.d.ts +0 -9
- package/dist/components/layout/Dashboard/DashboardWidget.js +0 -196
- package/dist/components/layout/Dashboard/DashboardWidget.js.map +0 -1
- package/dist/components/layout/Dashboard/context.js +0 -37
- package/dist/components/layout/Dashboard/context.js.map +0 -1
- package/dist/components/layout/Dashboard/drag.js +0 -481
- package/dist/components/layout/Dashboard/drag.js.map +0 -1
- package/dist/components/layout/Dashboard/index.d.ts +0 -6
- package/dist/components/layout/Dashboard/occupancy.js +0 -240
- package/dist/components/layout/Dashboard/occupancy.js.map +0 -1
- package/dist/components/layout/Dashboard/placement.js +0 -94
- package/dist/components/layout/Dashboard/placement.js.map +0 -1
- package/dist/components/layout/Dashboard/styles.js +0 -344
- package/dist/components/layout/Dashboard/styles.js.map +0 -1
- package/dist/components/layout/Dashboard/types.d.ts +0 -220
- package/dist/components/layout/Dashboard/use-dashboard-gestures.js +0 -321
- package/dist/components/layout/Dashboard/use-dashboard-gestures.js.map +0 -1
- package/dist/components/layout/Dashboard/use-dashboard-node.js +0 -93
- package/dist/components/layout/Dashboard/use-dashboard-node.js.map +0 -1
- package/dist/components/portal/PortalProvider.d.ts +0 -2
- package/dist/icons/ArrowsHorizontalIcon.d.ts +0 -12
- package/dist/icons/ArrowsHorizontalIcon.js +0 -11
- package/dist/icons/ArrowsHorizontalIcon.js.map +0 -1
- package/dist/icons/ArrowsInHorizontalIcon.d.ts +0 -20
- package/dist/icons/ArrowsInHorizontalIcon.js +0 -31
- package/dist/icons/ArrowsInHorizontalIcon.js.map +0 -1
- package/dist/icons/ArrowsInVerticalIcon.d.ts +0 -13
- package/dist/icons/ArrowsInVerticalIcon.js +0 -24
- package/dist/icons/ArrowsInVerticalIcon.js.map +0 -1
- package/dist/icons/ArrowsMaximizeIcon.d.ts +0 -12
- package/dist/icons/ArrowsMaximizeIcon.js +0 -11
- package/dist/icons/ArrowsMaximizeIcon.js.map +0 -1
- package/dist/icons/ArrowsMinimizeIcon.d.ts +0 -12
- package/dist/icons/ArrowsMinimizeIcon.js +0 -11
- package/dist/icons/ArrowsMinimizeIcon.js.map +0 -1
- package/dist/icons/ArrowsVerticalIcon.d.ts +0 -12
- package/dist/icons/ArrowsVerticalIcon.js +0 -11
- package/dist/icons/ArrowsVerticalIcon.js.map +0 -1
- package/dist/icons/CirclePlusIcon.d.ts +0 -12
- package/dist/icons/CirclePlusIcon.js +0 -11
- package/dist/icons/CirclePlusIcon.js.map +0 -1
- package/dist/icons/MaximizeIcon.d.ts +0 -12
- package/dist/icons/MaximizeIcon.js +0 -11
- package/dist/icons/MaximizeIcon.js.map +0 -1
- package/docs/components/layout/Dashboard.md +0 -409
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e056095 | Cube Dev Team */
|
|
2
|
-
import { wrapIcon } from "./wrap-icon.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import { IconArrowsMaximize } from "@tabler/icons-react";
|
|
5
|
-
|
|
6
|
-
//#region src/icons/ArrowsMaximizeIcon.tsx
|
|
7
|
-
const ArrowsMaximizeIcon = wrapIcon("ArrowsMaximizeIcon", /* @__PURE__ */ jsx(IconArrowsMaximize, {}));
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { ArrowsMaximizeIcon };
|
|
11
|
-
//# sourceMappingURL=ArrowsMaximizeIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowsMaximizeIcon.js","names":[],"sources":["../../src/icons/ArrowsMaximizeIcon.tsx"],"sourcesContent":["import { IconArrowsMaximize } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const ArrowsMaximizeIcon = wrapIcon(\n 'ArrowsMaximizeIcon',\n <IconArrowsMaximize />,\n);\n"],"mappings":";;;;;;AAIA,MAAa,qBAAqB,SAChC,sBACA,oBAAC,uBAAqB,CACvB"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeIconProps } from "./Icon.js";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/icons/ArrowsMinimizeIcon.d.ts
|
|
6
|
-
declare const ArrowsMinimizeIcon: {
|
|
7
|
-
(props: CubeIconProps): react_jsx_runtime0.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
export { ArrowsMinimizeIcon };
|
|
12
|
-
//# sourceMappingURL=ArrowsMinimizeIcon.d.ts.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e056095 | Cube Dev Team */
|
|
2
|
-
import { wrapIcon } from "./wrap-icon.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import { IconArrowsMinimize } from "@tabler/icons-react";
|
|
5
|
-
|
|
6
|
-
//#region src/icons/ArrowsMinimizeIcon.tsx
|
|
7
|
-
const ArrowsMinimizeIcon = wrapIcon("ArrowsMinimizeIcon", /* @__PURE__ */ jsx(IconArrowsMinimize, {}));
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { ArrowsMinimizeIcon };
|
|
11
|
-
//# sourceMappingURL=ArrowsMinimizeIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowsMinimizeIcon.js","names":[],"sources":["../../src/icons/ArrowsMinimizeIcon.tsx"],"sourcesContent":["import { IconArrowsMinimize } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const ArrowsMinimizeIcon = wrapIcon(\n 'ArrowsMinimizeIcon',\n <IconArrowsMinimize />,\n);\n"],"mappings":";;;;;;AAIA,MAAa,qBAAqB,SAChC,sBACA,oBAAC,uBAAqB,CACvB"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeIconProps } from "./Icon.js";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/icons/ArrowsVerticalIcon.d.ts
|
|
6
|
-
declare const ArrowsVerticalIcon: {
|
|
7
|
-
(props: CubeIconProps): react_jsx_runtime0.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
export { ArrowsVerticalIcon };
|
|
12
|
-
//# sourceMappingURL=ArrowsVerticalIcon.d.ts.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e056095 | Cube Dev Team */
|
|
2
|
-
import { wrapIcon } from "./wrap-icon.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import { IconArrowsVertical } from "@tabler/icons-react";
|
|
5
|
-
|
|
6
|
-
//#region src/icons/ArrowsVerticalIcon.tsx
|
|
7
|
-
const ArrowsVerticalIcon = wrapIcon("ArrowsVerticalIcon", /* @__PURE__ */ jsx(IconArrowsVertical, {}));
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { ArrowsVerticalIcon };
|
|
11
|
-
//# sourceMappingURL=ArrowsVerticalIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowsVerticalIcon.js","names":[],"sources":["../../src/icons/ArrowsVerticalIcon.tsx"],"sourcesContent":["import { IconArrowsVertical } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const ArrowsVerticalIcon = wrapIcon(\n 'ArrowsVerticalIcon',\n <IconArrowsVertical />,\n);\n"],"mappings":";;;;;;AAIA,MAAa,qBAAqB,SAChC,sBACA,oBAAC,uBAAqB,CACvB"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeIconProps } from "./Icon.js";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/icons/CirclePlusIcon.d.ts
|
|
6
|
-
declare const CirclePlusIcon: {
|
|
7
|
-
(props: CubeIconProps): react_jsx_runtime0.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
export { CirclePlusIcon };
|
|
12
|
-
//# sourceMappingURL=CirclePlusIcon.d.ts.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e056095 | Cube Dev Team */
|
|
2
|
-
import { wrapIcon } from "./wrap-icon.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import { IconCirclePlus } from "@tabler/icons-react";
|
|
5
|
-
|
|
6
|
-
//#region src/icons/CirclePlusIcon.tsx
|
|
7
|
-
const CirclePlusIcon = wrapIcon("CirclePlusIcon", /* @__PURE__ */ jsx(IconCirclePlus, {}));
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { CirclePlusIcon };
|
|
11
|
-
//# sourceMappingURL=CirclePlusIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CirclePlusIcon.js","names":[],"sources":["../../src/icons/CirclePlusIcon.tsx"],"sourcesContent":["import { IconCirclePlus } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const CirclePlusIcon = wrapIcon('CirclePlusIcon', <IconCirclePlus />);\n"],"mappings":";;;;;;AAIA,MAAa,iBAAiB,SAAS,kBAAkB,oBAAC,mBAAiB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CubeIconProps } from "./Icon.js";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/icons/MaximizeIcon.d.ts
|
|
6
|
-
declare const MaximizeIcon: {
|
|
7
|
-
(props: CubeIconProps): react_jsx_runtime0.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
export { MaximizeIcon };
|
|
12
|
-
//# sourceMappingURL=MaximizeIcon.d.ts.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e056095 | Cube Dev Team */
|
|
2
|
-
import { wrapIcon } from "./wrap-icon.js";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
import { IconMaximize } from "@tabler/icons-react";
|
|
5
|
-
|
|
6
|
-
//#region src/icons/MaximizeIcon.tsx
|
|
7
|
-
const MaximizeIcon = wrapIcon("MaximizeIcon", /* @__PURE__ */ jsx(IconMaximize, {}));
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { MaximizeIcon };
|
|
11
|
-
//# sourceMappingURL=MaximizeIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaximizeIcon.js","names":[],"sources":["../../src/icons/MaximizeIcon.tsx"],"sourcesContent":["import { IconMaximize } from '@tabler/icons-react';\n\nimport { wrapIcon } from './wrap-icon';\n\nexport const MaximizeIcon = wrapIcon('MaximizeIcon', <IconMaximize />);\n"],"mappings":";;;;;;AAIA,MAAa,eAAe,SAAS,gBAAgB,oBAAC,iBAAe,CAAC"}
|
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
# Dashboard
|
|
2
|
-
|
|
3
|
-
Dashboard is a standalone compound layout for authoring full-width dashboards on one shared 12-column scale. A nested container exposes its own current column span as child capacity, while all containers share one row height and gap configuration. Consumers register their widget and container types, then retain ownership of the serializable layout state and custom widget rendering. Dashboard resolves collisions itself and reports the resolved set, so a consumer writes placements rather than reimplementing reflow.
|
|
4
|
-
|
|
5
|
-
## When to Use
|
|
6
|
-
|
|
7
|
-
- Analytics and reporting pages with mixed widget sizes
|
|
8
|
-
- User-customizable dashboards with selectable widgets and containers
|
|
9
|
-
- Nested dashboard sections that need one consistent column system
|
|
10
|
-
|
|
11
|
-
## Component
|
|
12
|
-
|
|
13
|
-
The Playground owns a recursive serializable tree and registers five constrained widget types plus the available container types with Dashboard. The permanent root add button creates Grid, HorizontalStack, VerticalStack, or Tabs containers. Hovering a Grid reveals only that Grid's vacant cells and moves its add button to the current cell; crossing a gap preserves the last valid cell. The entire outlined cell is pressable, and its matching resting fill transitions directly to the hovered colors while the CirclePlus icon appears. An open menu keeps that trigger and destination locked while the pointer crosses into the popover. HorizontalStack and VerticalStack expose one insertion point at the end. Every tab owns an independent layout and, while empty, offers one full-panel add button for Grid, HorizontalStack, or VerticalStack only. The menu disables registered items that cannot fit and stops offering nested containers at depth three. Pressing and dragging a Grid's add button claims an area — clamped to the free cells reachable from the anchor — and the button grows to occupy it, after which the menu offers only items that can _be_ that size. `Shift` with the arrow keys claims the same area from the keyboard. Every node's own actions, including its size commands, sit behind one menu button in its top-right corner.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Components
|
|
18
|
-
|
|
19
|
-
- **`Dashboard`** — Full-width root that owns metrics and selection.
|
|
20
|
-
- **`Dashboard.Grid`** — Explicit row and column placement.
|
|
21
|
-
- **`Dashboard.HorizontalStack`** — Children arranged across one row and stretched vertically within their row constraints.
|
|
22
|
-
- **`Dashboard.VerticalStack`** — Children arranged vertically and stretched horizontally within their column constraints.
|
|
23
|
-
- **`Dashboard.Tabs`** — Root-only tabbed container.
|
|
24
|
-
- **`Dashboard.Tab`** — Declarative panel inside `Dashboard.Tabs`.
|
|
25
|
-
- **`Dashboard.Widget`** — Customizable widget surface.
|
|
26
|
-
|
|
27
|
-
## Properties
|
|
28
|
-
|
|
29
|
-
### Dashboard
|
|
30
|
-
|
|
31
|
-
- **`rowHeight`** `number` (default: `80`) — Height in pixels of a content row in every container.
|
|
32
|
-
- **`gap`** `number | [number, number]` (default: `16`) — Shared gap, or horizontal and vertical gaps, in pixels, **inside** every container's grid. The channel between top-level containers is a fixed `1x` and is not configurable; because a depth-one container's selectable box protrudes `8px` into that channel, adjacent top-level boundaries meet when both are outlined, and Dashboard's own box does not clip the protrusion — leave padding around the component.
|
|
33
|
-
- **`isEditing`** `boolean` (default: `false`) — Reveals transparent, rounded container boundaries on hover; boundaries persist during resize, every boundary is revealed during a move, and a newly mounted container remains revealed briefly.
|
|
34
|
-
- **`selectionMode`** `'none' | 'single' | 'multiple'` (default: `'multiple'`) — Whether and how Dashboard nodes can be selected.
|
|
35
|
-
- **`selectedKeys`** `string[]` — Controlled selected widget and container ids.
|
|
36
|
-
- **`defaultSelectedKeys`** `string[]` (default: `[]`) — Initial selection for uncontrolled usage.
|
|
37
|
-
- **`onSelectionChange`** `(keys: string[]) => void` — Called with the normalized selection.
|
|
38
|
-
- **`addItems`** `readonly DashboardAddItemDefinition[]` — Consumer registry used by Dashboard's contextual add menus.
|
|
39
|
-
- **`onAddItem`** `(itemId, info) => void` — Reports the selected registry id, exact placement, parent kind/depth, and tab identity when applicable.
|
|
40
|
-
|
|
41
|
-
### Containers
|
|
42
|
-
|
|
43
|
-
- **`id`** `string` (required) — Stable layout and selection identity.
|
|
44
|
-
- **`title`** `ReactNode` — Optional accessible title for Tabs. Grid, HorizontalStack, and VerticalStack never render a heading.
|
|
45
|
-
- **`column`** `number` (default: `0`) — Zero-based starting column inside a Grid or tab panel.
|
|
46
|
-
- **`row`** `number` (default: `0`) — Zero-based starting row inside a Grid or tab panel.
|
|
47
|
-
- **`columns`** `number` (default: `12`, clamped to the parent) — Width in the immediate parent's available columns and the capacity exposed to this container's children.
|
|
48
|
-
- **`rows`** `number` (default: `1`) — Reserved height in content rows.
|
|
49
|
-
- **`isSelectable`** `boolean` (default: `true`) — Whether the container participates in selection.
|
|
50
|
-
- **`isMovable`** `boolean` (default: `false`) — Makes the non-action area of the container draggable when `onPlacementChange` is supplied.
|
|
51
|
-
- **`isResizable`** `boolean` (default: `false`) — Makes a context-sensitive resize handle available after the container is selected when `onPlacementChange` is supplied.
|
|
52
|
-
- **`minColumns`** `number` (default: `1`) — Explicit minimum width; occupied child bounds may raise it.
|
|
53
|
-
- **`maxColumns`** `number` (default: `12`, clamped to the parent) — Maximum nested-container width.
|
|
54
|
-
- **`minRows`** `number` (default: `1`) — Explicit minimum height; occupied child bounds may raise it.
|
|
55
|
-
- **`maxRows`** `number` (default: `12` at root or parent rows when nested) — Maximum container height.
|
|
56
|
-
- **`onPlacementChange`** `(placement, info) => void` — Reports preview and committed container movement/resizing. Every placement Dashboard resolved for the gesture — the grabbed group and any displaced sibling — arrives through `info.items`.
|
|
57
|
-
- **`moveLabel`** `string` — Accessible name for the focused movable container.
|
|
58
|
-
- **`resizeLabel`** `string` — Accessible label for the container resize handle.
|
|
59
|
-
- **`onSettingsPress`** `() => void` — Adds Settings to the container's action menu.
|
|
60
|
-
- **`settingsLabel`** `string` — Label for the settings menu item.
|
|
61
|
-
- **`onDuplicatePress`** `() => void` — Adds Duplicate to the menu. Opt-in: without it the item is absent.
|
|
62
|
-
- **`duplicateLabel`** `string` — Label for the duplicate menu item.
|
|
63
|
-
- **`onDeletePress`** `() => void` — Adds the danger-themed Delete to the menu.
|
|
64
|
-
- **`deleteLabel`** `string` — Label for the delete menu item.
|
|
65
|
-
- **`actions`** `readonly DashboardNodeAction[]` — Consumer menu items, placed between the standard actions and the size commands. Each carries `id`, `name`, and optional `icon`, `description`, and `isDisabled`.
|
|
66
|
-
- **`onMenuAction`** `(key: string) => void` — Receives the `id` of a pressed consumer item.
|
|
67
|
-
- **`aria-label`** `string` — Accessible name; falls back to a string title and then the id.
|
|
68
|
-
|
|
69
|
-
### Tabs
|
|
70
|
-
|
|
71
|
-
- **`activeKey`** `string` — Controlled active tab id.
|
|
72
|
-
- **`defaultActiveKey`** `string` — Initially active tab id for uncontrolled usage.
|
|
73
|
-
- **`onActiveChange`** `(key: string) => void` — Called when the active tab changes.
|
|
74
|
-
|
|
75
|
-
Tabs is root-only. Its tab strip ends with a delimiter and keeps a `1x` gap before the active layout. Each tab is a separate, layout-less 12-column destination and therefore accepts exactly one Grid, HorizontalStack, or VerticalStack container as its layout root. An empty tab shows its add button permanently; a populated tab has no additional tab-level insertion point. Widgets cannot be direct tab children.
|
|
76
|
-
|
|
77
|
-
### Tab
|
|
78
|
-
|
|
79
|
-
- **`id`** `string` (required) — Stable tab id.
|
|
80
|
-
- **`title`** `ReactNode` (required) — Tab label.
|
|
81
|
-
- **`keepMounted`** `boolean` (default: `true`) — Whether the panel remains mounted while inactive.
|
|
82
|
-
|
|
83
|
-
### Widget
|
|
84
|
-
|
|
85
|
-
- **`id`** `string` (required) — Stable layout and selection identity.
|
|
86
|
-
- **`column`** `number` (default: `0`) — Zero-based starting column inside a Grid or tab panel.
|
|
87
|
-
- **`row`** `number` (default: `0`) — Zero-based starting row inside a Grid or tab panel.
|
|
88
|
-
- **`columns`** `number` (default: `12`, clamped to the parent) — Width in the immediate parent's available columns.
|
|
89
|
-
- **`rows`** `number` (default: `1`) — Reserved height in content rows.
|
|
90
|
-
- **`isCard`** `boolean` (default: `false`) — Adds the widget's outside card shadow. Widgets remain rounded by default.
|
|
91
|
-
- **`isSelectable`** `boolean` (default: `true`) — Whether the widget participates in selection.
|
|
92
|
-
- **`isMovable`** `boolean` (default: `false`) — Makes the non-action area of the widget draggable when `onPlacementChange` is supplied.
|
|
93
|
-
- **`isResizable`** `boolean` (default: `false`) — Makes a resize handle available after the widget is selected when at least one configured size axis can change.
|
|
94
|
-
- **`minColumns`** `number` (default: `1`) — Minimum widget width in columns.
|
|
95
|
-
- **`maxColumns`** `number` (default: `12`, clamped to the parent) — Maximum widget width in columns.
|
|
96
|
-
- **`minRows`** `number` (default: `1`) — Minimum widget height in rows.
|
|
97
|
-
- **`maxRows`** `number` (default: parent row count) — Maximum widget height in rows.
|
|
98
|
-
- **`onPlacementChange`** `(placement, info) => void` — Reports preview and committed movement/resizing. Every placement Dashboard resolved for the gesture — the grabbed group and any displaced sibling — arrives through `info.items`; the consumer owns layout state and persistence.
|
|
99
|
-
- **`moveLabel`** `string` — Accessible name for the focused movable widget.
|
|
100
|
-
- **`resizeLabel`** `string` — Accessible label for the resize handle.
|
|
101
|
-
- **`onSettingsPress`** `() => void` — Adds Settings to the widget's action menu.
|
|
102
|
-
- **`settingsLabel`** `string` — Label for the settings menu item.
|
|
103
|
-
- **`onDuplicatePress`** `() => void` — Adds Duplicate to the menu. Opt-in: without it the item is absent.
|
|
104
|
-
- **`duplicateLabel`** `string` — Label for the duplicate menu item.
|
|
105
|
-
- **`onDeletePress`** `() => void` — Adds the danger-themed Delete to the menu.
|
|
106
|
-
- **`deleteLabel`** `string` — Label for the delete menu item.
|
|
107
|
-
- **`actions`** `readonly DashboardNodeAction[]` — Consumer menu items, placed between the standard actions and the size commands.
|
|
108
|
-
- **`onMenuAction`** `(key: string) => void` — Receives the `id` of a pressed consumer item.
|
|
109
|
-
- **`aria-label`** `string` — Accessible widget name; falls back to the id.
|
|
110
|
-
|
|
111
|
-
### Node action menu
|
|
112
|
-
|
|
113
|
-
A selected widget or container exposes one round menu button in its top-right corner, holding — in order — Settings, Duplicate, the consumer's own `actions`, the size commands, and Delete. The button appears only when the node has at least one action or one available size command.
|
|
114
|
-
|
|
115
|
-
The size commands are Widen, Narrow, Make taller, Make shorter, Grow on both axes, Shrink on both axes, and Fill available space. They require `onPlacementChange` and cover only the axes that can actually change — a VerticalStack child cannot change columns, a HorizontalStack child cannot change rows, and a node whose own minimum equals its maximum on both axes gets no size section at all. Each remaining command is disabled when pressing it would change nothing — because the node is at a bound, because the parent has no room left at its origin, or because a sibling occupies the space. Occupancy is read when the menu opens, not on every render. A container's shrink commands additionally respect the minimum derived from its own children.
|
|
116
|
-
|
|
117
|
-
A size command reports through the same `onPlacementChange` contract as the resize handle: one call with `reason: 'resize'`, `phase: 'commit'`, and `input: 'command'`. Note that it is a commit with **no preview behind it** — a consumer that applies previews during a drag and only announces the commit still has to write this one, which `input === 'command'` identifies. The commands are also the accessible route to resizing.
|
|
118
|
-
|
|
119
|
-
### Base Properties
|
|
120
|
-
|
|
121
|
-
Supports [Base properties](../../BaseProperties.md).
|
|
122
|
-
|
|
123
|
-
### Styling Properties
|
|
124
|
-
|
|
125
|
-
The root, containers, and widgets accept `styles` plus direct container style props. Widget styles apply to the rounded content surface; placement remains controlled by Dashboard.
|
|
126
|
-
|
|
127
|
-
### Style Properties
|
|
128
|
-
|
|
129
|
-
These properties allow direct style application without using the `styles` prop:
|
|
130
|
-
|
|
131
|
-
- **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
|
|
132
|
-
- **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
|
|
133
|
-
- **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
|
|
134
|
-
- **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
|
|
135
|
-
- **Color:** `color`, `fill`, `fade`, `image`
|
|
136
|
-
- **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
|
|
137
|
-
|
|
138
|
-
### Modifiers
|
|
139
|
-
|
|
140
|
-
Dashboard owns these visual modifiers. Consumer `mods` are merged underneath them.
|
|
141
|
-
|
|
142
|
-
| Modifier | Applies to | Description |
|
|
143
|
-
| --- | --- | --- |
|
|
144
|
-
| `selected` | Container and Widget | Draws the selected treatment. |
|
|
145
|
-
| `hovered` | Container and Widget | Draws the hover treatment. |
|
|
146
|
-
| `arriving` | Container | Briefly reveals a container mounted after the initial layout. |
|
|
147
|
-
| `empty` | Container | Keeps an empty container's neutral outline visible while editing. |
|
|
148
|
-
| `focus-within` | Container and Widget | Keeps controls and chrome visible for keyboard users. |
|
|
149
|
-
| `editing` | Container and Widget | Enables authoring chrome. |
|
|
150
|
-
| `dragging` | Container and Widget | Reveals every container with a neutral one-pixel boundary while any node is moving. |
|
|
151
|
-
| `movable` | Container and Widget | Enables the surface grab cursor. |
|
|
152
|
-
| `moving` | Container and Widget | Gives the node that owns the active move its two-pixel brand boundary. |
|
|
153
|
-
| `resizing` | Container and Widget | Indicates the node that owns the active resize. |
|
|
154
|
-
| `depth` | Container | Selects depth-one, depth-two, or depth-three chrome. |
|
|
155
|
-
| `titled` | Tabs | Reserves an optional heading above the tab list. |
|
|
156
|
-
| `card` | Widget | Draws the opt-in card shadow. |
|
|
157
|
-
|
|
158
|
-
Containers have no visible fill or CSS border. At rest, a populated container has no boundary, while an empty container keeps a neutral outline visible in edit mode. All chrome uses a rounded outside shadow: hover, resize, emptiness, and arrival use a neutral one-pixel boundary; selection and the actively moved container use a two-pixel brand boundary. While any node is moving, every other container receives the neutral boundary so destinations remain legible without appearing selected. A container mounted after the initial layout keeps its boundary for one second. The arrival treatment covers both newly added containers and containers reparented by a cross-container move, including the case where the stationary pointer is already inside the new surface. Each depth balances padding with an equal negative margin (`8px`, `5px`, then `2px`), keeping child grid tracks aligned to the parent's top-left origin while the selectable container box protrudes into the surrounding gap.
|
|
159
|
-
|
|
160
|
-
The widget placement wrapper never paints a border or outline. All widget chrome follows the rounded surface: `isCard` draws its resting one-pixel boundary with an outside shadow, keyboard focus uses a rounded focus shadow, and selection or active movement replaces either treatment with a two-pixel `#primary` brand shadow. The surface itself has no CSS border.
|
|
161
|
-
|
|
162
|
-
## Examples
|
|
163
|
-
|
|
164
|
-
### Registered authoring items
|
|
165
|
-
|
|
166
|
-
Dashboard owns the contextual controls and fit checks, while the consumer owns the catalog metadata and layout mutation. `kind` defaults to `widget`; container definitions use `grid`, `horizontal-stack`, `vertical-stack`, or `tabs`. The callback receives the exact cell chosen by the user rather than asking the consumer to scan for a vacancy again.
|
|
167
|
-
|
|
168
|
-
```jsx
|
|
169
|
-
const addItems = [
|
|
170
|
-
{
|
|
171
|
-
id: 'compact',
|
|
172
|
-
name: 'Compact KPI',
|
|
173
|
-
description: 'Fixed 1×1',
|
|
174
|
-
defaultColumns: 1,
|
|
175
|
-
defaultRows: 1,
|
|
176
|
-
minColumns: 1,
|
|
177
|
-
maxColumns: 1,
|
|
178
|
-
minRows: 1,
|
|
179
|
-
maxRows: 1,
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
id: 'wide',
|
|
183
|
-
name: 'Wide metric',
|
|
184
|
-
defaultColumns: 2,
|
|
185
|
-
defaultRows: 1,
|
|
186
|
-
minColumns: 2,
|
|
187
|
-
maxColumns: 6,
|
|
188
|
-
minRows: 1,
|
|
189
|
-
maxRows: 1,
|
|
190
|
-
},
|
|
191
|
-
{ id: 'grid', name: 'Grid', kind: 'grid', defaultColumns: 12, defaultRows: 3 },
|
|
192
|
-
];
|
|
193
|
-
|
|
194
|
-
<Dashboard
|
|
195
|
-
isEditing
|
|
196
|
-
addItems={addItems}
|
|
197
|
-
onAddItem={(itemId, { parentId, placement, tabsId, tabId }) => {
|
|
198
|
-
insertLayoutItem({ itemId, parentId, placement, tabsId, tabId });
|
|
199
|
-
}}
|
|
200
|
-
>
|
|
201
|
-
{renderLayout(layout)}
|
|
202
|
-
</Dashboard>;
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Dashboard applies the following contextual filtering before the menu opens:
|
|
206
|
-
|
|
207
|
-
- The root offers registered container kinds only and always keeps one add button after the top-level content.
|
|
208
|
-
- Grid offers every widget or nestable container that fits the hovered vacant origin.
|
|
209
|
-
- HorizontalStack and VerticalStack expose only their single trailing insertion point.
|
|
210
|
-
- An empty tab offers Grid, HorizontalStack, and VerticalStack only; Tabs and widgets are disabled there.
|
|
211
|
-
- Nestable containers are disabled when adding them would exceed depth three.
|
|
212
|
-
- `isDisabled` lets product logic disable a type in addition to Dashboard's geometric checks.
|
|
213
|
-
|
|
214
|
-
### Basic grid
|
|
215
|
-
|
|
216
|
-
```jsx
|
|
217
|
-
import { Dashboard } from '@cube-dev/ui-kit';
|
|
218
|
-
|
|
219
|
-
<Dashboard rowHeight={72} gap={16}>
|
|
220
|
-
<Dashboard.Grid id="overview" aria-label="Overview" rows={2}>
|
|
221
|
-
<Dashboard.Widget
|
|
222
|
-
id="revenue"
|
|
223
|
-
column={0}
|
|
224
|
-
row={0}
|
|
225
|
-
columns={4}
|
|
226
|
-
rows={1}
|
|
227
|
-
isCard
|
|
228
|
-
>
|
|
229
|
-
<RevenueMetric />
|
|
230
|
-
</Dashboard.Widget>
|
|
231
|
-
<Dashboard.Widget
|
|
232
|
-
id="trend"
|
|
233
|
-
column={4}
|
|
234
|
-
row={0}
|
|
235
|
-
columns={8}
|
|
236
|
-
rows={2}
|
|
237
|
-
isCard
|
|
238
|
-
>
|
|
239
|
-
<RevenueChart />
|
|
240
|
-
</Dashboard.Widget>
|
|
241
|
-
</Dashboard.Grid>
|
|
242
|
-
</Dashboard>;
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### Nested containers
|
|
246
|
-
|
|
247
|
-
```jsx
|
|
248
|
-
<Dashboard>
|
|
249
|
-
<Dashboard.Grid id="root-section" rows={2}>
|
|
250
|
-
<Dashboard.VerticalStack
|
|
251
|
-
id="metrics"
|
|
252
|
-
column={0}
|
|
253
|
-
row={0}
|
|
254
|
-
columns={5}
|
|
255
|
-
rows={2}
|
|
256
|
-
>
|
|
257
|
-
<Dashboard.Widget id="orders" rows={1} isCard>
|
|
258
|
-
<OrdersMetric />
|
|
259
|
-
</Dashboard.Widget>
|
|
260
|
-
<Dashboard.Widget id="customers" rows={1} isCard>
|
|
261
|
-
<CustomersMetric />
|
|
262
|
-
</Dashboard.Widget>
|
|
263
|
-
</Dashboard.VerticalStack>
|
|
264
|
-
</Dashboard.Grid>
|
|
265
|
-
</Dashboard>
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Consumer-owned settings panel
|
|
269
|
-
|
|
270
|
-
```jsx
|
|
271
|
-
const [settingsId, setSettingsId] = useState(null);
|
|
272
|
-
|
|
273
|
-
return (
|
|
274
|
-
<div style={{ position: 'relative' }}>
|
|
275
|
-
<Dashboard>
|
|
276
|
-
<Dashboard.Grid id="main" rows={2}>
|
|
277
|
-
<Dashboard.Widget
|
|
278
|
-
id="trend"
|
|
279
|
-
columns={12}
|
|
280
|
-
rows={2}
|
|
281
|
-
isCard
|
|
282
|
-
settingsLabel="Settings for revenue trend"
|
|
283
|
-
onSettingsPress={() => setSettingsId('trend')}
|
|
284
|
-
>
|
|
285
|
-
<RevenueChart />
|
|
286
|
-
</Dashboard.Widget>
|
|
287
|
-
</Dashboard.Grid>
|
|
288
|
-
</Dashboard>
|
|
289
|
-
{settingsId ? <Panel isFloating>{/* settings form */}</Panel> : null}
|
|
290
|
-
</div>
|
|
291
|
-
);
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Controlled movement and resizing
|
|
295
|
-
|
|
296
|
-
Dashboard quantizes pointer and keyboard gestures to whole grid units, applies the node's bounds, and reports the proposed placement. A move starts from any point on a movable widget or container except buttons, inputs, links, tabs, resize grips, and descendants marked with `data-dashboard-no-move`. The consumer accepts a placement by writing it to state, which keeps persistence — and the final say — outside the component. Collision resolution is Dashboard's: it reports placements that already account for the occupants in the destination.
|
|
297
|
-
|
|
298
|
-
```jsx
|
|
299
|
-
const [placement, setPlacement] = useState({
|
|
300
|
-
column: 0,
|
|
301
|
-
row: 0,
|
|
302
|
-
columns: 2,
|
|
303
|
-
rows: 1,
|
|
304
|
-
});
|
|
305
|
-
|
|
306
|
-
<Dashboard rowHeight={96} gap={16}>
|
|
307
|
-
<Dashboard.Grid id="editor" rows={6}>
|
|
308
|
-
<Dashboard.Widget
|
|
309
|
-
id="revenue"
|
|
310
|
-
{...placement}
|
|
311
|
-
minColumns={2}
|
|
312
|
-
maxColumns={6}
|
|
313
|
-
minRows={1}
|
|
314
|
-
maxRows={1}
|
|
315
|
-
isMovable
|
|
316
|
-
isResizable
|
|
317
|
-
moveLabel="Move revenue"
|
|
318
|
-
resizeLabel="Resize revenue"
|
|
319
|
-
onPlacementChange={(nextPlacement) => {
|
|
320
|
-
if (!collides(nextPlacement)) {
|
|
321
|
-
setPlacement(nextPlacement);
|
|
322
|
-
}
|
|
323
|
-
}}
|
|
324
|
-
>
|
|
325
|
-
<RevenueMetric />
|
|
326
|
-
</Dashboard.Widget>
|
|
327
|
-
</Dashboard.Grid>
|
|
328
|
-
</Dashboard>;
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
`info.phase` is `'preview'` while a gesture is active and `'commit'` when it ends. `info.reason` identifies a move or resize, and `info.input` is `'pointer'`, `'keyboard'`, or `'command'` for a size command pressed in the node menu.
|
|
332
|
-
|
|
333
|
-
Dashboard resolves occupancy before it reports. `info.items` carries every placement the resolution produced, `info.displaced` carries only the siblings Dashboard moved out of the way, and `info.isBlocked` is `true` when no resolution exists — the destination shows the danger placeholder and the consumer should reject the proposal. In a Grid, a single blocker is swapped into the box the moving node vacated; in a stack, the affected siblings are reflowed around the insertion point. A consumer applies `info.items` (plus `info.displaced`) verbatim and can still refuse a proposal simply by not writing it. When a pointer crosses into another container, the move proposal is expressed in that destination's local coordinates and `info.sourceParentId` plus `info.destinationParentId` identify the atomic tree transfer. The destination id is `null` for the Dashboard root. Those fields are omitted for movement within one parent and for resizing.
|
|
334
|
-
|
|
335
|
-
Containers use the same controlled placement callback for movement and resizing. Inside one parent, a top-level container moves vertically, a HorizontalStack child horizontally, a VerticalStack child vertically, and Grid children on both axes. A tab panel holds one layout root and primarily acts as a cross-parent origin or destination. When a node enters a HorizontalStack, its proposed `rows` expands to the lesser of the stack height and its `maxRows`; when it enters a VerticalStack, its proposed `columns` expands to the lesser of the stack width and its `maxColumns`. A node that reaches its constraint before filling the cross axis remains aligned to the top in HorizontalStack or the left in VerticalStack. Pointer movement may also target the deepest valid container under the pointer. Widgets cannot target the Dashboard root or a tab panel, Tabs cannot target a nested container, and containers cannot target themselves, descendants, or a fourth nesting level. Keyboard movement remains within the immediate parent. A root container resizes vertically; a nested container resizes on the axes its parent layout permits. Dashboard derives a minimum from the occupied bounds of direct children, so a container cannot be resized across existing content. A nested container's current `columns` and `rows` are its child capacity; child placement and resizing are clamped to those bounds and never grow the parent.
|
|
336
|
-
|
|
337
|
-
```jsx
|
|
338
|
-
<Dashboard.Grid
|
|
339
|
-
id="section"
|
|
340
|
-
aria-label="Section"
|
|
341
|
-
rows={4}
|
|
342
|
-
maxRows={10}
|
|
343
|
-
isResizable
|
|
344
|
-
onPlacementChange={setSectionPlacement}
|
|
345
|
-
>
|
|
346
|
-
{children}
|
|
347
|
-
</Dashboard.Grid>
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
## Selection
|
|
351
|
-
|
|
352
|
-
Plain click selects one node. Shift-click, Command-click, or Control-click toggles sibling nodes in `multiple` mode. A descendant cannot be added while its ancestor is selected, and items from different immediate parents cannot form a multi-selection. Clicking Dashboard whitespace outside every widget and container clears the selection.
|
|
353
|
-
|
|
354
|
-
Use controlled selection when another editor surface needs to coordinate with Dashboard:
|
|
355
|
-
|
|
356
|
-
```jsx
|
|
357
|
-
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
358
|
-
|
|
359
|
-
<Dashboard
|
|
360
|
-
selectedKeys={selectedKeys}
|
|
361
|
-
onSelectionChange={setSelectedKeys}
|
|
362
|
-
>
|
|
363
|
-
{/* containers */}
|
|
364
|
-
</Dashboard>;
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
## Accessibility
|
|
368
|
-
|
|
369
|
-
### Keyboard Navigation
|
|
370
|
-
|
|
371
|
-
- `Tab` moves among selectable nodes and their interactive contents.
|
|
372
|
-
- `Space` selects a focused Dashboard node.
|
|
373
|
-
- Arrow keys on a focused movable widget or container move it by one unit on the axes its parent permits.
|
|
374
|
-
- Selecting a widget or container reveals its action menu button and resize grip and adds them to the keyboard sequence. The menu button sits in the top-right corner and holds the node's size commands, which are the accessible equivalent of the resize gesture.
|
|
375
|
-
- Arrow keys on a focused resize handle resize the selected widget or container by one column or row on its available axes.
|
|
376
|
-
- `Shift` with the arrow keys on a focused Grid add button claims an insertion area; `Enter` opens the menu for it.
|
|
377
|
-
- `Escape` during a pointer move, a pointer resize, or an add-region claim cancels the gesture and leaves the layout untouched.
|
|
378
|
-
- Menu buttons and Tabs retain their standard keyboard behavior.
|
|
379
|
-
|
|
380
|
-
### Screen Reader Support
|
|
381
|
-
|
|
382
|
-
Containers and widgets are named groups with descriptive role descriptions. Supply meaningful `aria-label` values for non-text titles and user-visible widgets. `settingsLabel` should describe the target, for example “Settings for revenue trend”.
|
|
383
|
-
|
|
384
|
-
### Interaction Scope
|
|
385
|
-
|
|
386
|
-
This release supplies surface-based pointer and keyboard movement, cross-container pointer destinations, selected-sibling pointer groups, controlled resizing, node menus with discrete size commands, contextual free-cell affordances, claimed add regions, and registered add menus. A pointer move tries every container under the pointer from the deepest outward and lands in the first one that can take the geometry, rather than dead-ending on the deepest; candidate geometry is snapshotted once per gesture, so applying previews to layout state cannot feed back into the hit test. Dashboard renders one destination placeholder per moving item: primary when the landing is available, danger — with an icon, not colour alone — when occupancy blocks the drop, and no placeholder when the destination cannot satisfy the minimum geometry. If that placeholder covers Dashboard's add slot, Dashboard temporarily hides the add control so the two affordances never overlap. Cross-parent previews keep the source mounted for the active gesture, then atomically remove and insert a single item or selected sibling group on commit.
|
|
387
|
-
|
|
388
|
-
Node chrome — the action menu, the resize grip, and the drop placeholders — is ordered inside a single stacking context that Dashboard opens at its root, so it paints above every node body at every depth, including the node being dragged and any add slot in an adjacent cell.
|
|
389
|
-
|
|
390
|
-
## Best Practices
|
|
391
|
-
|
|
392
|
-
1. Keep every id stable across renders and persistence cycles.
|
|
393
|
-
2. Express placement relative to the immediate parent, not the root.
|
|
394
|
-
3. Use `isCard` for widgets that need an outside boundary; rounding is already provided.
|
|
395
|
-
4. Keep layout state, widget rendering, data configuration, and settings panels in consumer code; pass catalog names and size constraints through `addItems` so Dashboard can provide consistent contextual menus. Apply `info.items` and `info.displaced` as reported instead of recomputing collisions.
|
|
396
|
-
5. Do not nest `Dashboard.Tabs`; Tabs is root-only.
|
|
397
|
-
6. Hide nested-container actions at depth three rather than allowing Dashboard's development error to become an authoring dead end.
|
|
398
|
-
|
|
399
|
-
## Suggested Improvements
|
|
400
|
-
|
|
401
|
-
- Add a compact floating group preview and source-vacancy placeholders.
|
|
402
|
-
- Add spring-loaded tab switching, so a drag can enter an inactive tab panel.
|
|
403
|
-
- Give the resize handle full `separator` semantics: `aria-valuenow`/`min`/`max`, Home/End, and a Shift-accelerated step.
|
|
404
|
-
- Add an optional consumer hook for product-specific availability rules that depend on the destination, beyond the static `isDisabled` flag.
|
|
405
|
-
|
|
406
|
-
## Related Components
|
|
407
|
-
|
|
408
|
-
- [Panel](./Panel.md) — A consumer-owned surface for widget settings.
|
|
409
|
-
- [Tabs](../navigation/Tabs.md) — The tab primitive composed by `Dashboard.Tabs`.
|