@cube-dev/ui-kit 0.157.3 → 0.159.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +155 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- 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.js +10 -4
- 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/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.d.ts +7 -0
- package/dist/components/content/Item/Item.js +13 -6
- package/dist/components/content/Item/Item.js.map +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 +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 +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 +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/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 +14 -14
- 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 +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +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 +41 -32
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +82 -24
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/DataTable/types.d.ts +56 -1
- package/dist/components/data/ItemTable/ItemTable.js +13 -5
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +3 -7
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +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/types.d.ts +19 -0
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +5 -3
- package/dist/components/data/TableBase/RowCollection.js.map +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +115 -0
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -0
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +195 -33
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/column-menu.d.ts +36 -0
- package/dist/components/data/TableBase/column-menu.js +104 -0
- package/dist/components/data/TableBase/column-menu.js.map +1 -0
- package/dist/components/data/TableBase/column-tint.js +168 -0
- package/dist/components/data/TableBase/column-tint.js.map +1 -0
- package/dist/components/data/TableBase/index.d.ts +3 -2
- package/dist/components/data/TableBase/row-menu.js +11 -6
- package/dist/components/data/TableBase/row-menu.js.map +1 -1
- package/dist/components/data/TableBase/styled.js +45 -16
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/types.d.ts +104 -6
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/types.js.map +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +100 -0
- package/dist/components/data/TableBase/use-column-order.js.map +1 -0
- 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 +24 -2
- package/dist/components/data/TableBase/use-table-columns.js.map +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 +20 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +40 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.d.ts +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +6 -2
- package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
- package/dist/components/data/index.d.ts +2 -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/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +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 +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 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/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 +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/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorSwatch.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +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.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/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 +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/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/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.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/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/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +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/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 +13 -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 +5 -1
- package/dist/i18n/locales/en-US/uikit.js +5 -1
- package/dist/i18n/locales/en-US/uikit.json.d.ts +4 -0
- package/dist/i18n/locales/es-ES/uikit.js +5 -1
- package/dist/i18n/locales/es-MX/uikit.js +5 -1
- package/dist/i18n/locales/fr-FR/uikit.js +5 -1
- package/dist/i18n/locales/it-IT/uikit.js +5 -1
- package/dist/i18n/locales/ja-JP/uikit.js +5 -1
- package/dist/i18n/locales/nb-NO/uikit.js +5 -1
- package/dist/i18n/locales/pt-BR/uikit.js +5 -1
- package/dist/i18n/locales/pt-PT/uikit.js +5 -1
- package/dist/i18n/locales/sv-SE/uikit.js +5 -1
- package/dist/i18n/locales/vi-VN/uikit.js +5 -1
- 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.d.ts +12 -0
- package/dist/icons/ArrowNarrowDownIcon.js +11 -0
- package/dist/icons/ArrowNarrowDownIcon.js.map +1 -0
- package/dist/icons/ArrowNarrowUpIcon.d.ts +12 -0
- package/dist/icons/ArrowNarrowUpIcon.js +11 -0
- package/dist/icons/ArrowNarrowUpIcon.js.map +1 -0
- 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 +2 -0
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +7 -2
- package/dist/index.js.map +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/base.js +1 -1
- package/dist/tokens/color-theme.d.ts +86 -0
- package/dist/tokens/color-theme.js +156 -0
- package/dist/tokens/color-theme.js.map +1 -0
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.d.ts +1 -0
- package/dist/tokens/index.js +2 -1
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.d.ts +1 -1
- package/dist/tokens/palette-config.js +17 -5
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.d.ts +1 -1
- package/dist/tokens/palette.js +44 -2
- package/dist/tokens/palette.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/index.d.ts +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.d.ts +49 -0
- package/dist/utils/react/disabledProps.js +82 -0
- package/dist/utils/react/disabledProps.js.map +1 -0
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +1 -0
- package/dist/utils/react/index.js +2 -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/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/Theming.md +20 -13
- package/docs/components/actions/Button.md +17 -0
- package/docs/components/content/Item.md +8 -1
- package/docs/components/data/DataTable.md +118 -2
- package/docs/components/data/ItemTable.md +37 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "./utils/styles.js";
|
|
3
3
|
import { chain } from "./utils/react/chain.js";
|
|
4
|
+
import { getDisabledElementProps, omitActivationEventProps } from "./utils/react/disabledProps.js";
|
|
4
5
|
import { forwardRefWithGenerics } from "./utils/react/forwardRefWithGenerics.js";
|
|
5
6
|
import { isTextOnly } from "./utils/react/isTextOnly.js";
|
|
6
7
|
import { useLayoutEffect } from "./utils/react/useLayoutEffect.js";
|
|
@@ -57,6 +58,8 @@ import { AdjustmentsHorizontalIcon } from "./icons/AdjustmentsHorizontalIcon.js"
|
|
|
57
58
|
import { AdjustmentsIcon } from "./icons/AdjustmentsIcon.js";
|
|
58
59
|
import { AiIcon } from "./icons/AiIcon.js";
|
|
59
60
|
import { AreaChartIcon } from "./icons/AreaChartIcon.js";
|
|
61
|
+
import { ArrowNarrowDownIcon } from "./icons/ArrowNarrowDownIcon.js";
|
|
62
|
+
import { ArrowNarrowUpIcon } from "./icons/ArrowNarrowUpIcon.js";
|
|
60
63
|
import { BackwardIcon } from "./icons/BackwardIcon.js";
|
|
61
64
|
import { BarChartIcon } from "./icons/BarChartIcon.js";
|
|
62
65
|
import { BellFilledIcon } from "./icons/BellFilledIcon.js";
|
|
@@ -230,6 +233,7 @@ import { LAYOUT_TOKENS } from "./tokens/layout.js";
|
|
|
230
233
|
import { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from "./tokens/sizes.js";
|
|
231
234
|
import { SPACE_TOKENS } from "./tokens/spacing.js";
|
|
232
235
|
import { TYPOGRAPHY_PRESETS } from "./tokens/typography.js";
|
|
236
|
+
import { colorThemeSeed, getColorTheme, useColorTheme } from "./tokens/color-theme.js";
|
|
233
237
|
import { TOKENS, getTokens } from "./tokens/index.js";
|
|
234
238
|
import { DialogContainer } from "./components/overlays/Dialog/DialogContainer.js";
|
|
235
239
|
import { Content } from "./components/content/Content.js";
|
|
@@ -294,6 +298,7 @@ import { chainRaf } from "./utils/raf.js";
|
|
|
294
298
|
import { Tab, Tabs } from "./components/navigation/Tabs/Tabs.js";
|
|
295
299
|
import { clampPage, getPageInfo, getPaginationRange, usePagination } from "./components/navigation/Pagination/use-pagination.js";
|
|
296
300
|
import { _Pagination } from "./components/navigation/Pagination/Pagination.js";
|
|
301
|
+
import { COLUMN_MENU_SORT_KEYS, columnSortMenu } from "./components/data/TableBase/column-menu.js";
|
|
297
302
|
import { _DataTable } from "./components/data/DataTable/DataTable.js";
|
|
298
303
|
import { TextInput, useTextField } from "./components/fields/TextInput/TextInput.js";
|
|
299
304
|
import { SearchInput, useSearchField, useSearchFieldState } from "./components/fields/SearchInput/SearchInput.js";
|
|
@@ -365,5 +370,5 @@ const Typography = {
|
|
|
365
370
|
};
|
|
366
371
|
|
|
367
372
|
//#endregion
|
|
368
|
-
export { Action, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, AreaChartIcon, Avatar, BASE_TOKENS, BOARD_SELECTION_CANCEL, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerLink, BarChartIcon, BellFilledIcon, BellIcon, Block, Board, BoardProvider, BoardResponsive, Widget as BoardWidget, BooleanIcon, Button, ButtonGroup, ButtonSplit, ButtonSplitContext, COLOR_FORMATS, COLOR_SPACES, COLOR_TOKENS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, ColorInput, ColorPicker, ColorSwatch, ColorSwatchGroup, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, _CommandTextArea as CommandTextArea, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeFullLogo, CubeIcon, CubeLogo, CubePauseIcon, CubePlayIcon, CurrencyDollarIcon, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, _DataTable as DataTable, DatabaseIcon, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, DirectionIcon, _Disclosure as Disclosure, DisplayTransition, Divider, DonutIcon, DownIcon, EditIcon, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldWrapper, _FileInput as FileInput, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormContext, ForwardIcon, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, I18nProvider, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, IconSwitch, InfoBadge, InfoCircleIcon, InfoIcon, InlineInput, Input, _Item as Item, ItemAction, ItemActionProvider, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, _ItemTable as ItemTable, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuItem, MenuSection, _MenuTrigger as MenuTrigger, _MonthPicker as MonthPicker, MoreIcon, NotAllowedIcon, Notification, NotificationAction, NotificationCard, NotificationItem, Number123Icon, NumberIcon, _NumberInput as NumberInput, OverlayProvider, PALETTE_TOKENS, _Pagination as Pagination, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, _PeriodPicker as PeriodPicker, PersistentNotificationsList, Picker, PieChartIcon, PipetteIcon, Placeholder, PlayCircleIcon, PlayIcon, PlusIcon, Portal, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, Provider, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, ReloadIcon, RenderCache, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, SearchComboBox, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, Skeleton, SlashIcon, __Slider as Slider, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, _Switch as Switch, SwitchIcon, TOKENS, TYPOGRAPHY_PRESETS, Tab, TableIcon, Tabs, TabsAction, _Tag as Tag, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, Toast, ToastItem, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, Translation, TrashIcon, Tree, Typography, UIKIT_I18N_NAMESPACE, UnlockIcon, UpIcon, UserGroupIcon, UserIcon, UserLockIcon, ValidationIndicator, ViewIcon, WarningFilledIcon, WarningIcon, _WeekPicker as WeekPicker, _YearPicker as YearPicker, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, clampPage, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatPeriod, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTokens, getCompactor, getI18n, getPageInfo, getPaginationRange, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getQuarter, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, getWeekNumber, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, snapToPeriod, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useBufferedValue, useButtonSplitContext, useCheckbox, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePagination, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
373
|
+
export { Action, _ActiveZone as ActiveZone, AdjustmentsHorizontalIcon, AdjustmentsIcon, AiIcon, Alert, _AlertDialog as AlertDialog, AreaChartIcon, ArrowNarrowDownIcon, ArrowNarrowUpIcon, Avatar, BASE_TOKENS, BOARD_SELECTION_CANCEL, BackwardIcon, _Badge as Badge, Banner, BannerAction, BannerLink, BarChartIcon, BellFilledIcon, BellIcon, Block, Board, BoardProvider, BoardResponsive, Widget as BoardWidget, BooleanIcon, Button, ButtonGroup, ButtonSplit, ButtonSplitContext, COLOR_FORMATS, COLOR_SPACES, COLOR_TOKENS, COLUMN_MENU_SORT_KEYS, CalendarEditIcon, CalendarIcon, Card, CaretDownIcon, CaretUpIcon, ChartAreaStackedIcon, ChartAreaStackedPercentageIcon, ChartBarGroupedHorizontalIcon, ChartBarGroupedIcon, ChartBarHorizontalIcon, ChartBarLineIcon, ChartBarStackedHorizontalIcon, ChartBarStackedIcon, ChartBarStackedPercentageHorizontalIcon, ChartBarStackedPercentageIcon, ChartBoxPlot2Icon, ChartBoxPlotIcon, ChartBubbleIcon, ChartDonut2Icon, ChartFunnelIcon, ChartHeatmapIcon, ChartKPIIcon, ChartPie2Icon, ChartScatterIcon, CheckCircleFilledIcon, CheckCircleIcon, CheckIcon, __Checkbox as Checkbox, _CheckboxGroup as CheckboxGroup, CircleFilledIcon, ClearIcon, ClearSlots, CloseCircleFilledIcon, CloseCircleIcon, CloseIcon, CodeIcon, _CollectionItem as CollectionItem, ColorInput, ColorPicker, ColorSwatch, ColorSwatchGroup, ColumnTotalIcon, ComboBox, __CommandMenu as CommandMenu, _CommandTextArea as CommandTextArea, Content, CopyIcon, _CopyPasteBlock as CopyPasteBlock, _CopySnippet as CopySnippet, CountIcon, CubeFullLogo, CubeIcon, CubeLogo, CubePauseIcon, CubePlayIcon, CurrencyDollarIcon, DEFAULT_BUTTON_STYLES, DEFAULT_INPUT_STYLES, DEFAULT_PALETTE_CONFIG, DangerIcon, DashboardIcon, _DataTable as DataTable, DatabaseIcon, _DateInput as DateInput, _DatePicker as DatePicker, _DateRangePicker as DateRangePicker, _DateRangeSeparatedPicker as DateRangeSeparatedPicker, DecimalDecreaseIcon, DecimalIncreaseIcon, Dialog, DialogContainer, DialogForm, DialogTrigger, DirectionIcon, _Disclosure as Disclosure, DisplayTransition, Divider, DonutIcon, DownIcon, EditIcon, EventBusProvider, ExclamationCircleFilledIcon, ExclamationCircleIcon, ExclamationIcon, EyeIcon, EyeInvisibleIcon, Field, FieldWrapper, _FileInput as FileInput, FilterIcon, FilterListBox, FilterPicker, Flex, Flow, FolderFilledIcon, FolderIcon, FolderOpenFilledIcon, FolderOpenIcon, Footer, Form, FormContext, ForwardIcon, Grid, GridLayout, GridProvider, GripVerticalIcon, Header, HierarchyIcon, HierarchyOpenIcon, _HotKeys as HotKeys, __HueSlider as HueSlider, I18nProvider, I18nextProvider, INLINE_LABEL_STYLES, INPUT_WRAPPER_STYLES, Icon, IconSwitch, InfoBadge, InfoCircleIcon, InfoIcon, InlineInput, Input, _Item as Item, ItemAction, ItemActionProvider, ItemBadge, _Item as ItemBase, _ItemButton as ItemButton, ItemCard, _ItemTable as ItemTable, KeyIcon, LABEL_STYLES, LAYOUT_TOKENS, LOCALE_LABELS, _Label as Label, Layout, LeftIcon, LineChartIcon, Link, ListBox, ListBoxElement, ListBoxPopup, LoadingAnimation, LoadingIcon, LockFilledIcon, LockIcon, __Menu as Menu, MenuContext, MenuItem, MenuSection, _MenuTrigger as MenuTrigger, _MonthPicker as MonthPicker, MoreIcon, NotAllowedIcon, Notification, NotificationAction, NotificationCard, NotificationItem, Number123Icon, NumberIcon, _NumberInput as NumberInput, OverlayProvider, PALETTE_TOKENS, _Pagination as Pagination, _Panel as Panel, Paragraph, _PasswordInput as PasswordInput, PauseCircleFilledIcon, PauseCircleIcon, PauseIcon, PercentageIcon, _PeriodPicker as PeriodPicker, PersistentNotificationsList, Picker, PieChartIcon, PipetteIcon, Placeholder, PlayCircleIcon, PlayIcon, PlusIcon, Portal, Prefix, _PrismCode as PrismCode, PrismDiffCode, ProgressBarIcon, Provider, _QuarterPicker as QuarterPicker, __Radio as Radio, _RadioGroup as RadioGroup, __RangeSlider as RangeSlider, ReloadIcon, RenderCache, ReportIcon, _ResetButton as ResetButton, _ResizablePanel as ResizablePanel, ResizeSensor, _Result as Result, ReturnIcon, RightIcon, Root, RowTotalsIcon, SHADOW_TOKENS, SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SPACE_TOKENS, SUPPORTED_LOCALES, SchemeIcon, SearchComboBox, SearchIcon, SearchInput, Section, __Select as Select, SemanticQueryIcon, SettingsIcon, ShieldFilledIcon, ShieldIcon, Skeleton, SlashIcon, __Slider as Slider, SlotProvider, Space, SparklesIcon, Spin, SqlIcon, StatsCard, StatsIcon, StopIcon, StringIcon, SubMenuTrigger, _SubmitButton as SubmitButton, _SubmitError as SubmitError, SubtotalsIcon, Suffix, _Switch as Switch, SwitchIcon, TOKENS, TYPOGRAPHY_PRESETS, Tab, TableIcon, Tabs, TabsAction, _Tag as Tag, _Text as Text, _TextArea as TextArea, TextInput, TextInputBase, _TextInputMapper as TextInputMapper, TextItem, ThumbsDownIcon, ThumbsUpIcon, ThunderboltCrossedIcon, ThunderboltFilledIcon, ThunderboltIcon, TimeIcon, _TimeInput as TimeInput, _Title as Title, Toast, ToastItem, _Tooltip as Tooltip, TooltipProvider, TooltipTrigger, Trans, Translation, TrashIcon, Tree, Typography, UIKIT_I18N_NAMESPACE, UnlockIcon, UpIcon, UserGroupIcon, UserIcon, UserLockIcon, ValidationIndicator, ViewIcon, WarningFilledIcon, WarningIcon, _WeekPicker as WeekPicker, _YearPicker as YearPicker, addUIKitLocale, aspectRatio, boundedX, boundedY, chain, chainRaf, clampPage, colorThemeSeed, columnSortMenu, containerBounds, copy, createFormatter, createInstance, createUIKitI18n, defaultNavigationAdapter, extractModule, extractStyles, formatPeriod, formatRelativeTime, forwardRefWithGenerics, generateRandomId, getCodeTheme, getColorTheme, getColorTokens, getCompactor, getDisabledElementProps, getI18n, getPageInfo, getPaginationRange, getPalette, getPaletteConfig, getPaletteConfigInput, getPaletteTokens, getQuarter, getThemeIcon, getTokens, getValidationIcon, getValidationMods, getValidationTheme, getWeekNumber, gridBounds, hasValidationIndicator, hasValidationState, horizontalCompactor, i18next, initReactI18next, invalidatePaletteTokens, isSupportedLocale, isTextOnly, maxSize, mergeProps, mergeRefs, minMaxSize, minSize, modAttrs, noCompactor, omitActivationEventProps, openLink, parseAbsoluteDate, parseTo, performClickHandler, processSelectionArray, propDeprecationWarning, random, range, renderColorTokens, renderPaletteTokens, resetPaletteConfig, resolveIcon, resolvePaletteConfig, resolveValidationProps, setPaletteConfig, snapToGrid, snapToPeriod, subscribePaletteConfig, timeout, toFlatTree, useAction, useAlertDialogAPI, useAnchoredMenu, useBufferedValue, useButtonSplitContext, useCheckbox, useColorTheme, useCombinedRefs, useContextMenu, useControlledFocusVisible, useDialogContainer, useDismissParentPopover, useEventBus, useEventListener, useField, useFieldProps, useForm, useFormProps, useFormatter, useI18nSSR, useItemActionContext, useLayoutEffect, useLocalStorage, useLocale, useMenuContext, useMergeStyles, useNotifications, useNotificationsCount, usePagination, usePaletteConfig, usePaletteVersion, usePersistentNotifications, usePopoverSync, useProgressToast, useProviderProps, useQaProps, useRadio, useSearchField, useSearchFieldState, useSelectState, useSliderState, useSlotProps, useSwitch, useTextField, useToast, useToastContext, useTranslation, useValidationProps, useViewportSize, verticalCompactor, withTranslation, wrapIcon, wrapNodeIfPlain, wrapWithField };
|
|
369
374
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Text"],"sources":["../src/index.ts"],"sourcesContent":["import { CubeParagraphProps, Paragraph } from './components/content/Paragraph';\nimport { CubeTextProps, Text } from './components/content/Text';\nimport { CubeTextItemProps, TextItem } from './components/content/TextItem';\nimport { CubeTitleProps, Title } from './components/content/Title';\n\nimport './version';\n\nexport { Section } from 'react-stately';\nexport type { MenuTriggerState } from 'react-stately';\n\nexport * from '@internationalized/date';\n\n// generic components\nexport { CollectionItem } from './components/CollectionItem';\nexport { Block } from './components/Block';\nexport type { CubeBlockProps } from './components/Block';\nexport { Item } from './components/content/Item/Item';\nexport type { CubeItemProps } from './components/content/Item/Item';\n// @deprecated Use `Item` instead\nexport { ItemBase } from './components/content/Item/Item';\n// @deprecated Use `CubeItemProps` instead\nexport type { CubeItemBaseProps } from './components/content/Item/Item';\nexport { ItemCard } from './components/content/ItemCard/ItemCard';\nexport type { CubeItemCardProps } from './components/content/ItemCard/ItemCard';\nexport { ItemBadge } from './components/content/ItemBadge/ItemBadge';\nexport type { CubeItemBadgeProps } from './components/content/ItemBadge/ItemBadge';\nexport { InfoBadge } from './components/content/InfoBadge/InfoBadge';\nexport type {\n CubeInfoBadgeProps,\n CubeInfoBadgeTooltipConfig,\n} from './components/content/InfoBadge/InfoBadge';\nexport { ActiveZone } from './components/content/ActiveZone/ActiveZone';\nexport type { CubeActiveZoneProps } from './components/content/ActiveZone/ActiveZone';\nexport { InlineInput } from './components/content/InlineInput';\nexport type {\n CubeInlineInputProps,\n CubeInlineInputRef,\n CubeInlineInputEditTrigger,\n} from './components/content/InlineInput';\nexport * from './components/content/CopySnippet';\nexport * from './components/content/CopyPasteBlock';\nexport { Grid } from './components/layout/Grid';\nexport type { CubeGridProps } from './components/layout/Grid';\nexport { Flex } from './components/layout/Flex';\nexport type { CubeFlexProps } from './components/layout/Flex';\nexport { Link } from './components/actions/Link/Link';\nexport { Space } from './components/layout/Space';\nexport type { CubeSpaceProps } from './components/layout/Space';\nexport { Flow } from './components/layout/Flow';\nexport type { CubeFlowProps } from './components/layout/Flow';\nexport { Panel } from './components/layout/Panel';\nexport type { CubePanelProps } from './components/layout/Panel';\nexport { ResizablePanel } from './components/layout/ResizablePanel';\nexport type { CubeResizablePanelProps } from './components/layout/ResizablePanel';\nexport {\n Board,\n BoardProvider,\n BoardResponsive,\n BoardWidget,\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n BOARD_SELECTION_CANCEL,\n} from './components/layout/Board';\nexport type {\n CubeBoardProps,\n BoardSelectionMode,\n CubeBoardWidgetProps,\n CubeBoardProviderProps,\n CubeBoardResponsiveProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n BoardBreakpoints,\n BoardBreakpointCols,\n BoardResponsiveLayouts,\n Layout as BoardLayout,\n LayoutItem as BoardLayoutItem,\n ResizeHandleAxis as BoardResizeHandleAxis,\n Compactor as BoardCompactor,\n LayoutConstraint as BoardLayoutConstraint,\n WidgetTransferInfo as BoardWidgetTransferInfo,\n} from './components/layout/Board';\nexport { Root } from './components/Root';\nexport type { CubeRootProps } from './components/Root';\nexport { DisplayTransition } from './components/helpers/DisplayTransition/DisplayTransition';\nexport type { DisplayTransitionProps } from './components/helpers/DisplayTransition/DisplayTransition';\nexport { IconSwitch } from './components/helpers/IconSwitch/IconSwitch';\nexport type { CubeIconSwitchProps } from './components/helpers/IconSwitch/IconSwitch';\n\n// Navigation types and helpers\nexport type {\n NavigationAdapter,\n NavigateLike,\n Path,\n To,\n NavigateArg,\n NavigateOptions,\n RelativeRoutingType,\n} from './providers/navigation.types';\nexport { defaultNavigationAdapter } from './providers/navigationAdapter.default';\nexport { PrismCode } from './components/content/PrismCode/PrismCode';\nexport type { CubePrismCodeProps } from './components/content/PrismCode/PrismCode';\nexport { PrismDiffCode } from './components/content/PrismDiffCode/PrismDiffCode';\nexport type { CubePrismDiffCodeProps } from './components/content/PrismDiffCode/PrismDiffCode';\nexport { Prefix } from './components/layout/Prefix';\nexport type { CubePrefixProps } from './components/layout/Prefix';\nexport { Suffix } from './components/layout/Suffix';\nexport type { CubeSuffixProps } from './components/layout/Suffix';\nexport { Divider } from './components/content/Divider';\nexport type { CubeDividerProps } from './components/content/Divider';\nexport { Disclosure } from './components/content/Disclosure';\nexport type {\n CubeDisclosureProps,\n CubeDisclosureTriggerProps,\n CubeDisclosureContentProps,\n CubeDisclosureGroupProps,\n CubeDisclosureItemProps,\n DisclosureStateContext,\n} from './components/content/Disclosure';\nexport { Tree } from './components/content/Tree';\nexport type {\n CubeTreeProps,\n CubeTreeNodeData,\n TreeOnCheckInfo,\n TreeOnExpandInfo,\n TreeOnSelectInfo,\n TreeLoadDataNode,\n TreeSelectionMode,\n TreeContextMenu,\n TreeNodeState,\n} from './components/content/Tree';\nexport { GridProvider } from './components/GridProvider';\nexport type { CubeGridProviderProps } from './components/GridProvider';\nexport { Content } from './components/content/Content';\nexport type { CubeContentProps } from './components/content/Content';\nexport { Header } from './components/content/Header';\nexport type { CubeHeaderProps } from './components/content/Header';\nexport { Footer } from './components/content/Footer';\nexport type { CubeFooterProps } from './components/content/Footer';\nexport { Result } from './components/content/Result/Result';\nexport type {\n CubeResultProps,\n CubeResultStatus,\n} from './components/content/Result/Result';\nexport { Layout, GridLayout } from './components/content/Layout';\nexport type {\n CubeLayoutProps,\n CubeGridLayoutProps,\n CubeLayoutToolbarProps,\n CubeLayoutHeaderProps,\n CubeLayoutFooterProps,\n CubeLayoutContentProps,\n CubeLayoutPaneProps,\n CubeLayoutPanelProps,\n CubeLayoutPanelHeaderProps,\n ScrollbarType,\n} from './components/content/Layout';\n\n// atoms\nexport * from './components/status';\nexport { Card } from './components/content/Card/Card';\nexport type { CubeCardProps } from './components/content/Card/Card';\nexport * from './components/actions';\nexport { Placeholder } from './components/content/Placeholder/Placeholder';\nexport type { CubePlaceholderProps } from './components/content/Placeholder/Placeholder';\nexport { Skeleton } from './components/content/Skeleton/Skeleton';\nexport type { CubeSkeletonProps } from './components/content/Skeleton/Skeleton';\nexport { CubeLogo, CubeFullLogo } from './components/other/CubeLogo/CubeLogo';\nexport type { CubeLogoProps } from './components/other/CubeLogo/CubeLogo';\nexport { Badge } from './components/content/Badge/Badge';\nexport type { CubeBadgeProps } from './components/content/Badge/Badge';\nexport { Tag } from './components/content/Tag/Tag';\nexport type { CubeTagProps } from './components/content/Tag/Tag';\nexport * from './components/content/HotKeys';\nexport type { CubeSearchInputProps } from './components/fields/SearchInput/SearchInput';\nexport type { CubeListBoxProps } from './components/fields/ListBox';\nexport { ListBox } from './components/fields/ListBox';\nexport { Menu } from './components/actions/Menu/Menu';\nexport type { CubeMenuProps } from './components/actions/Menu/Menu';\nexport { MenuTrigger } from './components/actions/Menu/MenuTrigger';\nexport { SubMenuTrigger } from './components/actions/Menu/SubMenuTrigger';\nexport type { CubeMenuTriggerProps } from './components/actions/Menu/MenuTrigger';\nexport { CommandMenu } from './components/actions/CommandMenu';\nexport type {\n CubeCommandMenuProps,\n CommandMenuItem,\n} from './components/actions/CommandMenu';\nexport { Select, ListBoxPopup } from './components/fields/Select/Select';\nexport type {\n CubeSelectProps,\n CubeSelectBaseProps,\n} from './components/fields/Select/Select';\n\nexport { Avatar } from './components/content/Avatar/Avatar';\nexport type { CubeAvatarProps } from './components/content/Avatar/Avatar';\nexport {\n Dialog,\n DialogTrigger,\n DialogContainer,\n DialogForm,\n useDialogContainer,\n} from './components/overlays/Dialog';\nexport type {\n CubeDialogTriggerProps,\n CubeDialogContainerProps,\n CubeDialogProps,\n CubeDialogFormRef,\n CubeDialogFormProps,\n} from './components/overlays/Dialog';\nexport { Tooltip } from './components/overlays/Tooltip/Tooltip';\nexport type { CubeTooltipProps } from './components/overlays/Tooltip/Tooltip';\nexport { TooltipTrigger } from './components/overlays/Tooltip/TooltipTrigger';\nexport type { CubeTooltipTriggerProps } from './components/overlays/Tooltip/TooltipTrigger';\nexport { TooltipProvider } from './components/overlays/Tooltip/TooltipProvider';\nexport type { CubeTooltipProviderProps } from './components/overlays/Tooltip/TooltipProvider';\n\nexport * from './components/content/Alert';\n\n// navigation\nexport * from './components/navigation';\n\n// data\nexport * from './components/data';\n\n// molecules\nexport { StatsCard } from './components/organisms/StatsCard/StatsCard';\nexport type { CubeStatsCard } from './components/organisms/StatsCard/StatsCard';\nexport {\n AlertDialog,\n useAlertDialogAPI,\n} from './components/overlays/AlertDialog';\nexport type { CubeAlertDialogProps } from './components/overlays/AlertDialog';\n\nexport * from '@tenphi/tasty';\nexport * from '@tenphi/glaze';\n\nexport const Typography = {\n Text: Text,\n Title,\n Paragraph,\n};\n\nexport { Text, TextItem, Title, Paragraph };\nexport type {\n CubeTextProps,\n CubeTextItemProps,\n CubeTitleProps,\n CubeParagraphProps,\n};\n\nexport { Provider, useProviderProps } from './provider';\nexport type { ProviderProps } from './provider';\nexport { Portal } from './components/portal';\nexport type { PortalProps } from './components/portal';\nexport * from './components/fields';\n\nexport type {\n TagName,\n AllBaseProps,\n BaseProps,\n BaseStyleProps,\n DimensionStyleProps,\n ColorStyleProps,\n OuterStyleProps,\n PositionStyleProps,\n TextStyleProps,\n BlockStyleProps,\n ContainerStyleProps,\n BasePropsWithoutChildren,\n FlowStyleProps,\n ShortGridStyles,\n} from '@tenphi/tasty';\nexport type { Props } from './props';\n\n// i18n — the UI Kit owns the i18next + react-i18next libraries and the single\n// shared instance. Consumers (e.g. Cube Cloud) import ALL i18n symbols from\n// here so there is exactly one physical copy / one version / one instance.\nexport {\n useTranslation,\n Trans,\n Translation,\n I18nextProvider,\n initReactI18next,\n withTranslation,\n useSSR as useI18nSSR,\n} from 'react-i18next';\nexport type {\n TransProps,\n UseTranslationOptions,\n UseTranslationResponse,\n WithTranslation,\n} from 'react-i18next';\nexport { default as i18next, createInstance } from 'i18next';\nexport type {\n i18n as I18n,\n TFunction,\n Resource,\n ResourceKey,\n ResourceLanguage,\n InitOptions,\n} from 'i18next';\nexport {\n createUIKitI18n,\n getI18n,\n UIKIT_I18N_NAMESPACE,\n addUIKitLocale,\n I18nProvider,\n createFormatter,\n useFormatter,\n SUPPORTED_LOCALES,\n LOCALE_LABELS,\n isSupportedLocale,\n} from './i18n';\nexport type {\n SupportedLocale,\n UIKitResources,\n I18nProviderProps,\n Formatter,\n FormatDateInput,\n RelativeTimeOptions,\n CurrencyOptions,\n BytesOptions,\n} from './i18n';\n// React Aria's `useLocale`, re-exported so consumers read the same locale\n// context the UI Kit's `I18nProvider` populates from i18next.\nexport { useLocale } from 'react-aria';\n\nexport * from './utils';\nexport { default as copy } from 'clipboard-copy';\nexport * from '@react-aria/ssr';\nexport * from './components/overlays/Toast';\nexport * from './components/overlays/Notifications';\nexport * from './shared';\nexport * from './icons';\nexport * from './components/form';\nexport * from './tokens';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuPA,MAAa,aAAa;CACxB,MAAMA;CACN;CACA;CACD"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Text"],"sources":["../src/index.ts"],"sourcesContent":["import { CubeParagraphProps, Paragraph } from './components/content/Paragraph';\nimport { CubeTextProps, Text } from './components/content/Text';\nimport { CubeTextItemProps, TextItem } from './components/content/TextItem';\nimport { CubeTitleProps, Title } from './components/content/Title';\n\nimport './version';\n\nexport { Section } from 'react-stately';\nexport type { MenuTriggerState } from 'react-stately';\n\nexport * from '@internationalized/date';\n\n// generic components\nexport { CollectionItem } from './components/CollectionItem';\nexport { Block } from './components/Block';\nexport type { CubeBlockProps } from './components/Block';\nexport { Item } from './components/content/Item/Item';\nexport type { CubeItemProps } from './components/content/Item/Item';\n// @deprecated Use `Item` instead\nexport { ItemBase } from './components/content/Item/Item';\n// @deprecated Use `CubeItemProps` instead\nexport type { CubeItemBaseProps } from './components/content/Item/Item';\nexport { ItemCard } from './components/content/ItemCard/ItemCard';\nexport type { CubeItemCardProps } from './components/content/ItemCard/ItemCard';\nexport { ItemBadge } from './components/content/ItemBadge/ItemBadge';\nexport type { CubeItemBadgeProps } from './components/content/ItemBadge/ItemBadge';\nexport { InfoBadge } from './components/content/InfoBadge/InfoBadge';\nexport type {\n CubeInfoBadgeProps,\n CubeInfoBadgeTooltipConfig,\n} from './components/content/InfoBadge/InfoBadge';\nexport { ActiveZone } from './components/content/ActiveZone/ActiveZone';\nexport type { CubeActiveZoneProps } from './components/content/ActiveZone/ActiveZone';\nexport { InlineInput } from './components/content/InlineInput';\nexport type {\n CubeInlineInputProps,\n CubeInlineInputRef,\n CubeInlineInputEditTrigger,\n} from './components/content/InlineInput';\nexport * from './components/content/CopySnippet';\nexport * from './components/content/CopyPasteBlock';\nexport { Grid } from './components/layout/Grid';\nexport type { CubeGridProps } from './components/layout/Grid';\nexport { Flex } from './components/layout/Flex';\nexport type { CubeFlexProps } from './components/layout/Flex';\nexport { Link } from './components/actions/Link/Link';\nexport { Space } from './components/layout/Space';\nexport type { CubeSpaceProps } from './components/layout/Space';\nexport { Flow } from './components/layout/Flow';\nexport type { CubeFlowProps } from './components/layout/Flow';\nexport { Panel } from './components/layout/Panel';\nexport type { CubePanelProps } from './components/layout/Panel';\nexport { ResizablePanel } from './components/layout/ResizablePanel';\nexport type { CubeResizablePanelProps } from './components/layout/ResizablePanel';\nexport {\n Board,\n BoardProvider,\n BoardResponsive,\n BoardWidget,\n verticalCompactor,\n horizontalCompactor,\n noCompactor,\n getCompactor,\n gridBounds,\n minMaxSize,\n containerBounds,\n boundedX,\n boundedY,\n aspectRatio,\n snapToGrid,\n minSize,\n maxSize,\n BOARD_SELECTION_CANCEL,\n} from './components/layout/Board';\nexport type {\n CubeBoardProps,\n BoardSelectionMode,\n CubeBoardWidgetProps,\n CubeBoardProviderProps,\n CubeBoardResponsiveProps,\n BoardCompactType,\n BoardGridLines,\n BoardInteractionInfo,\n BoardBreakpoints,\n BoardBreakpointCols,\n BoardResponsiveLayouts,\n Layout as BoardLayout,\n LayoutItem as BoardLayoutItem,\n ResizeHandleAxis as BoardResizeHandleAxis,\n Compactor as BoardCompactor,\n LayoutConstraint as BoardLayoutConstraint,\n WidgetTransferInfo as BoardWidgetTransferInfo,\n} from './components/layout/Board';\nexport { Root } from './components/Root';\nexport type { CubeRootProps } from './components/Root';\nexport { DisplayTransition } from './components/helpers/DisplayTransition/DisplayTransition';\nexport type { DisplayTransitionProps } from './components/helpers/DisplayTransition/DisplayTransition';\nexport { IconSwitch } from './components/helpers/IconSwitch/IconSwitch';\nexport type { CubeIconSwitchProps } from './components/helpers/IconSwitch/IconSwitch';\n\n// Navigation types and helpers\nexport type {\n NavigationAdapter,\n NavigateLike,\n Path,\n To,\n NavigateArg,\n NavigateOptions,\n RelativeRoutingType,\n} from './providers/navigation.types';\nexport { defaultNavigationAdapter } from './providers/navigationAdapter.default';\nexport { PrismCode } from './components/content/PrismCode/PrismCode';\nexport type { CubePrismCodeProps } from './components/content/PrismCode/PrismCode';\nexport { PrismDiffCode } from './components/content/PrismDiffCode/PrismDiffCode';\nexport type { CubePrismDiffCodeProps } from './components/content/PrismDiffCode/PrismDiffCode';\nexport { Prefix } from './components/layout/Prefix';\nexport type { CubePrefixProps } from './components/layout/Prefix';\nexport { Suffix } from './components/layout/Suffix';\nexport type { CubeSuffixProps } from './components/layout/Suffix';\nexport { Divider } from './components/content/Divider';\nexport type { CubeDividerProps } from './components/content/Divider';\nexport { Disclosure } from './components/content/Disclosure';\nexport type {\n CubeDisclosureProps,\n CubeDisclosureTriggerProps,\n CubeDisclosureContentProps,\n CubeDisclosureGroupProps,\n CubeDisclosureItemProps,\n DisclosureStateContext,\n} from './components/content/Disclosure';\nexport { Tree } from './components/content/Tree';\nexport type {\n CubeTreeProps,\n CubeTreeNodeData,\n TreeOnCheckInfo,\n TreeOnExpandInfo,\n TreeOnSelectInfo,\n TreeLoadDataNode,\n TreeSelectionMode,\n TreeContextMenu,\n TreeNodeState,\n} from './components/content/Tree';\nexport { GridProvider } from './components/GridProvider';\nexport type { CubeGridProviderProps } from './components/GridProvider';\nexport { Content } from './components/content/Content';\nexport type { CubeContentProps } from './components/content/Content';\nexport { Header } from './components/content/Header';\nexport type { CubeHeaderProps } from './components/content/Header';\nexport { Footer } from './components/content/Footer';\nexport type { CubeFooterProps } from './components/content/Footer';\nexport { Result } from './components/content/Result/Result';\nexport type {\n CubeResultProps,\n CubeResultStatus,\n} from './components/content/Result/Result';\nexport { Layout, GridLayout } from './components/content/Layout';\nexport type {\n CubeLayoutProps,\n CubeGridLayoutProps,\n CubeLayoutToolbarProps,\n CubeLayoutHeaderProps,\n CubeLayoutFooterProps,\n CubeLayoutContentProps,\n CubeLayoutPaneProps,\n CubeLayoutPanelProps,\n CubeLayoutPanelHeaderProps,\n ScrollbarType,\n} from './components/content/Layout';\n\n// atoms\nexport * from './components/status';\nexport { Card } from './components/content/Card/Card';\nexport type { CubeCardProps } from './components/content/Card/Card';\nexport * from './components/actions';\nexport { Placeholder } from './components/content/Placeholder/Placeholder';\nexport type { CubePlaceholderProps } from './components/content/Placeholder/Placeholder';\nexport { Skeleton } from './components/content/Skeleton/Skeleton';\nexport type { CubeSkeletonProps } from './components/content/Skeleton/Skeleton';\nexport { CubeLogo, CubeFullLogo } from './components/other/CubeLogo/CubeLogo';\nexport type { CubeLogoProps } from './components/other/CubeLogo/CubeLogo';\nexport { Badge } from './components/content/Badge/Badge';\nexport type { CubeBadgeProps } from './components/content/Badge/Badge';\nexport { Tag } from './components/content/Tag/Tag';\nexport type { CubeTagProps } from './components/content/Tag/Tag';\nexport * from './components/content/HotKeys';\nexport type { CubeSearchInputProps } from './components/fields/SearchInput/SearchInput';\nexport type { CubeListBoxProps } from './components/fields/ListBox';\nexport { ListBox } from './components/fields/ListBox';\nexport { Menu } from './components/actions/Menu/Menu';\nexport type { CubeMenuProps } from './components/actions/Menu/Menu';\nexport { MenuTrigger } from './components/actions/Menu/MenuTrigger';\nexport { SubMenuTrigger } from './components/actions/Menu/SubMenuTrigger';\nexport type { CubeMenuTriggerProps } from './components/actions/Menu/MenuTrigger';\nexport { CommandMenu } from './components/actions/CommandMenu';\nexport type {\n CubeCommandMenuProps,\n CommandMenuItem,\n} from './components/actions/CommandMenu';\nexport { Select, ListBoxPopup } from './components/fields/Select/Select';\nexport type {\n CubeSelectProps,\n CubeSelectBaseProps,\n} from './components/fields/Select/Select';\n\nexport { Avatar } from './components/content/Avatar/Avatar';\nexport type { CubeAvatarProps } from './components/content/Avatar/Avatar';\nexport {\n Dialog,\n DialogTrigger,\n DialogContainer,\n DialogForm,\n useDialogContainer,\n} from './components/overlays/Dialog';\nexport type {\n CubeDialogTriggerProps,\n CubeDialogContainerProps,\n CubeDialogProps,\n CubeDialogFormRef,\n CubeDialogFormProps,\n} from './components/overlays/Dialog';\nexport { Tooltip } from './components/overlays/Tooltip/Tooltip';\nexport type { CubeTooltipProps } from './components/overlays/Tooltip/Tooltip';\nexport { TooltipTrigger } from './components/overlays/Tooltip/TooltipTrigger';\nexport type { CubeTooltipTriggerProps } from './components/overlays/Tooltip/TooltipTrigger';\nexport { TooltipProvider } from './components/overlays/Tooltip/TooltipProvider';\nexport type { CubeTooltipProviderProps } from './components/overlays/Tooltip/TooltipProvider';\n\nexport * from './components/content/Alert';\n\n// navigation\nexport * from './components/navigation';\n\n// data\nexport * from './components/data';\n\n// molecules\nexport { StatsCard } from './components/organisms/StatsCard/StatsCard';\nexport type { CubeStatsCard } from './components/organisms/StatsCard/StatsCard';\nexport {\n AlertDialog,\n useAlertDialogAPI,\n} from './components/overlays/AlertDialog';\nexport type { CubeAlertDialogProps } from './components/overlays/AlertDialog';\n\nexport * from '@tenphi/tasty';\nexport * from '@tenphi/glaze';\n\nexport const Typography = {\n Text: Text,\n Title,\n Paragraph,\n};\n\nexport { Text, TextItem, Title, Paragraph };\nexport type {\n CubeTextProps,\n CubeTextItemProps,\n CubeTitleProps,\n CubeParagraphProps,\n};\n\nexport { Provider, useProviderProps } from './provider';\nexport type { ProviderProps } from './provider';\nexport { Portal } from './components/portal';\nexport type { PortalProps } from './components/portal';\nexport * from './components/fields';\n\nexport type {\n TagName,\n AllBaseProps,\n BaseProps,\n BaseStyleProps,\n DimensionStyleProps,\n ColorStyleProps,\n OuterStyleProps,\n PositionStyleProps,\n TextStyleProps,\n BlockStyleProps,\n ContainerStyleProps,\n BasePropsWithoutChildren,\n FlowStyleProps,\n ShortGridStyles,\n} from '@tenphi/tasty';\nexport type { Props } from './props';\n\n// i18n — the UI Kit owns the i18next + react-i18next libraries and the single\n// shared instance. Consumers (e.g. Cube Cloud) import ALL i18n symbols from\n// here so there is exactly one physical copy / one version / one instance.\nexport {\n useTranslation,\n Trans,\n Translation,\n I18nextProvider,\n initReactI18next,\n withTranslation,\n useSSR as useI18nSSR,\n} from 'react-i18next';\nexport type {\n TransProps,\n UseTranslationOptions,\n UseTranslationResponse,\n WithTranslation,\n} from 'react-i18next';\nexport { default as i18next, createInstance } from 'i18next';\nexport type {\n i18n as I18n,\n TFunction,\n Resource,\n ResourceKey,\n ResourceLanguage,\n InitOptions,\n} from 'i18next';\nexport {\n createUIKitI18n,\n getI18n,\n UIKIT_I18N_NAMESPACE,\n addUIKitLocale,\n I18nProvider,\n createFormatter,\n useFormatter,\n SUPPORTED_LOCALES,\n LOCALE_LABELS,\n isSupportedLocale,\n} from './i18n';\nexport type {\n SupportedLocale,\n UIKitResources,\n I18nProviderProps,\n Formatter,\n FormatDateInput,\n RelativeTimeOptions,\n CurrencyOptions,\n BytesOptions,\n} from './i18n';\n// React Aria's `useLocale`, re-exported so consumers read the same locale\n// context the UI Kit's `I18nProvider` populates from i18next.\nexport { useLocale } from 'react-aria';\n\nexport * from './utils';\nexport { default as copy } from 'clipboard-copy';\nexport * from '@react-aria/ssr';\nexport * from './components/overlays/Toast';\nexport * from './components/overlays/Notifications';\nexport * from './shared';\nexport * from './icons';\nexport * from './components/form';\nexport * from './tokens';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuPA,MAAa,aAAa;CACxB,MAAMA;CACN;CACA;CACD"}
|
package/dist/provider.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { EventBusProvider } from "./utils/react/useEventBus.js";
|
|
3
3
|
import { defaultNavigationAdapter } from "./providers/navigationAdapter.default.js";
|
|
4
4
|
import { createContext, useContext, useMemo } from "react";
|
package/dist/tokens/base.js
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
|
|
2
|
+
import { Styles } from "@tenphi/tasty";
|
|
3
|
+
import { ColorMap } from "@tenphi/glaze";
|
|
4
|
+
|
|
5
|
+
//#region src/tokens/color-theme.d.ts
|
|
6
|
+
interface ColorThemeConfig {
|
|
7
|
+
/**
|
|
8
|
+
* A hue in 0–360, or any colour Glaze parses — hex, `rgb()`, `hsl()`,
|
|
9
|
+
* `okhsl()`, `okhst()`, `oklch()`.
|
|
10
|
+
*
|
|
11
|
+
* From a colour only the HUE and SATURATION are taken; the lightness is
|
|
12
|
+
* discarded and re-derived per scheme. That is what makes the result adaptive
|
|
13
|
+
* rather than a value that happens to work in one theme.
|
|
14
|
+
*/
|
|
15
|
+
hue: number | string;
|
|
16
|
+
/** 0–100. @default the palette's own saturation seed */
|
|
17
|
+
saturation?: number;
|
|
18
|
+
pastel?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Extra colour definitions, merged over {@link TINT_RECIPE}. Anything Glaze's
|
|
21
|
+
* `theme.colors()` accepts, including `contrast` floors against a sibling.
|
|
22
|
+
*/
|
|
23
|
+
colors?: ColorMap;
|
|
24
|
+
}
|
|
25
|
+
interface ColorTheme {
|
|
26
|
+
/**
|
|
27
|
+
* A hash of the config, and the token prefix — `'tint-1a2b3c'`.
|
|
28
|
+
*
|
|
29
|
+
* Content-addressed rather than positional so two components asking for the
|
|
30
|
+
* same colour name the same theme, and therefore share one injection. Also
|
|
31
|
+
* makes it safe to stamp on the DOM as an identifier.
|
|
32
|
+
*/
|
|
33
|
+
name: string;
|
|
34
|
+
/**
|
|
35
|
+
* Tasty token declarations, one state map per colour:
|
|
36
|
+
* `{ '#tint-1a2b3c-surface': { '': …, '@dark': …, '@hc': …, '@dark & @hc': … } }`
|
|
37
|
+
*/
|
|
38
|
+
tokens: Styles;
|
|
39
|
+
/** Token references by their unprefixed name — `{ surface: '#tint-1a2b3c-surface' }`. */
|
|
40
|
+
colors: Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The hue and saturation of a colour, for use as a theme seed.
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* colorThemeSeed('#0ea5e9'); // → { hue: 237.32, saturation: 98.19 }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare function colorThemeSeed(value: string): {
|
|
50
|
+
hue: number;
|
|
51
|
+
saturation: number;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Build (or reuse) an adaptive theme from a hue.
|
|
55
|
+
*
|
|
56
|
+
* Pure and memoized: the same config returns the same object identity until the
|
|
57
|
+
* palette is re-seeded. Registering the tokens is {@link useColorTheme}'s job —
|
|
58
|
+
* this only computes them, so it is safe to call while rendering or from a test.
|
|
59
|
+
*/
|
|
60
|
+
declare function getColorTheme(config: ColorThemeConfig): ColorTheme;
|
|
61
|
+
/**
|
|
62
|
+
* Register an adaptive theme's tokens once per document, and get it back.
|
|
63
|
+
*
|
|
64
|
+
* The tokens land on `body` under a slot keyed by the theme's name, which is a
|
|
65
|
+
* hash of the config — so every component asking for the same colour shares one
|
|
66
|
+
* injection no matter how many of them there are. Tasty's global-style slots are
|
|
67
|
+
* also permanent, which is what makes that safe: one component unmounting cannot
|
|
68
|
+
* strip tokens another is still referencing.
|
|
69
|
+
*
|
|
70
|
+
* `body` rather than `:root`, which emits nothing at all — the same selector
|
|
71
|
+
* `GlobalStyles` uses for the palette's own tokens. Custom properties inherit, so
|
|
72
|
+
* anything rendered inside the document sees them; the one thing this cannot
|
|
73
|
+
* reach is content portalled outside `<body>`, which nothing does.
|
|
74
|
+
*
|
|
75
|
+
* Because the slot id hashes the CONFIG rather than the resolved values,
|
|
76
|
+
* re-seeding the palette replaces the same slot instead of leaking a new one.
|
|
77
|
+
*
|
|
78
|
+
* ```tsx
|
|
79
|
+
* const theme = useColorTheme({ hue: '#0ea5e9' });
|
|
80
|
+
* // theme.colors.surface → '#tint-1a2b3c-surface'
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
declare function useColorTheme(config: ColorThemeConfig): ColorTheme;
|
|
84
|
+
//#endregion
|
|
85
|
+
export { ColorTheme, ColorThemeConfig, colorThemeSeed, getColorTheme, useColorTheme };
|
|
86
|
+
//# sourceMappingURL=color-theme.d.ts.map
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
|
+
import { DEFAULT_SATURATION, getPaletteConfig, getPaletteVersion, usePaletteVersion } from "./palette-config.js";
|
|
3
|
+
import { TINT_RECIPE } from "./palette.js";
|
|
4
|
+
import { useGlobalStyles } from "@tenphi/tasty";
|
|
5
|
+
import { glaze } from "@tenphi/glaze";
|
|
6
|
+
|
|
7
|
+
//#region src/tokens/color-theme.ts
|
|
8
|
+
/**
|
|
9
|
+
* FNV-1a, base36. Short, stable and dependency-free.
|
|
10
|
+
*
|
|
11
|
+
* These hashes name CSS custom properties and land in DOM attributes, so they
|
|
12
|
+
* have to be deterministic across processes (SSR and the client must agree) and
|
|
13
|
+
* safe as identifiers — but not cryptographic.
|
|
14
|
+
*/
|
|
15
|
+
function hashString(input) {
|
|
16
|
+
let hash = 2166136261;
|
|
17
|
+
for (let i = 0; i < input.length; i++) {
|
|
18
|
+
hash ^= input.charCodeAt(i);
|
|
19
|
+
hash = Math.imul(hash, 16777619) >>> 0;
|
|
20
|
+
}
|
|
21
|
+
return hash.toString(36);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Hashes the RESOLVED seed, not the config as written.
|
|
25
|
+
*
|
|
26
|
+
* `{ hue: '#0ea5e9' }` and `{ hue: 237.32, saturation: 98.19 }` are the same
|
|
27
|
+
* colour said two ways; hashing the input would give them two names, two
|
|
28
|
+
* injections and two sets of generated rules. Rounded, because a seed that
|
|
29
|
+
* differs in the twelfth decimal is the same colour to every eye and every
|
|
30
|
+
* renderer — and an unrounded float would defeat the deduplication it is here to
|
|
31
|
+
* provide.
|
|
32
|
+
*/
|
|
33
|
+
function hashSeed(seed) {
|
|
34
|
+
return `tint-${hashString(JSON.stringify([
|
|
35
|
+
seed.hue.toFixed(4),
|
|
36
|
+
seed.saturation.toFixed(4),
|
|
37
|
+
seed.pastel,
|
|
38
|
+
seed.colors ? stableStringify(seed.colors) : null
|
|
39
|
+
]))}`;
|
|
40
|
+
}
|
|
41
|
+
/** Key order must not change the hash, or two identical configs get two slots. */
|
|
42
|
+
function stableStringify(value) {
|
|
43
|
+
if (value === null || typeof value !== "object") return JSON.stringify(value);
|
|
44
|
+
if (Array.isArray(value)) return `[${value.map(stableStringify).join(",")}]`;
|
|
45
|
+
return `{${Object.entries(value).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`).join(",")}}`;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The hue and saturation of a colour, for use as a theme seed.
|
|
49
|
+
*
|
|
50
|
+
* ```ts
|
|
51
|
+
* colorThemeSeed('#0ea5e9'); // → { hue: 237.32, saturation: 98.19 }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
function colorThemeSeed(value) {
|
|
55
|
+
const light = glaze.color(value).resolve().light;
|
|
56
|
+
return {
|
|
57
|
+
hue: light.h,
|
|
58
|
+
saturation: light.s * 100
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Cached by `${paletteVersion}:${name}`.
|
|
63
|
+
*
|
|
64
|
+
* The palette version is in the KEY rather than triggering a clear, so a stale
|
|
65
|
+
* entry is simply unreachable. `lastVersion` still clears the map on a change,
|
|
66
|
+
* or repeated `setPaletteConfig` calls would grow it without bound.
|
|
67
|
+
*/
|
|
68
|
+
const cache = /* @__PURE__ */ new Map();
|
|
69
|
+
let lastVersion = -1;
|
|
70
|
+
/**
|
|
71
|
+
* Build (or reuse) an adaptive theme from a hue.
|
|
72
|
+
*
|
|
73
|
+
* Pure and memoized: the same config returns the same object identity until the
|
|
74
|
+
* palette is re-seeded. Registering the tokens is {@link useColorTheme}'s job —
|
|
75
|
+
* this only computes them, so it is safe to call while rendering or from a test.
|
|
76
|
+
*/
|
|
77
|
+
function getColorTheme(config) {
|
|
78
|
+
const version = getPaletteVersion();
|
|
79
|
+
if (version !== lastVersion) {
|
|
80
|
+
cache.clear();
|
|
81
|
+
lastVersion = version;
|
|
82
|
+
}
|
|
83
|
+
const paletteConfig = getPaletteConfig();
|
|
84
|
+
const parsed = typeof config.hue === "string" ? colorThemeSeed(config.hue) : null;
|
|
85
|
+
const seed = {
|
|
86
|
+
hue: parsed ? parsed.hue : config.hue,
|
|
87
|
+
saturation: config.saturation ?? parsed?.saturation ?? paletteConfig.saturation ?? DEFAULT_SATURATION,
|
|
88
|
+
pastel: config.pastel ?? paletteConfig.pastel ?? false,
|
|
89
|
+
colors: config.colors
|
|
90
|
+
};
|
|
91
|
+
const name = hashSeed(seed);
|
|
92
|
+
const cached = cache.get(name);
|
|
93
|
+
if (cached) return cached;
|
|
94
|
+
const { hue, saturation } = seed;
|
|
95
|
+
const overrides = {
|
|
96
|
+
...paletteConfig.contrastLevel != null ? { contrastLevel: paletteConfig.contrastLevel } : null,
|
|
97
|
+
...seed.pastel ? { pastel: true } : null
|
|
98
|
+
};
|
|
99
|
+
const theme = glaze(hue, saturation, Object.keys(overrides).length ? overrides : void 0);
|
|
100
|
+
theme.colors({
|
|
101
|
+
...TINT_RECIPE,
|
|
102
|
+
...config.colors
|
|
103
|
+
});
|
|
104
|
+
const raw = theme.tasty({ format: "oklch" });
|
|
105
|
+
const tokens = {};
|
|
106
|
+
const colors = {};
|
|
107
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
108
|
+
if (!key.startsWith("#")) {
|
|
109
|
+
tokens[key] = value;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const bare = key.slice(1);
|
|
113
|
+
const token = `#${name}-${bare}`;
|
|
114
|
+
tokens[token] = value;
|
|
115
|
+
colors[bare] = token;
|
|
116
|
+
}
|
|
117
|
+
const result = {
|
|
118
|
+
name,
|
|
119
|
+
tokens,
|
|
120
|
+
colors
|
|
121
|
+
};
|
|
122
|
+
cache.set(name, result);
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Register an adaptive theme's tokens once per document, and get it back.
|
|
127
|
+
*
|
|
128
|
+
* The tokens land on `body` under a slot keyed by the theme's name, which is a
|
|
129
|
+
* hash of the config — so every component asking for the same colour shares one
|
|
130
|
+
* injection no matter how many of them there are. Tasty's global-style slots are
|
|
131
|
+
* also permanent, which is what makes that safe: one component unmounting cannot
|
|
132
|
+
* strip tokens another is still referencing.
|
|
133
|
+
*
|
|
134
|
+
* `body` rather than `:root`, which emits nothing at all — the same selector
|
|
135
|
+
* `GlobalStyles` uses for the palette's own tokens. Custom properties inherit, so
|
|
136
|
+
* anything rendered inside the document sees them; the one thing this cannot
|
|
137
|
+
* reach is content portalled outside `<body>`, which nothing does.
|
|
138
|
+
*
|
|
139
|
+
* Because the slot id hashes the CONFIG rather than the resolved values,
|
|
140
|
+
* re-seeding the palette replaces the same slot instead of leaking a new one.
|
|
141
|
+
*
|
|
142
|
+
* ```tsx
|
|
143
|
+
* const theme = useColorTheme({ hue: '#0ea5e9' });
|
|
144
|
+
* // theme.colors.surface → '#tint-1a2b3c-surface'
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
function useColorTheme(config) {
|
|
148
|
+
usePaletteVersion();
|
|
149
|
+
const theme = getColorTheme(config);
|
|
150
|
+
useGlobalStyles("body", theme.tokens, { id: `cube-color-theme-${theme.name}` });
|
|
151
|
+
return theme;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
//#endregion
|
|
155
|
+
export { colorThemeSeed, getColorTheme, hashString, useColorTheme };
|
|
156
|
+
//# sourceMappingURL=color-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-theme.js","names":[],"sources":["../../src/tokens/color-theme.ts"],"sourcesContent":["import { glaze } from '@tenphi/glaze';\nimport { useGlobalStyles } from '@tenphi/tasty';\n\n// Imported for its SIDE EFFECT as much as for `TINT_RECIPE`.\n//\n// `palette.ts` runs `glaze.configure({ states: { dark: '@dark', highContrast:\n// '@hc' }, modes: …, darkTone: … })` at module scope, and that global config is\n// what makes a theme emit `'@dark'` / `'@hc'` keys at all. Without this import\n// a runtime theme falls back to Glaze's defaults — `@media(prefers-color-scheme:\n// dark)` keys and NO high-contrast tier — which still renders, so the failure is\n// silent. `color-theme.test.ts` asserts the `'@hc'` key exists to catch it.\nimport { TINT_RECIPE } from './palette';\nimport {\n DEFAULT_SATURATION,\n getPaletteConfig,\n getPaletteVersion,\n usePaletteVersion,\n} from './palette-config';\n\nimport type { ColorMap, GlazeConfigOverride } from '@tenphi/glaze';\nimport type { Styles } from '@tenphi/tasty';\n\nexport interface ColorThemeConfig {\n /**\n * A hue in 0–360, or any colour Glaze parses — hex, `rgb()`, `hsl()`,\n * `okhsl()`, `okhst()`, `oklch()`.\n *\n * From a colour only the HUE and SATURATION are taken; the lightness is\n * discarded and re-derived per scheme. That is what makes the result adaptive\n * rather than a value that happens to work in one theme.\n */\n hue: number | string;\n /** 0–100. @default the palette's own saturation seed */\n saturation?: number;\n pastel?: boolean;\n /**\n * Extra colour definitions, merged over {@link TINT_RECIPE}. Anything Glaze's\n * `theme.colors()` accepts, including `contrast` floors against a sibling.\n */\n colors?: ColorMap;\n}\n\nexport interface ColorTheme {\n /**\n * A hash of the config, and the token prefix — `'tint-1a2b3c'`.\n *\n * Content-addressed rather than positional so two components asking for the\n * same colour name the same theme, and therefore share one injection. Also\n * makes it safe to stamp on the DOM as an identifier.\n */\n name: string;\n /**\n * Tasty token declarations, one state map per colour:\n * `{ '#tint-1a2b3c-surface': { '': …, '@dark': …, '@hc': …, '@dark & @hc': … } }`\n */\n tokens: Styles;\n /** Token references by their unprefixed name — `{ surface: '#tint-1a2b3c-surface' }`. */\n colors: Record<string, string>;\n}\n\n/**\n * FNV-1a, base36. Short, stable and dependency-free.\n *\n * These hashes name CSS custom properties and land in DOM attributes, so they\n * have to be deterministic across processes (SSR and the client must agree) and\n * safe as identifiers — but not cryptographic.\n */\nexport function hashString(input: string): string {\n let hash = 0x811c9dc5;\n\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i);\n // >>> 0 keeps it an unsigned 32-bit int; `Math.imul` is the 32-bit multiply.\n hash = Math.imul(hash, 0x01000193) >>> 0;\n }\n\n return hash.toString(36);\n}\n\n/**\n * Hashes the RESOLVED seed, not the config as written.\n *\n * `{ hue: '#0ea5e9' }` and `{ hue: 237.32, saturation: 98.19 }` are the same\n * colour said two ways; hashing the input would give them two names, two\n * injections and two sets of generated rules. Rounded, because a seed that\n * differs in the twelfth decimal is the same colour to every eye and every\n * renderer — and an unrounded float would defeat the deduplication it is here to\n * provide.\n */\nfunction hashSeed(seed: ResolvedSeed): string {\n return `tint-${hashString(\n JSON.stringify([\n seed.hue.toFixed(4),\n seed.saturation.toFixed(4),\n seed.pastel,\n seed.colors ? stableStringify(seed.colors) : null,\n ]),\n )}`;\n}\n\ninterface ResolvedSeed {\n hue: number;\n saturation: number;\n pastel: boolean;\n colors?: ColorMap;\n}\n\n/** Key order must not change the hash, or two identical configs get two slots. */\nfunction stableStringify(value: unknown): string {\n if (value === null || typeof value !== 'object') return JSON.stringify(value);\n\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(',')}]`;\n }\n\n const entries = Object.entries(value as Record<string, unknown>).sort(\n ([a], [b]) => (a < b ? -1 : a > b ? 1 : 0),\n );\n\n return `{${entries\n .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n .join(',')}}`;\n}\n\n/**\n * The hue and saturation of a colour, for use as a theme seed.\n *\n * ```ts\n * colorThemeSeed('#0ea5e9'); // → { hue: 237.32, saturation: 98.19 }\n * ```\n */\nexport function colorThemeSeed(value: string): {\n hue: number;\n saturation: number;\n} {\n const light = glaze.color(value).resolve().light;\n\n // Glaze reports saturation as a 0–1 factor; the palette's seeds are 0–100.\n return { hue: light.h, saturation: light.s * 100 };\n}\n\n/**\n * Cached by `${paletteVersion}:${name}`.\n *\n * The palette version is in the KEY rather than triggering a clear, so a stale\n * entry is simply unreachable. `lastVersion` still clears the map on a change,\n * or repeated `setPaletteConfig` calls would grow it without bound.\n */\nconst cache = new Map<string, ColorTheme>();\nlet lastVersion = -1;\n\n/**\n * Build (or reuse) an adaptive theme from a hue.\n *\n * Pure and memoized: the same config returns the same object identity until the\n * palette is re-seeded. Registering the tokens is {@link useColorTheme}'s job —\n * this only computes them, so it is safe to call while rendering or from a test.\n */\nexport function getColorTheme(config: ColorThemeConfig): ColorTheme {\n const version = getPaletteVersion();\n\n if (version !== lastVersion) {\n cache.clear();\n lastVersion = version;\n }\n\n const paletteConfig = getPaletteConfig();\n const parsed =\n typeof config.hue === 'string' ? colorThemeSeed(config.hue) : null;\n const seed: ResolvedSeed = {\n hue: parsed ? parsed.hue : (config.hue as number),\n saturation:\n config.saturation ??\n parsed?.saturation ??\n paletteConfig.saturation ??\n DEFAULT_SATURATION,\n pastel: config.pastel ?? paletteConfig.pastel ?? false,\n colors: config.colors,\n };\n\n const name = hashSeed(seed);\n const cached = cache.get(name);\n\n if (cached) return cached;\n\n const { hue, saturation } = seed;\n\n // `pastel` and `contrastLevel` are instance-level in Glaze, not settable\n // through `glaze.configure`, so a runtime theme has to carry them itself or it\n // would ignore a pastel palette. Omitted entirely when off, so the default\n // output is provably the same as passing nothing.\n const overrides: GlazeConfigOverride = {\n ...(paletteConfig.contrastLevel != null\n ? { contrastLevel: paletteConfig.contrastLevel }\n : null),\n ...(seed.pastel ? { pastel: true } : null),\n };\n\n const theme = glaze(\n hue,\n saturation,\n Object.keys(overrides).length ? overrides : undefined,\n );\n\n theme.colors({ ...TINT_RECIPE, ...config.colors });\n\n // `prefix` is a palette-only option, so the keys are renamed here. `oklch`\n // because that is what the palette emits; tasty converts to the configured\n // colour space on the way out either way.\n const raw = theme.tasty({ format: 'oklch' }) as Record<string, unknown>;\n const tokens: Styles = {};\n const colors: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(raw)) {\n // Only the `#colour` entries are renamed; `splitHue` is off, so there are no\n // `$…-hue` companions to worry about, but a future one must not be mangled.\n if (!key.startsWith('#')) {\n (tokens as Record<string, unknown>)[key] = value;\n continue;\n }\n\n const bare = key.slice(1);\n const token = `#${name}-${bare}`;\n\n (tokens as Record<string, unknown>)[token] = value;\n colors[bare] = token;\n }\n\n const result: ColorTheme = { name, tokens, colors };\n\n cache.set(name, result);\n\n return result;\n}\n\n/**\n * Register an adaptive theme's tokens once per document, and get it back.\n *\n * The tokens land on `body` under a slot keyed by the theme's name, which is a\n * hash of the config — so every component asking for the same colour shares one\n * injection no matter how many of them there are. Tasty's global-style slots are\n * also permanent, which is what makes that safe: one component unmounting cannot\n * strip tokens another is still referencing.\n *\n * `body` rather than `:root`, which emits nothing at all — the same selector\n * `GlobalStyles` uses for the palette's own tokens. Custom properties inherit, so\n * anything rendered inside the document sees them; the one thing this cannot\n * reach is content portalled outside `<body>`, which nothing does.\n *\n * Because the slot id hashes the CONFIG rather than the resolved values,\n * re-seeding the palette replaces the same slot instead of leaking a new one.\n *\n * ```tsx\n * const theme = useColorTheme({ hue: '#0ea5e9' });\n * // theme.colors.surface → '#tint-1a2b3c-surface'\n * ```\n */\nexport function useColorTheme(config: ColorThemeConfig): ColorTheme {\n // Subscribes this component to a re-seed. `getColorTheme` reads the version\n // itself for its cache, so the value is unused here — the subscription is the\n // point, and it is what makes the tokens below re-inject.\n usePaletteVersion();\n\n const theme = getColorTheme(config);\n\n useGlobalStyles('body', theme.tokens, {\n id: `cube-color-theme-${theme.name}`,\n });\n\n return theme;\n}\n"],"mappings":";;;;;;;;;;;;;;AAmEA,SAAgB,WAAW,OAAuB;CAChD,IAAI,OAAO;AAEX,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,UAAQ,MAAM,WAAW,EAAE;AAE3B,SAAO,KAAK,KAAK,MAAM,SAAW,KAAK;;AAGzC,QAAO,KAAK,SAAS,GAAG;;;;;;;;;;;;AAa1B,SAAS,SAAS,MAA4B;AAC5C,QAAO,QAAQ,WACb,KAAK,UAAU;EACb,KAAK,IAAI,QAAQ,EAAE;EACnB,KAAK,WAAW,QAAQ,EAAE;EAC1B,KAAK;EACL,KAAK,SAAS,gBAAgB,KAAK,OAAO,GAAG;EAC9C,CAAC,CACH;;;AAWH,SAAS,gBAAgB,OAAwB;AAC/C,KAAI,UAAU,QAAQ,OAAO,UAAU,SAAU,QAAO,KAAK,UAAU,MAAM;AAE7E,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,IAAI,MAAM,IAAI,gBAAgB,CAAC,KAAK,IAAI,CAAC;AAOlD,QAAO,IAJS,OAAO,QAAQ,MAAiC,CAAC,MAC9D,CAAC,IAAI,CAAC,OAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,EACzC,CAGE,KAAK,CAAC,KAAK,UAAU,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,gBAAgB,KAAK,GAAG,CACvE,KAAK,IAAI,CAAC;;;;;;;;;AAUf,SAAgB,eAAe,OAG7B;CACA,MAAM,QAAQ,MAAM,MAAM,MAAM,CAAC,SAAS,CAAC;AAG3C,QAAO;EAAE,KAAK,MAAM;EAAG,YAAY,MAAM,IAAI;EAAK;;;;;;;;;AAUpD,MAAM,wBAAQ,IAAI,KAAyB;AAC3C,IAAI,cAAc;;;;;;;;AASlB,SAAgB,cAAc,QAAsC;CAClE,MAAM,UAAU,mBAAmB;AAEnC,KAAI,YAAY,aAAa;AAC3B,QAAM,OAAO;AACb,gBAAc;;CAGhB,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,SACJ,OAAO,OAAO,QAAQ,WAAW,eAAe,OAAO,IAAI,GAAG;CAChE,MAAM,OAAqB;EACzB,KAAK,SAAS,OAAO,MAAO,OAAO;EACnC,YACE,OAAO,cACP,QAAQ,cACR,cAAc,cACd;EACF,QAAQ,OAAO,UAAU,cAAc,UAAU;EACjD,QAAQ,OAAO;EAChB;CAED,MAAM,OAAO,SAAS,KAAK;CAC3B,MAAM,SAAS,MAAM,IAAI,KAAK;AAE9B,KAAI,OAAQ,QAAO;CAEnB,MAAM,EAAE,KAAK,eAAe;CAM5B,MAAM,YAAiC;EACrC,GAAI,cAAc,iBAAiB,OAC/B,EAAE,eAAe,cAAc,eAAe,GAC9C;EACJ,GAAI,KAAK,SAAS,EAAE,QAAQ,MAAM,GAAG;EACtC;CAED,MAAM,QAAQ,MACZ,KACA,YACA,OAAO,KAAK,UAAU,CAAC,SAAS,YAAY,OAC7C;AAED,OAAM,OAAO;EAAE,GAAG;EAAa,GAAG,OAAO;EAAQ,CAAC;CAKlD,MAAM,MAAM,MAAM,MAAM,EAAE,QAAQ,SAAS,CAAC;CAC5C,MAAM,SAAiB,EAAE;CACzB,MAAM,SAAiC,EAAE;AAEzC,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAAI,EAAE;AAG9C,MAAI,CAAC,IAAI,WAAW,IAAI,EAAE;AACxB,GAAC,OAAmC,OAAO;AAC3C;;EAGF,MAAM,OAAO,IAAI,MAAM,EAAE;EACzB,MAAM,QAAQ,IAAI,KAAK,GAAG;AAE1B,EAAC,OAAmC,SAAS;AAC7C,SAAO,QAAQ;;CAGjB,MAAM,SAAqB;EAAE;EAAM;EAAQ;EAAQ;AAEnD,OAAM,IAAI,MAAM,OAAO;AAEvB,QAAO;;;;;;;;;;;;;;;;;;;;;;;;AAyBT,SAAgB,cAAc,QAAsC;AAIlE,oBAAmB;CAEnB,MAAM,QAAQ,cAAc,OAAO;AAEnC,iBAAgB,QAAQ,MAAM,QAAQ,EACpC,IAAI,oBAAoB,MAAM,QAC/B,CAAC;AAEF,QAAO"}
|
package/dist/tokens/colors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { getPaletteVersion } from "./palette-config.js";
|
|
3
3
|
import { BASE_TOKENS } from "./base.js";
|
|
4
4
|
import { lazyStyles } from "./lazy-styles.js";
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { DEFAULT_PALETTE_CONFIG, PaletteCodeSeed, PaletteConfig, PaletteThemeNam
|
|
|
3
3
|
import { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS, SizeKey, SizeName } from "./sizes.js";
|
|
4
4
|
import { PALETTE_TOKENS, RenderPaletteOptions, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens } from "./palette.js";
|
|
5
5
|
import { COLOR_TOKENS, getColorTokens, renderColorTokens } from "./colors.js";
|
|
6
|
+
import { ColorTheme, ColorThemeConfig, colorThemeSeed, getColorTheme, useColorTheme } from "./color-theme.js";
|
|
6
7
|
import { SPACE_TOKENS } from "./spacing.js";
|
|
7
8
|
import { SHADOW_TOKENS } from "./shadows.js";
|
|
8
9
|
import { LAYOUT_TOKENS } from "./layout.js";
|
package/dist/tokens/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { DEFAULT_PALETTE_CONFIG, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion } from "./palette-config.js";
|
|
3
3
|
import { BASE_TOKENS } from "./base.js";
|
|
4
4
|
import { lazyStyles } from "./lazy-styles.js";
|
|
@@ -9,6 +9,7 @@ import { LAYOUT_TOKENS } from "./layout.js";
|
|
|
9
9
|
import { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from "./sizes.js";
|
|
10
10
|
import { SPACE_TOKENS } from "./spacing.js";
|
|
11
11
|
import { TYPOGRAPHY_PRESETS } from "./typography.js";
|
|
12
|
+
import { colorThemeSeed, getColorTheme, useColorTheme } from "./color-theme.js";
|
|
12
13
|
import { generateTypographyTokens } from "@tenphi/tasty";
|
|
13
14
|
|
|
14
15
|
//#region src/tokens/index.ts
|
package/dist/tokens/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/index.ts"],"sourcesContent":["/**\n * Design tokens for the Cube UI Kit.\n *\n * This module exports all design tokens used throughout the design system.\n * All token keys use $ prefix for CSS custom properties.\n *\n * Categories:\n * - Colors: Base color palette with -color and -color-rgb variants\n * - Typography: Font presets for headings, text, paragraphs, etc.\n * - Sizes: Component size values (XS, SM, MD, LG, XL)\n * - Spacing: Space tokens using gap multipliers\n * - Shadows: Shadow definitions for elevation\n * - Layout: Common layout dimensions\n * - Base: Core design system values\n */\n\nimport { generateTypographyTokens } from '@tenphi/tasty';\n\nimport { BASE_TOKENS } from './base';\nimport { getColorTokens } from './colors';\nimport { LAYOUT_TOKENS } from './layout';\nimport { lazyStyles } from './lazy-styles';\nimport { getPaletteVersion } from './palette-config';\nimport { SHADOW_TOKENS } from './shadows';\nimport { SIZE_TOKENS } from './sizes';\nimport { SPACE_TOKENS } from './spacing';\nimport { TYPOGRAPHY_PRESETS } from './typography';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { SizeKey, SizeName } from './sizes';\n\n/**\n * All design tokens combined into a single Styles object.\n * Keys use $ prefix for CSS custom properties.\n *\n * Color tokens resolve against the current palette config (see\n * {@link getColorTokens}), and this map is memoized against that config's\n * version so `setPaletteConfig()` invalidates it. Prefer this over the lazy\n * {@link TOKENS} proxy when applying styles from React (`GlobalStyles`).\n *\n * Includes:\n * - Base tokens ($gap, $radius, etc.)\n * - Space tokens ($space-xs, $space-sm, etc.)\n * - Size tokens ($size-xs, $size-sm, etc.)\n * - Shadow tokens ($shadow, $item-shadow, etc.)\n * - Layout tokens ($max-content-width, $topbar-height, etc.)\n * - Typography tokens ($h1-font-size, $t3-line-height, etc.)\n * - Color tokens ($purple-color, $purple-color-rgb, etc.)\n */\nlet tokensCache: Styles | null = null;\nlet cachedVersion = -1;\n\nexport function getTokens(): Styles {\n const version = getPaletteVersion();\n\n if (!tokensCache || cachedVersion !== version) {\n tokensCache = {\n ...BASE_TOKENS,\n ...SPACE_TOKENS,\n ...SIZE_TOKENS,\n ...SHADOW_TOKENS,\n ...LAYOUT_TOKENS,\n ...generateTypographyTokens(TYPOGRAPHY_PRESETS),\n ...getColorTokens(),\n };\n cachedVersion = version;\n }\n return tokensCache;\n}\n\n/** Lazy proxy of {@link getTokens}. Prefer `getTokens()` in new code. */\nexport const TOKENS: Styles = lazyStyles(getTokens);\n\n// Re-export category modules for direct access\nexport { COLOR_TOKENS, getColorTokens, renderColorTokens } from './colors';\nexport {\n getCodeTheme,\n getPalette,\n getPaletteTokens,\n PALETTE_TOKENS,\n renderPaletteTokens,\n} from './palette';\nexport type { RenderPaletteOptions } from './palette';\nexport {\n DEFAULT_PALETTE_CONFIG,\n getPaletteConfig,\n getPaletteConfigInput,\n invalidatePaletteTokens,\n resetPaletteConfig,\n resolvePaletteConfig,\n setPaletteConfig,\n subscribePaletteConfig,\n usePaletteConfig,\n usePaletteVersion,\n} from './palette-config';\nexport type {\n PaletteCodeSeed,\n PaletteConfig,\n PaletteThemeName,\n PaletteThemeSeed,\n ResolvedPaletteConfig,\n} from './palette-config';\nexport { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from './sizes';\nexport type { SizeKey, SizeName } from './sizes';\nexport { SPACE_TOKENS } from './spacing';\nexport { SHADOW_TOKENS } from './shadows';\nexport { LAYOUT_TOKENS } from './layout';\nexport { BASE_TOKENS } from './base';\nexport { TYPOGRAPHY_PRESETS } from './typography';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/tokens/index.ts"],"sourcesContent":["/**\n * Design tokens for the Cube UI Kit.\n *\n * This module exports all design tokens used throughout the design system.\n * All token keys use $ prefix for CSS custom properties.\n *\n * Categories:\n * - Colors: Base color palette with -color and -color-rgb variants\n * - Typography: Font presets for headings, text, paragraphs, etc.\n * - Sizes: Component size values (XS, SM, MD, LG, XL)\n * - Spacing: Space tokens using gap multipliers\n * - Shadows: Shadow definitions for elevation\n * - Layout: Common layout dimensions\n * - Base: Core design system values\n */\n\nimport { generateTypographyTokens } from '@tenphi/tasty';\n\nimport { BASE_TOKENS } from './base';\nimport { getColorTokens } from './colors';\nimport { LAYOUT_TOKENS } from './layout';\nimport { lazyStyles } from './lazy-styles';\nimport { getPaletteVersion } from './palette-config';\nimport { SHADOW_TOKENS } from './shadows';\nimport { SIZE_TOKENS } from './sizes';\nimport { SPACE_TOKENS } from './spacing';\nimport { TYPOGRAPHY_PRESETS } from './typography';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { SizeKey, SizeName } from './sizes';\n\n/**\n * All design tokens combined into a single Styles object.\n * Keys use $ prefix for CSS custom properties.\n *\n * Color tokens resolve against the current palette config (see\n * {@link getColorTokens}), and this map is memoized against that config's\n * version so `setPaletteConfig()` invalidates it. Prefer this over the lazy\n * {@link TOKENS} proxy when applying styles from React (`GlobalStyles`).\n *\n * Includes:\n * - Base tokens ($gap, $radius, etc.)\n * - Space tokens ($space-xs, $space-sm, etc.)\n * - Size tokens ($size-xs, $size-sm, etc.)\n * - Shadow tokens ($shadow, $item-shadow, etc.)\n * - Layout tokens ($max-content-width, $topbar-height, etc.)\n * - Typography tokens ($h1-font-size, $t3-line-height, etc.)\n * - Color tokens ($purple-color, $purple-color-rgb, etc.)\n */\nlet tokensCache: Styles | null = null;\nlet cachedVersion = -1;\n\nexport function getTokens(): Styles {\n const version = getPaletteVersion();\n\n if (!tokensCache || cachedVersion !== version) {\n tokensCache = {\n ...BASE_TOKENS,\n ...SPACE_TOKENS,\n ...SIZE_TOKENS,\n ...SHADOW_TOKENS,\n ...LAYOUT_TOKENS,\n ...generateTypographyTokens(TYPOGRAPHY_PRESETS),\n ...getColorTokens(),\n };\n cachedVersion = version;\n }\n return tokensCache;\n}\n\n/** Lazy proxy of {@link getTokens}. Prefer `getTokens()` in new code. */\nexport const TOKENS: Styles = lazyStyles(getTokens);\n\n// Re-export category modules for direct access\nexport { COLOR_TOKENS, getColorTokens, renderColorTokens } from './colors';\n// Adaptive one-off themes built at runtime from an arbitrary hue, named by a\n// hash of their config so identical requests share one injection.\nexport { colorThemeSeed, getColorTheme, useColorTheme } from './color-theme';\nexport type { ColorTheme, ColorThemeConfig } from './color-theme';\nexport {\n getCodeTheme,\n getPalette,\n getPaletteTokens,\n PALETTE_TOKENS,\n renderPaletteTokens,\n} from './palette';\nexport type { RenderPaletteOptions } from './palette';\nexport {\n DEFAULT_PALETTE_CONFIG,\n getPaletteConfig,\n getPaletteConfigInput,\n invalidatePaletteTokens,\n resetPaletteConfig,\n resolvePaletteConfig,\n setPaletteConfig,\n subscribePaletteConfig,\n usePaletteConfig,\n usePaletteVersion,\n} from './palette-config';\nexport type {\n PaletteCodeSeed,\n PaletteConfig,\n PaletteThemeName,\n PaletteThemeSeed,\n ResolvedPaletteConfig,\n} from './palette-config';\nexport { SIZES, SIZE_NAME_TO_KEY, SIZE_TOKENS } from './sizes';\nexport type { SizeKey, SizeName } from './sizes';\nexport { SPACE_TOKENS } from './spacing';\nexport { SHADOW_TOKENS } from './shadows';\nexport { LAYOUT_TOKENS } from './layout';\nexport { BASE_TOKENS } from './base';\nexport { TYPOGRAPHY_PRESETS } from './typography';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAI,cAA6B;AACjC,IAAI,gBAAgB;AAEpB,SAAgB,YAAoB;CAClC,MAAM,UAAU,mBAAmB;AAEnC,KAAI,CAAC,eAAe,kBAAkB,SAAS;AAC7C,gBAAc;GACZ,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG,yBAAyB,mBAAmB;GAC/C,GAAG,gBAAgB;GACpB;AACD,kBAAgB;;AAElB,QAAO;;;AAIT,MAAa,SAAiB,WAAW,UAAU"}
|
package/dist/tokens/layout.js
CHANGED
|
@@ -19,7 +19,7 @@ interface PaletteThemeSeed {
|
|
|
19
19
|
* reason.
|
|
20
20
|
*/
|
|
21
21
|
interface PaletteCodeSeed {
|
|
22
|
-
/** Saturation (0–100). Defaults to {@link
|
|
22
|
+
/** Saturation (0–100). Defaults to {@link DEFAULT_CODE_SATURATION}, not to `saturation`. */
|
|
23
23
|
saturation?: number;
|
|
24
24
|
}
|
|
25
25
|
/** Names of the themes whose seeds can be overridden individually. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { useSyncExternalStore } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/tokens/palette-config.ts
|
|
@@ -20,7 +20,19 @@ const DEFAULT_DANGER_HUE = 23.1;
|
|
|
20
20
|
const DEFAULT_WARNING_HUE = 84.3;
|
|
21
21
|
const DEFAULT_NOTE_HUE = 302.3;
|
|
22
22
|
/** Seed saturation. Per-color `saturation` in the recipe is a 0–1 factor of it. */
|
|
23
|
-
const DEFAULT_SATURATION =
|
|
23
|
+
const DEFAULT_SATURATION = 100;
|
|
24
|
+
/**
|
|
25
|
+
* Seed saturation for the `code-*` syntax family, deliberately **not** the same
|
|
26
|
+
* constant as {@link DEFAULT_SATURATION}.
|
|
27
|
+
*
|
|
28
|
+
* The two were one value until the app seed moved to 100 for the pastel palette.
|
|
29
|
+
* Sharing it would have dragged the syntax colors along for the ride — the exact
|
|
30
|
+
* coupling that `PaletteCodeSeed` and the `pastel` opt-out both exist to prevent,
|
|
31
|
+
* and the reason the code family answers to its own saturation and nothing else.
|
|
32
|
+
* Splitting the constant is what lets the app seed move while the code palette
|
|
33
|
+
* stays on the value it was calibrated against.
|
|
34
|
+
*/
|
|
35
|
+
const DEFAULT_CODE_SATURATION = 80;
|
|
24
36
|
const DEFAULT_THEME_HUES = {
|
|
25
37
|
success: DEFAULT_SUCCESS_HUE,
|
|
26
38
|
danger: DEFAULT_DANGER_HUE,
|
|
@@ -35,7 +47,7 @@ function resolveConfig(input) {
|
|
|
35
47
|
hue,
|
|
36
48
|
baseHue: input.baseHue ?? hue,
|
|
37
49
|
saturation,
|
|
38
|
-
pastel: input.pastel ??
|
|
50
|
+
pastel: input.pastel ?? true,
|
|
39
51
|
contrastLevel: input.contrastLevel ?? "auto",
|
|
40
52
|
themes: {
|
|
41
53
|
success: {
|
|
@@ -54,7 +66,7 @@ function resolveConfig(input) {
|
|
|
54
66
|
hue: themes.note?.hue ?? DEFAULT_THEME_HUES.note,
|
|
55
67
|
saturation: themes.note?.saturation ?? saturation
|
|
56
68
|
},
|
|
57
|
-
code: { saturation: themes.code?.saturation ??
|
|
69
|
+
code: { saturation: themes.code?.saturation ?? DEFAULT_CODE_SATURATION }
|
|
58
70
|
}
|
|
59
71
|
};
|
|
60
72
|
}
|
|
@@ -305,5 +317,5 @@ function usePaletteConfig() {
|
|
|
305
317
|
}
|
|
306
318
|
|
|
307
319
|
//#endregion
|
|
308
|
-
export { DEFAULT_PALETTE_CONFIG, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
|
|
320
|
+
export { DEFAULT_PALETTE_CONFIG, DEFAULT_SATURATION, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
|
|
309
321
|
//# sourceMappingURL=palette-config.js.map
|