@besaitech/ng-design-system 0.0.76 → 0.0.77

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 (2) hide show
  1. package/package.json +1 -1
  2. package/themes/saitech.css +44 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@besaitech/ng-design-system",
3
- "version": "0.0.76",
3
+ "version": "0.0.77",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -1,52 +1,68 @@
1
1
  /*
2
- * Saitech theme — the library's original brand blues, and its default.
2
+ * Saitech theme — the SAITECH brand teal, and the library's default.
3
3
  *
4
- * This file is the DEFAULT look every consumer got before themes existed, extracted verbatim so that
5
- * adding a second brand could not change the first one. If you are looking for the values that used to
6
- * live in the showcase's own `styles.css`, they are here.
4
+ * This file used to hold a monochrome zinc ramp under a comment calling it "brand blues". It was
5
+ * neither: it was the library's pre-theme default, extracted verbatim so that adding a second brand
6
+ * could not change the first. SAITECH's actual brand colour is the teal the public site at
7
+ * saitech.be is built on, so that is what this now carries.
7
8
  *
8
9
  * Import AFTER `@import "tailwindcss"` — Tailwind v4 processes `@theme` in imported files, and later
9
10
  * declarations win:
10
11
  *
11
12
  * @import "tailwindcss";
12
13
  * @source "../node_modules/@besaitech/ng-design-system";
14
+ * @import "@besaitech/ng-design-system/themes/base.css";
13
15
  * @import "@besaitech/ng-design-system/themes/saitech.css";
16
+ *
17
+ * WHY THE STOPS ARE NOT saitech.be's RAMP VERBATIM
18
+ * The public site uses Tailwind's teal, where 500 is #14b8a6 and 600 is #0d9488. Those are right for
19
+ * a marketing accent, which is mostly thin strokes, small text and dark-on-light buttons. They are
20
+ * wrong here, because this library hardcodes `text-white` on the brand fills — `bg-brand-600
21
+ * text-white` is the primary button, the selected calendar day and the active nav item, and
22
+ * `bg-brand-500 text-white` is the active nav item on a surface. Against white:
23
+ *
24
+ * #14b8a6 2.49:1 #0d9488 3.74:1 — both fail WCAG AA (4.5:1)
25
+ *
26
+ * So the ramp is the same hue, shifted darker at the interactive pins: 500 takes the value the
27
+ * public site calls 700, and everything below follows. Every stop that carries white text clears AA
28
+ * with room to spare. Keep it that way — if a stop here is ever lightened, check it against white
29
+ * first, because nothing in the build will catch it.
14
30
  */
15
31
  @theme {
16
- /* Brand blues */
17
- --color-brand-50: #fafafa;
18
- --color-brand-100: #f4f4f5;
19
- --color-brand-200: #e4e4e7;
20
- --color-brand-300: #d4d4d8;
21
- --color-brand-400: #a1a1aa;
22
- --color-brand-500: #52525b; /* active nav highlight */
23
- --color-brand-600: #27272a; /* primary button */
24
- --color-brand-700: #18181b; /* top bar base */
25
- --color-brand-800: #131316;
26
- --color-brand-900: #0a0a0b; /* sidebar background */
27
- --color-brand-950: #000000;
32
+ /* Brand teal */
33
+ --color-brand-50: #f0fdfa;
34
+ --color-brand-100: #ccfbf1;
35
+ --color-brand-200: #99f6e4;
36
+ --color-brand-300: #5eead4;
37
+ --color-brand-400: #2dd4bf;
38
+ --color-brand-500: #0f766e; /* active nav highlight — 5.47:1 on white */
39
+ --color-brand-600: #115e59; /* primary button — 7.58:1 on white */
40
+ --color-brand-700: #134e4a; /* top bar base */
41
+ --color-brand-800: #0f3c39;
42
+ --color-brand-900: #0a2b29; /* sidebar background — a near-black with the brand cast */
43
+ --color-brand-950: #04201e;
28
44
  }
29
45
 
30
46
  /*
31
47
  * Dark brand ramp. The base.css `.dark` block already flips the neutral roles; this flips the eleven
32
- * brand steps so the monochrome ramp stays legible on a dark canvas. The pins keep their meaning:
48
+ * brand steps so the ramp stays legible on a dark canvas. The pins keep their meaning:
33
49
  *
34
50
  * 50/100/200 soft brand tints (chips, the glass bar's brand edge) — must go DARK, not stay near-white
35
51
  * 500 active nav highlight — light enough to read as "selected" on the dark rail/surface
36
- * 600 primary button — a mid chip that keeps white label text readable (~9:1)
52
+ * 600 primary button — a mid chip that keeps white label text readable
37
53
  * 700 glass top-bar edge
38
54
  * 900 sidebar rail background
39
55
  */
40
56
  html.dark {
41
- --color-brand-50: #1c1c20;
42
- --color-brand-100: #212127;
43
- --color-brand-200: #2a2a31;
44
- --color-brand-300: #3a3a42;
45
- --color-brand-400: #52525b;
46
- --color-brand-500: #6f6f7a; /* active nav highlight — dark enough for white label text to reach AA */
47
- --color-brand-600: #3f3f46; /* primary button */
48
- --color-brand-700: #2a2a31; /* glass top-bar edge */
49
- --color-brand-800: #202024;
50
- --color-brand-900: #14141a; /* sidebar rail background */
57
+ --color-brand-50: #0c2422;
58
+ --color-brand-100: #0f2e2b;
59
+ --color-brand-200: #13403c;
60
+ --color-brand-300: #1a564f;
61
+ --color-brand-400: #1d6b62;
62
+ --color-brand-500: #237a6f; /* active nav highlight — 5.14:1 on white, 3.27:1 against the 900 rail */
63
+ --color-brand-600: #1a5f58; /* primary button — 7.44:1 on white */
64
+ --color-brand-700: #14403c; /* glass top-bar edge */
65
+ --color-brand-800: #102f2d;
66
+ --color-brand-900: #0a211f; /* sidebar rail background */
51
67
  --color-brand-950: #000000;
52
68
  }