@besaitech/ng-design-system 0.0.77 → 0.0.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@besaitech/ng-design-system",
3
- "version": "0.0.77",
3
+ "version": "0.0.79",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -37,6 +37,10 @@
37
37
  "types": "./index.d.ts",
38
38
  "default": "./fesm2022/besaitech-ng-design-system.mjs"
39
39
  },
40
+ "./calendar": {
41
+ "types": "./calendar/index.d.ts",
42
+ "default": "./fesm2022/besaitech-ng-design-system-calendar.mjs"
43
+ },
40
44
  "./charts": {
41
45
  "types": "./charts/index.d.ts",
42
46
  "default": "./fesm2022/besaitech-ng-design-system-charts.mjs"
package/themes/base.css CHANGED
@@ -47,12 +47,50 @@
47
47
  --color-warning: #f3b73c;
48
48
  --color-danger: #df4f6b;
49
49
 
50
+ /*
51
+ * Clinical severity — an ORDINAL scale, and deliberately not the status trio.
52
+ *
53
+ * Status says what the UI did: saved, needs attention, failed. Severity says how bad the thing
54
+ * itself is. A red that sometimes means "save failed" and sometimes means "anaphylaxis" is a
55
+ * safety problem, so these are a separate ramp and must never be substituted for each other.
56
+ *
57
+ * Two mechanisms keep them apart. The COLOURS are perceptually distant: every level below is at
58
+ * least dE76 30 from the nearest of success/warning/danger in CIELAB, and adjacent levels are at
59
+ * least 27 from each other, so the ramp is readable as a ramp. The FORM differs too — status is
60
+ * three categorical states and renders as a solid badge, severity is five ordered steps and can
61
+ * render as a filled meter (sds-severity). Shape is the channel that survives greyscale.
62
+ *
63
+ * `unknown` sits OUTSIDE the ramp on purpose: "not assessed" is not a low severity, and colouring
64
+ * it like one tells a clinician something nobody established.
65
+ *
66
+ * Every fg clears 4.5:1 on surface, canvas, muted AND on its own -soft in both modes. If you
67
+ * restep one, re-measure it — nothing in the build will catch a contrast regression.
68
+ */
69
+ --color-severity-unknown: #55606f;
70
+ --color-severity-unknown-soft: #eef1f5;
71
+ --color-severity-mild: #0f766e;
72
+ --color-severity-mild-soft: #e2f3f0;
73
+ --color-severity-moderate: #9a4708;
74
+ --color-severity-moderate-soft: #fbeedd;
75
+ --color-severity-severe: #b91c1c;
76
+ --color-severity-severe-soft: #fde6e6;
77
+ --color-severity-critical: #7f1d1d;
78
+ --color-severity-critical-soft: #f7cccc;
79
+ /*
80
+ * The top step is FILLED rather than tinted, so it is louder than a colour change alone — and the
81
+ * fill needs its own pair. `-critical` is a foreground (dark red on a pale surface, light pink on
82
+ * a dark one), so reusing it as a background would, in dark mode, put pale text on pale pink.
83
+ * `-fill` is the background and `-on` the text that sits on it; both measured, both modes.
84
+ */
85
+ --color-severity-critical-fill: #7f1d1d;
86
+ --color-severity-critical-on: #ffffff;
87
+
50
88
  /* Radius */
51
89
  --radius-control: 0.5rem;
52
90
  --radius-card: 0.75rem;
53
91
 
54
92
  /* Typography — override in your app's own @theme if your brand uses a different face. */
55
- --font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
93
+ --font-sans: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
56
94
 
57
95
  /*
58
96
  * Ambient decoration — the slow, breathing drift of the brand-tinted blobs behind the glass top bar,
@@ -123,6 +161,20 @@ html.dark {
123
161
  --color-success: #34d67e;
124
162
  --color-warning: #f6c453;
125
163
  --color-danger: #f2748c;
164
+
165
+ /* Clinical severity — re-stepped for the dark surface, same measured rules as light. */
166
+ --color-severity-unknown: #a9b0bb;
167
+ --color-severity-unknown-soft: #27272b;
168
+ --color-severity-mild: #2dd4bf;
169
+ --color-severity-mild-soft: #0f2e2b;
170
+ --color-severity-moderate: #e8903a;
171
+ --color-severity-moderate-soft: #33240f;
172
+ --color-severity-severe: #f87171;
173
+ --color-severity-severe-soft: #361616;
174
+ --color-severity-critical: #fca5a5;
175
+ --color-severity-critical-soft: #3f1111;
176
+ --color-severity-critical-fill: #991b1b;
177
+ --color-severity-critical-on: #fee2e2;
126
178
  }
127
179
 
128
180
  /*