@datalayer/primer-addons 1.0.18 → 1.0.20

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.
Files changed (80) hide show
  1. package/lib/components/appearance/AppearanceControls.d.ts +3 -2
  2. package/lib/components/appearance/AppearanceControls.js +71 -3
  3. package/lib/components/appearance/AppearanceMenu.d.ts +30 -0
  4. package/lib/components/appearance/AppearanceMenu.js +15 -0
  5. package/lib/components/appearance/ColorModeCircle.d.ts +28 -0
  6. package/lib/components/appearance/ColorModeCircle.js +132 -0
  7. package/lib/components/appearance/ThemeCircle.d.ts +21 -0
  8. package/lib/components/appearance/ThemeCircle.js +46 -0
  9. package/lib/components/appearance/ThemePreviewCard.d.ts +12 -0
  10. package/lib/components/appearance/ThemePreviewCard.js +83 -0
  11. package/lib/components/appearance/index.d.ts +4 -0
  12. package/lib/components/appearance/index.js +4 -0
  13. package/lib/components/box/Box.d.ts +2 -1
  14. package/lib/components/closeable-flash/CloseableFlash.js +58 -1
  15. package/lib/components/color/ColorSwatch.d.ts +23 -0
  16. package/lib/components/color/ColorSwatch.js +62 -0
  17. package/lib/components/color/index.d.ts +1 -0
  18. package/lib/components/color/index.js +5 -0
  19. package/lib/components/index.d.ts +6 -0
  20. package/lib/components/index.js +6 -0
  21. package/lib/components/logo/DatalayerLogo.js +49 -1
  22. package/lib/components/logo/DatalayerTextAI.d.ts +4 -4
  23. package/lib/components/logo/DatalayerTextAI.js +6 -6
  24. package/lib/components/logo/index.d.ts +5 -7
  25. package/lib/components/logo/index.js +5 -7
  26. package/lib/components/side-overlay/SideOverlay.js +1 -1
  27. package/lib/components/sliding-panel/SlidingPanel.d.ts +19 -0
  28. package/lib/components/sliding-panel/SlidingPanel.js +217 -0
  29. package/lib/components/sliding-panel/SlidingPanel.stories.d.ts +16 -0
  30. package/lib/components/sliding-panel/SlidingPanel.stories.js +68 -0
  31. package/lib/components/toolbar/Toolbar.js +18 -1
  32. package/lib/components/toolbar/ToolbarButton.js +12 -7
  33. package/lib/components/toolbar/ToolbarRenderer.js +3 -0
  34. package/lib/components/toolbar/types.d.ts +11 -2
  35. package/lib/theme/colors/datalayerColors.d.ts +12 -0
  36. package/lib/theme/colors/datalayerColors.js +13 -0
  37. package/lib/theme/colors/earthColors.d.ts +12 -0
  38. package/lib/theme/colors/earthColors.js +13 -0
  39. package/lib/theme/colors/index.d.ts +3 -0
  40. package/lib/theme/colors/index.js +9 -0
  41. package/lib/theme/colors/ivoryColors.d.ts +46 -0
  42. package/lib/theme/colors/ivoryColors.js +56 -0
  43. package/lib/theme/colors/lovelyColors.d.ts +12 -0
  44. package/lib/theme/colors/lovelyColors.js +13 -0
  45. package/lib/theme/colors/matrixColors.d.ts +12 -0
  46. package/lib/theme/colors/matrixColors.js +13 -0
  47. package/lib/theme/colors/sandColors.d.ts +45 -0
  48. package/lib/theme/colors/sandColors.js +55 -0
  49. package/lib/theme/colors/spatialColors.d.ts +12 -0
  50. package/lib/theme/colors/spatialColors.js +13 -0
  51. package/lib/theme/colors/sunColors.d.ts +45 -0
  52. package/lib/theme/colors/sunColors.js +55 -0
  53. package/lib/theme/css/createThemeCSSVars.d.ts +25 -1
  54. package/lib/theme/css/createThemeCSSVars.js +56 -3
  55. package/lib/theme/index.d.ts +3 -0
  56. package/lib/theme/index.js +3 -0
  57. package/lib/theme/palettes/ColorPalette.js +121 -1
  58. package/lib/theme/themeRegistry.d.ts +1 -1
  59. package/lib/theme/themeRegistry.js +151 -1
  60. package/lib/theme/themes/datalayerTheme.js +58 -7
  61. package/lib/theme/themes/earthTheme.js +50 -0
  62. package/lib/theme/themes/ivoryTheme.d.ts +1091 -0
  63. package/lib/theme/themes/ivoryTheme.js +257 -0
  64. package/lib/theme/themes/lovelyTheme.js +58 -7
  65. package/lib/theme/themes/matrixTheme.js +57 -8
  66. package/lib/theme/themes/sandTheme.d.ts +1091 -0
  67. package/lib/theme/themes/sandTheme.js +256 -0
  68. package/lib/theme/themes/spatialTheme.js +58 -7
  69. package/lib/theme/themes/sunTheme.d.ts +1091 -0
  70. package/lib/theme/themes/sunTheme.js +257 -0
  71. package/lib/utils/Helper.d.ts +1 -1
  72. package/lib/utils/Portals.d.ts +0 -1
  73. package/lib/utils/Portals.js +0 -1
  74. package/package.json +9 -5
  75. package/lib/App.d.ts +0 -13
  76. package/lib/App.js +0 -25
  77. package/lib/components/logo/AI.d.ts +0 -17
  78. package/lib/components/logo/AI.js +0 -18
  79. package/lib/components/logo/AI2.d.ts +0 -20
  80. package/lib/components/logo/AI2.js +0 -23
@@ -11,6 +11,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
11
11
  * @module components/toolbar/ToolbarRenderer
12
12
  */
13
13
  import { Fragment } from 'react';
14
+ import { Box } from '../box/Box';
14
15
  import { ToolbarButton } from './ToolbarButton';
15
16
  import { ToolbarDropdown } from './ToolbarDropdown';
16
17
  import { ToolbarDivider } from './ToolbarDivider';
@@ -30,6 +31,8 @@ export function ToolbarRenderer({ items, disabled, size = 'medium' }) {
30
31
  return (_jsx(Fragment, { children: _jsx(ToolbarDropdown, { item: { ...item, disabled: itemDisabled }, size: size }) }, item.key));
31
32
  case 'divider':
32
33
  return (_jsx(Fragment, { children: _jsx(ToolbarDivider, {}) }, item.key));
34
+ case 'spacer':
35
+ return (_jsx(Box, { sx: { flex: '1 1 auto', minWidth: 8 } }, item.key));
33
36
  case 'custom':
34
37
  return _jsx(Fragment, { children: item.render() }, item.key);
35
38
  default:
@@ -3,7 +3,7 @@ import type { IconProps } from '@primer/octicons-react';
3
3
  /**
4
4
  * Toolbar item types that can be registered in a toolbar.
5
5
  */
6
- export type ToolbarItemType = 'button' | 'dropdown' | 'divider' | 'custom';
6
+ export type ToolbarItemType = 'button' | 'dropdown' | 'divider' | 'spacer' | 'custom';
7
7
  /**
8
8
  * Base toolbar item definition.
9
9
  */
@@ -88,6 +88,15 @@ export interface ToolbarDropdownItem extends ToolbarItemBase {
88
88
  export interface ToolbarDividerItem extends ToolbarItemBase {
89
89
  type: 'divider';
90
90
  }
91
+ /**
92
+ * Toolbar spacer item definition.
93
+ *
94
+ * Takes the free space of the toolbar, so the items ordered after it sit on
95
+ * the trailing edge — e.g. a status indicator kept away from the actions.
96
+ */
97
+ export interface ToolbarSpacerItem extends ToolbarItemBase {
98
+ type: 'spacer';
99
+ }
91
100
  /**
92
101
  * Toolbar custom item definition.
93
102
  */
@@ -99,7 +108,7 @@ export interface ToolbarCustomItem extends ToolbarItemBase {
99
108
  /**
100
109
  * Union of all toolbar item types.
101
110
  */
102
- export type ToolbarItem = ToolbarButtonItem | ToolbarDropdownItem | ToolbarDividerItem | ToolbarCustomItem;
111
+ export type ToolbarItem = ToolbarButtonItem | ToolbarDropdownItem | ToolbarDividerItem | ToolbarSpacerItem | ToolbarCustomItem;
103
112
  /**
104
113
  * Props for the extensible Toolbar component.
105
114
  */
@@ -12,6 +12,18 @@ export declare const datalayerColors: {
12
12
  greenTint: string;
13
13
  greenBright: string;
14
14
  greenHover: string;
15
+ attentionBrand: string;
16
+ attentionAccent: string;
17
+ attentionTint: string;
18
+ dangerBrand: string;
19
+ dangerAccent: string;
20
+ dangerTint: string;
21
+ severeBrand: string;
22
+ severeAccent: string;
23
+ severeTint: string;
24
+ doneBrand: string;
25
+ doneAccent: string;
26
+ doneTint: string;
15
27
  brightGlow: string;
16
28
  brightPop: string;
17
29
  brightSpark: string;
@@ -18,6 +18,19 @@ export const datalayerColors = {
18
18
  greenTint: '#E9F7F1', // Soft background for success / callouts
19
19
  greenBright: '#2ECC71', // Highlights and glow on dark backgrounds
20
20
  greenHover: '#0E6655', // Primary button hover
21
+ // Semantic roles
22
+ attentionBrand: '#B08800',
23
+ attentionAccent: '#D4A72C',
24
+ attentionTint: '#FFF8C5',
25
+ dangerBrand: '#D1242F',
26
+ dangerAccent: '#FF6A69',
27
+ dangerTint: '#FFE5E5',
28
+ severeBrand: '#BC4C00',
29
+ severeAccent: '#F0883E',
30
+ severeTint: '#FFF1E5',
31
+ doneBrand: '#0969DA',
32
+ doneAccent: '#54AEFF',
33
+ doneTint: '#DDF4FF',
21
34
  // Bright / vivid colours for SVG illustrations (OpenAI-blog style)
22
35
  brightGlow: '#00D68F', // Ultra-vivid emerald — primary glow
23
36
  brightPop: '#00E5FF', // Electric cyan — contrasting accent
@@ -22,6 +22,18 @@ export declare const earthColors: {
22
22
  earthWarm: string;
23
23
  earthSand: string;
24
24
  earthClay: string;
25
+ attentionBrand: string;
26
+ attentionAccent: string;
27
+ attentionTint: string;
28
+ dangerBrand: string;
29
+ dangerAccent: string;
30
+ dangerTint: string;
31
+ severeBrand: string;
32
+ severeAccent: string;
33
+ severeTint: string;
34
+ doneBrand: string;
35
+ doneAccent: string;
36
+ doneTint: string;
25
37
  brightGlow: string;
26
38
  brightPop: string;
27
39
  brightSpark: string;
@@ -31,6 +31,19 @@ export const earthColors = {
31
31
  earthWarm: '#92400E', // Red earth / laterite
32
32
  earthSand: '#D97706', // Sandstone / amber
33
33
  earthClay: '#B45309', // Terracotta
34
+ // Semantic roles
35
+ attentionBrand: '#CA8A04',
36
+ attentionAccent: '#EAB308',
37
+ attentionTint: '#FEF9C3',
38
+ dangerBrand: '#B42318',
39
+ dangerAccent: '#EF4444',
40
+ dangerTint: '#FEE4E2',
41
+ severeBrand: '#B45309',
42
+ severeAccent: '#F59E0B',
43
+ severeTint: '#FFF1DA',
44
+ doneBrand: '#1D4ED8',
45
+ doneAccent: '#3B82F6',
46
+ doneTint: '#DBEAFE',
34
47
  // Bright / vivid colours for SVG illustrations
35
48
  brightGlow: '#0EA5E9', // Vivid ocean blue — primary glow (sea)
36
49
  brightPop: '#22C55E', // Vivid green — contrasting accent (vegetation)
@@ -3,6 +3,9 @@ export { spatialColors } from './spatialColors';
3
3
  export { lovelyColors } from './lovelyColors';
4
4
  export { matrixColors } from './matrixColors';
5
5
  export { earthColors } from './earthColors';
6
+ export { sandColors } from './sandColors';
7
+ export { ivoryColors } from './ivoryColors';
8
+ export { sunColors } from './sunColors';
6
9
  import type { ThemeVariant } from '../themeRegistry';
7
10
  /**
8
11
  * Themed color palettes — maps each `ThemeVariant` to its corresponding
@@ -7,11 +7,17 @@ export { spatialColors } from './spatialColors';
7
7
  export { lovelyColors } from './lovelyColors';
8
8
  export { matrixColors } from './matrixColors';
9
9
  export { earthColors } from './earthColors';
10
+ export { sandColors } from './sandColors';
11
+ export { ivoryColors } from './ivoryColors';
12
+ export { sunColors } from './sunColors';
10
13
  import { datalayerColors } from './datalayerColors';
11
14
  import { spatialColors } from './spatialColors';
12
15
  import { lovelyColors } from './lovelyColors';
13
16
  import { matrixColors } from './matrixColors';
14
17
  import { earthColors } from './earthColors';
18
+ import { sandColors } from './sandColors';
19
+ import { ivoryColors } from './ivoryColors';
20
+ import { sunColors } from './sunColors';
15
21
  /**
16
22
  * Themed color palettes — maps each `ThemeVariant` to its corresponding
17
23
  * color object so consumers can pick the right palette at runtime.
@@ -28,4 +34,7 @@ export const themedColors = {
28
34
  lovely: lovelyColors,
29
35
  matrix: matrixColors,
30
36
  earth: earthColors,
37
+ sand: sandColors,
38
+ ivory: ivoryColors,
39
+ sun: sunColors,
31
40
  };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Ivory Color System – Soft, warm off-white neutrals.
3
+ *
4
+ * Anchored on the light-ivory base #E6D2B5 (R:230 G:210 B:181): a calm,
5
+ * refined, and welcoming palette paired with a deep warm taupe for
6
+ * accessible text. Gentle and editorial, with a hospitable, paper-like
7
+ * warmth. WCAG AA/AAA for text & buttons.
8
+ */
9
+ export declare const ivoryColors: {
10
+ black: string;
11
+ gray: string;
12
+ white: string;
13
+ ivoryBase: string;
14
+ ivoryBrand: string;
15
+ ivoryAccent: string;
16
+ ivoryText: string;
17
+ ivoryTint: string;
18
+ ivoryBright: string;
19
+ ivoryHover: string;
20
+ attentionBrand: string;
21
+ attentionAccent: string;
22
+ attentionTint: string;
23
+ dangerBrand: string;
24
+ dangerAccent: string;
25
+ dangerTint: string;
26
+ severeBrand: string;
27
+ severeAccent: string;
28
+ severeTint: string;
29
+ doneBrand: string;
30
+ doneAccent: string;
31
+ doneTint: string;
32
+ brightGlow: string;
33
+ brightPop: string;
34
+ brightSpark: string;
35
+ brightBlaze: string;
36
+ brightSurge: string;
37
+ brightFlame: string;
38
+ brightGold: string;
39
+ brightLightGlow: string;
40
+ brightLightPop: string;
41
+ brightLightSpark: string;
42
+ brightLightBlaze: string;
43
+ brightLightSurge: string;
44
+ brightLightFlame: string;
45
+ brightLightGold: string;
46
+ };
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Ivory Color System – Soft, warm off-white neutrals.
7
+ *
8
+ * Anchored on the light-ivory base #E6D2B5 (R:230 G:210 B:181): a calm,
9
+ * refined, and welcoming palette paired with a deep warm taupe for
10
+ * accessible text. Gentle and editorial, with a hospitable, paper-like
11
+ * warmth. WCAG AA/AAA for text & buttons.
12
+ */
13
+ export const ivoryColors = {
14
+ // Core Neutrals — warm, soft
15
+ black: '#211C15', // Warm espresso — primary dark background
16
+ gray: '#6F6353', // Warm taupe — secondary text
17
+ white: '#FBF6EC', // Soft ivory — primary light background
18
+ // Ivory palette (Brand) — anchored on the base #E6D2B5
19
+ ivoryBase: '#E6D2B5', // Base color — light ivory
20
+ ivoryBrand: '#E6D2B5', // Brand / swatch — light ivory
21
+ ivoryAccent: '#D8C09B', // Deeper ivory — charts, highlights on dark surfaces
22
+ ivoryText: '#6B5A3E', // Deep warm taupe — accessible buttons & text on ivory (AA+)
23
+ ivoryTint: '#F3E9D6', // Pale ivory — soft background for callouts
24
+ ivoryBright: '#EFDFC2', // Bright ivory — highlights on dark backgrounds
25
+ ivoryHover: '#52442D', // Dark taupe — primary button hover
26
+ // Semantic roles — kept warm & refined
27
+ attentionBrand: '#8A7320',
28
+ attentionAccent: '#CBAA35',
29
+ attentionTint: '#F4ECCD',
30
+ dangerBrand: '#A34632',
31
+ dangerAccent: '#CE6047',
32
+ dangerTint: '#F5DFD8',
33
+ severeBrand: '#9C6221',
34
+ severeAccent: '#CE8637',
35
+ severeTint: '#F4E6D2',
36
+ doneBrand: '#6A5591',
37
+ doneAccent: '#8B72B2',
38
+ doneTint: '#EAE3F3',
39
+ // Bright / vivid colours for SVG illustrations (warm, luminous)
40
+ brightGlow: '#E6D2B5', // Ivory glow — primary glow (the base)
41
+ brightPop: '#D8B27E', // Warm tan — contrasting accent
42
+ brightSpark: '#EFDFC2', // Bright ivory — sparkle / tertiary
43
+ brightBlaze: '#DD7048', // Soft terracotta — warm accent
44
+ brightSurge: '#98A783', // Sage — cool accent
45
+ // Warm vivid colours — amber & gold accents
46
+ brightFlame: '#E0912F', // Amber — warm energy
47
+ brightGold: '#EACF6A', // Soft gold — highlight
48
+ // Vivid brights for light backgrounds — deeper for contrast on ivory
49
+ brightLightGlow: '#6B5A3E', // Deep taupe
50
+ brightLightPop: '#9C6626', // Deep amber-tan
51
+ brightLightSpark: '#8A7320', // Deep gold
52
+ brightLightBlaze: '#AB4229', // Deep terracotta
53
+ brightLightSurge: '#5C6C4C', // Deep sage
54
+ brightLightFlame: '#9C6221', // Deep amber
55
+ brightLightGold: '#836A18', // Deep gold
56
+ };
@@ -12,6 +12,18 @@ export declare const lovelyColors: {
12
12
  roseTint: string;
13
13
  roseBright: string;
14
14
  roseHover: string;
15
+ attentionBrand: string;
16
+ attentionAccent: string;
17
+ attentionTint: string;
18
+ dangerBrand: string;
19
+ dangerAccent: string;
20
+ dangerTint: string;
21
+ severeBrand: string;
22
+ severeAccent: string;
23
+ severeTint: string;
24
+ doneBrand: string;
25
+ doneAccent: string;
26
+ doneTint: string;
15
27
  brightGlow: string;
16
28
  brightPop: string;
17
29
  brightSpark: string;
@@ -18,6 +18,19 @@ export const lovelyColors = {
18
18
  roseTint: '#FDF2F8', // Soft background for callouts
19
19
  roseBright: '#F472B6', // Highlights & glow on dark
20
20
  roseHover: '#831843', // Primary button hover
21
+ // Semantic roles
22
+ attentionBrand: '#B7791F',
23
+ attentionAccent: '#F6AD55',
24
+ attentionTint: '#FFF5E6',
25
+ dangerBrand: '#D61F69',
26
+ dangerAccent: '#FF5C8A',
27
+ dangerTint: '#FFE6EF',
28
+ severeBrand: '#C05621',
29
+ severeAccent: '#ED8936',
30
+ severeTint: '#FFF1E8',
31
+ doneBrand: '#805AD5',
32
+ doneAccent: '#B794F4',
33
+ doneTint: '#F3E8FF',
21
34
  // Bright / vivid colours for SVG illustrations (OpenAI-blog style)
22
35
  brightGlow: '#FF4081', // Hot pink — primary glow
23
36
  brightPop: '#FF6E40', // Vivid coral — contrasting accent
@@ -17,6 +17,18 @@ export declare const matrixColors: {
17
17
  greenGlow: string;
18
18
  greenHover: string;
19
19
  greenTerminal: string;
20
+ attentionBrand: string;
21
+ attentionAccent: string;
22
+ attentionTint: string;
23
+ dangerBrand: string;
24
+ dangerAccent: string;
25
+ dangerTint: string;
26
+ severeBrand: string;
27
+ severeAccent: string;
28
+ severeTint: string;
29
+ doneBrand: string;
30
+ doneAccent: string;
31
+ doneTint: string;
20
32
  brightGlow: string;
21
33
  brightPop: string;
22
34
  brightSpark: string;
@@ -23,6 +23,19 @@ export const matrixColors = {
23
23
  greenGlow: '#39FF14', // Neon phosphor glow — brightest accent on dark
24
24
  greenHover: '#0E6655', // Datalayer hover — primary button hover
25
25
  greenTerminal: '#003B00', // Deep terminal — dark mode subtle/canvas
26
+ // Semantic roles
27
+ attentionBrand: '#A78E00',
28
+ attentionAccent: '#FFEA00',
29
+ attentionTint: '#3A3400',
30
+ dangerBrand: '#C62828',
31
+ dangerAccent: '#FF1744',
32
+ dangerTint: '#3A0F16',
33
+ severeBrand: '#C75B12',
34
+ severeAccent: '#FF8A00',
35
+ severeTint: '#332000',
36
+ doneBrand: '#008B8B',
37
+ doneAccent: '#00E5FF',
38
+ doneTint: '#042A2E',
26
39
  // Bright / vivid colours for SVG illustrations (OpenAI-blog style)
27
40
  brightGlow: '#39FF14', // Neon green — primary glow (re-stated for palette API)
28
41
  brightPop: '#00FF88', // Phosphor cyan — contrasting accent
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Sand Color System – Warm golden desert neutrals.
3
+ *
4
+ * Anchored on the golden-wheat base #E2CA76: sun-bleached dunes paired
5
+ * with deep ochre for accessible text. A calm, editorial, earthy feel
6
+ * with an Anthropic-like book warmth. WCAG AA/AAA for text & buttons.
7
+ */
8
+ export declare const sandColors: {
9
+ black: string;
10
+ gray: string;
11
+ white: string;
12
+ sandBase: string;
13
+ sandBrand: string;
14
+ sandAccent: string;
15
+ sandText: string;
16
+ sandTint: string;
17
+ sandBright: string;
18
+ sandHover: string;
19
+ attentionBrand: string;
20
+ attentionAccent: string;
21
+ attentionTint: string;
22
+ dangerBrand: string;
23
+ dangerAccent: string;
24
+ dangerTint: string;
25
+ severeBrand: string;
26
+ severeAccent: string;
27
+ severeTint: string;
28
+ doneBrand: string;
29
+ doneAccent: string;
30
+ doneTint: string;
31
+ brightGlow: string;
32
+ brightPop: string;
33
+ brightSpark: string;
34
+ brightBlaze: string;
35
+ brightSurge: string;
36
+ brightFlame: string;
37
+ brightGold: string;
38
+ brightLightGlow: string;
39
+ brightLightPop: string;
40
+ brightLightSpark: string;
41
+ brightLightBlaze: string;
42
+ brightLightSurge: string;
43
+ brightLightFlame: string;
44
+ brightLightGold: string;
45
+ };
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Sand Color System – Warm golden desert neutrals.
7
+ *
8
+ * Anchored on the golden-wheat base #E2CA76: sun-bleached dunes paired
9
+ * with deep ochre for accessible text. A calm, editorial, earthy feel
10
+ * with an Anthropic-like book warmth. WCAG AA/AAA for text & buttons.
11
+ */
12
+ export const sandColors = {
13
+ // Core Neutrals — warm, earthy
14
+ black: '#201B0E', // Warm dark olive-brown — primary dark background
15
+ gray: '#6E6142', // Khaki taupe — secondary text
16
+ white: '#F7F1DF', // Wheat cream — primary light background
17
+ // Sand / Wheat palette (Brand) — anchored on the base #E2CA76
18
+ sandBase: '#E2CA76', // Base color — golden wheat sand
19
+ sandBrand: '#E2CA76', // Brand / swatch — golden wheat
20
+ sandAccent: '#D4B85E', // Mid wheat — charts, highlights on dark surfaces
21
+ sandText: '#7A5E12', // Deep ochre — accessible buttons & text on cream (AA+)
22
+ sandTint: '#F2E7C2', // Pale wheat — soft background for callouts
23
+ sandBright: '#ECD98F', // Bright wheat — highlights on dark backgrounds
24
+ sandHover: '#5C4710', // Dark ochre — primary button hover
25
+ // Semantic roles — kept warm & earthy
26
+ attentionBrand: '#977E13',
27
+ attentionAccent: '#D9B21E',
28
+ attentionTint: '#F5EBC4',
29
+ dangerBrand: '#A8412A',
30
+ dangerAccent: '#D65C3F',
31
+ dangerTint: '#F6DDD3',
32
+ severeBrand: '#A5651A',
33
+ severeAccent: '#D98A2E',
34
+ severeTint: '#F6E5CC',
35
+ doneBrand: '#6A548F',
36
+ doneAccent: '#8A6FB0',
37
+ doneTint: '#E9E2F2',
38
+ // Bright / vivid colours for SVG illustrations (warm, luminous)
39
+ brightGlow: '#E2CA76', // Golden sand glow — primary glow (the base)
40
+ brightPop: '#D9A85A', // Amber clay — contrasting accent
41
+ brightSpark: '#ECD98F', // Bright wheat — sparkle / tertiary
42
+ brightBlaze: '#E0703F', // Terracotta — warm accent
43
+ brightSurge: '#93A97F', // Olive-sage — cool accent (desert scrub)
44
+ // Warm vivid colours — amber & gold accents
45
+ brightFlame: '#E69430', // Amber — warm energy
46
+ brightGold: '#F0D45E', // Golden — highlight
47
+ // Vivid brights for light backgrounds — deeper for contrast on cream
48
+ brightLightGlow: '#7A5E12', // Deep ochre
49
+ brightLightPop: '#A5661E', // Deep amber
50
+ brightLightSpark: '#977E13', // Deep wheat gold
51
+ brightLightBlaze: '#B0432A', // Deep terracotta
52
+ brightLightSurge: '#5E7050', // Deep olive
53
+ brightLightFlame: '#A5651A', // Deep amber
54
+ brightLightGold: '#8A6E10', // Deep gold
55
+ };
@@ -12,6 +12,18 @@ export declare const spatialColors: {
12
12
  indigoTint: string;
13
13
  indigoBright: string;
14
14
  indigoHover: string;
15
+ attentionBrand: string;
16
+ attentionAccent: string;
17
+ attentionTint: string;
18
+ dangerBrand: string;
19
+ dangerAccent: string;
20
+ dangerTint: string;
21
+ severeBrand: string;
22
+ severeAccent: string;
23
+ severeTint: string;
24
+ doneBrand: string;
25
+ doneAccent: string;
26
+ doneTint: string;
15
27
  brightGlow: string;
16
28
  brightPop: string;
17
29
  brightSpark: string;
@@ -18,6 +18,19 @@ export const spatialColors = {
18
18
  indigoTint: '#EEF2FF', // Soft background for callouts
19
19
  indigoBright: '#818CF8', // Highlights & glow on dark
20
20
  indigoHover: '#312E81', // Primary button hover
21
+ // Semantic roles
22
+ attentionBrand: '#C58A00',
23
+ attentionAccent: '#F2C94C',
24
+ attentionTint: '#FFF4CC',
25
+ dangerBrand: '#E5484D',
26
+ dangerAccent: '#FF7A7F',
27
+ dangerTint: '#FFE3E6',
28
+ severeBrand: '#C96A1B',
29
+ severeAccent: '#F4A259',
30
+ severeTint: '#FFF1E6',
31
+ doneBrand: '#7C4DFF',
32
+ doneAccent: '#A78BFA',
33
+ doneTint: '#EEE8FF',
21
34
  // Bright / vivid colours for SVG illustrations (OpenAI-blog style)
22
35
  brightGlow: '#7C4DFF', // Electric violet — primary glow
23
36
  brightPop: '#448AFF', // Neon blue — contrasting accent
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Sun Color System – Warm, radiant golden light.
3
+ *
4
+ * Anchored on the vivid amber base #FFC107 (R:255 G:193 B:7): energetic,
5
+ * optimistic, and welcoming, paired with a deep amber-brown for
6
+ * accessible text. Sunlit and luminous. WCAG AA/AAA for text & buttons.
7
+ */
8
+ export declare const sunColors: {
9
+ black: string;
10
+ gray: string;
11
+ white: string;
12
+ sunBase: string;
13
+ sunBrand: string;
14
+ sunAccent: string;
15
+ sunText: string;
16
+ sunTint: string;
17
+ sunBright: string;
18
+ sunHover: string;
19
+ attentionBrand: string;
20
+ attentionAccent: string;
21
+ attentionTint: string;
22
+ dangerBrand: string;
23
+ dangerAccent: string;
24
+ dangerTint: string;
25
+ severeBrand: string;
26
+ severeAccent: string;
27
+ severeTint: string;
28
+ doneBrand: string;
29
+ doneAccent: string;
30
+ doneTint: string;
31
+ brightGlow: string;
32
+ brightPop: string;
33
+ brightSpark: string;
34
+ brightBlaze: string;
35
+ brightSurge: string;
36
+ brightFlame: string;
37
+ brightGold: string;
38
+ brightLightGlow: string;
39
+ brightLightPop: string;
40
+ brightLightSpark: string;
41
+ brightLightBlaze: string;
42
+ brightLightSurge: string;
43
+ brightLightFlame: string;
44
+ brightLightGold: string;
45
+ };
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Sun Color System – Warm, radiant golden light.
7
+ *
8
+ * Anchored on the vivid amber base #FFC107 (R:255 G:193 B:7): energetic,
9
+ * optimistic, and welcoming, paired with a deep amber-brown for
10
+ * accessible text. Sunlit and luminous. WCAG AA/AAA for text & buttons.
11
+ */
12
+ export const sunColors = {
13
+ // Core Neutrals — warm, sunlit
14
+ black: '#1F1904', // Deep amber-brown — primary dark background
15
+ gray: '#7A6A3A', // Warm amber-taupe — secondary text
16
+ white: '#FFF9EC', // Sunlit off-white — primary light background
17
+ // Sun palette (Brand) — anchored on the base #FFC107
18
+ sunBase: '#FFC107', // Base color — radiant amber
19
+ sunBrand: '#FFC107', // Brand / swatch — radiant amber
20
+ sunAccent: '#F0A800', // Deep amber — charts, highlights on dark surfaces
21
+ sunText: '#8A5300', // Deep amber-brown — accessible buttons & text on cream (AA+)
22
+ sunTint: '#FFF1C6', // Pale sun — soft background for callouts
23
+ sunBright: '#FFD54A', // Bright sun — highlights on dark backgrounds
24
+ sunHover: '#6E4200', // Dark amber — primary button hover
25
+ // Semantic roles — kept warm & radiant
26
+ attentionBrand: '#9A7B00',
27
+ attentionAccent: '#E0B400',
28
+ attentionTint: '#FFF0BE',
29
+ dangerBrand: '#B23A1E',
30
+ dangerAccent: '#DE5A38',
31
+ dangerTint: '#FADFD5',
32
+ severeBrand: '#A85D0C',
33
+ severeAccent: '#E08421',
34
+ severeTint: '#FCE6CC',
35
+ doneBrand: '#6A4E9E',
36
+ doneAccent: '#8B72B8',
37
+ doneTint: '#EAE3F5',
38
+ // Bright / vivid colours for SVG illustrations (radiant, luminous)
39
+ brightGlow: '#FFC107', // Amber glow — primary glow (the base)
40
+ brightPop: '#FF9F1C', // Vivid orange-amber — contrasting accent
41
+ brightSpark: '#FFD54A', // Bright sun — sparkle / tertiary
42
+ brightBlaze: '#FF6B35', // Warm coral-orange — warm accent
43
+ brightSurge: '#4FB0C6', // Sky blue — cool accent (radiant sky)
44
+ // Warm vivid colours — amber & gold accents
45
+ brightFlame: '#FF8500', // Amber flame — warm energy
46
+ brightGold: '#FFD700', // Gold — highlight
47
+ // Vivid brights for light backgrounds — deeper for contrast on cream
48
+ brightLightGlow: '#8A5300', // Deep amber-brown
49
+ brightLightPop: '#B8560F', // Deep orange-amber
50
+ brightLightSpark: '#9A7B00', // Deep gold
51
+ brightLightBlaze: '#B23A1E', // Deep coral
52
+ brightLightSurge: '#2A7C8E', // Deep sky-teal
53
+ brightLightFlame: '#A85D0C', // Deep amber
54
+ brightLightGold: '#8A6E00', // Deep gold
55
+ };
@@ -31,6 +31,30 @@ export interface ThemeColorDefs {
31
31
  muted: string;
32
32
  subtle?: string;
33
33
  };
34
+ attention?: {
35
+ fg: string;
36
+ emphasis: string;
37
+ muted: string;
38
+ subtle?: string;
39
+ };
40
+ danger?: {
41
+ fg: string;
42
+ emphasis: string;
43
+ muted: string;
44
+ subtle?: string;
45
+ };
46
+ severe?: {
47
+ fg: string;
48
+ emphasis: string;
49
+ muted: string;
50
+ subtle?: string;
51
+ };
52
+ done?: {
53
+ fg: string;
54
+ emphasis: string;
55
+ muted: string;
56
+ subtle?: string;
57
+ };
34
58
  border?: {
35
59
  default: string;
36
60
  muted: string;
@@ -125,7 +149,7 @@ export interface ThemeColorDefs {
125
149
  * | Legacy aliases | `--color-btn-primary-bg` |
126
150
  * | Brand (custom) | `--brand-color-canvas-default` |
127
151
  */
128
- export declare function colorDefsToCSS(defs: ThemeColorDefs): CSSProperties;
152
+ export declare function colorDefsToCSS(defs: ThemeColorDefs, mode?: 'light' | 'dark'): CSSProperties;
129
153
  /** Light + dark CSS-property pairs for the `themeStyles` prop. */
130
154
  export interface ThemeStyles {
131
155
  light: CSSProperties;