@kaufmann-lab/ui 0.1.11 → 0.1.13

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.
@@ -0,0 +1,6 @@
1
+ // Asset copiado tal cual por `ng-package.json` — nunca pasa por el compilador
2
+ // de Angular/TypeScript. Ver el comentario en `MapView.ts` sobre por qué
3
+ // `new Worker(new URL('./mapbox-gl-csp.worker.js', import.meta.url))` necesita
4
+ // que este archivo exista de forma real, junto al bundle publicado, en vez de
5
+ // ser solo un import de TypeScript más.
6
+ import 'mapbox-gl/dist/mapbox-gl-csp-worker.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaufmann-lab/ui",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Shared Angular component library for the Kaufmann frontends",
5
5
  "license": "MIT",
6
6
  "author": "Kaufmann Lab",
@@ -13,6 +13,7 @@
13
13
  "@angular/core": "^22.1.0"
14
14
  },
15
15
  "dependencies": {
16
+ "mapbox-gl": "^3.30.0",
16
17
  "tslib": "^2.3.0"
17
18
  },
18
19
  "sideEffects": false,
@@ -81,6 +81,17 @@
81
81
  --kf-color-info-soft: #eaf3ff;
82
82
  --kf-color-info-strong: #155bb5;
83
83
 
84
+ /*
85
+ * Acento morado — no es un color semántico de estado (no significa
86
+ * éxito/error/warning), es un acento de marca puntual del portal OTD
87
+ * (bonos/beneficios en el Design System Divemotor). Documentado como
88
+ * caso aislado a propósito: si aparece en más de un portal o más de
89
+ * una sección, conviene revisar si merece nombre semántico propio.
90
+ */
91
+ --kf-color-purple: #4a2f82;
92
+ --kf-color-purple-soft: #efeaf8;
93
+ --kf-color-purple-strong: #33215c;
94
+
84
95
  /* ---------- Neutros (iguales en todos los temas) ---------- */
85
96
  --kf-color-ink: #171d25;
86
97
  --kf-color-surface: #f5f7fa;
@@ -146,6 +157,7 @@
146
157
 
147
158
  /* ---------- Peso de fuente ---------- */
148
159
  --kf-font-weight-title: 700;
160
+ --kf-font-weight-medium: 600;
149
161
  --kf-font-weight-body: 400;
150
162
 
151
163
  /* ---------- Espaciado (escala 4/8px) ---------- */
@@ -168,4 +180,43 @@
168
180
  --kf-shadow-md: 0 6px 18px rgba(16, 24, 40, 0.08);
169
181
  --kf-shadow-lg: 0 18px 48px rgba(16, 24, 40, 0.16);
170
182
  --kf-shadow-focus: 0 0 0 3px rgba(0, 102, 204, 0.22);
183
+ /*
184
+ * Variante del anillo de foco para campos `invalid` + enfocados
185
+ * (`kf-input`/`kf-select`/`kf-textarea`). El valor RGB es
186
+ * `--kf-color-error` (#bc4545) escrito a mano porque `rgba()` no puede
187
+ * resolver un color hex vía `var()` — si `--kf-color-error` cambia, este
188
+ * token hay que actualizarlo a mano también.
189
+ */
190
+ --kf-shadow-focus-error: 0 0 0 3px rgba(188, 69, 69, 0.22);
191
+
192
+ /*
193
+ * ---------- Anchos de controles de formulario ----------
194
+ * Usados por `width` de `kf-select`/`kf-multi-select`. `md` (240px) es
195
+ * el ancho fijo histórico de ambos componentes, ahora expresado como
196
+ * token en vez de un valor suelto en cada CSS — el valor no cambia.
197
+ */
198
+ --kf-select-width-sm: 160px;
199
+ --kf-select-width-md: 240px;
200
+ --kf-select-width-lg: 320px;
201
+
202
+ /*
203
+ * ---------- Geometría del checkbox ----------
204
+ * Compartida por `kf-checkbox` y el checkbox visual interno de
205
+ * `kf-multi-select` (ver shared/checkbox-mark.css). Vive acá y no en ese
206
+ * archivo porque es un stylesheet de componente (`styleUrl`, encapsulación
207
+ * Emulated por defecto): Angular le agrega el atributo de scoping a
208
+ * cualquier selector que declare, `:root` incluido, y `:root[_ngcontent-xxx]`
209
+ * nunca matchea el `<html>` real — las variables quedaban sin definir y
210
+ * cada `var()` que las consumía caía a su valor inicial (0px/none), sin
211
+ * checkmark ni barra "−" visibles pese a que el resto del box sí se veía.
212
+ * Es geometría fija, no color de marca: no depende de tema, por eso no
213
+ * hay overrides en themes/*.css para estas variables (mismo criterio que
214
+ * los anchos de select de arriba).
215
+ */
216
+ --kf-checkbox-mark-width: 4px;
217
+ --kf-checkbox-mark-height: 8px;
218
+ --kf-checkbox-mark-border: solid var(--kf-color-white);
219
+ --kf-checkbox-mark-border-width: 0 2px 2px 0;
220
+ --kf-checkbox-dash-width: 8px;
221
+ --kf-checkbox-dash-height: 2px;
171
222
  }
@@ -11,6 +11,13 @@
11
11
  * hex de este archivo. No requiere ningún otro cambio de código ni de
12
12
  * arquitectura — ese es el propósito de tener el theming en un archivo
13
13
  * separado por tema.
14
+ *
15
+ * La swatch de la página 6 lista negro → ocre → rojo → blanco; el rojo no
16
+ * tiene token propio acá a propósito — es acento de marca, no un color de
17
+ * acción de `kf-button` (`--kf-color-secondary` cumple ese rol y ya lo hace
18
+ * con el ocre). Mismo criterio aplicado en `divemotor-star.css`, donde SÍ
19
+ * hacía falta corregirlo porque el rojo de esa marca había quedado
20
+ * mapeado al color de acción.
14
21
  */
15
22
 
16
23
  [data-theme='andes-maq'] {
@@ -11,6 +11,19 @@
11
11
  * hex de este archivo. No requiere ningún otro cambio de código ni de
12
12
  * arquitectura — ese es el propósito de tener el theming en un archivo
13
13
  * separado por tema.
14
+ *
15
+ * `--kf-color-secondary` NO es el rojo de la identidad de STAR (la propia
16
+ * swatch de la página 6 lo lista como acento, no como color dominante) —
17
+ * es el mismo rol que cumple en cualquier otro tema: segundo color de
18
+ * acción de `kf-button`. Pintar botones de acción con el rojo de marca los
19
+ * volvía indistinguibles de una alerta real (`--kf-color-error`, el rojo
20
+ * semántico que ya usa el tablero para "en riesgo") — dos rojos con
21
+ * significados distintos compitiendo por la misma atención. El azul
22
+ * elegido (`#0e6ba8`) es un tono propio, distinto del `primary` marino y
23
+ * del secondary de `kaufmann-ar` (`#1a5fd0`), para que los temas de la
24
+ * familia azul sigan siendo distinguibles entre sí — 5.7:1 contra blanco,
25
+ * sobre el mínimo AA de 4.5:1 (mismo criterio que ya oscureció el ocre de
26
+ * `andes-maq` por la misma razón).
14
27
  */
15
28
 
16
29
  [data-theme='divemotor-star'] {
@@ -19,7 +32,7 @@
19
32
  --kf-color-primary-active: #072347;
20
33
  --kf-color-primary-soft: #e8f0fd;
21
34
 
22
- --kf-color-secondary: #c8102e;
23
- --kf-color-secondary-hover: #a80d26;
24
- --kf-color-secondary-soft: #fdecef;
35
+ --kf-color-secondary: #0e6ba8;
36
+ --kf-color-secondary-hover: #0b568a;
37
+ --kf-color-secondary-soft: #e5f2fa;
25
38
  }