@besaitech/ng-design-system 0.0.42 → 0.0.45
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/fesm2022/besaitech-ng-design-system.mjs +1586 -147
- package/fesm2022/besaitech-ng-design-system.mjs.map +1 -1
- package/index.d.ts +518 -34
- package/package.json +1 -1
- package/themes/base.css +77 -0
- package/themes/belvigo.css +19 -0
- package/themes/saitech.css +24 -0
package/package.json
CHANGED
package/themes/base.css
CHANGED
|
@@ -53,6 +53,83 @@
|
|
|
53
53
|
|
|
54
54
|
/* Typography — override in your app's own @theme if your brand uses a different face. */
|
|
55
55
|
--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* Ambient decoration — the slow, breathing drift of the brand-tinted blobs behind the glass top bar,
|
|
59
|
+
* sidebar and gradient container. Registered here so `animate-sds-ambient` exists in any consuming app
|
|
60
|
+
* (the decorations are opt-in via [decorations] on sds-topbar / sds-sidebar / sds-shell). The wave is
|
|
61
|
+
* deliberately gentle — decoration must never pull the eye off content, and it respects reduced motion
|
|
62
|
+
* below.
|
|
63
|
+
*/
|
|
64
|
+
--animate-sds-ambient: sds-ambient 14s ease-in-out infinite;
|
|
65
|
+
|
|
66
|
+
@keyframes sds-ambient {
|
|
67
|
+
0%,
|
|
68
|
+
100% {
|
|
69
|
+
opacity: 0.55;
|
|
70
|
+
transform: scale(1);
|
|
71
|
+
}
|
|
72
|
+
50% {
|
|
73
|
+
opacity: 0.9;
|
|
74
|
+
transform: scale(1.08);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* Dark mode is CLASS-based: the `.dark` class on <html> flips the theme, and SdsThemeService toggles it.
|
|
81
|
+
* This overrides Tailwind's default media-query `dark:` so an in-app switch (not just the OS setting) can
|
|
82
|
+
* drive it. Consuming apps get this for free by importing base.css.
|
|
83
|
+
*/
|
|
84
|
+
@custom-variant dark (&:where(.dark, .dark *));
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
* Dark palette. Only the NEUTRAL/semantic roles are redefined here — surfaces, ink, border, the accent
|
|
88
|
+
* tiles and status. Because every sds-* component names a role (bg-surface, text-ink, border-border…)
|
|
89
|
+
* rather than a colour, redefining the role under `.dark` re-themes the whole library at once, with no
|
|
90
|
+
* per-component `dark:` variants. The brand RAMP is theme-specific, so each brand file (saitech.css,
|
|
91
|
+
* belvigo.css) ships its own `.dark` ramp beside its light one.
|
|
92
|
+
*
|
|
93
|
+
* `html.dark` (element + class) outranks Tailwind's `:root`-scoped @theme defaults regardless of source
|
|
94
|
+
* order, so the flip is deterministic.
|
|
95
|
+
*/
|
|
96
|
+
html.dark {
|
|
97
|
+
/*
|
|
98
|
+
* Neutrals / surfaces — a neutral near-black in the SAME zinc family as the grayscale brand ramp
|
|
99
|
+
* (brand-900 is #14141a). Deliberately NOT a navy: an earlier deep-blue palette read as blue/purple,
|
|
100
|
+
* especially under the brand-tinted glass and gradient washes. Zinc keeps the dark cohesive and clean.
|
|
101
|
+
*/
|
|
102
|
+
--color-canvas: #09090b;
|
|
103
|
+
--color-surface: #18181b;
|
|
104
|
+
--color-muted: #202023;
|
|
105
|
+
--color-border: #2f2f34;
|
|
106
|
+
--color-ink: #f4f4f5;
|
|
107
|
+
--color-ink-soft: #a1a1aa;
|
|
108
|
+
--color-ink-faint: #71717a;
|
|
109
|
+
|
|
110
|
+
/* Accent icon-tiles — brighter foregrounds for contrast on dark, darkened soft backgrounds. */
|
|
111
|
+
--color-accent-blue: #6ea8fe;
|
|
112
|
+
--color-accent-blue-soft: #172a44;
|
|
113
|
+
--color-accent-green: #46d389;
|
|
114
|
+
--color-accent-green-soft: #123324;
|
|
115
|
+
--color-accent-amber: #f3c063;
|
|
116
|
+
--color-accent-amber-soft: #33270f;
|
|
117
|
+
--color-accent-red: #f2748c;
|
|
118
|
+
--color-accent-red-soft: #331722;
|
|
119
|
+
--color-accent-indigo: #a99bf5;
|
|
120
|
+
--color-accent-indigo-soft: #211b3d;
|
|
121
|
+
|
|
122
|
+
/* Status — nudged lighter so they read on the dark canvas. */
|
|
123
|
+
--color-success: #34d67e;
|
|
124
|
+
--color-warning: #f6c453;
|
|
125
|
+
--color-danger: #f2748c;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Honour a reader's reduced-motion setting: the ambient drift is decoration, so it simply stops. */
|
|
129
|
+
@media (prefers-reduced-motion: reduce) {
|
|
130
|
+
.animate-sds-ambient {
|
|
131
|
+
animation: none !important;
|
|
132
|
+
}
|
|
56
133
|
}
|
|
57
134
|
|
|
58
135
|
@layer base {
|
package/themes/belvigo.css
CHANGED
|
@@ -35,3 +35,22 @@
|
|
|
35
35
|
--color-brand-900: #0a0a0b; /* sidebar background */
|
|
36
36
|
--color-brand-950: #000000;
|
|
37
37
|
}
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* Dark brand ramp — same contract as the light ramp above, flipped for a dark canvas. See the note in
|
|
41
|
+
* saitech.css: soft tints (50–200) go dark, 500 stays light enough to read as the active nav highlight,
|
|
42
|
+
* 600 is a mid chip that keeps white button text legible, and 900 is the dark sidebar rail.
|
|
43
|
+
*/
|
|
44
|
+
html.dark {
|
|
45
|
+
--color-brand-50: #1c1c20;
|
|
46
|
+
--color-brand-100: #212127;
|
|
47
|
+
--color-brand-200: #2a2a31;
|
|
48
|
+
--color-brand-300: #3a3a42;
|
|
49
|
+
--color-brand-400: #52525b;
|
|
50
|
+
--color-brand-500: #6f6f7a; /* active nav highlight — dark enough for white label text to reach AA */
|
|
51
|
+
--color-brand-600: #3f3f46; /* primary button */
|
|
52
|
+
--color-brand-700: #2a2a31; /* glass top-bar edge */
|
|
53
|
+
--color-brand-800: #202024;
|
|
54
|
+
--color-brand-900: #14141a; /* sidebar rail background */
|
|
55
|
+
--color-brand-950: #000000;
|
|
56
|
+
}
|
package/themes/saitech.css
CHANGED
|
@@ -26,3 +26,27 @@
|
|
|
26
26
|
--color-brand-900: #0a0a0b; /* sidebar background */
|
|
27
27
|
--color-brand-950: #000000;
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
* 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:
|
|
33
|
+
*
|
|
34
|
+
* 50/100/200 soft brand tints (chips, the glass bar's brand edge) — must go DARK, not stay near-white
|
|
35
|
+
* 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)
|
|
37
|
+
* 700 glass top-bar edge
|
|
38
|
+
* 900 sidebar rail background
|
|
39
|
+
*/
|
|
40
|
+
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 */
|
|
51
|
+
--color-brand-950: #000000;
|
|
52
|
+
}
|