@cube-dev/ui-kit 0.0.0-canary-694a764 → 0.0.0-canary-dcbc0fb
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 +4 -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 +1 -1
- package/dist/components/actions/Button/Button.d.ts +1 -0
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +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 +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +2 -1
- 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 +1 -0
- 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 +3 -2
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +2 -2
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.d.ts +8 -2
- package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.js +14 -6
- package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -0
- package/dist/components/fields/ColorSwatch/index.d.ts +2 -0
- 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 +1 -0
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
- 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 +2 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +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 +15 -2
- package/dist/components/fields/Slider/HueSlider.js.map +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/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/fields/color/index.d.ts +0 -1
- package/dist/components/fields/index.d.ts +2 -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/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/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 +2 -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.d.ts +1 -0
- 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 +1 -0
- 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 +2 -0
- 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.d.ts +2 -0
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/index.d.ts +1 -0
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/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 +4 -3
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.d.ts +44 -0
- package/dist/tokens/color-seed.js +48 -0
- package/dist/tokens/color-seed.js.map +1 -0
- package/dist/tokens/color-theme.d.ts +8 -1
- package/dist/tokens/color-theme.js +19 -7
- package/dist/tokens/color-theme.js.map +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.d.ts +2 -1
- package/dist/tokens/index.js +3 -2
- 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 +175 -9
- package/dist/tokens/palette-config.js +62 -10
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.js +398 -157
- 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 +306 -30
- package/docs/components/fields/ColorSwatch.md +148 -0
- package/docs/glaze/api.md +117 -38
- package/docs/glaze/methodology.md +15 -13
- package/docs/glaze/okhst.md +4 -0
- package/package.json +2 -2
- package/dist/components/fields/color/ColorSwatch.js.map +0 -1
package/dist/tokens/palette.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
2
|
-
import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-dcbc0fb | Cube Dev Team */
|
|
2
|
+
import { SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
|
|
3
3
|
import { lazyStyles } from "./lazy-styles.js";
|
|
4
4
|
import { glaze } from "@tenphi/glaze";
|
|
5
5
|
|
|
@@ -30,12 +30,157 @@ const CODE_STRING_HUE = 280.3;
|
|
|
30
30
|
* Saturation factor of the neutral `surface`.
|
|
31
31
|
*
|
|
32
32
|
* Shared with the code theme, which mirrors `surface` to solve its contrast floors
|
|
33
|
-
* against the real page background — the two must not drift apart.
|
|
33
|
+
* against the real page background — the two must not drift apart. Shared with the
|
|
34
|
+
* config too, which needs it to work out the share of the accent zone's chroma the
|
|
35
|
+
* chrome takes when no `baseColor` names one outright; it lives there because the
|
|
36
|
+
* config cannot import from here, and is re-exported under this name because that is
|
|
37
|
+
* what the recipe calls it.
|
|
34
38
|
*/
|
|
35
|
-
const SURFACE_SATURATION =
|
|
39
|
+
const SURFACE_SATURATION = SURFACE_SATURATION_SHARE;
|
|
36
40
|
const TINTED_SURFACE_SATURATION = .2;
|
|
37
41
|
const TINTED_SURFACE_TONE_OFFSET = 2;
|
|
38
42
|
/**
|
|
43
|
+
* How far `surfaceMode: 'tinted'` moves the neutral ramp off the end of the tone
|
|
44
|
+
* scale.
|
|
45
|
+
*
|
|
46
|
+
* Small on purpose. Two tones is below the threshold where a page reads as
|
|
47
|
+
* "grey" rather than "white", and it is not lightness this buys: chroma needs
|
|
48
|
+
* distance from the extreme to exist at all, so at tone 100 a light surface is
|
|
49
|
+
* white whatever saturation it asks for. Two tones is the cheapest room in which
|
|
50
|
+
* the base hue becomes visible.
|
|
51
|
+
*
|
|
52
|
+
* Everything under `surface` is positioned relative to it, so the shift carries
|
|
53
|
+
* the whole ladder — and the text ramp's contrast floors re-solve against the new
|
|
54
|
+
* background instead of drifting.
|
|
55
|
+
*/
|
|
56
|
+
const TINTED_SURFACE_TONE_SHIFT = 2;
|
|
57
|
+
/** Tone of the neutral `surface`, per {@link ResolvedPaletteConfig.surfaceMode}. */
|
|
58
|
+
function surfaceTone(config) {
|
|
59
|
+
return config.surfaceMode === "tinted" ? 100 - TINTED_SURFACE_TONE_SHIFT : 100;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Tone of a TINTED `surface` — a status theme's, or a runtime tint's —
|
|
63
|
+
* as `[light, highContrast]`.
|
|
64
|
+
*
|
|
65
|
+
* A tinted surface is a banner sitting *on* the page, so its tone is authored as
|
|
66
|
+
* an offset from the page's rather than as an absolute. Under
|
|
67
|
+
* `surfaceMode: 'tinted'` the page itself moves down to 98, which is exactly where
|
|
68
|
+
* these used to sit: a `note` banner would come out the same tone as the surface
|
|
69
|
+
* behind it and stop reading as a banner at all. Anchoring both on
|
|
70
|
+
* {@link surfaceTone} keeps the separation the offset was chosen for.
|
|
71
|
+
*
|
|
72
|
+
* The text ramps on these themes are relative (`base: 'surface'`), so they follow
|
|
73
|
+
* on their own — only the absolute tone needs the anchor.
|
|
74
|
+
*/
|
|
75
|
+
function tintedSurfaceTone(config) {
|
|
76
|
+
const page = surfaceTone(config);
|
|
77
|
+
return [page - TINTED_SURFACE_TONE_OFFSET, page - TINTED_SURFACE_TONE_OFFSET * 2];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Rescale the base-zone saturation factors onto the base zone's own seed.
|
|
81
|
+
*
|
|
82
|
+
* Every color's `saturation` is a 0–1 factor of its **theme's** seed, and the
|
|
83
|
+
* neutral family shares a theme instance with the accent one — it has to, since
|
|
84
|
+
* `accent-surface` is positioned against `surface`. A separate base seed therefore
|
|
85
|
+
* cannot be a second theme; it arrives as a scale over the authored factors.
|
|
86
|
+
*
|
|
87
|
+
* The scale is anchored on `surface`: dividing by `SURFACE_SATURATION` turns each
|
|
88
|
+
* factor into its share *of the surface's tint*, and multiplying by
|
|
89
|
+
* `baseSaturation / saturation` re-expresses that share against the base seed.
|
|
90
|
+
* `surface` therefore lands on exactly `baseSaturation` on the 0–100 scale, and
|
|
91
|
+
* every sibling keeps its proportion to it. At the shipped
|
|
92
|
+
* `baseSaturation = saturation × 0.12` the scale is `1` and nothing moves.
|
|
93
|
+
*
|
|
94
|
+
* Clamped because Glaze reads the factor as 0–1, which is also why the proportions
|
|
95
|
+
* converge at the top: `surface-inverse` (the highest at `0.475`) saturates first,
|
|
96
|
+
* around `baseSaturation: 25`.
|
|
97
|
+
*
|
|
98
|
+
* A palette seed of `0` leaves no chroma for any factor to scale, so the base zone
|
|
99
|
+
* is grey there whatever it asks for — the ceiling belongs to the theme instance,
|
|
100
|
+
* not to this scale.
|
|
101
|
+
*/
|
|
102
|
+
function baseSaturationScale(config) {
|
|
103
|
+
return config.saturation > 0 ? config.baseSaturation / (SURFACE_SATURATION * config.saturation) : 0;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Contrast floors for a pinned brand color: `[normal, highContrast]`.
|
|
107
|
+
*
|
|
108
|
+
* `3` is WCAG's non-text floor — enough that the button reads as a shape against the
|
|
109
|
+
* page, and low enough that most brands clear it untouched. It is a FLOOR and not a
|
|
110
|
+
* target: a brand already at 5:1 or 17:1 is emitted exactly as given. Lower would let a
|
|
111
|
+
* fill vanish into the page; the shipped `['AA','AAA']` is too high to survive a light
|
|
112
|
+
* brand at all (it crushes `#FFD400` from tone 88 to 50).
|
|
113
|
+
*
|
|
114
|
+
* The high-contrast entry stays at AAA regardless. Fidelity to a requested color is a
|
|
115
|
+
* preference; the high-contrast tier is not — it exists for users who cannot read the
|
|
116
|
+
* normal one, and it is selected by `prefers-contrast: more` or an explicit
|
|
117
|
+
* `data-contrast="high"`, so anyone seeing it has asked for separation over brand.
|
|
118
|
+
* Note the pair also means an unreachable HC target is a real possibility for a very
|
|
119
|
+
* light brand, and Glaze pins it to the nearest tone and warns rather than failing.
|
|
120
|
+
*/
|
|
121
|
+
const ACCENT_FILL_CONTRAST = [3, 7];
|
|
122
|
+
/**
|
|
123
|
+
* Floors for the two brand TEXT tokens: rest, then hover.
|
|
124
|
+
*
|
|
125
|
+
* The normal entries relax so a vivid brand can be the actual link color. The
|
|
126
|
+
* high-contrast entries do not — same reasoning as {@link ACCENT_FILL_CONTRAST} — and
|
|
127
|
+
* they stay one step apart so the rest→hover intensify survives the tier that needs it
|
|
128
|
+
* most. A single shared HC number would collapse the pair onto one color: both would
|
|
129
|
+
* simply solve to it.
|
|
130
|
+
*
|
|
131
|
+
* The hover's `9` is measured, not chosen for roundness. It is the highest target
|
|
132
|
+
* reachable across `#7A4DBF` `#EF4444` `#0EA5E9` `#22C55E` `#FFD400` `#111827` in both
|
|
133
|
+
* high-contrast schemes, and it holds a ~2.0 gap over the rest color in every one. The
|
|
134
|
+
* shipped `11` is not usable here: 11:1 from a fully saturated hue against a chromatic
|
|
135
|
+
* `accent-selected-fill` is unreachable, and `#FFD400` in dark high contrast pins to
|
|
136
|
+
* pure black — a hover link *less* readable than its rest state, at 2.23 against 7.07.
|
|
137
|
+
* The shipped palette can afford 11 because its fill is a desaturated mix; a pinned
|
|
138
|
+
* brand color is not.
|
|
139
|
+
*/
|
|
140
|
+
const ACCENT_TEXT_CONTRAST = [3, 7];
|
|
141
|
+
const ACCENT_TEXT_HOVER_CONTRAST = [4.5, 9];
|
|
142
|
+
/**
|
|
143
|
+
* Tone steps of the brand fill ramp, measured from `accent-surface`.
|
|
144
|
+
*
|
|
145
|
+
* They reproduce the white-anchored `-49 / -52 / -55 / -58` ladder exactly once the
|
|
146
|
+
* fill is pinned, because those four deltas share an anchor and differ by 3 / 6 / 9.
|
|
147
|
+
*/
|
|
148
|
+
const ACCENT_RAMP = {
|
|
149
|
+
surface2: "-3",
|
|
150
|
+
surface3: "-6",
|
|
151
|
+
hover: "-9"
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* How far the hover brand text sits past the rest one, in tone.
|
|
155
|
+
*
|
|
156
|
+
* Both are pinned to the caller's tone otherwise, and a pair at the same tone behind
|
|
157
|
+
* the same floor resolves to one color — which would silently delete the rest→hover
|
|
158
|
+
* intensify that `accent-text` exists for. Tone is contrast-uniform, so one step is
|
|
159
|
+
* one step in either scheme.
|
|
160
|
+
*/
|
|
161
|
+
const ACCENT_TEXT_HOVER_STEP = 6;
|
|
162
|
+
/**
|
|
163
|
+
* Opaque stand-in for the BASE selected fill used by outline / outline-2 / clear Item
|
|
164
|
+
* types (`#surface|#surface-2|#surface-3` + `#accent-surface.09`).
|
|
165
|
+
*
|
|
166
|
+
* Anchors the `accent-text*` contrast. `value: 9` matches the `.09` alpha overlay;
|
|
167
|
+
* `space: 'srgb'` approximates CSS two-layer compositing. Inherited so colored themes
|
|
168
|
+
* re-resolve against their own `surface` + `accent-surface` (default `surface-2` /
|
|
169
|
+
* `surface-3` are `inherit: false` and can't be the mix base). Primary's tinted
|
|
170
|
+
* `surface` makes this slightly harder than default clear-selected, covering
|
|
171
|
+
* outline / outline-2 selected fills as well.
|
|
172
|
+
*
|
|
173
|
+
* The same in both accent arrangements — it is defined by its two ends, and both of
|
|
174
|
+
* those move with the seed on their own.
|
|
175
|
+
*/
|
|
176
|
+
const ACCENT_SELECTED_FILL = { "accent-selected-fill": {
|
|
177
|
+
type: "mix",
|
|
178
|
+
base: "surface",
|
|
179
|
+
target: "accent-surface",
|
|
180
|
+
value: 9,
|
|
181
|
+
space: "srgb"
|
|
182
|
+
} };
|
|
183
|
+
/**
|
|
39
184
|
* Syntax highlighting for `PrismCode`, as its own theme.
|
|
40
185
|
*
|
|
41
186
|
* A small palette of *adaptive* colored tokens. Each one is anchored to `surface`
|
|
@@ -127,14 +272,14 @@ const CODE_COLORS = {
|
|
|
127
272
|
function buildCodeTheme(config, instanceConfig) {
|
|
128
273
|
const codeSaturation = config.themes.code.saturation;
|
|
129
274
|
const theme = glaze(config.hue, codeSaturation, instanceConfig);
|
|
130
|
-
let mirrorFactor =
|
|
275
|
+
let mirrorFactor = config.baseSaturation / codeSaturation;
|
|
131
276
|
if (mirrorFactor > 1) {
|
|
132
|
-
console.warn(`[cube-ui-kit] themes.code.saturation (${codeSaturation}) is too low for
|
|
277
|
+
console.warn(`[cube-ui-kit] themes.code.saturation (${codeSaturation}) is too low for baseSaturation ${config.baseSaturation}: the mirrored code surface would need a factor of ${mirrorFactor.toFixed(3)}. Clamped to 1; raise the code saturation to keep syntax contrast accurate.`);
|
|
133
278
|
mirrorFactor = 1;
|
|
134
279
|
}
|
|
135
280
|
theme.colors({
|
|
136
281
|
surface: {
|
|
137
|
-
tone:
|
|
282
|
+
tone: surfaceTone(config),
|
|
138
283
|
saturation: mirrorFactor
|
|
139
284
|
},
|
|
140
285
|
...CODE_COLORS
|
|
@@ -160,19 +305,17 @@ glaze.configure({
|
|
|
160
305
|
darkDesaturation: 0
|
|
161
306
|
});
|
|
162
307
|
/**
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
308
|
+
* The config-free half of a colored theme's overrides — everything anchored to
|
|
309
|
+
* the theme's own `surface` with a *relative* tone, so it follows wherever
|
|
310
|
+
* {@link tintedSurfaceTone} puts that surface.
|
|
311
|
+
*
|
|
312
|
+
* - `border` — bumped saturation so OUTLINE-variant borders pick up the theme
|
|
313
|
+
* hue (used by `#<theme>-border` in `item-themes.ts`). Mirrors the
|
|
314
|
+
* default-theme `border` shape (`base: 'surface'`, tone window) but with
|
|
315
|
+
* higher saturation. Glaze's `extend({ colors })` redefines each listed color
|
|
316
|
+
* from scratch, so we restate the full definition here.
|
|
170
317
|
*/
|
|
171
|
-
const
|
|
172
|
-
surface: {
|
|
173
|
-
tone: [100 - TINTED_SURFACE_TONE_OFFSET, 100 - TINTED_SURFACE_TONE_OFFSET * 2],
|
|
174
|
-
saturation: TINTED_SURFACE_SATURATION
|
|
175
|
-
},
|
|
318
|
+
const TINTED_SURFACE_RAMP = {
|
|
176
319
|
border: {
|
|
177
320
|
base: "surface",
|
|
178
321
|
tone: ["-10", "-30"],
|
|
@@ -198,13 +341,31 @@ const TINTED_SURFACE_OVERRIDE = {
|
|
|
198
341
|
}
|
|
199
342
|
};
|
|
200
343
|
/**
|
|
344
|
+
* Per-colored-theme overrides on top of the default theme: a `surface` bumped in
|
|
345
|
+
* saturation so the banner background is visibly tinted, plus
|
|
346
|
+
* {@link TINTED_SURFACE_RAMP}.
|
|
347
|
+
*
|
|
348
|
+
* A function of the config because the surface's tone is — see
|
|
349
|
+
* {@link tintedSurfaceTone}.
|
|
350
|
+
*/
|
|
351
|
+
function tintedSurfaceOverride(config) {
|
|
352
|
+
return {
|
|
353
|
+
surface: {
|
|
354
|
+
tone: tintedSurfaceTone(config),
|
|
355
|
+
saturation: TINTED_SURFACE_SATURATION
|
|
356
|
+
},
|
|
357
|
+
...TINTED_SURFACE_RAMP
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
201
361
|
* A tinted surface, a banding step, and text guaranteed to read on both.
|
|
202
362
|
*
|
|
203
363
|
* The recipe behind {@link getColorTheme} in `./color-theme.ts`, which builds
|
|
204
364
|
* one-off themes at runtime from an arbitrary hue. It lives here so it shares
|
|
205
365
|
* `TINTED_SURFACE_SATURATION`, the tone offsets and the text ramp with
|
|
206
|
-
* {@link
|
|
207
|
-
* and a built-in theme's `surface` should be the same colour for the same hue
|
|
366
|
+
* {@link tintedSurfaceOverride} above rather than forking them — a runtime tint
|
|
367
|
+
* and a built-in theme's `surface` should be the same colour for the same hue,
|
|
368
|
+
* which also means both have to follow the page when `surfaceMode` moves it.
|
|
208
369
|
*
|
|
209
370
|
* Three colours, because that is what banded, readable table column needs:
|
|
210
371
|
* `surface` for even rows, `surface-2` one tone step down for odd rows and
|
|
@@ -216,29 +377,185 @@ const TINTED_SURFACE_OVERRIDE = {
|
|
|
216
377
|
* clears it on both bands. The neutral ramp's own `surface-2-text` is shaped the
|
|
217
378
|
* same way for the same reason.
|
|
218
379
|
*/
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
380
|
+
function tintRecipe(config) {
|
|
381
|
+
return {
|
|
382
|
+
surface: {
|
|
383
|
+
tone: tintedSurfaceTone(config),
|
|
384
|
+
saturation: TINTED_SURFACE_SATURATION
|
|
385
|
+
},
|
|
386
|
+
"surface-2": {
|
|
387
|
+
base: "surface",
|
|
388
|
+
tone: ["-2", "-4"],
|
|
389
|
+
saturation: TINTED_SURFACE_SATURATION
|
|
390
|
+
},
|
|
391
|
+
"surface-2-text": {
|
|
392
|
+
base: "surface-2",
|
|
393
|
+
tone: `${TEXT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
|
|
394
|
+
saturation: .25,
|
|
395
|
+
contrast: ["AA", "AAA"]
|
|
396
|
+
},
|
|
397
|
+
"surface-2-text-soft": {
|
|
398
|
+
base: "surface-2",
|
|
399
|
+
tone: `${TEXT_SOFT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
|
|
400
|
+
saturation: .25,
|
|
401
|
+
contrast: ["AA", "AAA"]
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* The brand family, in one of two arrangements.
|
|
407
|
+
*
|
|
408
|
+
* **`null`** — the shipped one, verbatim. Every fill hangs off a fixed white
|
|
409
|
+
* `accent-surface-text` at a relative tone delta behind an `['AA','AAA']` floor, and
|
|
410
|
+
* the text pair hangs off `accent-selected-fill` at `-49`. Those floors are
|
|
411
|
+
* load-bearing rather than decorative: relaxing them moves the shipped `accent-text`
|
|
412
|
+
* light tone from 38.76 to 48.63 and the `accent-surface` high-contrast tone from
|
|
413
|
+
* 36.08 to 51.00. Nothing on this path may change — `palette.test.ts` snapshots it.
|
|
414
|
+
*
|
|
415
|
+
* **A color** — the caller handed us one, and the job is to render *that*. Glaze's
|
|
416
|
+
* `from` takes the value directly: it supplies the hue, the tone, and an absolute
|
|
417
|
+
* saturation that does not answer to the theme seed, and it reproduces the value
|
|
418
|
+
* exactly in the light/normal-contrast variant. The floors drop to
|
|
419
|
+
* {@link ACCENT_FILL_CONTRAST} on top, because anchored the shipped way every accent
|
|
420
|
+
* lands at roughly tone 50 whatever went in, and a 4.5 floor then crushes anything
|
|
421
|
+
* light besides.
|
|
422
|
+
*
|
|
423
|
+
* Two details worth keeping straight:
|
|
424
|
+
*
|
|
425
|
+
* - **The ramp carries no floor.** Re-anchored onto the fill, an `['AA','AAA']` floor
|
|
426
|
+
* is measured against the *fill* rather than white and collapses all three steps to
|
|
427
|
+
* near-black. A plain tone step is what the relationship actually is.
|
|
428
|
+
* - **The text pair stays `mode: 'auto'`.** Link text has to invert on a dark page, so
|
|
429
|
+
* exactness belongs to the fill; the text is a brand-toned companion of it.
|
|
430
|
+
*/
|
|
431
|
+
function accentFillColors(accent) {
|
|
432
|
+
if (accent == null) return {
|
|
433
|
+
"accent-surface-text": {
|
|
434
|
+
tone: 100,
|
|
435
|
+
mode: "fixed"
|
|
436
|
+
},
|
|
437
|
+
"accent-surface": {
|
|
438
|
+
base: "accent-surface-text",
|
|
439
|
+
tone: "-49",
|
|
440
|
+
contrast: ["AA", "AAA"],
|
|
441
|
+
mode: "fixed"
|
|
442
|
+
},
|
|
443
|
+
"accent-surface-2": {
|
|
444
|
+
base: "accent-surface-text",
|
|
445
|
+
tone: "-52",
|
|
446
|
+
contrast: ["AA", "AAA"],
|
|
447
|
+
mode: "fixed"
|
|
448
|
+
},
|
|
449
|
+
"accent-surface-3": {
|
|
450
|
+
base: "accent-surface-text",
|
|
451
|
+
tone: "-55",
|
|
452
|
+
contrast: ["AA", "AAA"],
|
|
453
|
+
mode: "fixed"
|
|
454
|
+
},
|
|
455
|
+
"accent-surface-hover": {
|
|
456
|
+
base: "accent-surface-text",
|
|
457
|
+
tone: "-58",
|
|
458
|
+
contrast: ["AA", "AAA"],
|
|
459
|
+
mode: "fixed"
|
|
460
|
+
},
|
|
461
|
+
"accent-surface-border": {
|
|
462
|
+
base: "accent-surface",
|
|
463
|
+
tone: "+13",
|
|
464
|
+
mode: "fixed"
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
return {
|
|
468
|
+
"accent-surface-text": {
|
|
469
|
+
tone: 100,
|
|
470
|
+
mode: "fixed"
|
|
471
|
+
},
|
|
472
|
+
"accent-surface": {
|
|
473
|
+
from: accent.color,
|
|
474
|
+
base: "surface",
|
|
475
|
+
contrast: ACCENT_FILL_CONTRAST,
|
|
476
|
+
mode: "fixed"
|
|
477
|
+
},
|
|
478
|
+
"accent-surface-2": {
|
|
479
|
+
base: "accent-surface",
|
|
480
|
+
tone: ACCENT_RAMP.surface2,
|
|
481
|
+
mode: "fixed"
|
|
482
|
+
},
|
|
483
|
+
"accent-surface-3": {
|
|
484
|
+
base: "accent-surface",
|
|
485
|
+
tone: ACCENT_RAMP.surface3,
|
|
486
|
+
mode: "fixed"
|
|
487
|
+
},
|
|
488
|
+
"accent-surface-hover": {
|
|
489
|
+
base: "accent-surface",
|
|
490
|
+
tone: ACCENT_RAMP.hover,
|
|
491
|
+
mode: "fixed"
|
|
492
|
+
},
|
|
493
|
+
"accent-surface-border": {
|
|
494
|
+
base: "accent-surface",
|
|
495
|
+
tone: "+13",
|
|
496
|
+
mode: "fixed"
|
|
497
|
+
}
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* The brand FOREGROUNDS — text on a neutral surface, and the icon.
|
|
502
|
+
*
|
|
503
|
+
* Split from {@link accentFillColors} because the two have different audiences: the
|
|
504
|
+
* fill ramp is shared with the standalone `special` theme, which builds its own
|
|
505
|
+
* purpose-made subset and must not gain tokens it does not consume. Only the default
|
|
506
|
+
* theme (and the colored themes that inherit from it) takes these.
|
|
507
|
+
*
|
|
508
|
+
* These stay `mode: 'auto'` in both arrangements — a link has to invert on a dark page,
|
|
509
|
+
* so exactness belongs to the fill and these are its brand-toned companions.
|
|
510
|
+
*/
|
|
511
|
+
function accentTextColors(accent) {
|
|
512
|
+
if (accent == null) return {
|
|
513
|
+
...ACCENT_SELECTED_FILL,
|
|
514
|
+
"accent-text": {
|
|
515
|
+
base: "accent-selected-fill",
|
|
516
|
+
tone: "-49",
|
|
517
|
+
saturation: 1,
|
|
518
|
+
contrast: [6, 11]
|
|
519
|
+
},
|
|
520
|
+
"accent-text-soft": {
|
|
521
|
+
base: "accent-selected-fill",
|
|
522
|
+
tone: "-49",
|
|
523
|
+
saturation: 1,
|
|
524
|
+
contrast: ["AA", "AAA"]
|
|
525
|
+
},
|
|
526
|
+
"accent-icon": {
|
|
527
|
+
base: "surface",
|
|
528
|
+
tone: "-38",
|
|
529
|
+
saturation: .9375
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
return {
|
|
533
|
+
...ACCENT_SELECTED_FILL,
|
|
534
|
+
"accent-text": {
|
|
535
|
+
from: accent.color,
|
|
536
|
+
base: "accent-selected-fill",
|
|
537
|
+
tone: Math.max(0, accent.tone - ACCENT_TEXT_HOVER_STEP),
|
|
538
|
+
contrast: ACCENT_TEXT_HOVER_CONTRAST
|
|
539
|
+
},
|
|
540
|
+
"accent-text-soft": {
|
|
541
|
+
from: accent.color,
|
|
542
|
+
base: "accent-selected-fill",
|
|
543
|
+
contrast: ACCENT_TEXT_CONTRAST
|
|
544
|
+
},
|
|
545
|
+
"accent-icon": {
|
|
546
|
+
from: accent.color,
|
|
547
|
+
base: "surface",
|
|
548
|
+
contrast: ACCENT_TEXT_CONTRAST
|
|
549
|
+
}
|
|
550
|
+
};
|
|
551
|
+
}
|
|
552
|
+
/** Every accent token the default theme carries — fills, foregrounds, and the mix. */
|
|
553
|
+
function accentColors(accent) {
|
|
554
|
+
return {
|
|
555
|
+
...accentFillColors(accent),
|
|
556
|
+
...accentTextColors(accent)
|
|
557
|
+
};
|
|
558
|
+
}
|
|
242
559
|
/**
|
|
243
560
|
* Build the full palette from a resolved config.
|
|
244
561
|
*
|
|
@@ -248,7 +565,14 @@ const TINT_RECIPE = {
|
|
|
248
565
|
* seed and a `GlazePalette` has no mutation API, so re-seeding means rebuilding.
|
|
249
566
|
*/
|
|
250
567
|
function buildPalette(config, options = {}) {
|
|
251
|
-
const { hue, baseHue, saturation, pastel, themes, contrastLevel } = config;
|
|
568
|
+
const { hue, baseHue, saturation, accentColor, accentTone, pastel, themes, contrastLevel } = config;
|
|
569
|
+
const accent = accentColor !== null && accentTone !== null ? {
|
|
570
|
+
color: accentColor,
|
|
571
|
+
tone: accentTone
|
|
572
|
+
} : null;
|
|
573
|
+
const baseTone = surfaceTone(config);
|
|
574
|
+
const baseScale = baseSaturationScale(config);
|
|
575
|
+
const baseChroma = (factor) => Math.min(1, factor * baseScale);
|
|
252
576
|
const sharedOverrides = options.isolateContrastLevel ? { contrastLevel } : {};
|
|
253
577
|
const overrides = {
|
|
254
578
|
...sharedOverrides,
|
|
@@ -262,43 +586,43 @@ function buildPalette(config, options = {}) {
|
|
|
262
586
|
const defaultTheme = glaze(hue, saturation, instanceConfig);
|
|
263
587
|
defaultTheme.colors({
|
|
264
588
|
surface: {
|
|
265
|
-
tone:
|
|
266
|
-
saturation: SURFACE_SATURATION,
|
|
589
|
+
tone: baseTone,
|
|
590
|
+
saturation: baseChroma(SURFACE_SATURATION),
|
|
267
591
|
hue: baseHue
|
|
268
592
|
},
|
|
269
593
|
"surface-2": {
|
|
270
594
|
hue: baseHue,
|
|
271
595
|
base: "surface",
|
|
272
596
|
tone: ["-2", "-4"],
|
|
273
|
-
saturation: .1,
|
|
597
|
+
saturation: baseChroma(.1),
|
|
274
598
|
inherit: false
|
|
275
599
|
},
|
|
276
600
|
"surface-3": {
|
|
277
601
|
hue: baseHue,
|
|
278
602
|
base: "surface",
|
|
279
603
|
tone: ["-4", "-8"],
|
|
280
|
-
saturation: .1,
|
|
604
|
+
saturation: baseChroma(.1),
|
|
281
605
|
inherit: false
|
|
282
606
|
},
|
|
283
607
|
"surface-4": {
|
|
284
608
|
hue: baseHue,
|
|
285
609
|
base: "surface",
|
|
286
610
|
tone: ["-6", "-12"],
|
|
287
|
-
saturation: .1,
|
|
611
|
+
saturation: baseChroma(.1),
|
|
288
612
|
inherit: false
|
|
289
613
|
},
|
|
290
614
|
"surface-text": {
|
|
291
615
|
hue: baseHue,
|
|
292
616
|
base: "surface",
|
|
293
617
|
tone: `${TEXT_TONE - 2}`,
|
|
294
|
-
saturation: .2,
|
|
618
|
+
saturation: baseChroma(.2),
|
|
295
619
|
contrast: ["AA", "AAA"]
|
|
296
620
|
},
|
|
297
621
|
"surface-text-soft": {
|
|
298
622
|
hue: baseHue,
|
|
299
623
|
base: "surface",
|
|
300
624
|
tone: `${TEXT_SOFT_TONE - 2}`,
|
|
301
|
-
saturation: .2,
|
|
625
|
+
saturation: baseChroma(.2),
|
|
302
626
|
contrast: ["AA", "AAA"],
|
|
303
627
|
inherit: false
|
|
304
628
|
},
|
|
@@ -306,7 +630,7 @@ function buildPalette(config, options = {}) {
|
|
|
306
630
|
hue: baseHue,
|
|
307
631
|
base: "surface",
|
|
308
632
|
tone: `${TEXT_SOFT2_TONE - 2}`,
|
|
309
|
-
saturation: .2,
|
|
633
|
+
saturation: baseChroma(.2),
|
|
310
634
|
contrast: ["AA", "AAA"],
|
|
311
635
|
inherit: false
|
|
312
636
|
},
|
|
@@ -314,7 +638,7 @@ function buildPalette(config, options = {}) {
|
|
|
314
638
|
hue: baseHue,
|
|
315
639
|
base: "surface-2",
|
|
316
640
|
tone: `${TEXT_TONE + SURFACE_2_TEXT_OFFSET}`,
|
|
317
|
-
saturation: .2,
|
|
641
|
+
saturation: baseChroma(.2),
|
|
318
642
|
contrast: ["AA", "AAA"],
|
|
319
643
|
inherit: false
|
|
320
644
|
},
|
|
@@ -322,7 +646,7 @@ function buildPalette(config, options = {}) {
|
|
|
322
646
|
hue: baseHue,
|
|
323
647
|
base: "surface-2",
|
|
324
648
|
tone: `${TEXT_SOFT_TONE + SURFACE_2_TEXT_OFFSET}`,
|
|
325
|
-
saturation: .2,
|
|
649
|
+
saturation: baseChroma(.2),
|
|
326
650
|
contrast: ["AA", "AAA"],
|
|
327
651
|
inherit: false
|
|
328
652
|
},
|
|
@@ -330,7 +654,7 @@ function buildPalette(config, options = {}) {
|
|
|
330
654
|
hue: baseHue,
|
|
331
655
|
base: "surface-3",
|
|
332
656
|
tone: `${TEXT_TONE + SURFACE_3_TEXT_OFFSET}`,
|
|
333
|
-
saturation: .2,
|
|
657
|
+
saturation: baseChroma(.2),
|
|
334
658
|
contrast: ["AA", "AAA"],
|
|
335
659
|
inherit: false
|
|
336
660
|
},
|
|
@@ -338,7 +662,7 @@ function buildPalette(config, options = {}) {
|
|
|
338
662
|
hue: baseHue,
|
|
339
663
|
base: "surface-3",
|
|
340
664
|
tone: `${TEXT_SOFT_TONE + SURFACE_3_TEXT_OFFSET}`,
|
|
341
|
-
saturation: .2,
|
|
665
|
+
saturation: baseChroma(.2),
|
|
342
666
|
contrast: ["AA", "AAA"],
|
|
343
667
|
inherit: false
|
|
344
668
|
},
|
|
@@ -346,13 +670,13 @@ function buildPalette(config, options = {}) {
|
|
|
346
670
|
hue: baseHue,
|
|
347
671
|
base: "surface",
|
|
348
672
|
tone: ["-10", "-30"],
|
|
349
|
-
saturation: .175
|
|
673
|
+
saturation: baseChroma(.175)
|
|
350
674
|
},
|
|
351
675
|
placeholder: {
|
|
352
676
|
hue: baseHue,
|
|
353
677
|
base: "surface",
|
|
354
678
|
tone: "-33",
|
|
355
|
-
saturation: .175,
|
|
679
|
+
saturation: baseChroma(.175),
|
|
356
680
|
inherit: false
|
|
357
681
|
},
|
|
358
682
|
focus: {
|
|
@@ -370,7 +694,7 @@ function buildPalette(config, options = {}) {
|
|
|
370
694
|
hue: baseHue,
|
|
371
695
|
base: "surface",
|
|
372
696
|
tone: "-3.5",
|
|
373
|
-
saturation: .2,
|
|
697
|
+
saturation: baseChroma(.2),
|
|
374
698
|
inherit: false
|
|
375
699
|
},
|
|
376
700
|
"disabled-surface-text": {
|
|
@@ -382,67 +706,11 @@ function buildPalette(config, options = {}) {
|
|
|
382
706
|
"surface-inverse": {
|
|
383
707
|
hue: baseHue,
|
|
384
708
|
tone: 12,
|
|
385
|
-
saturation: .475,
|
|
709
|
+
saturation: baseChroma(.475),
|
|
386
710
|
mode: "fixed",
|
|
387
711
|
inherit: false
|
|
388
712
|
},
|
|
389
|
-
|
|
390
|
-
tone: 100,
|
|
391
|
-
mode: "fixed"
|
|
392
|
-
},
|
|
393
|
-
"accent-surface": {
|
|
394
|
-
base: "accent-surface-text",
|
|
395
|
-
tone: "-49",
|
|
396
|
-
contrast: ["AA", "AAA"],
|
|
397
|
-
mode: "fixed"
|
|
398
|
-
},
|
|
399
|
-
"accent-surface-2": {
|
|
400
|
-
base: "accent-surface-text",
|
|
401
|
-
tone: "-52",
|
|
402
|
-
contrast: ["AA", "AAA"],
|
|
403
|
-
mode: "fixed"
|
|
404
|
-
},
|
|
405
|
-
"accent-surface-3": {
|
|
406
|
-
base: "accent-surface-text",
|
|
407
|
-
tone: "-55",
|
|
408
|
-
contrast: ["AA", "AAA"],
|
|
409
|
-
mode: "fixed"
|
|
410
|
-
},
|
|
411
|
-
"accent-surface-hover": {
|
|
412
|
-
base: "accent-surface-text",
|
|
413
|
-
tone: "-58",
|
|
414
|
-
contrast: ["AA", "AAA"],
|
|
415
|
-
mode: "fixed"
|
|
416
|
-
},
|
|
417
|
-
"accent-surface-border": {
|
|
418
|
-
base: "accent-surface",
|
|
419
|
-
tone: "+13",
|
|
420
|
-
mode: "fixed"
|
|
421
|
-
},
|
|
422
|
-
"accent-selected-fill": {
|
|
423
|
-
type: "mix",
|
|
424
|
-
base: "surface",
|
|
425
|
-
target: "accent-surface",
|
|
426
|
-
value: 9,
|
|
427
|
-
space: "srgb"
|
|
428
|
-
},
|
|
429
|
-
"accent-text": {
|
|
430
|
-
base: "accent-selected-fill",
|
|
431
|
-
tone: "-49",
|
|
432
|
-
saturation: 1,
|
|
433
|
-
contrast: [6, 11]
|
|
434
|
-
},
|
|
435
|
-
"accent-text-soft": {
|
|
436
|
-
base: "accent-selected-fill",
|
|
437
|
-
tone: "-49",
|
|
438
|
-
saturation: 1,
|
|
439
|
-
contrast: ["AA", "AAA"]
|
|
440
|
-
},
|
|
441
|
-
"accent-icon": {
|
|
442
|
-
base: "surface",
|
|
443
|
-
tone: "-38",
|
|
444
|
-
saturation: .9375
|
|
445
|
-
},
|
|
713
|
+
...accentColors(accent),
|
|
446
714
|
"accent-disabled-surface": {
|
|
447
715
|
base: "surface",
|
|
448
716
|
tone: "-13",
|
|
@@ -501,26 +769,31 @@ function buildPalette(config, options = {}) {
|
|
|
501
769
|
hue: baseHue
|
|
502
770
|
}
|
|
503
771
|
});
|
|
504
|
-
const
|
|
772
|
+
const tintedSurface = tintedSurfaceOverride(config);
|
|
773
|
+
const primaryTheme = defaultTheme.extend({ colors: tintedSurface });
|
|
774
|
+
const statusColors = accent == null ? tintedSurface : {
|
|
775
|
+
...tintedSurface,
|
|
776
|
+
...accentColors(null)
|
|
777
|
+
};
|
|
505
778
|
const successTheme = defaultTheme.extend({
|
|
506
779
|
hue: themes.success.hue,
|
|
507
780
|
saturation: themes.success.saturation,
|
|
508
|
-
colors:
|
|
781
|
+
colors: statusColors
|
|
509
782
|
});
|
|
510
783
|
const dangerTheme = defaultTheme.extend({
|
|
511
784
|
hue: themes.danger.hue,
|
|
512
785
|
saturation: themes.danger.saturation,
|
|
513
|
-
colors:
|
|
786
|
+
colors: statusColors
|
|
514
787
|
});
|
|
515
788
|
const warningTheme = defaultTheme.extend({
|
|
516
789
|
hue: themes.warning.hue,
|
|
517
790
|
saturation: themes.warning.saturation,
|
|
518
|
-
colors:
|
|
791
|
+
colors: statusColors
|
|
519
792
|
});
|
|
520
793
|
const noteTheme = defaultTheme.extend({
|
|
521
794
|
hue: themes.note.hue,
|
|
522
795
|
saturation: themes.note.saturation,
|
|
523
|
-
colors:
|
|
796
|
+
colors: statusColors
|
|
524
797
|
});
|
|
525
798
|
const specialTheme = glaze(hue, saturation, instanceConfig);
|
|
526
799
|
specialTheme.colors({
|
|
@@ -529,39 +802,7 @@ function buildPalette(config, options = {}) {
|
|
|
529
802
|
saturation: .475,
|
|
530
803
|
mode: "fixed"
|
|
531
804
|
},
|
|
532
|
-
|
|
533
|
-
tone: 100,
|
|
534
|
-
mode: "fixed"
|
|
535
|
-
},
|
|
536
|
-
"accent-surface": {
|
|
537
|
-
base: "accent-surface-text",
|
|
538
|
-
tone: "-49",
|
|
539
|
-
contrast: ["AA", "AAA"],
|
|
540
|
-
mode: "fixed"
|
|
541
|
-
},
|
|
542
|
-
"accent-surface-2": {
|
|
543
|
-
base: "accent-surface-text",
|
|
544
|
-
tone: "-52",
|
|
545
|
-
contrast: ["AA", "AAA"],
|
|
546
|
-
mode: "fixed"
|
|
547
|
-
},
|
|
548
|
-
"accent-surface-3": {
|
|
549
|
-
base: "accent-surface-text",
|
|
550
|
-
tone: "-55",
|
|
551
|
-
contrast: ["AA", "AAA"],
|
|
552
|
-
mode: "fixed"
|
|
553
|
-
},
|
|
554
|
-
"accent-surface-border": {
|
|
555
|
-
base: "accent-surface",
|
|
556
|
-
tone: "+13",
|
|
557
|
-
mode: "fixed"
|
|
558
|
-
},
|
|
559
|
-
"accent-surface-hover": {
|
|
560
|
-
base: "accent-surface-text",
|
|
561
|
-
tone: "-58",
|
|
562
|
-
contrast: ["AA", "AAA"],
|
|
563
|
-
mode: "fixed"
|
|
564
|
-
},
|
|
805
|
+
...accentFillColors(accent),
|
|
565
806
|
"accent-text": {
|
|
566
807
|
base: "accent-surface-text",
|
|
567
808
|
tone: "-58",
|
|
@@ -750,5 +991,5 @@ function renderPaletteTokens(options = {}) {
|
|
|
750
991
|
const PALETTE_TOKENS = lazyStyles(getPaletteTokens);
|
|
751
992
|
|
|
752
993
|
//#endregion
|
|
753
|
-
export { PALETTE_TOKENS,
|
|
994
|
+
export { PALETTE_TOKENS, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens, tintRecipe };
|
|
754
995
|
//# sourceMappingURL=palette.js.map
|