@fastwork/xosmoz-theme 0.40.0 → 0.42.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 CHANGED
@@ -78,7 +78,7 @@ Surface and layout colors that adapt between light and dark themes.
78
78
 
79
79
  ### Semantic Colors
80
80
 
81
- Six semantic categories: `primary`, `danger`, `success`, `warning`, `info`, `neutral`.
81
+ Eight semantic categories: `primary`, `danger`, `success`, `warning`, `info`, `neutral`, `orange`, `purple`.
82
82
 
83
83
  Each category follows the same token structure — replace `{name}` with the category:
84
84
 
@@ -116,16 +116,13 @@ Each category follows the same token structure — replace `{name}` with the cat
116
116
 
117
117
  ### Raw Color Palettes
118
118
 
119
- 10-step scales (100–1000) for each palette. Available palettes: `fastwork`, `gray`, `green`, `mint`, `amber`, `red`, `orange`, `purple`, `cyan`, `black-alpha`, `white-alpha`.
119
+ Single base color per palette. Available palettes: `fastwork`, `gray`, `green`, `yellow`, `red`, `orange`, `purple`, `cyan`.
120
120
 
121
121
  ```css
122
- --xz-color-{palette}-100 /* lightest */
123
- --xz-color-{palette}-200
124
- /* ... */
125
- --xz-color-{palette}-1000 /* darkest */
122
+ --xz-color-{palette} /* palette base color */
126
123
  ```
127
124
 
128
- Alpha palettes (`black-alpha`, `white-alpha`) use opacity steps from 0.1 to 1.0.
125
+ Each palette color is defined using OKLCH
129
126
 
130
127
  ### Typography
131
128
 
@@ -220,13 +217,14 @@ Usage: `font: var(--xz-font-heading1);`
220
217
  import { lightTheme, darkTheme, themes, getTheme, getThemeNames } from '@fastwork/xosmoz-theme';
221
218
 
222
219
  // Access raw palette colors
223
- lightTheme.colors.fastwork[600] // 'oklch(0.613 0.233 260.608)'
224
- lightTheme.colors.gray[300] // 'oklch(0.792 0.006 264.532)'
220
+ lightTheme.palette.fastwork.value // 'oklch(0.57 0.237 260.608)'
225
221
 
226
222
  // Access semantic colors
227
223
  lightTheme.colors.primary.bg[100] // solid fill color
228
224
  lightTheme.colors.primary.fg[100] // 'oklch(1 0 0 / 0.95)' — white for text on solid bg
229
225
  lightTheme.colors.primary.text[100] // colored text
226
+ lightTheme.colors.orange.bg[100] // orange solid fill
227
+ lightTheme.colors.purple.soft[100] // purple tinted background
230
228
 
231
229
  // Access base tokens
232
230
  lightTheme.colors.surface[200] // card background
@@ -37,10 +37,11 @@ class XzBaseScale {
37
37
  Color get shade400 => _shades[400]!;
38
38
  }
39
39
 
40
- /// Semantic role color with soft, line, bg, fg, text sub-groups.
40
+ /// Semantic role color with soft, softSolid, line, bg, fg, text sub-groups.
41
41
  class XzRoleColor {
42
42
  const XzRoleColor({
43
43
  this.soft = const {},
44
+ this.softSolid = const {},
44
45
  this.line = const {},
45
46
  this.bg = const {},
46
47
  this.fg = const {},
@@ -48,6 +49,7 @@ class XzRoleColor {
48
49
  });
49
50
 
50
51
  final Map<int, Color> soft;
52
+ final Map<int, Color> softSolid;
51
53
  final Map<int, Color> line;
52
54
  final Map<int, Color> bg;
53
55
  final Map<int, Color> fg;
@@ -55,6 +57,8 @@ class XzRoleColor {
55
57
 
56
58
  Color get soft100 => soft[100]!;
57
59
  Color get soft200 => soft[200]!;
60
+ Color get softSolid100 => softSolid[100]!;
61
+ Color get softSolid200 => softSolid[200]!;
58
62
  Color get line100 => line[100]!;
59
63
  Color get line200 => line[200]!;
60
64
  Color get line300 => line[300]!;
@@ -67,120 +71,31 @@ class XzRoleColor {
67
71
  /// Palette colors — theme-independent. Access directly: XzPalette.fastwork.shade600
68
72
  abstract class XzPalette {
69
73
  static const fastwork = XzColorSwatch({
70
- 100: Color(0xFFE6F0FF),
71
- 200: Color(0xFFBDD6FF),
72
- 300: Color(0xFF94BCFF),
73
- 400: Color(0xFF6BA1FF),
74
- 500: Color(0xFF508FFF),
75
- 600: Color(0xFF2F7CFF),
76
- 700: Color(0xFF0B53C5),
77
- 800: Color(0xFF053F9A),
78
- 900: Color(0xFF042D72),
79
- 1000: Color(0xFF021B4A),
74
+
80
75
  });
81
76
 
82
77
  static const gray = XzColorSwatch({
83
- 100: Color(0xFFEFEFEF),
84
- 200: Color(0xFFD3D5D6),
85
- 300: Color(0xFFB9BBBF),
86
- 400: Color(0xFF9FA3A9),
87
- 500: Color(0xFF8A94A3),
88
- 600: Color(0xFF798598),
89
- 700: Color(0xFF4F5D72),
90
- 800: Color(0xFF3E4856),
91
- 900: Color(0xFF2B333E),
92
- 1000: Color(0xFF191F28),
93
- });
94
78
 
95
- static const green = XzColorSwatch({
96
- 100: Color(0xFFE5F4E5),
97
- 200: Color(0xFFB9E1B9),
98
- 300: Color(0xFF84D08D),
99
- 400: Color(0xFF47BF55),
100
- 500: Color(0xFF00B231),
101
- 600: Color(0xFF00A01F),
102
- 700: Color(0xFF007113),
103
- 800: Color(0xFF00570C),
104
- 900: Color(0xFF003F06),
105
- 1000: Color(0xFF002703),
106
79
  });
107
80
 
108
- static const mint = XzColorSwatch({
109
- 100: Color(0xFFE0F5EB),
110
- 200: Color(0xFFAAE4C9),
111
- 300: Color(0xFF65D4A8),
112
- 400: Color(0xFF00BF8B),
113
- 500: Color(0xFF00AE7E),
114
- 600: Color(0xFF009C6D),
115
- 700: Color(0xFF006F43),
116
- 800: Color(0xFF005630),
117
- 900: Color(0xFF003E21),
118
- 1000: Color(0xFF002614),
119
- });
81
+ static const green = XzColorSwatch({
120
82
 
121
- static const amber = XzColorSwatch({
122
- 100: Color(0xFFF5EEDC),
123
- 200: Color(0xFFE7D3A1),
124
- 300: Color(0xFFDBB758),
125
- 400: Color(0xFFCA9B00),
126
- 500: Color(0xFFBA8B00),
127
- 600: Color(0xFFFFB504),
128
- 700: Color(0xFF844E00),
129
- 800: Color(0xFF673B00),
130
- 900: Color(0xFF4A2A00),
131
- 1000: Color(0xFF2D1A00),
132
83
  });
133
84
 
134
85
  static const red = XzColorSwatch({
135
- 100: Color(0xFFFFE9E5),
136
- 200: Color(0xFFFFC4BA),
137
- 300: Color(0xFFFF9D8C),
138
- 400: Color(0xFFFF6E5A),
139
- 500: Color(0xFFFF4733),
140
- 600: Color(0xFFF02816),
141
- 700: Color(0xFFAE0D00),
142
- 800: Color(0xFF880700),
143
- 900: Color(0xFF640400),
144
- 1000: Color(0xFF410200),
86
+
145
87
  });
146
88
 
147
89
  static const orange = XzColorSwatch({
148
- 100: Color(0xFFFAECDD),
149
- 200: Color(0xFFF3CDA4),
150
- 300: Color(0xFFEFAB61),
151
- 400: Color(0xFFE58900),
152
- 500: Color(0xFFD57900),
153
- 600: Color(0xFFFFB504),
154
- 700: Color(0xFF914300),
155
- 800: Color(0xFF742F00),
156
- 900: Color(0xFF552100),
157
- 1000: Color(0xFF341500),
90
+
158
91
  });
159
92
 
160
93
  static const purple = XzColorSwatch({
161
- 100: Color(0xFFF1EBFE),
162
- 200: Color(0xFFDBCBFC),
163
- 300: Color(0xFFC6A9FE),
164
- 400: Color(0xFFAF88FF),
165
- 500: Color(0xFFA171FF),
166
- 600: Color(0xFF9059FF),
167
- 700: Color(0xFF673ABA),
168
- 800: Color(0xFF502A91),
169
- 900: Color(0xFF3A1D6B),
170
- 1000: Color(0xFF231045),
94
+
171
95
  });
172
96
 
173
97
  static const cyan = XzColorSwatch({
174
- 100: Color(0xFFDEF3FC),
175
- 200: Color(0xFF9FE2EE),
176
- 300: Color(0xFF42D0E6),
177
- 400: Color(0xFF00B7CD),
178
- 500: Color(0xFF00A6BA),
179
- 600: Color(0xFF0094AA),
180
- 700: Color(0xFF00677E),
181
- 800: Color(0xFF004F63),
182
- 900: Color(0xFF003948),
183
- 1000: Color(0xFF00232C),
98
+
184
99
  });
185
100
 
186
101
  }
@@ -255,7 +170,7 @@ class XzColors {
255
170
  text: XzBaseScale({
256
171
  100: Color(0xFF18181B),
257
172
  200: Color(0xB318181B),
258
- 300: Color(0x8018181B),
173
+ 300: Color(0x9918181B),
259
174
  }),
260
175
  line: XzBaseScale({
261
176
  100: Color(0xF2E9EDF4),
@@ -264,107 +179,87 @@ class XzColors {
264
179
  }),
265
180
  primary: XzRoleColor(
266
181
  soft: {
267
- 100: Color(0x1A2F7CFF),
268
- 200: Color(0x292F7CFF),
182
+ 100: Color(0x1A0669FF),
183
+ 200: Color(0x290669FF),
269
184
  },
270
- line: {
271
- 100: Color(0xFFC6DBFF),
272
- 200: Color(0xFF97BEFF),
273
- 300: Color(0xFF7AABFF),
185
+ softSolid: {
186
+ 100: Color(0xFFE0ECFE),
187
+ 200: Color(0xFFD3E4FF),
274
188
  },
275
189
  bg: {
276
- 100: Color(0xFF2F7CFF),
277
- 200: Color(0xFF176FFF),
190
+ 100: Color(0xFF0669FF),
191
+ 200: Color(0xFF0061EF),
278
192
  },
279
193
  fg: {
280
- 100: Color(0xF2FFFFFF),
281
- },
282
- text: {
283
- 100: Color(0xFF2F7CFF),
194
+ 100: Color(0xFFFFFFFF),
284
195
  },
285
196
  ),
286
197
  danger: XzRoleColor(
287
198
  soft: {
288
- 100: Color(0x1AF02816),
289
- 200: Color(0x29F02816),
199
+ 100: Color(0x1AE32A20),
200
+ 200: Color(0x29E32A20),
290
201
  },
291
- line: {
292
- 100: Color(0xFFFDCDC6),
293
- 200: Color(0xFFFEA092),
294
- 300: Color(0xFFFC8372),
202
+ softSolid: {
203
+ 100: Color(0xFFF8E7E7),
204
+ 200: Color(0xFFF9DCDA),
295
205
  },
296
206
  bg: {
297
- 100: Color(0xFFF02816),
298
- 200: Color(0xFFE51401),
207
+ 100: Color(0xFFE32A20),
208
+ 200: Color(0xFFD81912),
299
209
  },
300
210
  fg: {
301
- 100: Color(0xF2FFFFFF),
302
- },
303
- text: {
304
- 100: Color(0xFFF02816),
211
+ 100: Color(0xFFFFFFFF),
305
212
  },
306
213
  ),
307
214
  success: XzRoleColor(
308
215
  soft: {
309
- 100: Color(0x1A00A01F),
310
- 200: Color(0x2900A01F),
216
+ 100: Color(0x1A15C02D),
217
+ 200: Color(0x2915C02D),
311
218
  },
312
- line: {
313
- 100: Color(0xFFC2E5C5),
314
- 200: Color(0xFF8CD08E),
315
- 300: Color(0xFF69C46C),
219
+ softSolid: {
220
+ 100: Color(0xFFE5F4E9),
221
+ 200: Color(0xFFDAF1DE),
316
222
  },
317
223
  bg: {
318
- 100: Color(0xFF00A01F),
319
- 200: Color(0xFF00961C),
224
+ 100: Color(0xFF15C02D),
225
+ 200: Color(0xFF00B625),
320
226
  },
321
227
  fg: {
322
- 100: Color(0xF2FFFFFF),
323
- },
324
- text: {
325
- 100: Color(0xFF00A01F),
228
+ 100: Color(0xF2000000),
326
229
  },
327
230
  ),
328
231
  warning: XzRoleColor(
329
232
  soft: {
330
- 100: Color(0x1AFFB504),
331
- 200: Color(0x29FFB504),
233
+ 100: Color(0x1AFFB508),
234
+ 200: Color(0x29FFB508),
332
235
  },
333
- line: {
334
- 100: Color(0xFFFAE9CF),
335
- 200: Color(0xFFFCD9A0),
336
- 300: Color(0xFFFECE81),
236
+ softSolid: {
237
+ 100: Color(0xFFF7F3EA),
238
+ 200: Color(0xFFF8EFDF),
337
239
  },
338
240
  bg: {
339
- 100: Color(0xFFFFB504),
241
+ 100: Color(0xFFFFB508),
340
242
  200: Color(0xFFF3AC00),
341
243
  },
342
244
  fg: {
343
- 100: Color(0xF2FFFFFF),
344
- },
345
- text: {
346
- 100: Color(0xFFFFB504),
245
+ 100: Color(0xF2000000),
347
246
  },
348
247
  ),
349
248
  info: XzRoleColor(
350
249
  soft: {
351
- 100: Color(0x1A0094AA),
352
- 200: Color(0x290094AA),
250
+ 100: Color(0x1A00CAE7),
251
+ 200: Color(0x2900CAE7),
353
252
  },
354
- line: {
355
- 100: Color(0xFFADE5F4),
356
- 200: Color(0xFF4CD0EA),
357
- 300: Color(0xFF00C0DC),
253
+ softSolid: {
254
+ 100: Color(0xFFE6F5FA),
255
+ 200: Color(0xFFDCF2F9),
358
256
  },
359
257
  bg: {
360
- 100: Color(0xFF0094AA),
361
- 200: Color(0xFF008A9F),
258
+ 100: Color(0xFF00CAE7),
259
+ 200: Color(0xFF00C0DB),
362
260
  },
363
261
  fg: {
364
- 100: Color(0xF2FFFFFF),
365
- },
366
- text: {
367
- 100: Color(0xFF0094AA),
262
+ 100: Color(0xF2000000),
368
263
  },
369
264
  ),
370
265
  neutral: XzRoleColor(
@@ -372,10 +267,9 @@ class XzColors {
372
267
  100: Color(0x1A798598),
373
268
  200: Color(0x29798598),
374
269
  },
375
- line: {
376
- 100: Color(0xFFD6DAE2),
377
- 200: Color(0xFFB6BDC9),
378
- 300: Color(0xFFA3ACBA),
270
+ softSolid: {
271
+ 100: Color(0xFFE9EDF2),
272
+ 200: Color(0xFFE1E6EB),
379
273
  },
380
274
  bg: {
381
275
  100: Color(0xFF798598),
@@ -384,9 +278,6 @@ class XzColors {
384
278
  fg: {
385
279
  100: Color(0xFFFFFFFF),
386
280
  },
387
- text: {
388
- 100: Color(0xFF798598),
389
- },
390
281
  ),
391
282
  );
392
283
 
@@ -412,8 +303,8 @@ class XzColors {
412
303
  }),
413
304
  text: XzBaseScale({
414
305
  100: Color(0xFFEEF2F9),
415
- 200: Color(0x99EEF2F9),
416
- 300: Color(0x80EEF2F9),
306
+ 200: Color(0xA6EEF2F9),
307
+ 300: Color(0x8CEEF2F9),
417
308
  }),
418
309
  line: XzBaseScale({
419
310
  100: Color(0xF23E424D),
@@ -422,107 +313,87 @@ class XzColors {
422
313
  }),
423
314
  primary: XzRoleColor(
424
315
  soft: {
425
- 100: Color(0x1A2F7CFF),
426
- 200: Color(0x292F7CFF),
316
+ 100: Color(0x1A0669FF),
317
+ 200: Color(0x290669FF),
427
318
  },
428
- line: {
429
- 100: Color(0xFF2C4169),
430
- 200: Color(0xFF2C549C),
431
- 300: Color(0xFF2B5FBD),
319
+ softSolid: {
320
+ 100: Color(0xFF2A354A),
321
+ 200: Color(0xFF2A3955),
432
322
  },
433
323
  bg: {
434
- 100: Color(0xFF2F7CFF),
435
- 200: Color(0xFF4F8FFF),
324
+ 100: Color(0xFF0669FF),
325
+ 200: Color(0xFF347EFF),
436
326
  },
437
327
  fg: {
438
- 100: Color(0xF2FFFFFF),
439
- },
440
- text: {
441
- 100: Color(0xFF85B2FF),
328
+ 100: Color(0xFFFFFFFF),
442
329
  },
443
330
  ),
444
331
  danger: XzRoleColor(
445
332
  soft: {
446
- 100: Color(0x1AF02816),
447
- 200: Color(0x29F02816),
333
+ 100: Color(0x1AE32A20),
334
+ 200: Color(0x29E32A20),
448
335
  },
449
- line: {
450
- 100: Color(0xFF5A3638),
451
- 200: Color(0xFF8B3A35),
452
- 300: Color(0xFFA83931),
336
+ softSolid: {
337
+ 100: Color(0xFF3D3238),
338
+ 200: Color(0xFF483439),
453
339
  },
454
340
  bg: {
455
- 100: Color(0xFFF02816),
456
- 200: Color(0xFFFF4632),
341
+ 100: Color(0xFFE32A20),
342
+ 200: Color(0xFFF64032),
457
343
  },
458
344
  fg: {
459
- 100: Color(0xF2FFFFFF),
460
- },
461
- text: {
462
- 100: Color(0xFFFF8D7B),
345
+ 100: Color(0xFFFFFFFF),
463
346
  },
464
347
  ),
465
348
  success: XzRoleColor(
466
349
  soft: {
467
- 100: Color(0x1A00A01F),
468
- 200: Color(0x2900A01F),
350
+ 100: Color(0x1A15C02D),
351
+ 200: Color(0x2915C02D),
469
352
  },
470
- line: {
471
- 100: Color(0xFF294A37),
472
- 200: Color(0xFF1F6731),
473
- 300: Color(0xFF0E7929),
353
+ softSolid: {
354
+ 100: Color(0xFF2D3C3B),
355
+ 200: Color(0xFF2F443C),
474
356
  },
475
357
  bg: {
476
- 100: Color(0xFF00A01F),
477
- 200: Color(0xFF00B224),
358
+ 100: Color(0xFF15C02D),
359
+ 200: Color(0xFF35D141),
478
360
  },
479
361
  fg: {
480
- 100: Color(0xF2FFFFFF),
481
- },
482
- text: {
483
- 100: Color(0xFF2CD53D),
362
+ 100: Color(0xF2000000),
484
363
  },
485
364
  ),
486
365
  warning: XzRoleColor(
487
366
  soft: {
488
- 100: Color(0x1AFFB504),
489
- 200: Color(0x29FFB504),
367
+ 100: Color(0x1AFFB508),
368
+ 200: Color(0x29FFB508),
490
369
  },
491
- line: {
492
- 100: Color(0xFF594E3F),
493
- 200: Color(0xFF8D6F3F),
494
- 300: Color(0xFFAE843B),
370
+ softSolid: {
371
+ 100: Color(0xFF3D3B3B),
372
+ 200: Color(0xFF48423D),
495
373
  },
496
374
  bg: {
497
- 100: Color(0xFFFFB504),
375
+ 100: Color(0xFFFFB508),
498
376
  200: Color(0xFFFFCC76),
499
377
  },
500
378
  fg: {
501
- 100: Color(0xF2FFFFFF),
502
- },
503
- text: {
504
- 100: Color(0xFFFFF4E4),
379
+ 100: Color(0xF2000000),
505
380
  },
506
381
  ),
507
382
  info: XzRoleColor(
508
383
  soft: {
509
- 100: Color(0x1A0094AA),
510
- 200: Color(0x290094AA),
384
+ 100: Color(0x1A00CAE7),
385
+ 200: Color(0x2900CAE7),
511
386
  },
512
- line: {
513
- 100: Color(0xFF07495C),
514
- 200: Color(0xFF006274),
515
- 300: Color(0xFF007184),
387
+ softSolid: {
388
+ 100: Color(0xFF2E3C47),
389
+ 200: Color(0xFF304451),
516
390
  },
517
391
  bg: {
518
- 100: Color(0xFF0094AA),
519
- 200: Color(0xFF00A5BD),
392
+ 100: Color(0xFF00CAE7),
393
+ 200: Color(0xFF31DBF8),
520
394
  },
521
395
  fg: {
522
- 100: Color(0xF2FFFFFF),
523
- },
524
- text: {
525
- 100: Color(0xFF00C7E4),
396
+ 100: Color(0xF2000000),
526
397
  },
527
398
  ),
528
399
  neutral: XzRoleColor(
@@ -530,10 +401,9 @@ class XzColors {
530
401
  100: Color(0x1A798598),
531
402
  200: Color(0x29798598),
532
403
  },
533
- line: {
534
- 100: Color(0xFF3C424E),
535
- 200: Color(0xFF505766),
536
- 300: Color(0xFF5C6575),
404
+ softSolid: {
405
+ 100: Color(0xFF313641),
406
+ 200: Color(0xFF363B46),
537
407
  },
538
408
  bg: {
539
409
  100: Color(0xFF798598),
@@ -542,9 +412,6 @@ class XzColors {
542
412
  fg: {
543
413
  100: Color(0xFFFFFFFF),
544
414
  },
545
- text: {
546
- 100: Color(0xFFA6B3C7),
547
- },
548
415
  ),
549
416
  );
550
417
 
Binary file