@tensor_1/tokens 2.55.3 → 2.56.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.
@@ -26,24 +26,24 @@
26
26
  --uix-accent-text: color-mix(in srgb, var(--uix-accent) 65%, #000000);
27
27
  --uix-ring: var(--uix-brand,#1447E6);
28
28
  --uix-brand-muted: color-mix(in srgb, var(--uix-accent) 12%, transparent);
29
- --uix-success: #047857;
29
+ --uix-success: #2B7752;
30
30
  --uix-success-fg: #FFFFFF;
31
- --uix-success-bg: #D0FAE5;
31
+ --uix-success-bg: #E8F4ED;
32
32
  --uix-success-text: var(--uix-success);
33
- --uix-warning: #F99C00;
33
+ --uix-warning: #D4A03A;
34
34
  --uix-warning-fg: #1A1A1A;
35
- --uix-warning-bg: #FEF3D6;
36
- --uix-warning-text: #92400E;
37
- --uix-warning-border: #D97706;
38
- --uix-info: #1447E6;
35
+ --uix-warning-bg: #FAF2E1;
36
+ --uix-warning-text: #8F6213;
37
+ --uix-warning-border: #B8862C;
38
+ --uix-info: #3A5BD0;
39
39
  --uix-info-fg: #FFFFFF;
40
- --uix-info-bg: #E3EBFF;
41
- --uix-info-text: #1447E6;
42
- --uix-danger: #E40014;
40
+ --uix-info-bg: #ECF0FC;
41
+ --uix-info-text: #3A5BD0;
42
+ --uix-danger: #B8433C;
43
43
  --uix-danger-fg: #FFFFFF;
44
- --uix-danger-bg: #FFE4E6;
45
- --uix-danger-border: #E40014;
46
- --uix-danger-text: #C20012;
44
+ --uix-danger-bg: #FBEDEB;
45
+ --uix-danger-border: #D65A50;
46
+ --uix-danger-text: #B9423C;
47
47
  --uix-amber: #C98A1E;
48
48
  --uix-amber-text: #795006;
49
49
  --uix-amber-bg: #FEFCE8;
@@ -51,38 +51,40 @@
51
51
  --uix-attention-bg: #FFEDD5;
52
52
  --uix-attention-text: #9A3412;
53
53
  --uix-attention-solid: #EA580C;
54
- --uix-overdue: #DC2626;
55
- --uix-overdue-bg: #FEE2E2;
56
- --uix-overdue-text: #991B1B;
57
- --uix-overdue-solid: #EF4444;
54
+ --uix-overdue: #B8433C;
55
+ --uix-overdue-bg: #FBEDEB;
56
+ --uix-overdue-text: #B9423C;
57
+ --uix-overdue-solid: #D65A50;
58
58
  --uix-sev-4: var(--uix-info);
59
59
  --uix-sev-4-bg: var(--uix-info-bg);
60
60
  --uix-sev-4-text: var(--uix-info-text);
61
61
  --uix-sev-5: var(--uix-text-muted);
62
62
  --uix-sev-5-bg: var(--uix-bg-active);
63
63
  --uix-sev-5-text: var(--uix-text-hushed);
64
- --uix-success-solid: #10B981;
65
- --uix-warning-solid: #F59E0B;
66
- --uix-info-solid: #2563EB;
67
- --uix-danger-solid: #EF4444;
64
+ --uix-success-solid: #3FA373;
65
+ --uix-warning-solid: #B8862C;
66
+ --uix-info-solid: #5B7BE3;
67
+ --uix-danger-solid: #D65A50;
68
68
  --uix-neutral-solid: #8A8A8A;
69
69
  --uix-neutral-text: var(--uix-text-hushed);
70
70
  --uix-neutral-bg: var(--uix-bg-active);
71
71
  --uix-neutral-border: var(--uix-border-strong);
72
72
  --uix-chart-1: #0455E6;
73
- --uix-chart-2: #249BC8;
74
- --uix-chart-3: #06A543;
75
- --uix-chart-4: #905709;
76
- --uix-chart-5: #F25C1B;
77
- --uix-chart-6: #B00825;
78
- --uix-chart-7: #8143E6;
79
- --uix-chart-8: #DB2579;
73
+ --uix-chart-2: #1F978A;
74
+ --uix-chart-3: #8C72D6;
75
+ --uix-chart-4: #4C9A5A;
76
+ --uix-chart-5: #B45E9A;
77
+ --uix-chart-6: #7F8A2E;
78
+ --uix-chart-7: #2F8FC2;
79
+ --uix-chart-8: #5E7D3A;
80
+ --uix-chart-series: var(--uix-chart-1);
81
+ --uix-chart-series-soft: rgba(4,85,230,.14);
80
82
  --uix-chart-neutral: #64748B;
81
83
  --uix-chart-grid: #EDEDED;
82
84
  --uix-chart-axis: #D4D4D4;
83
85
  --uix-chart-reference: #525252;
84
86
  --uix-chart-zone-warning: rgba(217,119,6,.10);
85
- --uix-chart-zone-danger: rgba(228,0,20,.07);
87
+ --uix-chart-zone-danger: rgba(214,90,80,.08);
86
88
  --uix-chart-forecast-band: rgba(10,10,10,.06);
87
89
  --uix-chart-event: #737373;
88
90
  --uix-chart-partial: rgba(10,10,10,.10);
@@ -132,7 +134,15 @@
132
134
  --uix-loop-ping: 1600ms;
133
135
  --uix-loop-blink: 1100ms;
134
136
  --uix-loop-pulse: 2000ms;
137
+ --uix-dur-arrive: 420ms;
138
+ --uix-stagger-arrive: 45ms;
139
+ --uix-delay-arrive-trace: 150ms;
140
+ --uix-dur-arrive-trace: 700ms;
141
+ --uix-dur-arrive-grow: 500ms;
142
+ --uix-stagger-arrive-grow: 25ms;
143
+ --uix-dur-arrive-count: 600ms;
135
144
  --uix-lift: 4px;
145
+ --uix-arrive-rise: 8px;
136
146
  --uix-z-raised: 1;
137
147
  --uix-z-sticky: 3;
138
148
  --uix-z-dropdown: 10;
@@ -217,24 +227,24 @@
217
227
  --uix-accent-text: color-mix(in srgb, var(--uix-accent) 70%, #FFFFFF);
218
228
  --uix-ring: var(--uix-brand,#3080FF);
219
229
  --uix-brand-muted: color-mix(in srgb, var(--uix-accent) 16%, transparent);
220
- --uix-success: #49AF7E;
230
+ --uix-success: #5DB887;
221
231
  --uix-success-fg: #002C22;
222
- --uix-success-bg: rgba(73,175,126,.12);
232
+ --uix-success-bg: rgba(93,184,135,.12);
223
233
  --uix-success-text: #7CC79F;
224
- --uix-warning: #D7B672;
234
+ --uix-warning: #D9B571;
225
235
  --uix-warning-fg: #1A1A1A;
226
- --uix-warning-bg: rgba(217,164,64,.12);
227
- --uix-warning-border: #CA8A04;
228
- --uix-warning-text: var(--uix-warning,#D7B672);
229
- --uix-info: #2563EB;
236
+ --uix-warning-bg: rgba(217,168,74,.12);
237
+ --uix-warning-border: #B48C3E;
238
+ --uix-warning-text: var(--uix-warning,#D9B571);
239
+ --uix-info: #3D5CC8;
230
240
  --uix-info-fg: #FFFFFF;
231
- --uix-info-bg: rgba(98,147,219,.12);
232
- --uix-info-text: #8DB4E7;
233
- --uix-danger: #BE3A41;
241
+ --uix-info-bg: rgba(120,144,230,.12);
242
+ --uix-info-text: #97AEEC;
243
+ --uix-danger: #B4444A;
234
244
  --uix-danger-fg: #FFFFFF;
235
- --uix-danger-bg: rgba(218,108,108,.12);
236
- --uix-danger-border: #DA6C6C;
237
- --uix-danger-text: #E69593;
245
+ --uix-danger-bg: rgba(218,108,100,.12);
246
+ --uix-danger-border: #DA6C64;
247
+ --uix-danger-text: #E4958F;
238
248
  --uix-amber: #E6B25C;
239
249
  --uix-amber-text: #DDB370;
240
250
  --uix-amber-bg: rgba(201,138,30,.14);
@@ -246,25 +256,26 @@
246
256
  --uix-overdue-bg: rgba(218,108,108,.12);
247
257
  --uix-overdue-text: #E89D9F;
248
258
  --uix-overdue-solid: #DA6C6C;
249
- --uix-success-solid: #49AF7E;
250
- --uix-warning-solid: #D9A440;
251
- --uix-info-solid: #6293DB;
252
- --uix-danger-solid: #DA6C6C;
259
+ --uix-success-solid: #5DB887;
260
+ --uix-warning-solid: #D9A84A;
261
+ --uix-info-solid: #7890E6;
262
+ --uix-danger-solid: #DA6C64;
253
263
  --uix-neutral-solid: #868686;
254
264
  --uix-chart-1: #3280FC;
255
- --uix-chart-2: #15A7A4;
256
- --uix-chart-3: #127A3D;
257
- --uix-chart-4: #AB9017;
258
- --uix-chart-5: #8F530C;
259
- --uix-chart-6: #CD766F;
260
- --uix-chart-7: #9A77F4;
261
- --uix-chart-8: #FB416A;
265
+ --uix-chart-2: #22A093;
266
+ --uix-chart-3: #A580CF;
267
+ --uix-chart-4: #4E9F62;
268
+ --uix-chart-5: #C474AC;
269
+ --uix-chart-6: #93993A;
270
+ --uix-chart-7: #0A819D;
271
+ --uix-chart-8: #6E9147;
272
+ --uix-chart-series-soft: rgba(50,128,252,.18);
262
273
  --uix-chart-neutral: #A1A1A1;
263
274
  --uix-chart-grid: #232323;
264
275
  --uix-chart-axis: #3A3A3A;
265
276
  --uix-chart-reference: #B3B3B3;
266
277
  --uix-chart-zone-warning: rgba(217,164,64,.10);
267
- --uix-chart-zone-danger: rgba(218,108,108,.10);
278
+ --uix-chart-zone-danger: rgba(218,108,100,.10);
268
279
  --uix-chart-forecast-band: rgba(250,250,250,.06);
269
280
  --uix-chart-event: #8C8C8C;
270
281
  --uix-chart-partial: rgba(250,250,250,.12);
@@ -78,6 +78,8 @@ module.exports = {
78
78
  "uix-chart-6": "var(--uix-chart-6)",
79
79
  "uix-chart-7": "var(--uix-chart-7)",
80
80
  "uix-chart-8": "var(--uix-chart-8)",
81
+ "uix-chart-series": "var(--uix-chart-series)",
82
+ "uix-chart-series-soft": "var(--uix-chart-series-soft)",
81
83
  "uix-chart-neutral": "var(--uix-chart-neutral)",
82
84
  "uix-chart-grid": "var(--uix-chart-grid)",
83
85
  "uix-chart-axis": "var(--uix-chart-axis)",
@@ -75,6 +75,8 @@
75
75
  --color-uix-chart-6: var(--uix-chart-6);
76
76
  --color-uix-chart-7: var(--uix-chart-7);
77
77
  --color-uix-chart-8: var(--uix-chart-8);
78
+ --color-uix-chart-series: var(--uix-chart-series);
79
+ --color-uix-chart-series-soft: var(--uix-chart-series-soft);
78
80
  --color-uix-chart-neutral: var(--uix-chart-neutral);
79
81
  --color-uix-chart-grid: var(--uix-chart-grid);
80
82
  --color-uix-chart-axis: var(--uix-chart-axis);
@@ -1,5 +1,5 @@
1
1
  /* GENERATED — do not edit. */
2
- export type UixTokenName = "bg-app" | "bg-subtle" | "bg-hover" | "bg-active" | "surface" | "surface-2" | "surface-3" | "border" | "border-strong" | "text" | "text-hushed" | "text-muted" | "text-reverse" | "text-hushed-reverse" | "accent" | "accent-dark" | "accent-light" | "accent-hover" | "accent-fg" | "link" | "accent-text" | "ring" | "brand-muted" | "success" | "success-fg" | "success-bg" | "success-text" | "warning" | "warning-fg" | "warning-bg" | "warning-text" | "warning-border" | "info" | "info-fg" | "info-bg" | "info-text" | "danger" | "danger-fg" | "danger-bg" | "danger-border" | "danger-text" | "amber" | "amber-text" | "amber-bg" | "attention" | "attention-bg" | "attention-text" | "attention-solid" | "overdue" | "overdue-bg" | "overdue-text" | "overdue-solid" | "sev-4" | "sev-4-bg" | "sev-4-text" | "sev-5" | "sev-5-bg" | "sev-5-text" | "success-solid" | "warning-solid" | "info-solid" | "danger-solid" | "neutral-solid" | "neutral-text" | "neutral-bg" | "neutral-border" | "chart-1" | "chart-2" | "chart-3" | "chart-4" | "chart-5" | "chart-6" | "chart-7" | "chart-8" | "chart-neutral" | "chart-grid" | "chart-axis" | "chart-reference" | "chart-zone-warning" | "chart-zone-danger" | "chart-forecast-band" | "chart-event" | "chart-partial" | "chart-comparison" | "row" | "row-alt" | "row-pinned-bg" | "row-selected-bg" | "scrollbar-thumb" | "scrollbar-thumb-hover" | "scrollbar-track" | "scrim" | "scrim-strong" | "print-ink" | "print-ink-quiet" | "print-paper" | "print-paper-quiet" | "print-line" | "print-danger" | "shadow-sm" | "shadow-md" | "shadow-popover" | "shadow-overlay" | "highlight-top" | "ease-out" | "ease-out-strong" | "ease-in" | "ease-in-out" | "ease-spring" | "dur-fast" | "dur" | "dur-slow" | "dur-slower" | "dur-exit-fast" | "dur-exit" | "dur-exit-slow" | "dur-highlight" | "dur-change" | "delay-pending" | "hold-pending" | "hold-result" | "delay-tooltip" | "delay-tooltip-skip" | "loop-spin" | "loop-progress" | "loop-shimmer" | "loop-ping" | "loop-blink" | "loop-pulse" | "lift" | "z-raised" | "z-sticky" | "z-dropdown" | "z-overlay" | "z-tooltip" | "z-toast" | "radius-xs" | "radius-sm" | "radius-md" | "radius-lg" | "radius-xl" | "radius-pill" | "row-h" | "row-h-compact" | "row-h-standard" | "row-h-comfortable" | "control-h" | "sidebar-w" | "sidebar-w-rail" | "topbar-h" | "scrollbar-size" | "icon-sm" | "icon-md" | "icon-lg" | "peek-w" | "col-w-xs" | "col-w-sm" | "col-w-md" | "col-w-lg" | "col-w-xl" | "col-title-min" | "space-0" | "space-1" | "space-2" | "space-3" | "space-4" | "space-5" | "space-6" | "space-7" | "space-8" | "space-9" | "space-10" | "space-11" | "space-12" | "font-sans" | "font-heading" | "font-mono" | "text-display" | "leading-display" | "text-data-hero" | "leading-data-hero" | "text-h2" | "leading-h2" | "text-h3" | "leading-h3" | "text-body" | "leading-body" | "text-meta" | "leading-meta" | "text-eyebrow" | "leading-eyebrow" | "tracking-tight" | "tracking-eyebrow";
2
+ export type UixTokenName = "bg-app" | "bg-subtle" | "bg-hover" | "bg-active" | "surface" | "surface-2" | "surface-3" | "border" | "border-strong" | "text" | "text-hushed" | "text-muted" | "text-reverse" | "text-hushed-reverse" | "accent" | "accent-dark" | "accent-light" | "accent-hover" | "accent-fg" | "link" | "accent-text" | "ring" | "brand-muted" | "success" | "success-fg" | "success-bg" | "success-text" | "warning" | "warning-fg" | "warning-bg" | "warning-text" | "warning-border" | "info" | "info-fg" | "info-bg" | "info-text" | "danger" | "danger-fg" | "danger-bg" | "danger-border" | "danger-text" | "amber" | "amber-text" | "amber-bg" | "attention" | "attention-bg" | "attention-text" | "attention-solid" | "overdue" | "overdue-bg" | "overdue-text" | "overdue-solid" | "sev-4" | "sev-4-bg" | "sev-4-text" | "sev-5" | "sev-5-bg" | "sev-5-text" | "success-solid" | "warning-solid" | "info-solid" | "danger-solid" | "neutral-solid" | "neutral-text" | "neutral-bg" | "neutral-border" | "chart-1" | "chart-2" | "chart-3" | "chart-4" | "chart-5" | "chart-6" | "chart-7" | "chart-8" | "chart-series" | "chart-series-soft" | "chart-neutral" | "chart-grid" | "chart-axis" | "chart-reference" | "chart-zone-warning" | "chart-zone-danger" | "chart-forecast-band" | "chart-event" | "chart-partial" | "chart-comparison" | "row" | "row-alt" | "row-pinned-bg" | "row-selected-bg" | "scrollbar-thumb" | "scrollbar-thumb-hover" | "scrollbar-track" | "scrim" | "scrim-strong" | "print-ink" | "print-ink-quiet" | "print-paper" | "print-paper-quiet" | "print-line" | "print-danger" | "shadow-sm" | "shadow-md" | "shadow-popover" | "shadow-overlay" | "highlight-top" | "ease-out" | "ease-out-strong" | "ease-in" | "ease-in-out" | "ease-spring" | "dur-fast" | "dur" | "dur-slow" | "dur-slower" | "dur-exit-fast" | "dur-exit" | "dur-exit-slow" | "dur-highlight" | "dur-change" | "delay-pending" | "hold-pending" | "hold-result" | "delay-tooltip" | "delay-tooltip-skip" | "loop-spin" | "loop-progress" | "loop-shimmer" | "loop-ping" | "loop-blink" | "loop-pulse" | "dur-arrive" | "stagger-arrive" | "delay-arrive-trace" | "dur-arrive-trace" | "dur-arrive-grow" | "stagger-arrive-grow" | "dur-arrive-count" | "lift" | "arrive-rise" | "z-raised" | "z-sticky" | "z-dropdown" | "z-overlay" | "z-tooltip" | "z-toast" | "radius-xs" | "radius-sm" | "radius-md" | "radius-lg" | "radius-xl" | "radius-pill" | "row-h" | "row-h-compact" | "row-h-standard" | "row-h-comfortable" | "control-h" | "sidebar-w" | "sidebar-w-rail" | "topbar-h" | "scrollbar-size" | "icon-sm" | "icon-md" | "icon-lg" | "peek-w" | "col-w-xs" | "col-w-sm" | "col-w-md" | "col-w-lg" | "col-w-xl" | "col-title-min" | "space-0" | "space-1" | "space-2" | "space-3" | "space-4" | "space-5" | "space-6" | "space-7" | "space-8" | "space-9" | "space-10" | "space-11" | "space-12" | "font-sans" | "font-heading" | "font-mono" | "text-display" | "leading-display" | "text-data-hero" | "leading-data-hero" | "text-h2" | "leading-h2" | "text-h3" | "leading-h3" | "text-body" | "leading-body" | "text-meta" | "leading-meta" | "text-eyebrow" | "leading-eyebrow" | "tracking-tight" | "tracking-eyebrow";
3
3
  export declare const cssVar: Record<UixTokenName, string>;
4
4
  export declare const light: Record<UixTokenName, string>;
5
5
  export declare const dark: Partial<Record<UixTokenName, string>>;
@@ -78,6 +78,8 @@ export const cssVar = {
78
78
  "chart-6": "var(--uix-chart-6)",
79
79
  "chart-7": "var(--uix-chart-7)",
80
80
  "chart-8": "var(--uix-chart-8)",
81
+ "chart-series": "var(--uix-chart-series)",
82
+ "chart-series-soft": "var(--uix-chart-series-soft)",
81
83
  "chart-neutral": "var(--uix-chart-neutral)",
82
84
  "chart-grid": "var(--uix-chart-grid)",
83
85
  "chart-axis": "var(--uix-chart-axis)",
@@ -133,7 +135,15 @@ export const cssVar = {
133
135
  "loop-ping": "var(--uix-loop-ping)",
134
136
  "loop-blink": "var(--uix-loop-blink)",
135
137
  "loop-pulse": "var(--uix-loop-pulse)",
138
+ "dur-arrive": "var(--uix-dur-arrive)",
139
+ "stagger-arrive": "var(--uix-stagger-arrive)",
140
+ "delay-arrive-trace": "var(--uix-delay-arrive-trace)",
141
+ "dur-arrive-trace": "var(--uix-dur-arrive-trace)",
142
+ "dur-arrive-grow": "var(--uix-dur-arrive-grow)",
143
+ "stagger-arrive-grow": "var(--uix-stagger-arrive-grow)",
144
+ "dur-arrive-count": "var(--uix-dur-arrive-count)",
136
145
  "lift": "var(--uix-lift)",
146
+ "arrive-rise": "var(--uix-arrive-rise)",
137
147
  "z-raised": "var(--uix-z-raised)",
138
148
  "z-sticky": "var(--uix-z-sticky)",
139
149
  "z-dropdown": "var(--uix-z-dropdown)",
@@ -223,24 +233,24 @@ export const light = {
223
233
  "accent-text": "color-mix(in srgb, var(--uix-accent) 65%, #000000)",
224
234
  "ring": "#1447E6",
225
235
  "brand-muted": "color-mix(in srgb, var(--uix-accent) 12%, transparent)",
226
- "success": "#047857",
236
+ "success": "#2B7752",
227
237
  "success-fg": "#FFFFFF",
228
- "success-bg": "#D0FAE5",
238
+ "success-bg": "#E8F4ED",
229
239
  "success-text": "var(--uix-success)",
230
- "warning": "#F99C00",
240
+ "warning": "#D4A03A",
231
241
  "warning-fg": "#1A1A1A",
232
- "warning-bg": "#FEF3D6",
233
- "warning-text": "#92400E",
234
- "warning-border": "#D97706",
235
- "info": "#1447E6",
242
+ "warning-bg": "#FAF2E1",
243
+ "warning-text": "#8F6213",
244
+ "warning-border": "#B8862C",
245
+ "info": "#3A5BD0",
236
246
  "info-fg": "#FFFFFF",
237
- "info-bg": "#E3EBFF",
238
- "info-text": "#1447E6",
239
- "danger": "#E40014",
247
+ "info-bg": "#ECF0FC",
248
+ "info-text": "#3A5BD0",
249
+ "danger": "#B8433C",
240
250
  "danger-fg": "#FFFFFF",
241
- "danger-bg": "#FFE4E6",
242
- "danger-border": "#E40014",
243
- "danger-text": "#C20012",
251
+ "danger-bg": "#FBEDEB",
252
+ "danger-border": "#D65A50",
253
+ "danger-text": "#B9423C",
244
254
  "amber": "#C98A1E",
245
255
  "amber-text": "#795006",
246
256
  "amber-bg": "#FEFCE8",
@@ -248,38 +258,40 @@ export const light = {
248
258
  "attention-bg": "#FFEDD5",
249
259
  "attention-text": "#9A3412",
250
260
  "attention-solid": "#EA580C",
251
- "overdue": "#DC2626",
252
- "overdue-bg": "#FEE2E2",
253
- "overdue-text": "#991B1B",
254
- "overdue-solid": "#EF4444",
261
+ "overdue": "#B8433C",
262
+ "overdue-bg": "#FBEDEB",
263
+ "overdue-text": "#B9423C",
264
+ "overdue-solid": "#D65A50",
255
265
  "sev-4": "var(--uix-info)",
256
266
  "sev-4-bg": "var(--uix-info-bg)",
257
267
  "sev-4-text": "var(--uix-info-text)",
258
268
  "sev-5": "var(--uix-text-muted)",
259
269
  "sev-5-bg": "var(--uix-bg-active)",
260
270
  "sev-5-text": "var(--uix-text-hushed)",
261
- "success-solid": "#10B981",
262
- "warning-solid": "#F59E0B",
263
- "info-solid": "#2563EB",
264
- "danger-solid": "#EF4444",
271
+ "success-solid": "#3FA373",
272
+ "warning-solid": "#B8862C",
273
+ "info-solid": "#5B7BE3",
274
+ "danger-solid": "#D65A50",
265
275
  "neutral-solid": "#8A8A8A",
266
276
  "neutral-text": "var(--uix-text-hushed)",
267
277
  "neutral-bg": "var(--uix-bg-active)",
268
278
  "neutral-border": "var(--uix-border-strong)",
269
279
  "chart-1": "#0455E6",
270
- "chart-2": "#249BC8",
271
- "chart-3": "#06A543",
272
- "chart-4": "#905709",
273
- "chart-5": "#F25C1B",
274
- "chart-6": "#B00825",
275
- "chart-7": "#8143E6",
276
- "chart-8": "#DB2579",
280
+ "chart-2": "#1F978A",
281
+ "chart-3": "#8C72D6",
282
+ "chart-4": "#4C9A5A",
283
+ "chart-5": "#B45E9A",
284
+ "chart-6": "#7F8A2E",
285
+ "chart-7": "#2F8FC2",
286
+ "chart-8": "#5E7D3A",
287
+ "chart-series": "var(--uix-chart-1)",
288
+ "chart-series-soft": "rgba(4,85,230,.14)",
277
289
  "chart-neutral": "#64748B",
278
290
  "chart-grid": "#EDEDED",
279
291
  "chart-axis": "#D4D4D4",
280
292
  "chart-reference": "#525252",
281
293
  "chart-zone-warning": "rgba(217,119,6,.10)",
282
- "chart-zone-danger": "rgba(228,0,20,.07)",
294
+ "chart-zone-danger": "rgba(214,90,80,.08)",
283
295
  "chart-forecast-band": "rgba(10,10,10,.06)",
284
296
  "chart-event": "#737373",
285
297
  "chart-partial": "rgba(10,10,10,.10)",
@@ -329,7 +341,15 @@ export const light = {
329
341
  "loop-ping": "1600ms",
330
342
  "loop-blink": "1100ms",
331
343
  "loop-pulse": "2000ms",
344
+ "dur-arrive": "420ms",
345
+ "stagger-arrive": "45ms",
346
+ "delay-arrive-trace": "150ms",
347
+ "dur-arrive-trace": "700ms",
348
+ "dur-arrive-grow": "500ms",
349
+ "stagger-arrive-grow": "25ms",
350
+ "dur-arrive-count": "600ms",
332
351
  "lift": "4px",
352
+ "arrive-rise": "8px",
333
353
  "z-raised": "1",
334
354
  "z-sticky": "3",
335
355
  "z-dropdown": "10",
@@ -414,24 +434,24 @@ export const dark = {
414
434
  "accent-text": "color-mix(in srgb, var(--uix-accent) 70%, #FFFFFF)",
415
435
  "ring": "#3080FF",
416
436
  "brand-muted": "color-mix(in srgb, var(--uix-accent) 16%, transparent)",
417
- "success": "#49AF7E",
437
+ "success": "#5DB887",
418
438
  "success-fg": "#002C22",
419
- "success-bg": "rgba(73,175,126,.12)",
439
+ "success-bg": "rgba(93,184,135,.12)",
420
440
  "success-text": "#7CC79F",
421
- "warning": "#D7B672",
441
+ "warning": "#D9B571",
422
442
  "warning-fg": "#1A1A1A",
423
- "warning-bg": "rgba(217,164,64,.12)",
424
- "warning-border": "#CA8A04",
425
- "warning-text": "#D7B672",
426
- "info": "#2563EB",
443
+ "warning-bg": "rgba(217,168,74,.12)",
444
+ "warning-border": "#B48C3E",
445
+ "warning-text": "#D9B571",
446
+ "info": "#3D5CC8",
427
447
  "info-fg": "#FFFFFF",
428
- "info-bg": "rgba(98,147,219,.12)",
429
- "info-text": "#8DB4E7",
430
- "danger": "#BE3A41",
448
+ "info-bg": "rgba(120,144,230,.12)",
449
+ "info-text": "#97AEEC",
450
+ "danger": "#B4444A",
431
451
  "danger-fg": "#FFFFFF",
432
- "danger-bg": "rgba(218,108,108,.12)",
433
- "danger-border": "#DA6C6C",
434
- "danger-text": "#E69593",
452
+ "danger-bg": "rgba(218,108,100,.12)",
453
+ "danger-border": "#DA6C64",
454
+ "danger-text": "#E4958F",
435
455
  "amber": "#E6B25C",
436
456
  "amber-text": "#DDB370",
437
457
  "amber-bg": "rgba(201,138,30,.14)",
@@ -443,25 +463,26 @@ export const dark = {
443
463
  "overdue-bg": "rgba(218,108,108,.12)",
444
464
  "overdue-text": "#E89D9F",
445
465
  "overdue-solid": "#DA6C6C",
446
- "success-solid": "#49AF7E",
447
- "warning-solid": "#D9A440",
448
- "info-solid": "#6293DB",
449
- "danger-solid": "#DA6C6C",
466
+ "success-solid": "#5DB887",
467
+ "warning-solid": "#D9A84A",
468
+ "info-solid": "#7890E6",
469
+ "danger-solid": "#DA6C64",
450
470
  "neutral-solid": "#868686",
451
471
  "chart-1": "#3280FC",
452
- "chart-2": "#15A7A4",
453
- "chart-3": "#127A3D",
454
- "chart-4": "#AB9017",
455
- "chart-5": "#8F530C",
456
- "chart-6": "#CD766F",
457
- "chart-7": "#9A77F4",
458
- "chart-8": "#FB416A",
472
+ "chart-2": "#22A093",
473
+ "chart-3": "#A580CF",
474
+ "chart-4": "#4E9F62",
475
+ "chart-5": "#C474AC",
476
+ "chart-6": "#93993A",
477
+ "chart-7": "#0A819D",
478
+ "chart-8": "#6E9147",
479
+ "chart-series-soft": "rgba(50,128,252,.18)",
459
480
  "chart-neutral": "#A1A1A1",
460
481
  "chart-grid": "#232323",
461
482
  "chart-axis": "#3A3A3A",
462
483
  "chart-reference": "#B3B3B3",
463
484
  "chart-zone-warning": "rgba(217,164,64,.10)",
464
- "chart-zone-danger": "rgba(218,108,108,.10)",
485
+ "chart-zone-danger": "rgba(218,108,100,.10)",
465
486
  "chart-forecast-band": "rgba(250,250,250,.06)",
466
487
  "chart-event": "#8C8C8C",
467
488
  "chart-partial": "rgba(250,250,250,.12)",
@@ -481,6 +502,7 @@ export const dark = {
481
502
 
482
503
  export const num = {
483
504
  "lift": 4,
505
+ "arrive-rise": 8,
484
506
  "radius-xs": 4,
485
507
  "radius-sm": 8,
486
508
  "radius-md": 12,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tensor_1/tokens",
3
- "version": "2.55.3",
3
+ "version": "2.56.0",
4
4
  "description": "UIx v2 design tokens — the --uix-* contract for house products (Tensor, POSx, SHOPx). One DTCG source -> CSS variables, Tailwind theme, and typed TS constants.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -0,0 +1,67 @@
1
+ /* uix arrive — the first paint of a glance page (calm kit 2.56). Not .uix-arrival, which is the
2
+ "you are here" tint on a link target.
3
+
4
+ .uix-arrive is the stage. While it carries [data-uix-arrive="play"] (React <Arrive> sets it on
5
+ the first mount of a session and clears it once the sequence is over), every .uix-arrive__item
6
+ inside fades and rises 8 px, 45 ms after the one before (its --uix-arrive-i), over 420 ms; lines
7
+ inside an item trace in from the left 150 ms after their card starts (700 ms) and bars grow from
8
+ their baseline, 25 ms apart (500 ms). With any other value, or none, nothing moves: the resting
9
+ state is the finished page, so a refresh or a data change never replays it. Under reduced
10
+ motion each item only fades, for --uix-dur (160 ms), and charts appear drawn.
11
+
12
+ Hooks for drawn marks (used by Sparkline, BarList and Meter; any SVG of your own can opt in):
13
+ .uix-arrive__trace an SVG stroke with pathLength="1"
14
+ .uix-arrive__grow an element that grows on its inline axis from scaleX(0) to its own transform,
15
+ with --uix-arrive-j as its index among its siblings
16
+ .uix-arrive__slide a full-width fill that slides in from its start edge to its own transform
17
+ Depends only on --uix-* tokens. */
18
+ @layer uix.components {
19
+ .uix-arrive { --uix-arrive-i: 0; }
20
+
21
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__item {
22
+ animation: uix-arrive-rise var(--uix-dur-arrive) var(--uix-ease-out) calc(var(--uix-arrive-i, 0) * var(--uix-stagger-arrive)) both;
23
+ }
24
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__trace {
25
+ stroke-dasharray: 1;
26
+ animation: uix-arrive-trace var(--uix-dur-arrive-trace) var(--uix-ease-out) calc(var(--uix-arrive-i, 0) * var(--uix-stagger-arrive) + var(--uix-delay-arrive-trace)) both;
27
+ }
28
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__grow {
29
+ transform-origin: left center;
30
+ animation: uix-arrive-grow var(--uix-dur-arrive-grow) var(--uix-ease-out) calc(var(--uix-arrive-i, 0) * var(--uix-stagger-arrive) + var(--uix-delay-arrive-trace) + var(--uix-arrive-j, 0) * var(--uix-stagger-arrive-grow)) both;
31
+ }
32
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__grow:dir(rtl) { transform-origin: right center; }
33
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__slide {
34
+ animation: uix-arrive-slide var(--uix-dur-arrive-grow) var(--uix-ease-out) calc(var(--uix-arrive-i, 0) * var(--uix-stagger-arrive) + var(--uix-delay-arrive-trace)) both;
35
+ }
36
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__slide:dir(rtl) { animation-name: uix-arrive-slide-rtl; }
37
+
38
+ @keyframes uix-arrive-rise {
39
+ from { opacity: 0; transform: translateY(var(--uix-arrive-rise)); }
40
+ to { opacity: 1; transform: none; }
41
+ }
42
+ @keyframes uix-arrive-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
43
+ /* no `to`: each mark grows or slides to its own resting transform (a bar's scaleX(--val)) */
44
+ @keyframes uix-arrive-grow { from { transform: scaleX(0); } }
45
+ @keyframes uix-arrive-slide { from { transform: translateX(-100%); } }
46
+ @keyframes uix-arrive-slide-rtl { from { transform: translateX(100%); } }
47
+ @keyframes uix-arrive-fade { from { opacity: 0; } to { opacity: 1; } }
48
+
49
+ /* !important: the reduced-motion policy (motion.css) ends every keyframe animation at once; a
50
+ layered !important wins over it, so the items still fade (feedback, not movement). Marks do
51
+ not draw in: they are simply there. The in-app preference gets the same. */
52
+ @media (prefers-reduced-motion: reduce) {
53
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__item { animation: uix-arrive-fade var(--uix-dur) var(--uix-ease-out) both !important; }
54
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__trace,
55
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__grow,
56
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__grow:dir(rtl),
57
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__slide,
58
+ .uix-arrive[data-uix-arrive="play"] .uix-arrive__slide:dir(rtl) { animation: none !important; stroke-dasharray: none; }
59
+ }
60
+ @media (prefers-reduced-motion: no-preference) {
61
+ :root[data-motion="reduce"] .uix-arrive[data-uix-arrive="play"] .uix-arrive__item { animation: uix-arrive-fade var(--uix-dur) var(--uix-ease-out) both !important; }
62
+ :root[data-motion="reduce"] .uix-arrive[data-uix-arrive="play"] :is(.uix-arrive__trace, .uix-arrive__grow, .uix-arrive__slide) { animation: none !important; stroke-dasharray: none; }
63
+ }
64
+ @media print {
65
+ .uix-arrive[data-uix-arrive="play"] :is(.uix-arrive__item, .uix-arrive__trace, .uix-arrive__grow, .uix-arrive__slide) { animation: none; }
66
+ }
67
+ }
@@ -0,0 +1,87 @@
1
+ /* uix chart card — the glance kit (calm kit 2.56): one card asks one question and answers it with
2
+ a number before it shows one chart. Also the small marks a glance card holds: a bar list, a
3
+ service status strip and a sparkline. For analysis with reading time use .uix-chart.
4
+ Depends only on --uix-* tokens. */
5
+ @layer uix.components {
6
+ .uix-chart-card {
7
+ display: flex; flex-direction: column; gap: var(--uix-space-2); min-width: 0;
8
+ padding: var(--uix-space-4) var(--uix-space-5);
9
+ border: 1px solid var(--uix-border); border-radius: var(--uix-radius-lg);
10
+ background: var(--uix-surface); box-shadow: var(--uix-shadow-sm); color: var(--uix-text);
11
+ }
12
+ .uix-chart-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--uix-space-3); min-width: 0; }
13
+ /* the title is the question, in the quiet voice; the answer under it is the loud line */
14
+ .uix-chart-card__question {
15
+ margin: 0; min-width: 0; color: var(--uix-text-hushed);
16
+ font-size: var(--uix-text-meta); font-weight: 500; line-height: var(--uix-leading-meta);
17
+ }
18
+ .uix-chart-card__action { flex: none; font-size: var(--uix-text-meta); }
19
+ .uix-chart-card__answer {
20
+ display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--uix-space-2); margin: 0; min-width: 0;
21
+ font-size: var(--uix-text-h3); font-weight: 600; line-height: var(--uix-leading-h3); overflow-wrap: anywhere;
22
+ }
23
+ .uix-chart-card__headline {
24
+ font-size: var(--uix-text-h2); font-weight: 650; line-height: var(--uix-leading-h2);
25
+ letter-spacing: var(--uix-tracking-tight); font-variant-numeric: tabular-nums;
26
+ }
27
+ .uix-chart-card__plot { position: relative; min-width: 0; margin-top: var(--uix-space-1); }
28
+ .uix-chart-card__note { margin: 0; color: var(--uix-text-muted); font-size: var(--uix-text-meta); line-height: var(--uix-leading-meta); }
29
+ /* an empty card is one sentence (proposal rule 7); it shrinks to fit it */
30
+ .uix-chart-card__empty { margin: 0; padding-block: var(--uix-space-2); color: var(--uix-text-muted); font-size: var(--uix-text-body); }
31
+
32
+ /* a Chart inside the card drops its own card chrome; the plot keeps its height */
33
+ .uix-chart-card .uix-chart { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
34
+ /* axis digits in the UI face with tabular figures (ECharts' SVG text takes CSS) */
35
+ .uix-chart-card svg text { font-variant-numeric: tabular-nums; }
36
+
37
+ /* the glance tooltip: dark ink on light pages and light ink on dark ones, small, no border */
38
+ .uix-glance-tooltip { font-size: var(--uix-text-meta); line-height: var(--uix-leading-meta); font-variant-numeric: tabular-nums; }
39
+ .uix-glance-tooltip__title { opacity: .75; }
40
+ .uix-glance-tooltip__row { display: flex; align-items: center; gap: var(--uix-space-2); white-space: nowrap; }
41
+ .uix-glance-tooltip__swatch { width: 8px; height: 8px; flex: none; border-radius: var(--uix-radius-xs); background: var(--swatch); }
42
+ .uix-glance-tooltip__value { margin-inline-start: auto; font-weight: 650; padding-inline-start: var(--uix-space-3); }
43
+
44
+ /* ── bar list: one row per bucket, label | bar | value ─────────────────────────────────── */
45
+ .uix-bar-list { display: flex; flex-direction: column; gap: var(--uix-space-2); margin: 0; padding: 0; list-style: none; }
46
+ .uix-bar-list__row {
47
+ display: grid; grid-template-columns: minmax(4rem, max-content) minmax(0, 1fr) minmax(2rem, max-content);
48
+ align-items: center; gap: var(--uix-space-3); font-size: var(--uix-text-meta);
49
+ }
50
+ .uix-bar-list__label { min-width: 0; color: var(--uix-text-hushed); overflow-wrap: anywhere; }
51
+ .uix-bar-list__track { display: block; height: 8px; border-radius: var(--uix-radius-pill); background: var(--uix-bg-active); overflow: hidden; }
52
+ .uix-bar-list__bar {
53
+ display: block; height: 100%; border-radius: inherit; background: var(--uix-chart-series);
54
+ transform-origin: left center; transform: scaleX(var(--val, 0));
55
+ transition: transform var(--uix-dur) var(--uix-ease-out);
56
+ }
57
+ .uix-bar-list__bar:dir(rtl) { transform-origin: right center; }
58
+ .uix-bar-list__row[data-tone="comparison"] .uix-bar-list__bar { background: var(--uix-chart-comparison); }
59
+ .uix-bar-list__row[data-tone="warning"] .uix-bar-list__bar { background: var(--uix-warning-solid); }
60
+ .uix-bar-list__value { text-align: end; font-weight: 600; font-variant-numeric: tabular-nums; }
61
+
62
+ /* ── status strip: one cell per service, ok / degraded / down / unknown ───────────────── */
63
+ .uix-status-strip { display: flex; flex-direction: column; gap: var(--uix-space-2); min-width: 0; }
64
+ .uix-status-strip__cells { display: flex; gap: var(--uix-space-1); height: 8px; }
65
+ .uix-status-strip__cell { flex: 1 1 0; min-width: 2px; border-radius: var(--uix-radius-xs); background: var(--uix-neutral-solid); }
66
+ .uix-status-strip__cell[data-tone="ok"] { background: var(--uix-success-solid); }
67
+ .uix-status-strip__cell[data-tone="warning"] { background: var(--uix-warning-solid); }
68
+ .uix-status-strip__cell[data-tone="critical"] { background: var(--uix-danger-solid); }
69
+ .uix-status-strip__list { display: flex; flex-direction: column; gap: var(--uix-space-2); margin: var(--uix-space-1) 0 0; padding: 0; list-style: none; font-size: var(--uix-text-meta); }
70
+ .uix-status-strip__item { display: flex; align-items: baseline; gap: var(--uix-space-3); min-width: 0; }
71
+ .uix-status-strip__name { min-width: 0; overflow-wrap: anywhere; }
72
+ .uix-status-strip__state { margin-inline-start: auto; flex: none; color: var(--uix-text-muted); }
73
+
74
+ /* ── sparkline: an ink-grey line and an endpoint dot ───────────────────────────────────── */
75
+ .uix-sparkline { display: inline-block; flex: none; vertical-align: middle; overflow: visible; }
76
+ .uix-sparkline__line { fill: none; stroke: var(--uix-text-muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
77
+ .uix-sparkline--series .uix-sparkline__line { stroke: var(--uix-chart-series); }
78
+ .uix-sparkline__end { fill: var(--uix-text); }
79
+ .uix-sparkline--series .uix-sparkline__end { fill: var(--uix-chart-series); }
80
+
81
+ @media (forced-colors: active) {
82
+ .uix-bar-list__bar, .uix-status-strip__cell { background: CanvasText; }
83
+ .uix-status-strip__cell[data-tone="ok"] { background: GrayText; }
84
+ .uix-sparkline__line { stroke: CanvasText; }
85
+ .uix-sparkline__end { fill: CanvasText; }
86
+ }
87
+ }
@@ -15,4 +15,16 @@
15
15
  --uix-accent-text, not --uix-accent: the raw accent of a bright brand is 2.62:1 on the track. */
16
16
  .uix-meter__fill[data-tone="neutral"] { background: var(--uix-text-muted); }
17
17
  .uix-meter__fill[data-tone="accent"] { background: var(--uix-accent-text); }
18
+
19
+ /* A target (calm kit 2.56): a thin ink mark across the track where the goal is ("Ziel 95 %"),
20
+ so "under target" reads from the bar itself. The track stops clipping so the mark can stand
21
+ a little proud of it; the fill keeps its rounded clip in __clip. --target is 0-1. */
22
+ .uix-meter--target { position: relative; overflow: visible; }
23
+ .uix-meter__clip { height: 100%; border-radius: inherit; overflow: hidden; }
24
+ .uix-meter__target {
25
+ position: absolute; top: calc(-1 * var(--uix-space-1)); bottom: calc(-1 * var(--uix-space-1));
26
+ inset-inline-start: calc(var(--target, 1) * 100%); width: 2px;
27
+ border-radius: var(--uix-radius-xs); background: var(--uix-text-hushed);
28
+ }
29
+ @media (forced-colors: active) { .uix-meter__target { background: CanvasText; } }
18
30
  }