@studiolxd/brand 49.20.0 → 49.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/_shared/colorpicker.js +410 -0
  3. package/dist/_shared/tokens.js +62 -0
  4. package/dist/_types/atoms/ColorSwatch/ColorSwatch.d.ts +35 -0
  5. package/dist/_types/messages/BrandMessages.d.ts +3 -1
  6. package/dist/_types/messages/index.d.ts +1 -1
  7. package/dist/_types/molecules/ColorPicker/ColorArea.d.ts +51 -0
  8. package/dist/_types/molecules/ColorPicker/ColorPicker.d.ts +130 -0
  9. package/dist/_types/molecules/ColorPicker/colorModel.d.ts +54 -0
  10. package/dist/_types/molecules/ColorPickerField/ColorPickerField.d.ts +26 -0
  11. package/dist/brand.css +137 -1
  12. package/dist/color-picker-field.css +1 -0
  13. package/dist/color-picker-field.js +46 -0
  14. package/dist/color-picker.js +3 -0
  15. package/dist/color-swatch.css +1 -0
  16. package/dist/color-swatch.js +29 -0
  17. package/dist/colorpicker.css +1 -0
  18. package/dist/tokens.css +146 -1
  19. package/package.json +16 -1
  20. package/src/tokens/components/color-swatch.css +22 -0
  21. package/src/tokens/components/color-swatch.ts +7 -0
  22. package/src/tokens/index.css +3 -0
  23. package/src/tokens/molecules/color-picker-field.css +19 -0
  24. package/src/tokens/molecules/color-picker-field.ts +4 -0
  25. package/src/tokens/molecules/color-picker.css +63 -0
  26. package/src/tokens/molecules/color-picker.ts +8 -0
  27. package/src/tokens/scss/_index.legacy.scss +3 -0
  28. package/src/tokens/scss/_index.scss +3 -0
  29. package/src/tokens/scss/components/_color-swatch.scss +12 -0
  30. package/src/tokens/scss/molecules/_color-picker-field.scss +9 -0
  31. package/src/tokens/scss/molecules/_color-picker.scss +50 -0
  32. package/src/tokens/surface-dark-derived.css +8 -0
  33. package/src/tokens/surface-invert.css +14 -0
  34. package/src/tokens/surface-light.css +14 -0
  35. package/src/tokens/surface-public.css +2 -0
  36. package/src/tokens/tokens.json +62 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studiolxd/brand",
3
- "version": "49.20.0",
3
+ "version": "49.22.0",
4
4
  "description": "El sistema de diseño de Studio LXD: componentes React, tokens y documentación de la suite SLXD.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -253,6 +253,21 @@
253
253
  "import": "./dist/date-picker-field.js",
254
254
  "default": "./dist/date-picker-field.js"
255
255
  },
256
+ "./color-swatch": {
257
+ "types": "./dist/_types/atoms/ColorSwatch/ColorSwatch.d.ts",
258
+ "import": "./dist/color-swatch.js",
259
+ "default": "./dist/color-swatch.js"
260
+ },
261
+ "./color-picker": {
262
+ "types": "./dist/_types/molecules/ColorPicker/ColorPicker.d.ts",
263
+ "import": "./dist/color-picker.js",
264
+ "default": "./dist/color-picker.js"
265
+ },
266
+ "./color-picker-field": {
267
+ "types": "./dist/_types/molecules/ColorPickerField/ColorPickerField.d.ts",
268
+ "import": "./dist/color-picker-field.js",
269
+ "default": "./dist/color-picker-field.js"
270
+ },
256
271
  "./date-time-field": {
257
272
  "types": "./dist/_types/molecules/DateTimeField/DateTimeField.d.ts",
258
273
  "import": "./dist/date-time-field.js",
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --color-swatch-size-sm: var(--icon-size-sm); /** 16px — junto a un texto de una línea: una celda, una opción, el rótulo de una categoría */
7
+ --color-swatch-size-md: var(--icon-size-md); /** 24px — por defecto: listas de colores, la rejilla de predefinidos del selector */
8
+ --color-swatch-size-lg: var(--icon-size-lg); /** 48px — la muestra es el asunto: la cabecera de un color, una paleta que se revisa */
9
+ --color-swatch-checker-color: var(--color-grey-light); /** Casillas oscuras del damero que asoma bajo un color con transparencia. Es la convención de las herramientas de imagen, no un color de superficie: no cambia en oscuro */
10
+ --color-swatch-checker-bg: var(--color-white); /** Casillas claras del damero */
11
+ --color-swatch-checker-size: var(--spacing-2); /** Lado de un par de casillas del damero (8px: casillas de 4px) */
12
+ --color-swatch-border-width: var(--border-width-default); /** Grosor del borde: el del sistema. Es lo que separa una muestra blanca de una página blanca */
13
+ --color-swatch-border-color: var(--color-border-default-on-light); /** Color del borde: el separador neutro, para no competir con el color que enmarca */
14
+ --color-swatch-border-radius: var(--border-radius-default); /** Radio: recto, como toda forma del sistema */
15
+ }
16
+
17
+ .surface-dark,
18
+ .surface-invert,
19
+ [data-theme="dark"],
20
+ html.dark {
21
+ --color-swatch-border-color: var(--color-text-on-dark); /** Color del borde — surface-dark. Regla de derivación: borde → texto sobre oscuro */
22
+ }
@@ -0,0 +1,7 @@
1
+ import colorSwatch from '../../../tokens/component/color-swatch.json';
2
+ import { flattenTokens } from '../utils';
3
+
4
+ const all = flattenTokens(colorSwatch as never);
5
+
6
+ export const colorSwatchTokens = all.filter(t => !t.name.startsWith('--color-swatch-surface-dark-'));
7
+ export const colorSwatchDarkTokens = all.filter(t => t.name.startsWith('--color-swatch-surface-dark-'));
@@ -110,6 +110,9 @@
110
110
  @import "./molecules/time-field.css";
111
111
  @import "./molecules/date-picker.css";
112
112
  @import "./molecules/date-picker-field.css";
113
+ @import "./components/color-swatch.css";
114
+ @import "./molecules/color-picker.css";
115
+ @import "./molecules/color-picker-field.css";
113
116
  @import "./molecules/date-time-field.css";
114
117
  @import "./components/switcher.css";
115
118
  @import "./molecules/switcher-field.css";
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --color-picker-field-gap: var(--spacing-2); /** Espacio entre etiqueta, disparador, ayuda y error */
7
+ --color-picker-field-helper-font-family: var(--form-helper-font-family); /** Font family del texto de ayuda */
8
+ --color-picker-field-helper-line-height: var(--form-helper-line-height); /** Line height del texto de ayuda */
9
+ --color-picker-field-helper-font-size: var(--form-helper-font-size); /** Font size del texto de ayuda */
10
+ --color-picker-field-helper-font-weight: var(--form-helper-font-weight); /** Font weight del texto de ayuda */
11
+ --color-picker-field-helper-color: var(--form-helper-color); /** Color del texto de ayuda */
12
+ }
13
+
14
+ .surface-dark,
15
+ .surface-invert,
16
+ [data-theme="dark"],
17
+ html.dark {
18
+ --color-picker-field-helper-color: var(--color-text-on-dark); /** Color del texto de ayuda — surface-dark */
19
+ }
@@ -0,0 +1,4 @@
1
+ import colorPickerField from '../../../tokens/molecule/color-picker-field.json';
2
+ import { flattenTokens } from '../utils';
3
+
4
+ export const colorPickerFieldTokens = flattenTokens(colorPickerField as never);
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --color-picker-trigger-cursor: pointer; /** Cursor: abre el panel */
7
+ --color-picker-area-cursor: crosshair; /** Cursor sobre el área: se apunta a un punto */
8
+ --color-picker-preset-cursor: pointer; /** Cursor sobre un predefinido */
9
+ --color-picker-trigger-padding: var(--spacing-1); /** Aire entre el borde del disparador y la muestra que lleva dentro */
10
+ --color-picker-trigger-border-style: var(--input-border-style); /** Estilo del borde */
11
+ --color-picker-trigger-disabled-cursor: var(--input-disabled-cursor); /** Cursor deshabilitado */
12
+ --color-picker-trigger-disabled-opacity: var(--opacity-disabled); /** Opacidad de la muestra con el disparador deshabilitado: el color sigue ahí, atenuado */
13
+ --color-picker-panel-gap: var(--spacing-3); /** Separación entre las partes del panel: área, bandas, campo hex, predefinidos */
14
+ --color-picker-area-saturation-start: var(--color-white); /** Origen del degradado de saturación: sin saturación, el tono se lava hacia el blanco. Es el modelo HSV, no una decisión de marca */
15
+ --color-picker-area-brightness-end: var(--color-black); /** Fin del degradado de brillo: sin brillo, cualquier tono es negro. Es el modelo HSV */
16
+ --color-picker-channel-track-size: var(--spacing-3); /** Grosor de las bandas de tono y de opacidad: más gruesas que un deslizador, porque la banda es el dato */
17
+ --color-picker-thumb-size: var(--icon-size-sm); /** Lado del pulgar del área y de las bandas */
18
+ --color-picker-thumb-border-color: var(--color-white); /** Aro claro del pulgar: junto al contorno oscuro, se ve sobre cualquier color, claro u oscuro. No cambia en oscuro */
19
+ --color-picker-preset-gap: var(--spacing-2); /** Hueco entre predefinidos */
20
+ --color-picker-trigger-size: var(--input-height); /** Lado del disparador: cuadrado a la altura de los controles, talla md */
21
+ --color-picker-trigger-sm-size: var(--input-sm-height); /** Lado del disparador — sm */
22
+ --color-picker-trigger-lg-size: var(--input-lg-height); /** Lado del disparador — lg (y de partida en la superficie pública) */
23
+ --color-picker-trigger-bg: var(--input-bg); /** Fondo del disparador: el de un campo */
24
+ --color-picker-area-border-width: var(--border-width-default); /** Borde del área y de las bandas */
25
+ --color-picker-area-border-color: var(--color-border-default-on-light); /** Color del borde del área y de las bandas: el separador neutro */
26
+ --color-picker-thumb-border-width: var(--border-width-focus); /** Aro claro del pulgar */
27
+ --color-picker-thumb-outline-width: var(--border-width-default); /** Contorno oscuro del pulgar, por fuera y por dentro del aro */
28
+ --color-picker-thumb-outline-color: var(--color-primary); /** Contorno oscuro del pulgar. No cambia en oscuro: lo que tiene detrás es el color, no la superficie */
29
+ --color-picker-thumb-border-radius: var(--border-radius-default); /** Radio del pulgar */
30
+ --color-picker-thumb-focus-ring-width: var(--border-width-focus); /** Anillo de foco del pulgar */
31
+ --color-picker-thumb-focus-ring-offset: var(--border-width-focus); /** Separación del anillo de foco */
32
+ --color-picker-thumb-focus-ring-color: var(--color-primary); /** Color del anillo de foco del pulgar */
33
+ --color-picker-preset-size: var(--color-swatch-size-md); /** Lado de un predefinido: la muestra md */
34
+ --color-picker-preset-focus-ring-width: var(--border-width-focus); /** Anillo de foco de un predefinido */
35
+ --color-picker-preset-focus-ring-offset: var(--border-width-focus); /** Separación del anillo de foco */
36
+ --color-picker-preset-focus-ring-color: var(--color-primary); /** Color del anillo de foco */
37
+ --color-picker-preset-selected-ring-width: var(--border-width-focus); /** Marca del predefinido que coincide con el valor: un aro por fuera */
38
+ --color-picker-preset-selected-ring-offset: var(--border-width-default); /** Separación de la marca */
39
+ --color-picker-preset-selected-ring-color: var(--color-primary); /** Color de la marca del seleccionado */
40
+ --color-picker-trigger-border-width: var(--input-border-width); /** Grosor del borde: el de un campo */
41
+ --color-picker-trigger-border-color: var(--input-border-color); /** Color del borde: el de un campo */
42
+ --color-picker-trigger-border-radius: var(--input-border-radius); /** Radio del disparador */
43
+ --color-picker-trigger-focus-border-color: var(--input-focus-border-color); /** Borde en foco: el de un campo */
44
+ --color-picker-trigger-focus-ring-inset-offset: var(--input-focus-ring-inset-offset); /** Separación entre el borde y el anillo */
45
+ --color-picker-trigger-focus-ring-color: var(--input-focus-ring-color); /** Color del anillo de foco */
46
+ --color-picker-trigger-error-border-color: var(--input-error-border-color); /** Borde en error */
47
+ --color-picker-trigger-error-focus-ring-color: var(--input-error-focus-ring-color); /** Anillo de foco en error */
48
+ --color-picker-trigger-disabled-bg: var(--input-disabled-bg); /** Fondo deshabilitado */
49
+ --color-picker-trigger-disabled-border-color: var(--input-disabled-border-color); /** Borde deshabilitado */
50
+ --color-picker-panel-inline-size: calc(8 * var(--color-picker-preset-size) + 7 * var(--color-picker-preset-gap)); /** Ancho del panel: ocho predefinidos por fila y sus siete huecos. El área y las bandas lo ocupan entero */
51
+ --color-picker-area-block-size: calc(6 * var(--color-picker-preset-size) + 5 * var(--color-picker-preset-gap)); /** Alto del área de saturación y brillo: seis filas de la misma rejilla que mide el ancho */
52
+ --color-picker-trigger-focus-ring-width: var(--input-focus-ring-width); /** Grosor del anillo de foco, por dentro del borde como en un campo */
53
+ }
54
+
55
+ .surface-dark,
56
+ .surface-invert,
57
+ [data-theme="dark"],
58
+ html.dark {
59
+ --color-picker-area-border-color: var(--color-text-on-dark); /** Borde del área y de las bandas — surface-dark */
60
+ --color-picker-thumb-focus-ring-color: var(--color-text-on-dark); /** Anillo de foco del pulgar — surface-dark */
61
+ --color-picker-preset-focus-ring-color: var(--color-text-on-dark); /** Anillo de foco — surface-dark */
62
+ --color-picker-preset-selected-ring-color: var(--color-text-on-dark); /** Marca del seleccionado — surface-dark */
63
+ }
@@ -0,0 +1,8 @@
1
+ import colorPicker from '../../../tokens/molecule/color-picker.json';
2
+ import { flattenTokens } from '../utils';
3
+
4
+ const all = flattenTokens(colorPicker as never);
5
+ const isDark = (name: string) => name.includes('-surface-dark-');
6
+
7
+ export const colorPickerTokens = all.filter(t => !isDark(t.name));
8
+ export const colorPickerDarkTokens = all.filter(t => isDark(t.name));
@@ -108,6 +108,9 @@
108
108
  @import 'molecules/time-field';
109
109
  @import 'molecules/date-picker';
110
110
  @import 'molecules/date-picker-field';
111
+ @import 'components/color-swatch';
112
+ @import 'molecules/color-picker';
113
+ @import 'molecules/color-picker-field';
111
114
  @import 'molecules/date-time-field';
112
115
  @import 'components/switcher';
113
116
  @import 'molecules/switcher-field';
@@ -108,6 +108,9 @@
108
108
  @forward 'molecules/time-field';
109
109
  @forward 'molecules/date-picker';
110
110
  @forward 'molecules/date-picker-field';
111
+ @forward 'components/color-swatch';
112
+ @forward 'molecules/color-picker';
113
+ @forward 'molecules/color-picker-field';
111
114
  @forward 'molecules/date-time-field';
112
115
  @forward 'components/switcher';
113
116
  @forward 'molecules/switcher-field';
@@ -0,0 +1,12 @@
1
+
2
+ // Do not edit directly, this file was auto-generated.
3
+
4
+ $lxd-color-swatch-size-sm: 16px; // 16px — junto a un texto de una línea: una celda, una opción, el rótulo de una categoría
5
+ $lxd-color-swatch-size-md: 24px; // 24px — por defecto: listas de colores, la rejilla de predefinidos del selector
6
+ $lxd-color-swatch-size-lg: 48px; // 48px — la muestra es el asunto: la cabecera de un color, una paleta que se revisa
7
+ $lxd-color-swatch-border-width: 1px; // Grosor del borde: el del sistema. Es lo que separa una muestra blanca de una página blanca
8
+ $lxd-color-swatch-border-color: #d0d0d0; // Color del borde: el separador neutro, para no competir con el color que enmarca
9
+ $lxd-color-swatch-border-radius: 0px; // Radio: recto, como toda forma del sistema
10
+ $lxd-color-swatch-checker-color: #d0d0d0; // Casillas oscuras del damero que asoma bajo un color con transparencia. Es la convención de las herramientas de imagen, no un color de superficie: no cambia en oscuro
11
+ $lxd-color-swatch-checker-bg: #ffffff; // Casillas claras del damero
12
+ $lxd-color-swatch-checker-size: 0.5rem; // Lado de un par de casillas del damero (8px: casillas de 4px)
@@ -0,0 +1,9 @@
1
+
2
+ // Do not edit directly, this file was auto-generated.
3
+
4
+ $lxd-color-picker-field-gap: 0.5rem; // Espacio entre etiqueta, disparador, ayuda y error
5
+ $lxd-color-picker-field-helper-font-family: "Google Sans Flex", system-ui, sans-serif; // Font family del texto de ayuda
6
+ $lxd-color-picker-field-helper-font-size: 0.875rem; // Font size del texto de ayuda
7
+ $lxd-color-picker-field-helper-font-weight: 300; // Font weight del texto de ayuda
8
+ $lxd-color-picker-field-helper-line-height: 1.5; // Line height del texto de ayuda
9
+ $lxd-color-picker-field-helper-color: #111e30; // Color del texto de ayuda
@@ -0,0 +1,50 @@
1
+
2
+ // Do not edit directly, this file was auto-generated.
3
+
4
+ $lxd-color-picker-trigger-size: 2.5rem; // Lado del disparador: cuadrado a la altura de los controles, talla md
5
+ $lxd-color-picker-trigger-sm-size: 2rem; // Lado del disparador — sm
6
+ $lxd-color-picker-trigger-lg-size: 3rem; // Lado del disparador — lg (y de partida en la superficie pública)
7
+ $lxd-color-picker-trigger-padding: 0.25rem; // Aire entre el borde del disparador y la muestra que lleva dentro
8
+ $lxd-color-picker-trigger-bg: #ffffff; // Fondo del disparador: el de un campo
9
+ $lxd-color-picker-trigger-border-width: 1px; // Grosor del borde: el de un campo
10
+ $lxd-color-picker-trigger-border-style: solid; // Estilo del borde
11
+ $lxd-color-picker-trigger-border-color: #111e30; // Color del borde: el de un campo
12
+ $lxd-color-picker-trigger-border-radius: 0px; // Radio del disparador
13
+ $lxd-color-picker-trigger-cursor: pointer; // Cursor: abre el panel
14
+ $lxd-color-picker-trigger-focus-border-color: #111e30; // Borde en foco: el de un campo
15
+ $lxd-color-picker-trigger-focus-ring-width: 2px; // Grosor del anillo de foco, por dentro del borde como en un campo
16
+ $lxd-color-picker-trigger-focus-ring-inset-offset: 1px; // Separación entre el borde y el anillo
17
+ $lxd-color-picker-trigger-focus-ring-color: #111e30; // Color del anillo de foco
18
+ $lxd-color-picker-trigger-error-border-color: #b30000; // Borde en error
19
+ $lxd-color-picker-trigger-error-focus-ring-color: #b30000; // Anillo de foco en error
20
+ $lxd-color-picker-trigger-disabled-bg: #f2f2f2; // Fondo deshabilitado
21
+ $lxd-color-picker-trigger-disabled-border-color: #d0d0d0; // Borde deshabilitado
22
+ $lxd-color-picker-trigger-disabled-cursor: not-allowed; // Cursor deshabilitado
23
+ $lxd-color-picker-trigger-disabled-opacity: 0.4; // Opacidad de la muestra con el disparador deshabilitado: el color sigue ahí, atenuado
24
+ $lxd-color-picker-panel-gap: 0.75rem; // Separación entre las partes del panel: área, bandas, campo hex, predefinidos
25
+ $lxd-color-picker-panel-inline-size: calc(8 * 24px + 7 * 0.5rem); // Ancho del panel: ocho predefinidos por fila y sus siete huecos. El área y las bandas lo ocupan entero
26
+ $lxd-color-picker-area-block-size: calc(6 * 24px + 5 * 0.5rem); // Alto del área de saturación y brillo: seis filas de la misma rejilla que mide el ancho
27
+ $lxd-color-picker-area-border-width: 1px; // Borde del área y de las bandas
28
+ $lxd-color-picker-area-border-color: #d0d0d0; // Color del borde del área y de las bandas: el separador neutro
29
+ $lxd-color-picker-area-saturation-start: #ffffff; // Origen del degradado de saturación: sin saturación, el tono se lava hacia el blanco. Es el modelo HSV, no una decisión de marca
30
+ $lxd-color-picker-area-brightness-end: #000000; // Fin del degradado de brillo: sin brillo, cualquier tono es negro. Es el modelo HSV
31
+ $lxd-color-picker-area-cursor: crosshair; // Cursor sobre el área: se apunta a un punto
32
+ $lxd-color-picker-channel-track-size: 0.75rem; // Grosor de las bandas de tono y de opacidad: más gruesas que un deslizador, porque la banda es el dato
33
+ $lxd-color-picker-thumb-size: 16px; // Lado del pulgar del área y de las bandas
34
+ $lxd-color-picker-thumb-border-width: 2px; // Aro claro del pulgar
35
+ $lxd-color-picker-thumb-border-color: #ffffff; // Aro claro del pulgar: junto al contorno oscuro, se ve sobre cualquier color, claro u oscuro. No cambia en oscuro
36
+ $lxd-color-picker-thumb-outline-width: 1px; // Contorno oscuro del pulgar, por fuera y por dentro del aro
37
+ $lxd-color-picker-thumb-outline-color: #111e30; // Contorno oscuro del pulgar. No cambia en oscuro: lo que tiene detrás es el color, no la superficie
38
+ $lxd-color-picker-thumb-border-radius: 0px; // Radio del pulgar
39
+ $lxd-color-picker-thumb-focus-ring-width: 2px; // Anillo de foco del pulgar
40
+ $lxd-color-picker-thumb-focus-ring-offset: 2px; // Separación del anillo de foco
41
+ $lxd-color-picker-thumb-focus-ring-color: #111e30; // Color del anillo de foco del pulgar
42
+ $lxd-color-picker-preset-size: 24px; // Lado de un predefinido: la muestra md
43
+ $lxd-color-picker-preset-gap: 0.5rem; // Hueco entre predefinidos
44
+ $lxd-color-picker-preset-cursor: pointer; // Cursor sobre un predefinido
45
+ $lxd-color-picker-preset-focus-ring-width: 2px; // Anillo de foco de un predefinido
46
+ $lxd-color-picker-preset-focus-ring-offset: 2px; // Separación del anillo de foco
47
+ $lxd-color-picker-preset-focus-ring-color: #111e30; // Color del anillo de foco
48
+ $lxd-color-picker-preset-selected-ring-width: 2px; // Marca del predefinido que coincide con el valor: un aro por fuera
49
+ $lxd-color-picker-preset-selected-ring-offset: 1px; // Separación de la marca
50
+ $lxd-color-picker-preset-selected-ring-color: #111e30; // Color de la marca del seleccionado
@@ -77,6 +77,14 @@ html.dark {
77
77
  --calendar-year-selected-bg: var(--calendar-selected-bg);
78
78
  --calendar-year-selected-color: var(--calendar-selected-color);
79
79
  --calendar-year-disabled-color: var(--calendar-disabled-color);
80
+ --color-picker-trigger-bg: var(--input-bg);
81
+ --color-picker-trigger-border-color: var(--input-border-color);
82
+ --color-picker-trigger-focus-border-color: var(--input-focus-border-color);
83
+ --color-picker-trigger-focus-ring-color: var(--input-focus-ring-color);
84
+ --color-picker-trigger-error-border-color: var(--input-error-border-color);
85
+ --color-picker-trigger-error-focus-ring-color: var(--input-error-focus-ring-color);
86
+ --color-picker-trigger-disabled-bg: var(--input-disabled-bg);
87
+ --color-picker-trigger-disabled-border-color: var(--input-disabled-border-color);
80
88
  --command-palette-input-border-color: var(--floating-panel-border-color);
81
89
  --prose-color: var(--text-color);
82
90
  --prose-quote-border-color: var(--separator-color);
@@ -140,6 +140,7 @@ html.dark .surface-invert {
140
140
  --code-color: var(--code-block-color);
141
141
  --collapsible-trigger-color: var(--color-text-on-light);
142
142
  --collapsible-focus-ring-color: var(--color-primary);
143
+ --color-swatch-border-color: var(--color-border-default-on-light);
143
144
  --description-list-border-color: var(--color-primary);
144
145
  --description-list-term-color: var(--color-text-on-light);
145
146
  --description-list-value-color: var(--color-text-on-light);
@@ -515,6 +516,19 @@ html.dark .surface-invert {
515
516
  --clock-widget-status-dot-closed-bg: var(--color-border-default-on-light);
516
517
  --clock-widget-elapsed-color: var(--color-text-on-light);
517
518
  --clock-widget-elapsed-label-color: var(--color-text-muted-on-light);
519
+ --color-picker-field-helper-color: var(--form-helper-color);
520
+ --color-picker-trigger-bg: var(--input-bg);
521
+ --color-picker-trigger-border-color: var(--input-border-color);
522
+ --color-picker-trigger-focus-border-color: var(--input-focus-border-color);
523
+ --color-picker-trigger-focus-ring-color: var(--input-focus-ring-color);
524
+ --color-picker-trigger-error-border-color: var(--input-error-border-color);
525
+ --color-picker-trigger-error-focus-ring-color: var(--input-error-focus-ring-color);
526
+ --color-picker-trigger-disabled-bg: var(--input-disabled-bg);
527
+ --color-picker-trigger-disabled-border-color: var(--input-disabled-border-color);
528
+ --color-picker-area-border-color: var(--color-border-default-on-light);
529
+ --color-picker-thumb-focus-ring-color: var(--color-primary);
530
+ --color-picker-preset-focus-ring-color: var(--color-primary);
531
+ --color-picker-preset-selected-ring-color: var(--color-primary);
518
532
  --command-palette-input-border-color: var(--floating-panel-border-color);
519
533
  --command-palette-input-placeholder-color: var(--color-text-placeholder-on-light);
520
534
  --command-palette-input-focus-ring-color: var(--color-primary);
@@ -141,6 +141,7 @@ html.dark .surface-light {
141
141
  --code-color: var(--code-block-color);
142
142
  --collapsible-trigger-color: var(--color-text-on-light);
143
143
  --collapsible-focus-ring-color: var(--color-primary);
144
+ --color-swatch-border-color: var(--color-border-default-on-light);
144
145
  --description-list-border-color: var(--color-primary);
145
146
  --description-list-term-color: var(--color-text-on-light);
146
147
  --description-list-value-color: var(--color-text-on-light);
@@ -516,6 +517,19 @@ html.dark .surface-light {
516
517
  --clock-widget-status-dot-closed-bg: var(--color-border-default-on-light);
517
518
  --clock-widget-elapsed-color: var(--color-text-on-light);
518
519
  --clock-widget-elapsed-label-color: var(--color-text-muted-on-light);
520
+ --color-picker-field-helper-color: var(--form-helper-color);
521
+ --color-picker-trigger-bg: var(--input-bg);
522
+ --color-picker-trigger-border-color: var(--input-border-color);
523
+ --color-picker-trigger-focus-border-color: var(--input-focus-border-color);
524
+ --color-picker-trigger-focus-ring-color: var(--input-focus-ring-color);
525
+ --color-picker-trigger-error-border-color: var(--input-error-border-color);
526
+ --color-picker-trigger-error-focus-ring-color: var(--input-error-focus-ring-color);
527
+ --color-picker-trigger-disabled-bg: var(--input-disabled-bg);
528
+ --color-picker-trigger-disabled-border-color: var(--input-disabled-border-color);
529
+ --color-picker-area-border-color: var(--color-border-default-on-light);
530
+ --color-picker-thumb-focus-ring-color: var(--color-primary);
531
+ --color-picker-preset-focus-ring-color: var(--color-primary);
532
+ --color-picker-preset-selected-ring-color: var(--color-primary);
519
533
  --command-palette-input-border-color: var(--floating-panel-border-color);
520
534
  --command-palette-input-placeholder-color: var(--color-text-placeholder-on-light);
521
535
  --command-palette-input-focus-ring-color: var(--color-primary);
@@ -88,6 +88,7 @@
88
88
  --calendar-year-font-size: var(--calendar-lg-year-font-size);
89
89
  --checkbox-field-gap: var(--checkbox-field-lg-gap);
90
90
  --checkbox-field-padding-block: var(--checkbox-field-lg-padding-block);
91
+ --color-picker-trigger-size: var(--color-picker-trigger-lg-size);
91
92
  --date-picker-button-slot-size: var(--date-picker-button-lg-slot-size);
92
93
  --date-picker-button-icon-size: var(--date-picker-button-lg-icon-size);
93
94
  --dropdown-field-height: var(--dropdown-field-lg-height);
@@ -202,6 +203,7 @@
202
203
  --clock-widget-date-font-size: var(--text-paragraph-small-font-size);
203
204
  --clock-widget-status-font-size: var(--text-paragraph-small-font-size);
204
205
  --clock-widget-elapsed-label-font-size: var(--text-paragraph-small-font-size);
206
+ --color-picker-field-helper-font-size: var(--form-helper-font-size);
205
207
  --consent-banner-title-font-size: var(--text-size-3);
206
208
  --consent-banner-description-font-size: var(--text-font-size);
207
209
  --conversation-list-item-font-size: var(--text-font-size);
@@ -685,6 +685,15 @@
685
685
  "--collapsible-focus-ring-width": "2px",
686
686
  "--collapsible-focus-ring-offset": "1px",
687
687
  "--collapsible-focus-ring-color": "#111e30",
688
+ "--color-swatch-size-sm": "16px",
689
+ "--color-swatch-size-md": "24px",
690
+ "--color-swatch-size-lg": "48px",
691
+ "--color-swatch-border-width": "1px",
692
+ "--color-swatch-border-color": "#d0d0d0",
693
+ "--color-swatch-border-radius": "0px",
694
+ "--color-swatch-checker-color": "#d0d0d0",
695
+ "--color-swatch-checker-bg": "#ffffff",
696
+ "--color-swatch-checker-size": "0.5rem",
688
697
  "--columns-gap-md": "2rem",
689
698
  "--columns-gap-lg": "4rem",
690
699
  "--columns-stack-gap-md": "2rem",
@@ -2427,6 +2436,59 @@
2427
2436
  "--clock-widget-elapsed-label-font-size": "0.875rem",
2428
2437
  "--clock-widget-elapsed-label-color": "#4a4a4a",
2429
2438
  "--clock-widget-footer-margin-block-start": "0.5rem",
2439
+ "--color-picker-field-gap": "0.5rem",
2440
+ "--color-picker-field-helper-font-family": "\"Google Sans Flex\", system-ui, sans-serif",
2441
+ "--color-picker-field-helper-font-size": "0.875rem",
2442
+ "--color-picker-field-helper-font-weight": "300",
2443
+ "--color-picker-field-helper-line-height": "1.5",
2444
+ "--color-picker-field-helper-color": "#111e30",
2445
+ "--color-picker-trigger-size": "2.5rem",
2446
+ "--color-picker-trigger-sm-size": "2rem",
2447
+ "--color-picker-trigger-lg-size": "3rem",
2448
+ "--color-picker-trigger-padding": "0.25rem",
2449
+ "--color-picker-trigger-bg": "#ffffff",
2450
+ "--color-picker-trigger-border-width": "1px",
2451
+ "--color-picker-trigger-border-style": "solid",
2452
+ "--color-picker-trigger-border-color": "#111e30",
2453
+ "--color-picker-trigger-border-radius": "0px",
2454
+ "--color-picker-trigger-cursor": "pointer",
2455
+ "--color-picker-trigger-focus-border-color": "#111e30",
2456
+ "--color-picker-trigger-focus-ring-width": "2px",
2457
+ "--color-picker-trigger-focus-ring-inset-offset": "1px",
2458
+ "--color-picker-trigger-focus-ring-color": "#111e30",
2459
+ "--color-picker-trigger-error-border-color": "#b30000",
2460
+ "--color-picker-trigger-error-focus-ring-color": "#b30000",
2461
+ "--color-picker-trigger-disabled-bg": "#f2f2f2",
2462
+ "--color-picker-trigger-disabled-border-color": "#d0d0d0",
2463
+ "--color-picker-trigger-disabled-cursor": "not-allowed",
2464
+ "--color-picker-trigger-disabled-opacity": "0.4",
2465
+ "--color-picker-panel-gap": "0.75rem",
2466
+ "--color-picker-panel-inline-size": "calc(8 * 24px + 7 * 0.5rem)",
2467
+ "--color-picker-area-block-size": "calc(6 * 24px + 5 * 0.5rem)",
2468
+ "--color-picker-area-border-width": "1px",
2469
+ "--color-picker-area-border-color": "#d0d0d0",
2470
+ "--color-picker-area-saturation-start": "#ffffff",
2471
+ "--color-picker-area-brightness-end": "#000000",
2472
+ "--color-picker-area-cursor": "crosshair",
2473
+ "--color-picker-channel-track-size": "0.75rem",
2474
+ "--color-picker-thumb-size": "16px",
2475
+ "--color-picker-thumb-border-width": "2px",
2476
+ "--color-picker-thumb-border-color": "#ffffff",
2477
+ "--color-picker-thumb-outline-width": "1px",
2478
+ "--color-picker-thumb-outline-color": "#111e30",
2479
+ "--color-picker-thumb-border-radius": "0px",
2480
+ "--color-picker-thumb-focus-ring-width": "2px",
2481
+ "--color-picker-thumb-focus-ring-offset": "2px",
2482
+ "--color-picker-thumb-focus-ring-color": "#111e30",
2483
+ "--color-picker-preset-size": "24px",
2484
+ "--color-picker-preset-gap": "0.5rem",
2485
+ "--color-picker-preset-cursor": "pointer",
2486
+ "--color-picker-preset-focus-ring-width": "2px",
2487
+ "--color-picker-preset-focus-ring-offset": "2px",
2488
+ "--color-picker-preset-focus-ring-color": "#111e30",
2489
+ "--color-picker-preset-selected-ring-width": "2px",
2490
+ "--color-picker-preset-selected-ring-offset": "1px",
2491
+ "--color-picker-preset-selected-ring-color": "#111e30",
2430
2492
  "--command-palette-max-height": "min(24rem, 60vh)",
2431
2493
  "--command-palette-input-padding-block": "0.75rem",
2432
2494
  "--command-palette-input-padding-inline": "0.5rem",