@cube-dev/ui-kit 0.0.0-canary-8d79305 → 0.0.0-canary-ed0ffec
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/hooks/use-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.d.ts +5 -4
- package/dist/components/Root.js +1 -1
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +5 -2
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.d.ts +2 -4
- package/dist/components/actions/Button/Button.js +5 -8
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.d.ts +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js +6 -8
- package/dist/components/actions/ItemAction/ItemAction.js.map +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 +2 -2
- package/dist/components/content/Item/Item.js +11 -10
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.d.ts +2 -2
- package/dist/components/content/ItemBadge/ItemBadge.js +6 -8
- package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +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 +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +12 -2
- package/dist/components/data/TableBase/column-tint.js.map +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -2
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/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/index.d.ts +0 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +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/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-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/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/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/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.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/types.d.ts +0 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/index.d.ts +0 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.d.ts +1 -1
- package/dist/data/item-themes.js +55 -141
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +9 -7
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.d.ts +2 -1
- package/dist/tokens/color-theme.js +3 -2
- package/dist/tokens/color-theme.js.map +1 -1
- package/dist/tokens/colors.js +3 -20
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/index.d.ts +1 -1
- package/dist/tokens/index.js +1 -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 +213 -171
- package/dist/tokens/palette-config.js +144 -59
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.js +45 -18
- 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/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/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 +226 -134
- package/docs/Usage.md +2 -30
- package/docs/components/Root.md +1 -1
- package/docs/components/actions/Button.md +3 -9
- package/docs/components/actions/ItemAction.md +3 -3
- package/docs/components/content/Item.md +10 -10
- package/docs/components/content/ItemBadge.md +2 -2
- package/package.json +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/portal/PortalProvider.d.ts +0 -2
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';\n// Reads hue / saturation / tone off a colour — what the palette's `accentColor` and\n// `baseColor` seeds are resolved through.\nexport { colorSeed } from './color-seed';\nexport type { ColorSeed } from './color-seed';\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 MAX_BASE_SATURATION,\n resetPaletteConfig,\n resolvePaletteConfig,\n setPaletteConfig,\n subscribePaletteConfig,\n usePaletteConfig,\n usePaletteVersion,\n} from './palette-config';\nexport type {\n PaletteCodeSeed,\n PaletteConfig,\n
|
|
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// Reads hue / saturation / tone off a colour — what the palette's `accentColor` and\n// `baseColor` seeds are resolved through.\nexport { colorSeed } from './color-seed';\nexport type { ColorSeed } from './color-seed';\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 MAX_BASE_SATURATION,\n resetPaletteConfig,\n resolvePaletteConfig,\n setPaletteConfig,\n subscribePaletteConfig,\n usePaletteConfig,\n usePaletteVersion,\n} from './palette-config';\nexport type {\n PaletteCodeSeed,\n PaletteConfig,\n PaletteNumericSeed,\n PaletteSeed,\n PaletteThemeName,\n ResolvedPaletteConfig,\n ResolvedThemeSeed,\n SurfaceMode,\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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ed0ffec | Cube Dev Team */
|
|
2
2
|
//#region src/tokens/lazy-styles.ts
|
|
3
3
|
/**
|
|
4
4
|
* Proxy that defers to `factory()` on every property / enumeration access.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
//#region src/tokens/palette-config.d.ts
|
|
3
3
|
/**
|
|
4
|
-
* Ceiling on a {@link PaletteConfig.
|
|
5
|
-
* {@link PaletteConfig.baseColor}.
|
|
4
|
+
* Ceiling on a base saturation derived from a {@link PaletteConfig.base} color.
|
|
6
5
|
*
|
|
7
6
|
* A named base color lands the chrome near itself rather than at the 12% share the
|
|
8
7
|
* accent lends it, which is the whole reason to name one — but a fully saturated
|
|
@@ -15,26 +14,44 @@
|
|
|
15
14
|
* of the range means.
|
|
16
15
|
*/
|
|
17
16
|
declare const MAX_BASE_SATURATION = 50;
|
|
18
|
-
/**
|
|
19
|
-
interface
|
|
17
|
+
/** The numeric arm of a {@link PaletteSeed}. */
|
|
18
|
+
interface PaletteNumericSeed {
|
|
20
19
|
/** Hue in degrees (0–360). */
|
|
21
20
|
hue?: number;
|
|
22
|
-
/** Saturation (0–100).
|
|
21
|
+
/** Saturation (0–100). */
|
|
23
22
|
saturation?: number;
|
|
24
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* One zone's seed: a **color**, or the **numbers**.
|
|
26
|
+
*
|
|
27
|
+
* A string is a color — anything Glaze parses: hex, `rgb()`, `hsl()`, `okhsl()`,
|
|
28
|
+
* `okhst()`, `oklch()`. CSS color keywords (`rebeccapurple`) are not supported, and an
|
|
29
|
+
* unparseable value warns once and falls back to the numeric path with nothing pinned.
|
|
30
|
+
*
|
|
31
|
+
* The union **is** the exclusivity. A zone is seeded one way or the other — never both,
|
|
32
|
+
* never layered — so there is no precedence rule to learn and no contradiction to warn
|
|
33
|
+
* about. It also means a patch that switches form *replaces* rather than merges; layering
|
|
34
|
+
* happens within a path. See {@link resolvePaletteConfig}.
|
|
35
|
+
*
|
|
36
|
+
* What a color supplies differs by zone, and each zone's own field says so:
|
|
37
|
+
* {@link PaletteConfig.accent} keeps the tone but lends the palette none of its chroma,
|
|
38
|
+
* {@link PaletteConfig.base} discards the tone, and a status theme keeps the tone *and*
|
|
39
|
+
* takes the chroma as its seed.
|
|
40
|
+
*/
|
|
41
|
+
type PaletteSeed = string | PaletteNumericSeed;
|
|
25
42
|
/**
|
|
26
43
|
* The `code-*` syntax family takes a saturation and nothing else — and answers to
|
|
27
44
|
* nothing else either. This is the one knob that moves it.
|
|
28
45
|
*
|
|
29
46
|
* Its hues are absolute literals by design, so syntax colors never rotate with the
|
|
30
|
-
* brand — strings would collide with numbers the moment the brand went green
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* reason.
|
|
47
|
+
* brand — strings would collide with numbers the moment the brand went green, which is
|
|
48
|
+
* also why it is not a {@link PaletteSeed} and cannot take a color. Unlike every other
|
|
49
|
+
* theme, its saturation does **not** inherit the palette-level one: the code palette is
|
|
50
|
+
* calibrated once and stays there, so re-seeding the app cannot quietly wash out a code
|
|
51
|
+
* block. {@link PaletteConfig.pastel} skips it for the same reason.
|
|
35
52
|
*/
|
|
36
53
|
interface PaletteCodeSeed {
|
|
37
|
-
/** Saturation (0–100). Defaults to {@link DEFAULT_CODE_SATURATION}, not to
|
|
54
|
+
/** Saturation (0–100). Defaults to {@link DEFAULT_CODE_SATURATION}, not to the accent's. */
|
|
38
55
|
saturation?: number;
|
|
39
56
|
}
|
|
40
57
|
/**
|
|
@@ -45,106 +62,109 @@ type SurfaceMode = 'neutral' | 'tinted';
|
|
|
45
62
|
/** Names of the themes whose seeds can be overridden individually. */
|
|
46
63
|
type PaletteThemeName = 'success' | 'danger' | 'warning' | 'note' | 'code';
|
|
47
64
|
/**
|
|
48
|
-
* Palette tuning. Every field is optional; omitted fields keep their default,
|
|
49
|
-
*
|
|
65
|
+
* Palette tuning. Every field is optional; omitted fields keep their default, and
|
|
66
|
+
* per-theme fields left unset inherit the palette-level value.
|
|
67
|
+
*
|
|
68
|
+
* Every zone takes the same {@link PaletteSeed} — a color or the numbers — so the whole
|
|
69
|
+
* config is one idea spelled once, and a settings UI can drive all six zones with one
|
|
70
|
+
* control.
|
|
50
71
|
*/
|
|
51
72
|
interface PaletteConfig {
|
|
52
73
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* Unlike {@link ColorThemeConfig.hue}, which keeps only hue and saturation, this
|
|
60
|
-
* keeps the **tone** as well — which is the whole point. Without it the brand fill
|
|
61
|
-
* is authored as a fixed tone step off white, so every accent hue lands at roughly
|
|
62
|
-
* the same lightness and the color you asked for never actually appears.
|
|
63
|
-
*
|
|
64
|
-
* The **light, normal-contrast** variant reproduces the color; dark and high
|
|
65
|
-
* contrast adapt, as every other color in the palette does. Two things cost
|
|
66
|
-
* exactness even there: {@link PaletteConfig.pastel} caps chroma (so `#FFD400`
|
|
67
|
-
* softens), and the fill answers to two APCA floors — **Lc 45 against `surface`**
|
|
68
|
-
* so the button reads as a shape, and **Lc 45 against the white label** it carries
|
|
69
|
-
* — moving only as far as the nearer one requires.
|
|
70
|
-
*
|
|
71
|
-
* Those floors are APCA, not WCAG, and the difference is deliberate: one WCAG
|
|
72
|
-
* ratio means two very different things by scheme (3:1 measures Lc 56 in light but
|
|
73
|
-
* only Lc 23 in dark), which crushed light brands while letting dark ones through.
|
|
74
|
-
* A consequence worth stating plainly — **the emitted fill can sit below WCAG
|
|
75
|
-
* 3:1**. `#0EA5E9` renders at 2.77:1 against a white page and is correct at that
|
|
76
|
-
* value; Lc 45 is the guarantee, not the ratio.
|
|
77
|
-
*
|
|
78
|
-
* {@link PaletteConfig.hue} and {@link PaletteConfig.saturation} still win when
|
|
79
|
-
* set — the number is the more specific instruction — and the tone keeps coming
|
|
80
|
-
* from here either way, so a preview can rotate the hue without losing the brand's
|
|
81
|
-
* lightness.
|
|
82
|
-
*/
|
|
83
|
-
accentColor?: string;
|
|
84
|
-
/**
|
|
85
|
-
* Base zone seeded by a **color** rather than a hue and a saturation.
|
|
74
|
+
* The **accent** zone — the brand. Drives the `accent-*` family on every theme,
|
|
75
|
+
* `primary` / `purple` / `special`, and the brand-tinted odds and ends (`focus`, the
|
|
76
|
+
* loading faces, the disabled chip). Its hue is also the default for
|
|
77
|
+
* {@link PaletteConfig.base}, and its saturation the default every status theme
|
|
78
|
+
* inherits.
|
|
86
79
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
80
|
+
* **As numbers** — `{ hue, saturation }`. One saturation scale for the whole theme, by
|
|
81
|
+
* design: every color's own `saturation` is a 0–1 factor of this seed — `surface` at
|
|
82
|
+
* 0.12, `border` at 0.175, the text ramp at 0.2, the accent family at ~1.0 — so moving
|
|
83
|
+
* it rescales the palette while keeping those proportions. Unlike hue, which is
|
|
84
|
+
* configured separately for the brand and for each status theme, saturation is
|
|
85
|
+
* deliberately not split: the ratio between a subtle surface tint and a saturated
|
|
86
|
+
* accent is part of the design.
|
|
90
87
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
88
|
+
* A `saturation` **belongs to the non-pastel path**, and writing one says so: with no
|
|
89
|
+
* {@link PaletteConfig.pastel} beside it, it turns pastel off, because tuning a
|
|
90
|
+
* saturation is the non-pastel path by definition. Pastel is one flat chroma ceiling,
|
|
91
|
+
* so under it there is exactly one seed and it is the top of the scale. A
|
|
92
|
+
* `pastel: true` written next to a saturation wins and the saturation is ignored (with
|
|
93
|
+
* a dev warning) — but it is kept rather than dropped, so turning pastel back off
|
|
94
|
+
* restores your number.
|
|
96
95
|
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Accent hue in degrees (0–360) — the brand.
|
|
96
|
+
* **As a color** — the brand, as you have it. Unlike a
|
|
97
|
+
* {@link PaletteConfig.base} color, which keeps only hue and saturation, this keeps
|
|
98
|
+
* the **tone** as well — which is the whole point. Without it the brand fill is
|
|
99
|
+
* authored as a fixed tone step off white, so every accent hue lands at roughly the
|
|
100
|
+
* same lightness and the color you asked for never actually appears.
|
|
104
101
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
102
|
+
* The **light, normal-contrast** variant reproduces the color; dark and high contrast
|
|
103
|
+
* adapt, as every other color in the palette does. Two things cost exactness even
|
|
104
|
+
* there: {@link PaletteConfig.pastel} caps chroma (so `#FFD400` softens), and the fill
|
|
105
|
+
* answers to two APCA floors — **Lc 45 against `surface`** so the button reads as a
|
|
106
|
+
* shape, and **Lc 45 against the white label** it carries — moving only as far as the
|
|
107
|
+
* nearer one requires.
|
|
108
|
+
*
|
|
109
|
+
* Those floors are APCA, not WCAG, and the difference is deliberate: one WCAG ratio
|
|
110
|
+
* means two very different things by scheme (3:1 measures Lc 56 in light but only
|
|
111
|
+
* Lc 23 in dark), which crushed light brands while letting dark ones through. A
|
|
112
|
+
* consequence worth stating plainly — **the emitted fill can sit below WCAG 3:1**.
|
|
113
|
+
* `#0EA5E9` renders at 2.77:1 against a white page and is correct at that value; Lc 45
|
|
114
|
+
* is the guarantee, not the ratio.
|
|
115
|
+
*
|
|
116
|
+
* A color's own chroma is **not** adopted as the zone's seed saturation, which stays at
|
|
117
|
+
* its default. The accent family gets the chroma through Glaze's `from`, where it is
|
|
118
|
+
* absolute and seed-independent, and leaving the seed alone is what keeps a saturated
|
|
119
|
+
* brand out of every status theme that inherits it. A status theme's color behaves the
|
|
120
|
+
* other way round for the same reason inverted — nothing inherits from a status theme.
|
|
119
121
|
*/
|
|
120
|
-
|
|
122
|
+
accent?: PaletteSeed;
|
|
121
123
|
/**
|
|
122
|
-
*
|
|
123
|
-
* {@link PaletteConfig.baseHue} governs: `surface` and its ladder, the
|
|
124
|
+
* The **base** zone: the neutral chrome — `surface` and its ladder, the
|
|
124
125
|
* `surface-text*` ramp, `border`, `placeholder`.
|
|
125
126
|
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* a
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* The
|
|
139
|
-
* `
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
127
|
+
* **Omit it and the zone follows the accent** — the chrome carries a faint tint of the
|
|
128
|
+
* brand, at {@link SURFACE_SATURATION_SHARE} of its chroma, unless you say otherwise.
|
|
129
|
+
* That is the third state, and the reason this field is worth reading back from
|
|
130
|
+
* {@link getPaletteConfigInput}: absent, an object, or a string are three different
|
|
131
|
+
* answers to "does the chrome have a seed of its own".
|
|
132
|
+
*
|
|
133
|
+
* **As numbers** — `{ hue, saturation }`, each independently optional. Splitting the
|
|
134
|
+
* hue off lets the chrome sit on a different one from the accent — a warm grey UI with
|
|
135
|
+
* a cool blue brand, say. Only the `default` theme is affected: a colored theme's
|
|
136
|
+
* tinted `surface` deliberately follows *its own* hue, because a danger banner should
|
|
137
|
+
* read as red.
|
|
138
|
+
*
|
|
139
|
+
* The saturation is on the same 0–100 scale as the accent's, and read the same way.
|
|
140
|
+
* **The shipped chrome is `12`** — a faint tint is what a neutral surface is — so the
|
|
141
|
+
* useful range is mostly below a third, and the numbers above it are a deliberately
|
|
142
|
+
* tinted theme rather than a neutral one. Set it and the base zone stops following the
|
|
143
|
+
* brand: a vivid accent over near-grey chrome, or a muted accent over visibly warm
|
|
144
|
+
* chrome, are both one number away and neither is reachable from a single scale.
|
|
145
|
+
*
|
|
146
|
+
* The base colors keep their proportions to one another — `border` more than `surface`,
|
|
147
|
+
* the text ramp more than `border` — until the highest of them hits the top of the
|
|
148
|
+
* scale, which happens around `25`. Past that they converge.
|
|
149
|
+
*
|
|
150
|
+
* Under {@link PaletteConfig.surfaceMode} `'neutral'` it reaches `surface-2`…
|
|
151
|
+
* `surface-4`, `border`, `placeholder` and the text ramp, but not the page surface: at
|
|
152
|
+
* the end of the tone scale there is no room for chroma, whatever the seed says.
|
|
153
|
+
* `'tinted'` is what gives it somewhere to land.
|
|
154
|
+
*
|
|
155
|
+
* **As a color** — its **hue and saturation** are read; its **tone is discarded**,
|
|
156
|
+
* because the chrome's lightness ladder is the design. A base color says which way the
|
|
157
|
+
* greys lean and how far, not how dark they are.
|
|
158
|
+
*
|
|
159
|
+
* The saturation is clipped to {@link MAX_BASE_SATURATION}. Naming a base color says
|
|
160
|
+
* "the chrome is this color", so it lands near it rather than at the share it would
|
|
161
|
+
* inherit from the accent — but a fully saturated chrome is no longer chrome, so there
|
|
162
|
+
* is a ceiling on how far "near" goes.
|
|
163
|
+
*
|
|
164
|
+
* Unlike the accent's, writing a base saturation does *not* turn pastel off: how much
|
|
165
|
+
* hue the chrome carries says nothing about which chroma space the palette is in.
|
|
146
166
|
*/
|
|
147
|
-
|
|
167
|
+
base?: PaletteSeed;
|
|
148
168
|
/**
|
|
149
169
|
* Global. Where the neutral surface ramp sits on the tone scale.
|
|
150
170
|
*
|
|
@@ -155,57 +175,35 @@ interface PaletteConfig {
|
|
|
155
175
|
*
|
|
156
176
|
* Two tones is not a visible lightness change; what it buys is *room*. Chroma
|
|
157
177
|
* needs distance from white to exist at all, so at the extreme a light page is
|
|
158
|
-
* white no matter what
|
|
159
|
-
*
|
|
178
|
+
* white no matter what the base saturation says. Tinted trades two tones of
|
|
179
|
+
* headroom for a page that actually carries its base hue.
|
|
160
180
|
*
|
|
161
181
|
* Everything below `surface` is positioned relative to it, so the ladder, the
|
|
162
182
|
* borders and the text ramp all follow — and the contrast floors on the text
|
|
163
183
|
* re-solve against the new background rather than drifting.
|
|
164
184
|
*/
|
|
165
185
|
surfaceMode?: SurfaceMode;
|
|
166
|
-
/**
|
|
167
|
-
* Seed saturation (0–100), and the fallback for every theme that does not set
|
|
168
|
-
* its own.
|
|
169
|
-
*
|
|
170
|
-
* **Belongs to the non-pastel path**, and setting it says so: with no
|
|
171
|
-
* {@link PaletteConfig.pastel} beside it, this turns pastel off, because tuning a
|
|
172
|
-
* saturation is the non-pastel path by definition. Pastel is one flat chroma ceiling,
|
|
173
|
-
* so under it there is exactly one seed and it is the top of the scale.
|
|
174
|
-
*
|
|
175
|
-
* A `pastel: true` written next to a saturation wins and the saturation is ignored
|
|
176
|
-
* (with a dev warning) — but it is kept rather than dropped, so turning pastel back
|
|
177
|
-
* off restores your number.
|
|
178
|
-
*
|
|
179
|
-
* One scale for the whole theme, by design. Every color's own `saturation` is a
|
|
180
|
-
* 0–1 factor of this seed — `surface` at 0.12, `border` at 0.175, the text ramp
|
|
181
|
-
* at 0.2, the accent family at ~1.0 — so moving it rescales the palette while
|
|
182
|
-
* keeping those proportions. Unlike hue, which is configured separately for the
|
|
183
|
-
* brand and for each status theme, saturation is deliberately not split: the
|
|
184
|
-
* ratio between a subtle surface tint and a saturated accent is part of the
|
|
185
|
-
* design.
|
|
186
|
-
*/
|
|
187
|
-
saturation?: number;
|
|
188
186
|
/**
|
|
189
187
|
* Global. Widens the usable chroma range by relaxing the sRGB-safe limit,
|
|
190
188
|
* producing a softer, more even palette across hues. Glaze treats `pastel` as
|
|
191
189
|
* instance-level, so it is threaded into every theme.
|
|
192
190
|
*
|
|
193
|
-
* It also **pins
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
191
|
+
* It also **pins the accent's saturation to 100**: the even, hue-independent ceiling
|
|
192
|
+
* is what pastel is for, and a second saturation scale on top of it would only undo
|
|
193
|
+
* that. Two paths, then — pastel with no saturation knob, or `pastel: false` with a
|
|
194
|
+
* free 0–100 one.
|
|
197
195
|
*
|
|
198
|
-
* Which is why a lone `saturation` picks the second path for you. State
|
|
199
|
-
* only to override that: it is the coarser of the two choices, so it wins
|
|
200
|
-
* both are set, and a saturation it shadows is ignored with a dev warning.
|
|
196
|
+
* Which is why a lone `accent: { saturation }` picks the second path for you. State
|
|
197
|
+
* this field only to override that: it is the coarser of the two choices, so it wins
|
|
198
|
+
* wherever both are set, and a saturation it shadows is ignored with a dev warning.
|
|
201
199
|
*
|
|
202
|
-
* The same ceiling is why
|
|
203
|
-
*
|
|
204
|
-
*
|
|
200
|
+
* The same ceiling is why a color seed cannot render exactly under pastel — `#FFD400`
|
|
201
|
+
* softens to `#e4d8ad`. Under pastel a color contributes its hue and its tone; turn
|
|
202
|
+
* pastel off to get its chroma too.
|
|
205
203
|
*
|
|
206
|
-
* Every theme except `code`. The syntax family is calibrated on its own
|
|
207
|
-
*
|
|
208
|
-
*
|
|
204
|
+
* Every theme except `code`. The syntax family is calibrated on its own saturation and
|
|
205
|
+
* is deliberately left out — softening it collapses the chroma spread the syntax hues
|
|
206
|
+
* rely on to stay apart. To soften a code block, lower
|
|
209
207
|
* {@link PaletteCodeSeed.saturation} instead.
|
|
210
208
|
*/
|
|
211
209
|
pastel?: boolean;
|
|
@@ -226,12 +224,31 @@ interface PaletteConfig {
|
|
|
226
224
|
* second tier would only duplicate them.
|
|
227
225
|
*/
|
|
228
226
|
contrastLevel?: number | 'auto';
|
|
229
|
-
/**
|
|
227
|
+
/**
|
|
228
|
+
* Per-theme seed overrides. Each status theme takes the same {@link PaletteSeed} the
|
|
229
|
+
* accent zone does, and inherits the accent's saturation until it sets its own.
|
|
230
|
+
*
|
|
231
|
+
* **As numbers** — `{ hue, saturation }`. Status hues have to stay semantically
|
|
232
|
+
* legible (danger red, warning amber, success green) and far enough apart from each
|
|
233
|
+
* other and from the brand to read as different things.
|
|
234
|
+
*
|
|
235
|
+
* **As a color** — the theme's accent family becomes that color, on the same terms
|
|
236
|
+
* {@link PaletteConfig.accent} sets: the light/normal-contrast variant reproduces it,
|
|
237
|
+
* the softened APCA floors apply instead of the white-anchored ladder's WCAG ones, and
|
|
238
|
+
* the tone is capped so the `#white` label every `type="primary"` item paints on the
|
|
239
|
+
* fill survives.
|
|
240
|
+
*
|
|
241
|
+
* Here the color's chroma **does** become the theme's seed saturation, unlike the
|
|
242
|
+
* accent's. Nothing inherits from a status theme, so there is nothing to
|
|
243
|
+
* re-chromatize — and it is what keeps the theme's tinted banner surface, border and
|
|
244
|
+
* text ramp at their shipped proportions to the fill instead of drifting relative to
|
|
245
|
+
* it.
|
|
246
|
+
*/
|
|
230
247
|
themes?: {
|
|
231
|
-
success?:
|
|
232
|
-
danger?:
|
|
233
|
-
warning?:
|
|
234
|
-
note?:
|
|
248
|
+
success?: PaletteSeed;
|
|
249
|
+
danger?: PaletteSeed;
|
|
250
|
+
warning?: PaletteSeed;
|
|
251
|
+
note?: PaletteSeed;
|
|
235
252
|
code?: PaletteCodeSeed;
|
|
236
253
|
};
|
|
237
254
|
}
|
|
@@ -274,37 +291,61 @@ interface ResolvedPaletteConfig {
|
|
|
274
291
|
/**
|
|
275
292
|
* The saturation of {@link ResolvedPaletteConfig.accentColor}, or `null` beside it.
|
|
276
293
|
*
|
|
277
|
-
* On the palette's 0–100 scale, like every other saturation here
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
294
|
+
* On the palette's 0–100 scale, like every other saturation here — and deliberately
|
|
295
|
+
* *not* the same number as {@link ResolvedPaletteConfig.saturation}, which a color
|
|
296
|
+
* never raises. The accent family gets this chroma through Glaze's `from`, where it is
|
|
297
|
+
* absolute; the seed stays where it was so the status themes that inherit it are left
|
|
298
|
+
* alone.
|
|
299
|
+
*
|
|
300
|
+
* Kept as a number because the accent seed is rebuilt from its three components rather
|
|
301
|
+
* than handed over as the literal: the tone is capped so a white label survives on the
|
|
302
|
+
* fill, and a capped tone means reconstructing the color anyway.
|
|
282
303
|
*/
|
|
283
304
|
accentSaturation: number | null;
|
|
284
305
|
pastel: boolean;
|
|
285
306
|
contrastLevel: number | 'auto';
|
|
286
307
|
themes: {
|
|
287
|
-
success:
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
danger: {
|
|
292
|
-
hue: number;
|
|
293
|
-
saturation: number;
|
|
294
|
-
};
|
|
295
|
-
warning: {
|
|
296
|
-
hue: number;
|
|
297
|
-
saturation: number;
|
|
298
|
-
};
|
|
299
|
-
note: {
|
|
300
|
-
hue: number;
|
|
301
|
-
saturation: number;
|
|
302
|
-
};
|
|
308
|
+
success: ResolvedThemeSeed;
|
|
309
|
+
danger: ResolvedThemeSeed;
|
|
310
|
+
warning: ResolvedThemeSeed;
|
|
311
|
+
note: ResolvedThemeSeed;
|
|
303
312
|
code: {
|
|
304
313
|
saturation: number;
|
|
305
314
|
};
|
|
306
315
|
};
|
|
307
316
|
}
|
|
317
|
+
/** One status theme's seed, resolved. */
|
|
318
|
+
interface ResolvedThemeSeed {
|
|
319
|
+
hue: number;
|
|
320
|
+
/**
|
|
321
|
+
* The theme's Glaze seed, and a ceiling on every color in it.
|
|
322
|
+
*
|
|
323
|
+
* On the numeric path this inherits the accent's saturation until the theme pins its
|
|
324
|
+
* own. On the color path it **is** the color's chroma, which is what keeps the theme's
|
|
325
|
+
* tinted surface, border and text ramp at their shipped proportions to a fill whose
|
|
326
|
+
* chroma arrives absolute through `from`. See {@link PaletteConfig.themes} for why the
|
|
327
|
+
* accent zone does the opposite.
|
|
328
|
+
*/
|
|
329
|
+
saturation: number;
|
|
330
|
+
/**
|
|
331
|
+
* The color as given, handed to Glaze's `from` so this theme's accent family renders
|
|
332
|
+
* as that literal value rather than as a shade re-derived from the seed.
|
|
333
|
+
*
|
|
334
|
+
* `null` — the common case — means the theme is on the numeric path and its accent
|
|
335
|
+
* family keeps the white-anchored derivation, which is the only arrangement that
|
|
336
|
+
* reproduces the shipped palette bit for bit.
|
|
337
|
+
*/
|
|
338
|
+
color: string | null;
|
|
339
|
+
/**
|
|
340
|
+
* The tone of {@link ResolvedThemeSeed.color}, or `null` alongside it.
|
|
341
|
+
*
|
|
342
|
+
* `from` carries the tone itself, so this exists for the two things that need the
|
|
343
|
+
* *number*: the hover brand text sits a fixed tone step past the rest one, and the
|
|
344
|
+
* tone is capped so the `#white` label a `type="primary"` item paints on the fill
|
|
345
|
+
* survives. Both are arithmetic, and neither can be done to a string.
|
|
346
|
+
*/
|
|
347
|
+
colorTone: number | null;
|
|
348
|
+
}
|
|
308
349
|
/**
|
|
309
350
|
* The palette as it ships, with no tuning applied. Frozen — it is the baseline
|
|
310
351
|
* every resolution falls back to, so a stray write to it would move the defaults
|
|
@@ -320,8 +361,8 @@ declare const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig;
|
|
|
320
361
|
* object, and re-applying the same object twice is the same as applying it once.
|
|
321
362
|
*
|
|
322
363
|
* ```ts
|
|
323
|
-
* setPaletteConfig({ hue: 200,
|
|
324
|
-
* setPaletteConfig({ hue: 200 }); //
|
|
364
|
+
* setPaletteConfig({ accent: { hue: 200 }, base: { hue: 60 } });
|
|
365
|
+
* setPaletteConfig({ accent: { hue: 200 } }); // `base` is gone — follows accent again
|
|
325
366
|
* ```
|
|
326
367
|
*
|
|
327
368
|
* To adjust one field of the config already in place — a slider in a settings UI —
|
|
@@ -329,7 +370,7 @@ declare const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig;
|
|
|
329
370
|
* preserves which fields are pinned and which still inherit:
|
|
330
371
|
*
|
|
331
372
|
* ```ts
|
|
332
|
-
* setPaletteConfig((config) => ({ ...config, hue: 200 }));
|
|
373
|
+
* setPaletteConfig((config) => ({ ...config, accent: { hue: 200 } }));
|
|
333
374
|
* ```
|
|
334
375
|
*
|
|
335
376
|
* The palette is rebuilt lazily on the next token read, and any mounted `<Root>`
|
|
@@ -362,10 +403,10 @@ declare function getPaletteConfig(): ResolvedPaletteConfig;
|
|
|
362
403
|
* to offer a way back:
|
|
363
404
|
*
|
|
364
405
|
* ```ts
|
|
365
|
-
* const
|
|
406
|
+
* const own = getPaletteConfigInput().base !== undefined;
|
|
366
407
|
*
|
|
367
408
|
* // Re-link it to the brand by dropping the field.
|
|
368
|
-
* setPaletteConfig(({
|
|
409
|
+
* setPaletteConfig(({ base, ...config }) => config);
|
|
369
410
|
* ```
|
|
370
411
|
*
|
|
371
412
|
* It is also the value handed to a {@link setPaletteConfig} updater.
|
|
@@ -397,17 +438,18 @@ declare function usePaletteVersion(): number;
|
|
|
397
438
|
*
|
|
398
439
|
* <HueSlider
|
|
399
440
|
* value={palette.hue}
|
|
400
|
-
* onChange={(hue) => setPalette((config) => ({ ...config, hue }))}
|
|
441
|
+
* onChange={(hue) => setPalette((config) => ({ ...config, accent: { hue } }))}
|
|
401
442
|
* />
|
|
402
443
|
* ```
|
|
403
444
|
*
|
|
404
|
-
* The first element is the *resolved* config, so `palette.hue` is always a number
|
|
405
|
-
*
|
|
445
|
+
* The first element is the *resolved* config, so `palette.hue` is always a number — it
|
|
446
|
+
* keeps the flat shape the recipe reads, whichever way the zones were seeded. The
|
|
447
|
+
* updater's argument is the sparse one — see {@link getPaletteConfigInput}.
|
|
406
448
|
*
|
|
407
449
|
* The config is global process state, so every consumer of this hook — and every
|
|
408
450
|
* mounted `<Root>` — sees the same palette.
|
|
409
451
|
*/
|
|
410
452
|
declare function usePaletteConfig(): readonly [ResolvedPaletteConfig, typeof setPaletteConfig];
|
|
411
453
|
//#endregion
|
|
412
|
-
export { DEFAULT_PALETTE_CONFIG, MAX_BASE_SATURATION, PaletteCodeSeed, PaletteConfig,
|
|
454
|
+
export { DEFAULT_PALETTE_CONFIG, MAX_BASE_SATURATION, PaletteCodeSeed, PaletteConfig, PaletteNumericSeed, PaletteSeed, PaletteThemeName, ResolvedPaletteConfig, ResolvedThemeSeed, SurfaceMode, getPaletteConfig, getPaletteConfigInput, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
|
|
413
455
|
//# sourceMappingURL=palette-config.d.ts.map
|