@fastwork/xosmoz-theme 0.55.0 → 0.57.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.
- package/README.md +37 -23
- package/dist/dart/xz_colors.generated.dart +9 -97
- package/dist/figma-plugin.zip +0 -0
- package/dist/figma-tokens/Dark.json +18 -466
- package/dist/figma-tokens/Light.json +14 -406
- package/dist/index.js +69 -69
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +69 -69
- package/dist/index.mjs.map +1 -1
- package/dist/themes/dark.css +37 -37
- package/dist/themes/light.css +32 -32
- package/dist/themes.css +69 -69
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,17 +61,19 @@ Surface and layout colors that adapt between light and dark themes.
|
|
|
61
61
|
|
|
62
62
|
| Variable | Purpose |
|
|
63
63
|
|----------|---------|
|
|
64
|
+
| `--xz-color-surface-50` | Base white surface |
|
|
64
65
|
| `--xz-color-surface-100` | Primary page background |
|
|
65
66
|
| `--xz-color-surface-200` | Elevated surface (cards, modals) |
|
|
66
67
|
| `--xz-color-surface-300` | Table headers, sidebars |
|
|
67
68
|
| `--xz-color-surface-400` | Popovers, tooltips |
|
|
68
69
|
| `--xz-color-text-100` | Primary text |
|
|
69
70
|
| `--xz-color-text-200` | Secondary/muted text (70% opacity) |
|
|
70
|
-
| `--xz-color-text-300` | Tertiary/disabled text (
|
|
71
|
+
| `--xz-color-text-300` | Tertiary/disabled text (60% opacity) |
|
|
71
72
|
| `--xz-color-bg-100` | Extreme base background (near-black in light, near-white in dark) |
|
|
73
|
+
| `--xz-color-bg-200` | Darker base background |
|
|
72
74
|
| `--xz-color-fg-100` | Text on `bg-100` (white in light, black in dark) |
|
|
73
|
-
| `--xz-color-soft-100` | Very subtle overlay (
|
|
74
|
-
| `--xz-color-soft-200` | Subtle overlay (
|
|
75
|
+
| `--xz-color-soft-100` | Very subtle overlay (4% opacity of bg) |
|
|
76
|
+
| `--xz-color-soft-200` | Subtle overlay (7% opacity of bg) |
|
|
75
77
|
| `--xz-color-line-50` | Subtle borders |
|
|
76
78
|
| `--xz-color-line-100` | Default borders |
|
|
77
79
|
| `--xz-color-line-200` | Strong/emphasized borders |
|
|
@@ -87,6 +89,8 @@ Each category follows the same token structure — replace `{name}` with the cat
|
|
|
87
89
|
|----------|---------|
|
|
88
90
|
| `--xz-color-{name}-soft-100` | Lightest tinted background (badges, highlights) |
|
|
89
91
|
| `--xz-color-{name}-soft-200` | Stronger tinted background (hover states) |
|
|
92
|
+
| `--xz-color-{name}-soft-solid-100` | Light color-mixed background (solid, no transparency) |
|
|
93
|
+
| `--xz-color-{name}-soft-solid-200` | Stronger color-mixed background (solid, no transparency) |
|
|
90
94
|
| `--xz-color-{name}-line-100` | Subtle colored border |
|
|
91
95
|
| `--xz-color-{name}-line-200` | Default colored border (input focus) |
|
|
92
96
|
| `--xz-color-{name}-line-300` | Strong colored border (active states) |
|
|
@@ -94,8 +98,7 @@ Each category follows the same token structure — replace `{name}` with the cat
|
|
|
94
98
|
| `--xz-color-{name}-bg-200` | Darker solid fill (hover state) |
|
|
95
99
|
| `--xz-color-{name}-fg-100` | Text on solid backgrounds — pair with `bg-100`/`bg-200` (typically white) |
|
|
96
100
|
| `--xz-color-{name}-text-100` | Colored text on surfaces (links, labels) |
|
|
97
|
-
|
|
98
|
-
> **`neutral` exception:** also includes `--xz-color-neutral-text-200` — Muted neutral text, lighter than `text-100`.
|
|
101
|
+
| `--xz-color-{name}-text-200` | Darker colored text on surfaces |
|
|
99
102
|
|
|
100
103
|
**Usage example:**
|
|
101
104
|
|
|
@@ -117,6 +120,16 @@ Each category follows the same token structure — replace `{name}` with the cat
|
|
|
117
120
|
}
|
|
118
121
|
```
|
|
119
122
|
|
|
123
|
+
### Alpha Overlays
|
|
124
|
+
|
|
125
|
+
Three alpha overlay scales with steps from 100 (10% opacity) to 1000 (100% opacity):
|
|
126
|
+
|
|
127
|
+
```css
|
|
128
|
+
--xz-color-black-alpha-{100-1000} /* black with increasing opacity */
|
|
129
|
+
--xz-color-white-alpha-{100-1000} /* white with increasing opacity */
|
|
130
|
+
--xz-color-overlay-{100-1000} /* overlay (black-based) with increasing opacity */
|
|
131
|
+
```
|
|
132
|
+
|
|
120
133
|
### Raw Color Palettes
|
|
121
134
|
|
|
122
135
|
Single base color per palette. Available palettes: `fastwork`, `gray`, `green`, `yellow`, `red`, `orange`, `purple`, `cyan`.
|
|
@@ -154,8 +167,8 @@ Each palette color is defined using OKLCH
|
|
|
154
167
|
**Font families:**
|
|
155
168
|
|
|
156
169
|
```css
|
|
157
|
-
--xz-font-family-primary /* system
|
|
158
|
-
--xz-font-family-secondary /* "Fastwork" + "Noto Sans Thai" + system fallbacks */
|
|
170
|
+
--xz-font-family-primary /* "Google Sans" + system sans-serif stack */
|
|
171
|
+
--xz-font-family-secondary /* "Google Sans" + "Fastwork" + "Noto Sans Thai" + system fallbacks */
|
|
159
172
|
```
|
|
160
173
|
|
|
161
174
|
**Line heights:**
|
|
@@ -169,10 +182,10 @@ Each palette color is defined using OKLCH
|
|
|
169
182
|
--xz-line-height-200pct /* 2 */
|
|
170
183
|
```
|
|
171
184
|
|
|
172
|
-
**Font shorthand tokens** —
|
|
185
|
+
**Font shorthand tokens** — headings are responsive (scale down on mobile ≤768px), other tokens use fixed sizes:
|
|
173
186
|
|
|
174
187
|
```css
|
|
175
|
-
/* Headings — secondary font, bold */
|
|
188
|
+
/* Headings — secondary font, bold, responsive */
|
|
176
189
|
--xz-font-heading1 /* 72px desktop / 48px mobile */
|
|
177
190
|
--xz-font-heading2 /* 64px desktop / 43px mobile */
|
|
178
191
|
--xz-font-heading3 /* 56px desktop / 38px mobile */
|
|
@@ -181,24 +194,24 @@ Each palette color is defined using OKLCH
|
|
|
181
194
|
--xz-font-heading6 /* 32px desktop / 24px mobile */
|
|
182
195
|
|
|
183
196
|
/* Titles — primary font, bold */
|
|
184
|
-
--xz-font-title1 /* 24px
|
|
185
|
-
--xz-font-title2 /* 20px
|
|
186
|
-
--xz-font-title3 /* 18px
|
|
187
|
-
--xz-font-title4 /* 16px
|
|
197
|
+
--xz-font-title1 /* 24px */
|
|
198
|
+
--xz-font-title2 /* 20px */
|
|
199
|
+
--xz-font-title3 /* 18px */
|
|
200
|
+
--xz-font-title4 /* 16px */
|
|
188
201
|
|
|
189
202
|
/* Subtitles — primary font, bold or regular */
|
|
190
203
|
--xz-font-subtitle1-bold
|
|
191
|
-
--xz-font-subtitle1-regular /* 16px
|
|
204
|
+
--xz-font-subtitle1-regular /* 16px */
|
|
192
205
|
--xz-font-subtitle2-bold
|
|
193
|
-
--xz-font-subtitle2-regular /* 14px
|
|
206
|
+
--xz-font-subtitle2-regular /* 14px */
|
|
194
207
|
--xz-font-subtitle3-bold
|
|
195
|
-
--xz-font-subtitle3-regular /* 12px
|
|
208
|
+
--xz-font-subtitle3-regular /* 12px */
|
|
196
209
|
|
|
197
210
|
/* Body — primary font, regular */
|
|
198
|
-
--xz-font-body1 /* 16px
|
|
199
|
-
--xz-font-body2 /* 14px
|
|
200
|
-
--xz-font-body3 /* 12px
|
|
201
|
-
--xz-font-body4 /* 10px
|
|
211
|
+
--xz-font-body1 /* 16px */
|
|
212
|
+
--xz-font-body2 /* 14px */
|
|
213
|
+
--xz-font-body3 /* 12px */
|
|
214
|
+
--xz-font-body4 /* 10px */
|
|
202
215
|
```
|
|
203
216
|
|
|
204
217
|
Usage: `font: var(--xz-font-heading1);`
|
|
@@ -224,7 +237,7 @@ lightTheme.palette.fastwork.value // 'oklch(0.57 0.237 260.608)'
|
|
|
224
237
|
|
|
225
238
|
// Access semantic colors
|
|
226
239
|
lightTheme.colors.primary.bg[100] // solid fill color
|
|
227
|
-
lightTheme.colors.primary.fg[100] // 'oklch(1 0 0 /
|
|
240
|
+
lightTheme.colors.primary.fg[100] // 'oklch(1 0 0 / 1)' — white for text on solid bg
|
|
228
241
|
lightTheme.colors.primary.text[100] // colored text
|
|
229
242
|
lightTheme.colors.orange.bg[100] // orange solid fill
|
|
230
243
|
lightTheme.colors.purple.soft[100] // purple tinted background
|
|
@@ -251,8 +264,8 @@ import { fontSize, fontWeight, fontFamily, lineHeight, font, typography } from '
|
|
|
251
264
|
fontSize[400] // '1rem'
|
|
252
265
|
fontSize[700] // '1.5rem'
|
|
253
266
|
fontWeight[700] // 700
|
|
254
|
-
fontFamily.primary // system sans-serif stack
|
|
255
|
-
fontFamily.secondary // "Fastwork" + fallbacks
|
|
267
|
+
fontFamily.primary // "Google Sans" + system sans-serif stack
|
|
268
|
+
fontFamily.secondary // "Google Sans" + "Fastwork" + "Noto Sans Thai" + fallbacks
|
|
256
269
|
lineHeight['150pct'] // '1.5'
|
|
257
270
|
|
|
258
271
|
// Semantic font tokens
|
|
@@ -393,6 +406,7 @@ Then activate it:
|
|
|
393
406
|
| `@fastwork/xosmoz-theme/themes.css` | All themes (light + dark) |
|
|
394
407
|
| `@fastwork/xosmoz-theme/themes/light.css` | Light theme colors only |
|
|
395
408
|
| `@fastwork/xosmoz-theme/themes/dark.css` | Dark theme colors only |
|
|
409
|
+
| `@fastwork/xosmoz-theme/llms.txt` | LLM context file for AI tooling |
|
|
396
410
|
|
|
397
411
|
## Development
|
|
398
412
|
|
|
@@ -179,14 +179,6 @@ class XzColors {
|
|
|
179
179
|
300: Color(0xF7BABEC4),
|
|
180
180
|
}),
|
|
181
181
|
primary: XzRoleColor(
|
|
182
|
-
soft: {
|
|
183
|
-
100: Color(0x140057D8),
|
|
184
|
-
200: Color(0x1F0057D8),
|
|
185
|
-
},
|
|
186
|
-
softSolid: {
|
|
187
|
-
100: Color(0xFFE1E9F7),
|
|
188
|
-
200: Color(0xFFD3E0F6),
|
|
189
|
-
},
|
|
190
182
|
line: {
|
|
191
183
|
100: Color(0xFFBED2F4),
|
|
192
184
|
200: Color(0xFF84ACED),
|
|
@@ -205,14 +197,6 @@ class XzColors {
|
|
|
205
197
|
},
|
|
206
198
|
),
|
|
207
199
|
danger: XzRoleColor(
|
|
208
|
-
soft: {
|
|
209
|
-
100: Color(0x14BC0002),
|
|
210
|
-
200: Color(0x1FBC0002),
|
|
211
|
-
},
|
|
212
|
-
softSolid: {
|
|
213
|
-
100: Color(0xFFF6E4E1),
|
|
214
|
-
200: Color(0xFFF4D7D3),
|
|
215
|
-
},
|
|
216
200
|
line: {
|
|
217
201
|
100: Color(0xFFF1C5BE),
|
|
218
202
|
200: Color(0xFFE49285),
|
|
@@ -231,14 +215,6 @@ class XzColors {
|
|
|
231
215
|
},
|
|
232
216
|
),
|
|
233
217
|
success: XzRoleColor(
|
|
234
|
-
soft: {
|
|
235
|
-
100: Color(0x14007915),
|
|
236
|
-
200: Color(0x1F007915),
|
|
237
|
-
},
|
|
238
|
-
softSolid: {
|
|
239
|
-
100: Color(0xFFE2ECE2),
|
|
240
|
-
200: Color(0xFFD5E4D4),
|
|
241
|
-
},
|
|
242
218
|
line: {
|
|
243
219
|
100: Color(0xFFC2D8C1),
|
|
244
220
|
200: Color(0xFF8CB98A),
|
|
@@ -257,14 +233,6 @@ class XzColors {
|
|
|
257
233
|
},
|
|
258
234
|
),
|
|
259
235
|
warning: XzRoleColor(
|
|
260
|
-
soft: {
|
|
261
|
-
100: Color(0x14835B00),
|
|
262
|
-
200: Color(0x1F835B00),
|
|
263
|
-
},
|
|
264
|
-
softSolid: {
|
|
265
|
-
100: Color(0xFFECE8E1),
|
|
266
|
-
200: Color(0xFFE5DED3),
|
|
267
|
-
},
|
|
268
236
|
line: {
|
|
269
237
|
100: Color(0xFFDACFBF),
|
|
270
238
|
200: Color(0xFFBDA886),
|
|
@@ -283,14 +251,6 @@ class XzColors {
|
|
|
283
251
|
},
|
|
284
252
|
),
|
|
285
253
|
info: XzRoleColor(
|
|
286
|
-
soft: {
|
|
287
|
-
100: Color(0x14007081),
|
|
288
|
-
200: Color(0x1F007081),
|
|
289
|
-
},
|
|
290
|
-
softSolid: {
|
|
291
|
-
100: Color(0xFFE2EAEC),
|
|
292
|
-
200: Color(0xFFD5E2E5),
|
|
293
|
-
},
|
|
294
254
|
line: {
|
|
295
255
|
100: Color(0xFFC2D5DA),
|
|
296
256
|
200: Color(0xFF8CB3BB),
|
|
@@ -310,12 +270,12 @@ class XzColors {
|
|
|
310
270
|
),
|
|
311
271
|
neutral: XzRoleColor(
|
|
312
272
|
soft: {
|
|
313
|
-
100: Color(
|
|
314
|
-
200: Color(
|
|
273
|
+
100: Color(0x14596476),
|
|
274
|
+
200: Color(0x1F596476),
|
|
315
275
|
},
|
|
316
276
|
softSolid: {
|
|
317
|
-
100: Color(
|
|
318
|
-
200: Color(
|
|
277
|
+
100: Color(0xFFE7E8EB),
|
|
278
|
+
200: Color(0xFFDDDFE2),
|
|
319
279
|
},
|
|
320
280
|
line: {
|
|
321
281
|
100: Color(0xFFBED2F3),
|
|
@@ -368,14 +328,6 @@ class XzColors {
|
|
|
368
328
|
300: Color(0xF2757A87),
|
|
369
329
|
}),
|
|
370
330
|
primary: XzRoleColor(
|
|
371
|
-
soft: {
|
|
372
|
-
100: Color(0x147EAEFF),
|
|
373
|
-
200: Color(0x1F7EAEFF),
|
|
374
|
-
},
|
|
375
|
-
softSolid: {
|
|
376
|
-
100: Color(0xFF32394A),
|
|
377
|
-
200: Color(0xFF364054),
|
|
378
|
-
},
|
|
379
331
|
line: {
|
|
380
332
|
100: Color(0xFF3E4B65),
|
|
381
333
|
200: Color(0xFF526A95),
|
|
@@ -394,14 +346,6 @@ class XzColors {
|
|
|
394
346
|
},
|
|
395
347
|
),
|
|
396
348
|
danger: XzRoleColor(
|
|
397
|
-
soft: {
|
|
398
|
-
100: Color(0x14FF8575),
|
|
399
|
-
200: Color(0x1FFF8575),
|
|
400
|
-
},
|
|
401
|
-
softSolid: {
|
|
402
|
-
100: Color(0xFF3D363F),
|
|
403
|
-
200: Color(0xFF493C43),
|
|
404
|
-
},
|
|
405
349
|
line: {
|
|
406
350
|
100: Color(0xFF5B4448),
|
|
407
351
|
200: Color(0xFF8F5A58),
|
|
@@ -420,14 +364,6 @@ class XzColors {
|
|
|
420
364
|
},
|
|
421
365
|
),
|
|
422
366
|
success: XzRoleColor(
|
|
423
|
-
soft: {
|
|
424
|
-
100: Color(0x144BCD51),
|
|
425
|
-
200: Color(0x1F4BCD51),
|
|
426
|
-
},
|
|
427
|
-
softSolid: {
|
|
428
|
-
100: Color(0xFF2F3C3D),
|
|
429
|
-
200: Color(0xFF324540),
|
|
430
|
-
},
|
|
431
367
|
line: {
|
|
432
368
|
100: Color(0xFF365343),
|
|
433
369
|
200: Color(0xFF3F794B),
|
|
@@ -446,14 +382,6 @@ class XzColors {
|
|
|
446
382
|
},
|
|
447
383
|
),
|
|
448
384
|
warning: XzRoleColor(
|
|
449
|
-
soft: {
|
|
450
|
-
100: Color(0x14E2A000),
|
|
451
|
-
200: Color(0x1FE2A000),
|
|
452
|
-
},
|
|
453
|
-
softSolid: {
|
|
454
|
-
100: Color(0xFF3A393B),
|
|
455
|
-
200: Color(0xFF443F3C),
|
|
456
|
-
},
|
|
457
385
|
line: {
|
|
458
386
|
100: Color(0xFF53493D),
|
|
459
387
|
200: Color(0xFF80653B),
|
|
@@ -472,14 +400,6 @@ class XzColors {
|
|
|
472
400
|
},
|
|
473
401
|
),
|
|
474
402
|
info: XzRoleColor(
|
|
475
|
-
soft: {
|
|
476
|
-
100: Color(0x1400C3DF),
|
|
477
|
-
200: Color(0x1F00C3DF),
|
|
478
|
-
},
|
|
479
|
-
softSolid: {
|
|
480
|
-
100: Color(0xFF2D3B47),
|
|
481
|
-
200: Color(0xFF2F4350),
|
|
482
|
-
},
|
|
483
403
|
line: {
|
|
484
404
|
100: Color(0xFF32505E),
|
|
485
405
|
200: Color(0xFF337487),
|
|
@@ -498,18 +418,10 @@ class XzColors {
|
|
|
498
418
|
},
|
|
499
419
|
),
|
|
500
420
|
neutral: XzRoleColor(
|
|
501
|
-
soft: {
|
|
502
|
-
100: Color(0x147CAEFF),
|
|
503
|
-
200: Color(0x1F7CAEFF),
|
|
504
|
-
},
|
|
505
|
-
softSolid: {
|
|
506
|
-
100: Color(0xFF31394A),
|
|
507
|
-
200: Color(0xFF364054),
|
|
508
|
-
},
|
|
509
421
|
line: {
|
|
510
|
-
100: Color(
|
|
511
|
-
200: Color(
|
|
512
|
-
300: Color(
|
|
422
|
+
100: Color(0xFF454B58),
|
|
423
|
+
200: Color(0xFF626B7A),
|
|
424
|
+
300: Color(0xFF757F8F),
|
|
513
425
|
},
|
|
514
426
|
bg: {
|
|
515
427
|
100: Color(0xFF798598),
|
|
@@ -519,8 +431,8 @@ class XzColors {
|
|
|
519
431
|
100: Color(0xFFFFFFFF),
|
|
520
432
|
},
|
|
521
433
|
text: {
|
|
522
|
-
100: Color(
|
|
523
|
-
200: Color(
|
|
434
|
+
100: Color(0xFFA2AFC3),
|
|
435
|
+
200: Color(0xFFC2CFE3),
|
|
524
436
|
},
|
|
525
437
|
),
|
|
526
438
|
);
|
package/dist/figma-plugin.zip
CHANGED
|
Binary file
|