@rt-tools/ui-kit 0.0.16 → 0.0.19
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/rt-tools-ui-kit.mjs +150 -40
- package/fesm2022/rt-tools-ui-kit.mjs.map +1 -1
- package/package.json +1 -1
- package/rt-tools-ui-kit-0.0.19.tgz +0 -0
- package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +8 -8
- package/src/lib/ui-kit/buttons/multi-button/rtui-multi-button.component.scss +6 -6
- package/src/lib/ui-kit/checkbox/rtui-checkbox.component.scss +2 -2
- package/src/lib/ui-kit/dynamic-selectors/components/actions/rtui-dynamic-selector-list-actions.component.scss +1 -1
- package/src/lib/ui-kit/dynamic-selectors/components/multi-selector-popup/rtui-multi-selector-popup.component.scss +11 -11
- package/src/lib/ui-kit/dynamic-selectors/components/placeholder/rtui-dynamic-selector-placeholder.component.scss +3 -3
- package/src/lib/ui-kit/file-uploader/rtui-file-upload.component.scss +3 -3
- package/src/lib/ui-kit/modal/modal.component.scss +4 -4
- package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +4 -4
- package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +1 -1
- package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +1 -1
- package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +4 -4
- package/src/lib/ui-kit/spinner/spinner.component.scss +2 -2
- package/src/lib/ui-kit/table/components/clear-search-button/rtui-clear-button.component.scss +3 -3
- package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +6 -6
- package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +1 -1
- package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +7 -7
- package/src/lib/ui-kit/table/components/table-header-cell/table-header-cell.component.scss +2 -2
- package/src/lib/ui-kit/toggle/rtui-toggle.component.scss +8 -8
- package/src/lib/ui-kit/toolbar/toolbar.component.scss +1 -1
- package/src/styles/TOKENS.md +28 -0
- package/src/styles/base/_base.scss +5 -12
- package/src/styles/base/_tokens.scss +386 -0
- package/src/styles/base/_variables.scss +4 -4
- package/src/styles/components/_action-bar.scss +8 -8
- package/src/styles/components/_button.scss +31 -31
- package/src/styles/components/_checkbox.scss +5 -5
- package/src/styles/components/_dynamic-selectors.scss +4 -4
- package/src/styles/components/_form.scss +1 -1
- package/src/styles/components/_rtui_button.scss +77 -77
- package/src/styles/components/_snackbar.scss +14 -14
- package/src/styles/components/_table.scss +11 -11
- package/src/styles/main.scss +1 -0
- package/src/styles/tokens.scss +5 -0
- package/styles/tokens.css +323 -0
- package/types/rt-tools-ui-kit.d.ts +53 -2
- package/rt-tools-ui-kit-0.0.16.tgz +0 -0
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
@use './variables' as vars;
|
|
2
|
+
|
|
3
|
+
/// ============================================================================
|
|
4
|
+
/// rt-tools Design Tokens v2
|
|
5
|
+
/// ============================================================================
|
|
6
|
+
///
|
|
7
|
+
/// Two tiers + component tier, GMT-style:
|
|
8
|
+
/// Tier 1 primitives --rt-color-* raw values. NEVER use directly in components.
|
|
9
|
+
/// Tier 2 semantic --rt-{bg,text,icon,border}-* role-based, adaptive via light-dark().
|
|
10
|
+
/// Tier 3 component --rt-<component>-<el>-<token> per-component SCSS maps; must reference Tier 2
|
|
11
|
+
/// (raw primitives allowed only for intentionally
|
|
12
|
+
/// chromatic values, e.g. color-variant buttons).
|
|
13
|
+
///
|
|
14
|
+
/// Theming: light is the default. `.rt-dark` on <html>/<body> switches globally;
|
|
15
|
+
/// `data-rt-theme="dark|light"` creates a nested local theme context on any element.
|
|
16
|
+
/// Both work through `color-scheme` + light-dark() — no duplicated override blocks.
|
|
17
|
+
///
|
|
18
|
+
/// Angular Material hybrid: when the consuming app configures a Material theme
|
|
19
|
+
/// (--mat-sys-* present), semantic tokens resolve to Material system colors;
|
|
20
|
+
/// otherwise the own-palette fallback applies. Opt out at build time:
|
|
21
|
+
/// @use 'rt-tools/src/styles/main' with ($tokens-use-material: false);
|
|
22
|
+
///
|
|
23
|
+
/// Rules (enforced by convention + review):
|
|
24
|
+
/// - no HEX values in component SCSS;
|
|
25
|
+
/// - components reference semantic tokens, semantic references primitives;
|
|
26
|
+
/// - never skip the semantic tier.
|
|
27
|
+
|
|
28
|
+
$use-material: true !default;
|
|
29
|
+
|
|
30
|
+
/// Wrap a light/dark pair into light-dark(), optionally behind a --mat-sys-* fallback chain.
|
|
31
|
+
@function t($light, $dark: null, $mat: null) {
|
|
32
|
+
$v: $light;
|
|
33
|
+
|
|
34
|
+
@if $dark != null {
|
|
35
|
+
$v: light-dark(#{$light}, #{$dark});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@if $mat != null and $use-material {
|
|
39
|
+
@return var(--mat-sys-#{$mat}, #{$v});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@return $v;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* ============================== Tier 1: primitives ============================== */
|
|
46
|
+
|
|
47
|
+
// Unified neutral scale (sorted by lightness, sourced from the legacy white/gray/black families)
|
|
48
|
+
$neutral: (
|
|
49
|
+
0: #ffffff,
|
|
50
|
+
5: #f5f6f8,
|
|
51
|
+
10: #f3f3f3,
|
|
52
|
+
15: #eeeeee,
|
|
53
|
+
20: #e8e8e8,
|
|
54
|
+
25: #e0e0e0,
|
|
55
|
+
30: #d1d1d1,
|
|
56
|
+
35: #cccccc,
|
|
57
|
+
40: #a3a3a3,
|
|
58
|
+
60: #747474,
|
|
59
|
+
80: #323033,
|
|
60
|
+
100: #181818,
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Chromatic hues (steps preserved from the legacy palette)
|
|
64
|
+
$hues: (
|
|
65
|
+
'red': (
|
|
66
|
+
10: #fdedee,
|
|
67
|
+
20: #efc0c1,
|
|
68
|
+
40: #f7b9bb,
|
|
69
|
+
60: #e88487,
|
|
70
|
+
80: #df6064,
|
|
71
|
+
100: #eb5055,
|
|
72
|
+
),
|
|
73
|
+
'orange': (
|
|
74
|
+
5: #f6e4d9,
|
|
75
|
+
10: #e8cbbf,
|
|
76
|
+
20: #e1ba9e,
|
|
77
|
+
40: #e4a985,
|
|
78
|
+
60: #f1a05d,
|
|
79
|
+
70: #f2994a,
|
|
80
|
+
80: #ee7a34,
|
|
81
|
+
100: #ef7128,
|
|
82
|
+
),
|
|
83
|
+
'blue': (
|
|
84
|
+
20: #eaedfc,
|
|
85
|
+
40: #b3ceef,
|
|
86
|
+
60: #6d96e8,
|
|
87
|
+
80: #4285f4,
|
|
88
|
+
100: #4284d7,
|
|
89
|
+
),
|
|
90
|
+
'green': (
|
|
91
|
+
10: #e5f8f4,
|
|
92
|
+
20: #baf4e0,
|
|
93
|
+
40: #5dbfbc,
|
|
94
|
+
60: #46c4c0,
|
|
95
|
+
80: #21b18e,
|
|
96
|
+
100: #01af8d,
|
|
97
|
+
),
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
// Base value per hue + brand
|
|
101
|
+
$hue-base: (
|
|
102
|
+
'red': #eb5055,
|
|
103
|
+
'orange': #ef7128,
|
|
104
|
+
'blue': #4284d7,
|
|
105
|
+
'green': #01af8d,
|
|
106
|
+
'brand': #0d1c2b,
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
$opacity-steps: (5, 10, 20, 30, 40, 50, 60, 70, 80, 90);
|
|
110
|
+
$overlay-steps: (5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90);
|
|
111
|
+
|
|
112
|
+
/* ============================== Tier 2: semantic ============================== */
|
|
113
|
+
// NOTE: function calls in this map are evaluated when the module loads,
|
|
114
|
+
// honoring a `with ($use-material: ...)` configuration.
|
|
115
|
+
|
|
116
|
+
$semantic: (
|
|
117
|
+
/* ---- bg / base (adaptive) ---- */ bg-base-base: t(#ffffff, #1c1b1e, surface),
|
|
118
|
+
bg-base-elevated: t(#ffffff, #2a292d, surface-container),
|
|
119
|
+
bg-base-subtle: t(#f5f6f8, #232226),
|
|
120
|
+
bg-base-hover: t(#f3f3f3, rgba(255, 255, 255, 0.06)),
|
|
121
|
+
bg-base-active: t(#eeeeee, rgba(255, 255, 255, 0.1)),
|
|
122
|
+
bg-base-strong: t(#e0e0e0, #3f3e43),
|
|
123
|
+
bg-base-emphasis: t(#747474, #a3a3a3),
|
|
124
|
+
bg-base-emphasis-soft: t(#a3a3a3, #747474),
|
|
125
|
+
bg-base-inverse: t(#181818, #f3f3f3, inverse-surface),
|
|
126
|
+
bg-base-inverse-soft: t(#323033, #eeeeee),
|
|
127
|
+
bg-base-overlay: t(rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.6)),
|
|
128
|
+
/* ---- bg / static ---- */ bg-static-light: #ffffff,
|
|
129
|
+
bg-static-dark: #181818,
|
|
130
|
+
bg-static-none: transparent,
|
|
131
|
+
/* ---- bg / accent: {subtle, solid, hover, disabled} (simplified GMT scale) ---- */
|
|
132
|
+
bg-accent-primary-subtle: t(#eaedfc, color-mix(in srgb, #4284d7 18%, #1c1b1e), primary-container),
|
|
133
|
+
bg-accent-primary-solid: t(#4284d7, #4284d7, primary),
|
|
134
|
+
bg-accent-primary-hover: t(color-mix(in srgb, #4284d7 90%, #000000), color-mix(in srgb, #4284d7 90%, #ffffff)),
|
|
135
|
+
bg-accent-primary-disabled: color-mix(in srgb, #4284d7 38%, transparent),
|
|
136
|
+
bg-accent-success-subtle: t(#e5f8f4, color-mix(in srgb, #01af8d 18%, #1c1b1e)),
|
|
137
|
+
bg-accent-success-solid: #21b18e,
|
|
138
|
+
bg-accent-success-hover: t(color-mix(in srgb, #21b18e 90%, #000000), color-mix(in srgb, #21b18e 90%, #ffffff)),
|
|
139
|
+
bg-accent-success-disabled: color-mix(in srgb, #21b18e 38%, transparent),
|
|
140
|
+
bg-accent-warning-subtle: t(#e8cbbf, color-mix(in srgb, #ef7128 18%, #1c1b1e)),
|
|
141
|
+
bg-accent-warning-solid: #ee7a34,
|
|
142
|
+
bg-accent-warning-hover: t(color-mix(in srgb, #ee7a34 90%, #000000), color-mix(in srgb, #ee7a34 90%, #ffffff)),
|
|
143
|
+
bg-accent-warning-disabled: color-mix(in srgb, #ee7a34 38%, transparent),
|
|
144
|
+
bg-accent-danger-subtle: t(#fdedee, color-mix(in srgb, #eb5055 18%, #1c1b1e), error-container),
|
|
145
|
+
bg-accent-danger-solid: t(#eb5055, #eb5055, error),
|
|
146
|
+
bg-accent-danger-hover: t(color-mix(in srgb, #eb5055 90%, #000000), color-mix(in srgb, #eb5055 90%, #ffffff)),
|
|
147
|
+
bg-accent-danger-disabled: color-mix(in srgb, #eb5055 38%, transparent),
|
|
148
|
+
bg-accent-info-subtle: t(#eaedfc, color-mix(in srgb, #4284d7 18%, #1c1b1e)),
|
|
149
|
+
bg-accent-info-solid: #4284d7,
|
|
150
|
+
bg-accent-info-hover: t(color-mix(in srgb, #4284d7 90%, #000000), color-mix(in srgb, #4284d7 90%, #ffffff)),
|
|
151
|
+
bg-accent-info-disabled: color-mix(in srgb, #4284d7 38%, transparent),
|
|
152
|
+
bg-accent-neutral-subtle: t(#f3f3f3, rgba(255, 255, 255, 0.06)),
|
|
153
|
+
bg-accent-neutral-solid: t(#747474, #a3a3a3),
|
|
154
|
+
bg-accent-neutral-hover: t(#a3a3a3, #747474),
|
|
155
|
+
bg-accent-neutral-disabled: t(rgba(116, 116, 116, 0.38), rgba(163, 163, 163, 0.38)),
|
|
156
|
+
/* ---- text / base (adaptive) ---- */ text-base-primary: t(rgba(0, 0, 0, 0.87), rgba(255, 255, 255, 0.87), on-surface),
|
|
157
|
+
text-base-strong: t(#181818, #f3f3f3),
|
|
158
|
+
text-base-soft: t(#323033, #e0e0e0),
|
|
159
|
+
text-base-secondary: t(#747474, #a3a3a3, on-surface-variant),
|
|
160
|
+
text-base-disabled: t(#a3a3a3, #747474),
|
|
161
|
+
text-base-inverse: t(#ffffff, #181818, inverse-on-surface),
|
|
162
|
+
/* ---- text / static ---- */ text-static-light: #ffffff,
|
|
163
|
+
text-static-dark: #181818,
|
|
164
|
+
/* ---- text / accent ---- */ text-accent-brand: t(#0d1c2b, #e8e8e8, primary),
|
|
165
|
+
text-accent-primary: t(#4284d7, #6d96e8, primary),
|
|
166
|
+
text-accent-success: #01af8d,
|
|
167
|
+
text-accent-success-soft: #21b18e,
|
|
168
|
+
text-accent-warning: #ef7128,
|
|
169
|
+
text-accent-warning-soft: #ee7a34,
|
|
170
|
+
text-accent-danger: t(#eb5055, #eb5055, error),
|
|
171
|
+
text-accent-danger-soft: #e88487,
|
|
172
|
+
text-accent-info: #4284d7,
|
|
173
|
+
text-accent-info-soft: #4285f4,
|
|
174
|
+
/* ---- icon / neutral (adaptive) ---- */ icon-neutral-default: t(#323033, #e0e0e0),
|
|
175
|
+
icon-neutral-soft: t(#747474, #a3a3a3),
|
|
176
|
+
icon-neutral-disabled: t(#a3a3a3, #747474),
|
|
177
|
+
icon-neutral-inverse: t(#ffffff, #181818),
|
|
178
|
+
/* ---- icon / static ---- */ icon-static-light: #ffffff,
|
|
179
|
+
icon-static-dark: #181818,
|
|
180
|
+
/* ---- icon / accent ---- */ icon-accent-brand: t(#0d1c2b, #e8e8e8, primary),
|
|
181
|
+
icon-accent-primary: t(#4284d7, #6d96e8, primary),
|
|
182
|
+
icon-accent-success: #01af8d,
|
|
183
|
+
icon-accent-warning: #ef7128,
|
|
184
|
+
icon-accent-danger: t(#eb5055, #eb5055, error),
|
|
185
|
+
icon-accent-info: #4284d7,
|
|
186
|
+
/* ---- border / neutral (adaptive) ---- */ border-neutral-subtle: t(#e8e8e8, #2e2d31),
|
|
187
|
+
border-neutral-default: t(#e0e0e0, #3f3e43, outline-variant),
|
|
188
|
+
border-neutral-medium: t(#d1d1d1, #4a494e),
|
|
189
|
+
border-neutral-divider: t(#cccccc, #4a494e),
|
|
190
|
+
border-neutral-strong: t(#a3a3a3, #5c5b60, outline),
|
|
191
|
+
border-neutral-emphasis: t(#747474, #a3a3a3),
|
|
192
|
+
/* ---- border / accent ---- */ border-accent-primary: t(#4284d7, #6d96e8, primary),
|
|
193
|
+
border-accent-success: #01af8d,
|
|
194
|
+
border-accent-warning: #ef7128,
|
|
195
|
+
border-accent-danger: t(#eb5055, #eb5055, error),
|
|
196
|
+
border-accent-danger-soft: #e88487,
|
|
197
|
+
border-accent-info: #4284d7,
|
|
198
|
+
border-focus: t(#b3ceef, #6d96e8),
|
|
199
|
+
/* ---- form controls (rt extension) ---- */ control-track: t(#e8e8e8, #4a494e),
|
|
200
|
+
control-thumb: t(#ffffff, #eeeeee),
|
|
201
|
+
control-checked: t(#323033, #e0e0e0),
|
|
202
|
+
/* ---- misc ---- */ scrollbar-thumb: t(#cccccc, #4a494e),
|
|
203
|
+
scrollbar-thumb-hover: t(#a3a3a3, #5c5b60),
|
|
204
|
+
shadow-color: t(#747474, rgba(0, 0, 0, 0.6))
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
/* ============================== Foundations (mode-independent) ============================== */
|
|
208
|
+
|
|
209
|
+
$spacing: (
|
|
210
|
+
0: 0,
|
|
211
|
+
2: 0.125rem,
|
|
212
|
+
4: 0.25rem,
|
|
213
|
+
6: 0.375rem,
|
|
214
|
+
8: 0.5rem,
|
|
215
|
+
12: 0.75rem,
|
|
216
|
+
16: 1rem,
|
|
217
|
+
20: 1.25rem,
|
|
218
|
+
24: 1.5rem,
|
|
219
|
+
32: 2rem,
|
|
220
|
+
40: 2.5rem,
|
|
221
|
+
48: 3rem,
|
|
222
|
+
56: 3.5rem,
|
|
223
|
+
64: 4rem,
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
$radius: (
|
|
227
|
+
xs: 0.25rem,
|
|
228
|
+
sm: 0.5rem,
|
|
229
|
+
md: 0.75rem,
|
|
230
|
+
lg: 1rem,
|
|
231
|
+
xl: 1.5rem,
|
|
232
|
+
2xl: 2rem,
|
|
233
|
+
full: 624.9375rem,
|
|
234
|
+
);
|
|
235
|
+
|
|
236
|
+
$font-size: (
|
|
237
|
+
xs: 0.75rem,
|
|
238
|
+
sm: 0.875rem,
|
|
239
|
+
md: 1rem,
|
|
240
|
+
lg: 1.25rem,
|
|
241
|
+
xl: 1.5rem,
|
|
242
|
+
);
|
|
243
|
+
|
|
244
|
+
$font-weight: (
|
|
245
|
+
regular: 400,
|
|
246
|
+
medium: 500,
|
|
247
|
+
semibold: 600,
|
|
248
|
+
bold: 700,
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
$shadow: (
|
|
252
|
+
sm: (
|
|
253
|
+
0 0.0625rem 0.25rem 0 rgba(0, 0, 0, 0.12),
|
|
254
|
+
),
|
|
255
|
+
md: (
|
|
256
|
+
0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.14),
|
|
257
|
+
),
|
|
258
|
+
lg: (
|
|
259
|
+
0 0.5rem 1rem 0 var(--rt-shadow-color),
|
|
260
|
+
),
|
|
261
|
+
);
|
|
262
|
+
|
|
263
|
+
$transition: (
|
|
264
|
+
fast: 0.15s ease-in-out,
|
|
265
|
+
base: 0.25s ease-in-out,
|
|
266
|
+
slow: 0.4s ease-in-out,
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
$z-index: (
|
|
270
|
+
dropdown: 1000,
|
|
271
|
+
sticky: 1020,
|
|
272
|
+
overlay: 1040,
|
|
273
|
+
modal: 1060,
|
|
274
|
+
popover: 1080,
|
|
275
|
+
tooltip: 1100,
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
// informational only — media queries cannot read CSS vars, use vars.$device-* in SCSS
|
|
279
|
+
$breakpoint: (
|
|
280
|
+
xs: vars.$device-xs,
|
|
281
|
+
sm: vars.$device-sm,
|
|
282
|
+
md: vars.$device-md,
|
|
283
|
+
lg: vars.$device-lg,
|
|
284
|
+
xl: vars.$device-xl,
|
|
285
|
+
);
|
|
286
|
+
|
|
287
|
+
/* ============================== Emission ============================== */
|
|
288
|
+
|
|
289
|
+
:root {
|
|
290
|
+
color-scheme: light;
|
|
291
|
+
|
|
292
|
+
/* --- Tier 1: primitives --- */
|
|
293
|
+
@each $step, $value in $neutral {
|
|
294
|
+
--rt-color-neutral-#{$step}: #{$value};
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
@each $hue, $steps in $hues {
|
|
298
|
+
@each $step, $value in $steps {
|
|
299
|
+
--rt-color-#{$hue}-#{$step}: #{$value};
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
@each $hue, $value in $hue-base {
|
|
304
|
+
--rt-color-#{$hue}: #{$value};
|
|
305
|
+
|
|
306
|
+
// opacity scales via color-mix
|
|
307
|
+
@each $a in $opacity-steps {
|
|
308
|
+
--rt-color-#{$hue}-a#{$a}: color-mix(in srgb, #{$value} #{$a + '%'}, transparent);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// overlay scales (on-light darkens, on-dark lightens)
|
|
313
|
+
@each $a in $overlay-steps {
|
|
314
|
+
--rt-color-dark-a#{$a}: rgba(24, 24, 24, #{calc($a / 100)});
|
|
315
|
+
--rt-color-light-a#{$a}: rgba(255, 255, 255, #{calc($a / 100)});
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/* --- Tier 2: semantic --- */
|
|
319
|
+
@each $token, $value in $semantic {
|
|
320
|
+
--rt-#{$token}: #{$value};
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/* --- Foundations --- */
|
|
324
|
+
@each $token, $value in $spacing {
|
|
325
|
+
--rt-spacing-#{$token}: #{$value};
|
|
326
|
+
}
|
|
327
|
+
@each $token, $value in $radius {
|
|
328
|
+
--rt-radius-#{$token}: #{$value};
|
|
329
|
+
}
|
|
330
|
+
@each $token, $value in $font-size {
|
|
331
|
+
--rt-font-size-#{$token}: #{$value};
|
|
332
|
+
}
|
|
333
|
+
@each $token, $value in $font-weight {
|
|
334
|
+
--rt-font-weight-#{$token}: #{$value};
|
|
335
|
+
}
|
|
336
|
+
@each $token, $value in $shadow {
|
|
337
|
+
--rt-shadow-#{$token}: #{$value};
|
|
338
|
+
}
|
|
339
|
+
@each $token, $value in $transition {
|
|
340
|
+
--rt-transition-#{$token}: #{$value};
|
|
341
|
+
}
|
|
342
|
+
@each $token, $value in $z-index {
|
|
343
|
+
--rt-z-index-#{$token}: #{$value};
|
|
344
|
+
}
|
|
345
|
+
@each $token, $value in $breakpoint {
|
|
346
|
+
--rt-breakpoint-#{$token}: #{$value};
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/* --- Deprecated aliases (legacy --clr-*; remove after consumers migrate) --- */
|
|
350
|
+
--clr-white-100: var(--rt-color-neutral-0);
|
|
351
|
+
--clr-gray-5: var(--rt-color-neutral-5);
|
|
352
|
+
--clr-gray-10: var(--rt-color-neutral-20);
|
|
353
|
+
--clr-gray-15: var(--rt-color-neutral-30);
|
|
354
|
+
--clr-gray-20: var(--rt-color-neutral-35);
|
|
355
|
+
--clr-black-10: var(--rt-color-neutral-10);
|
|
356
|
+
--clr-black-15: var(--rt-color-neutral-15);
|
|
357
|
+
--clr-black-20: var(--rt-color-neutral-25);
|
|
358
|
+
--clr-black-30: #b2cbca; // palette outlier, kept verbatim
|
|
359
|
+
--clr-black-40: var(--rt-color-neutral-40);
|
|
360
|
+
--clr-black-60: var(--rt-color-neutral-60);
|
|
361
|
+
--clr-black-80: var(--rt-color-neutral-80);
|
|
362
|
+
--clr-black-100: var(--rt-color-neutral-100);
|
|
363
|
+
@each $hue, $steps in $hues {
|
|
364
|
+
@each $step, $value in $steps {
|
|
365
|
+
--clr-#{$hue}-#{$step}: var(--rt-color-#{$hue}-#{$step});
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
--clr-txt: var(--rt-text-base-primary);
|
|
369
|
+
--clr-base-accent: var(--rt-color-brand);
|
|
370
|
+
--clr-white-rgb: 255, 255, 255;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/* Theme switching: global class + nested local contexts (GMT data-theme analogue) */
|
|
374
|
+
.rt-dark,
|
|
375
|
+
[data-rt-theme='dark'] {
|
|
376
|
+
color-scheme: dark;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
[data-rt-theme='light'] {
|
|
380
|
+
color-scheme: light;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* 'auto' follows prefers-color-scheme */
|
|
384
|
+
.rt-theme-auto {
|
|
385
|
+
color-scheme: light dark;
|
|
386
|
+
}
|
|
@@ -6,7 +6,7 @@ $styles-prefix: 'rt';
|
|
|
6
6
|
|
|
7
7
|
/* Base */
|
|
8
8
|
$avalon-color: var(--clr-avalon);
|
|
9
|
-
$base-accent: var(--
|
|
9
|
+
$base-accent: var(--rt-text-accent-brand);
|
|
10
10
|
|
|
11
11
|
/* Device Definitions */
|
|
12
12
|
$device-xl: 1920px; // 120rem
|
|
@@ -19,7 +19,7 @@ $device-xs: 600px; // 37.5rem
|
|
|
19
19
|
$base-fonts: var(--font-default);
|
|
20
20
|
$base-font-weight: 400;
|
|
21
21
|
$base-font-size: 1rem;
|
|
22
|
-
$base-text-color: var(--
|
|
22
|
+
$base-text-color: var(--rt-text-base-primary);
|
|
23
23
|
|
|
24
24
|
/* Colors */
|
|
25
25
|
$clr-red-100: #eb5055;
|
|
@@ -29,6 +29,6 @@ $clr-green-80: #00b894;
|
|
|
29
29
|
$clr-green-10: #e5f8f4;
|
|
30
30
|
|
|
31
31
|
/* Components */
|
|
32
|
-
$side-panel-dynamic-clr: var(--
|
|
33
|
-
$pagination-dynamic-clr: var(--
|
|
32
|
+
$side-panel-dynamic-clr: var(--rt-text-accent-brand);
|
|
33
|
+
$pagination-dynamic-clr: var(--rt-text-accent-brand);
|
|
34
34
|
$text-highlight-color: #0077bf;
|
|
@@ -15,9 +15,9 @@ $action-bar: (
|
|
|
15
15
|
gap: 0.75rem,
|
|
16
16
|
padding: 0.5rem 1rem,
|
|
17
17
|
border-radius: 0.5rem,
|
|
18
|
-
color: var(--
|
|
19
|
-
background-color: var(--
|
|
20
|
-
box-shadow: 0 0.5rem 1rem 0 var(--
|
|
18
|
+
color: var(--rt-text-base-inverse),
|
|
19
|
+
background-color: var(--rt-bg-base-inverse),
|
|
20
|
+
box-shadow: 0 0.5rem 1rem 0 var(--rt-shadow-color),
|
|
21
21
|
),
|
|
22
22
|
bar-mobile: (
|
|
23
23
|
gap: 0.5rem,
|
|
@@ -45,15 +45,15 @@ $action-bar: (
|
|
|
45
45
|
padding: 0.325rem 0.5rem,
|
|
46
46
|
),
|
|
47
47
|
action-hover: (
|
|
48
|
-
background-color: var(--
|
|
48
|
+
background-color: var(--rt-bg-base-inverse-soft),
|
|
49
49
|
),
|
|
50
50
|
action-menu: (
|
|
51
51
|
gap: 0.5rem,
|
|
52
52
|
padding: 0.5rem,
|
|
53
53
|
border-radius: 0.5rem,
|
|
54
|
-
color: var(--
|
|
55
|
-
background-color: var(--
|
|
56
|
-
box-shadow: 0 0.5rem 1rem 0 var(--
|
|
54
|
+
color: var(--rt-text-base-strong),
|
|
55
|
+
background-color: var(--rt-bg-base-base),
|
|
56
|
+
box-shadow: 0 0.5rem 1rem 0 var(--rt-shadow-color),
|
|
57
57
|
),
|
|
58
58
|
action-menu-mobile: (
|
|
59
59
|
gap: 0.25rem,
|
|
@@ -71,7 +71,7 @@ $action-bar: (
|
|
|
71
71
|
padding: 0.325rem 0.5rem,
|
|
72
72
|
),
|
|
73
73
|
action-menu-action-hover: (
|
|
74
|
-
background-color: var(--
|
|
74
|
+
background-color: var(--rt-bg-base-emphasis-soft),
|
|
75
75
|
),
|
|
76
76
|
);
|
|
77
77
|
|
|
@@ -4,77 +4,77 @@
|
|
|
4
4
|
|
|
5
5
|
$button: (
|
|
6
6
|
base: (
|
|
7
|
-
color: var(--
|
|
7
|
+
color: var(--rt-color-neutral-100),
|
|
8
8
|
font-family: var(--font-default),
|
|
9
9
|
),
|
|
10
10
|
fab: (
|
|
11
|
-
color: var(--
|
|
11
|
+
color: var(--rt-color-neutral-60),
|
|
12
12
|
),
|
|
13
13
|
fab-hover: (
|
|
14
|
-
color: var(--
|
|
14
|
+
color: var(--rt-color-neutral-100),
|
|
15
15
|
),
|
|
16
16
|
text-hover: (
|
|
17
|
-
background: var(--
|
|
17
|
+
background: var(--rt-color-neutral-15),
|
|
18
18
|
),
|
|
19
19
|
text-focus: (
|
|
20
|
-
background: var(--
|
|
20
|
+
background: var(--rt-color-neutral-25),
|
|
21
21
|
),
|
|
22
22
|
text-active: (
|
|
23
23
|
background: var(--clr-black-30),
|
|
24
24
|
),
|
|
25
25
|
text-base: (
|
|
26
|
-
color: var(--
|
|
26
|
+
color: var(--rt-color-neutral-60),
|
|
27
27
|
),
|
|
28
28
|
text-base-hover: (
|
|
29
|
-
color: var(--
|
|
29
|
+
color: var(--rt-color-neutral-100),
|
|
30
30
|
),
|
|
31
31
|
text-gray: (
|
|
32
|
-
color: var(--
|
|
32
|
+
color: var(--rt-color-neutral-60),
|
|
33
33
|
),
|
|
34
34
|
text-gray-hover: (
|
|
35
|
-
color: var(--
|
|
35
|
+
color: var(--rt-color-blue-60),
|
|
36
36
|
),
|
|
37
37
|
text-blue: (
|
|
38
|
-
color: var(--
|
|
38
|
+
color: var(--rt-color-blue-100),
|
|
39
39
|
),
|
|
40
40
|
text-blue-hover: (
|
|
41
|
-
color: var(--
|
|
41
|
+
color: var(--rt-color-neutral-100),
|
|
42
42
|
),
|
|
43
43
|
fill-base: (
|
|
44
|
-
background-color: var(--
|
|
45
|
-
color: var(--
|
|
44
|
+
background-color: var(--rt-color-neutral-100),
|
|
45
|
+
color: var(--rt-color-neutral-0),
|
|
46
46
|
),
|
|
47
47
|
fill-blue: (
|
|
48
|
-
background-color: var(--
|
|
49
|
-
color: var(--
|
|
48
|
+
background-color: var(--rt-color-blue-20),
|
|
49
|
+
color: var(--rt-color-blue-100),
|
|
50
50
|
),
|
|
51
51
|
fill-gray: (
|
|
52
|
-
background-color: var(--
|
|
53
|
-
color: var(--
|
|
52
|
+
background-color: var(--rt-color-neutral-5),
|
|
53
|
+
color: var(--rt-color-neutral-40),
|
|
54
54
|
),
|
|
55
55
|
fill-black: (
|
|
56
|
-
background-color: var(--
|
|
57
|
-
color: var(--
|
|
56
|
+
background-color: var(--rt-color-neutral-100),
|
|
57
|
+
color: var(--rt-color-neutral-0),
|
|
58
58
|
),
|
|
59
59
|
fill-green: (
|
|
60
60
|
border: 1px solid color.scale(vars.$clr-green-80, $lightness: -10%),
|
|
61
|
-
color: var(--
|
|
62
|
-
background-color: var(--
|
|
61
|
+
color: var(--rt-color-neutral-0),
|
|
62
|
+
background-color: var(--rt-color-green-80),
|
|
63
63
|
),
|
|
64
64
|
fill-green-hover: (
|
|
65
65
|
background-color: color.scale(vars.$clr-green-80, $lightness: -10%),
|
|
66
66
|
),
|
|
67
67
|
fill-green-light: (
|
|
68
68
|
border-color: color.scale(vars.$clr-green-10, $lightness: -10%),
|
|
69
|
-
color: var(--
|
|
70
|
-
background-color: var(--
|
|
69
|
+
color: var(--rt-color-green-100),
|
|
70
|
+
background-color: var(--rt-color-green-10),
|
|
71
71
|
),
|
|
72
72
|
fill-green-light-hover: (
|
|
73
73
|
background-color: color.scale(vars.$clr-green-10, $lightness: -10%),
|
|
74
74
|
),
|
|
75
75
|
fill-red: (
|
|
76
76
|
border: 1px solid color.scale(vars.$clr-red-100, $lightness: -10%),
|
|
77
|
-
color: var(--
|
|
77
|
+
color: var(--rt-color-neutral-0),
|
|
78
78
|
background-color: vars.$clr-red-100,
|
|
79
79
|
),
|
|
80
80
|
fill-red-hover: (
|
|
@@ -82,24 +82,24 @@ $button: (
|
|
|
82
82
|
),
|
|
83
83
|
fill-red-light: (
|
|
84
84
|
border-color: color.scale(vars.$clr-red-10, $lightness: -10%),
|
|
85
|
-
color: var(--
|
|
86
|
-
background-color: var(--
|
|
85
|
+
color: var(--rt-color-red-100),
|
|
86
|
+
background-color: var(--rt-color-red-10),
|
|
87
87
|
),
|
|
88
88
|
fill-red-light-hover: (
|
|
89
89
|
background-color: color.scale(vars.$clr-red-10, $lightness: -10%),
|
|
90
90
|
),
|
|
91
91
|
outline: (
|
|
92
|
-
border: 1px solid var(--
|
|
92
|
+
border: 1px solid var(--rt-color-blue-40),
|
|
93
93
|
),
|
|
94
94
|
outline-blue: (
|
|
95
|
-
color: var(--
|
|
95
|
+
color: var(--rt-color-blue-100),
|
|
96
96
|
),
|
|
97
97
|
outline-base: (
|
|
98
|
-
color: var(--
|
|
98
|
+
color: var(--rt-color-neutral-100),
|
|
99
99
|
),
|
|
100
100
|
disabled: (
|
|
101
|
-
background-color: var(--
|
|
102
|
-
color: var(--
|
|
101
|
+
background-color: var(--rt-color-neutral-5),
|
|
102
|
+
color: var(--rt-color-neutral-40),
|
|
103
103
|
),
|
|
104
104
|
);
|
|
105
105
|
|
|
@@ -8,26 +8,26 @@ $checkbox: (
|
|
|
8
8
|
box: (
|
|
9
9
|
width: 1rem,
|
|
10
10
|
height: 1rem,
|
|
11
|
-
border: 0.125rem solid var(--
|
|
11
|
+
border: 0.125rem solid var(--rt-border-neutral-strong),
|
|
12
12
|
border-radius: 0.25rem,
|
|
13
|
-
background-color: var(--
|
|
13
|
+
background-color: var(--rt-bg-base-base),
|
|
14
14
|
),
|
|
15
15
|
box-active: (
|
|
16
16
|
color: var(--mat-button-text-label-text-color),
|
|
17
17
|
),
|
|
18
18
|
box-inactive: (
|
|
19
|
-
color: var(--
|
|
19
|
+
color: var(--rt-text-base-disabled),
|
|
20
20
|
),
|
|
21
21
|
label: (
|
|
22
22
|
font-size: 1rem,
|
|
23
23
|
font-weight: 500,
|
|
24
|
-
color: var(--
|
|
24
|
+
color: var(--rt-text-base-soft),
|
|
25
25
|
),
|
|
26
26
|
description: (
|
|
27
27
|
margin-top: 0.125rem,
|
|
28
28
|
font-size: 0.75rem,
|
|
29
29
|
font-weight: 500,
|
|
30
|
-
color: var(--
|
|
30
|
+
color: var(--rt-text-base-disabled),
|
|
31
31
|
),
|
|
32
32
|
);
|
|
33
33
|
|
|
@@ -13,12 +13,12 @@ $dynamic-selector: (
|
|
|
13
13
|
),
|
|
14
14
|
item-mover: (
|
|
15
15
|
padding: 0 0.25rem 0 0,
|
|
16
|
-
border-right: 1px solid var(--
|
|
16
|
+
border-right: 1px solid var(--rt-border-neutral-divider),
|
|
17
17
|
margin-right: 0.75rem,
|
|
18
18
|
),
|
|
19
19
|
item-control: (
|
|
20
20
|
padding: 0 0.25rem 0 0.25rem,
|
|
21
|
-
border-right: 1px solid var(--
|
|
21
|
+
border-right: 1px solid var(--rt-border-neutral-divider),
|
|
22
22
|
gap: 0.5rem,
|
|
23
23
|
),
|
|
24
24
|
item-control-last-child: (
|
|
@@ -26,13 +26,13 @@ $dynamic-selector: (
|
|
|
26
26
|
border-right: none,
|
|
27
27
|
),
|
|
28
28
|
item-control-button-active: (
|
|
29
|
-
color: var(--
|
|
29
|
+
color: var(--rt-text-accent-danger),
|
|
30
30
|
),
|
|
31
31
|
item-control-icon: (
|
|
32
32
|
size: 1.125rem,
|
|
33
33
|
),
|
|
34
34
|
item-drag-preview: (
|
|
35
|
-
box-shadow: 0 0.5rem 1rem 0 var(--
|
|
35
|
+
box-shadow: 0 0.5rem 1rem 0 var(--rt-shadow-color),
|
|
36
36
|
),
|
|
37
37
|
);
|
|
38
38
|
|