@muibook/components 1.2.1 → 1.3.1

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.
@@ -0,0 +1,623 @@
1
+ /* ==================== */
2
+ /* __ __ _ _ ___ */
3
+ /* | \/ | | | |_ _| */
4
+ /* | |\/| | | | || | */
5
+ /* | | | | |_| || | */
6
+ /* |_| |_|\___/|___| */
7
+ /* */
8
+ /* michael.ui.system */
9
+ /* ==================== */
10
+
11
+ /* ==================================================================================================== */
12
+ /* 1. BRAND PRIMITIVES */
13
+ /* ==================================================================================================== */
14
+ :where(html) {
15
+ /* Font-family */
16
+ --font-family: system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
17
+
18
+ /* ================================================================================================== */
19
+ /* Typography on the Web • Orchestrating Vertical Rhythm */
20
+ /* ================================================================================================== */
21
+ /* An introduction to baseline grids and vertical rhythm in web typography. */
22
+ /* The video below explores the history of type through letterpress and how these */
23
+ /* traditional principles can guide modern decisions. */
24
+ /* ================================================================================================== */
25
+ /* Watch: https://youtu.be/FFGSy0EfA9Y by Michael Trilford */
26
+ /* ================================================================================================== */
27
+
28
+ /* ================================================================================================== */
29
+ /* Type Scale */
30
+ /* -------------------------------------------------------------------------------------------------- */
31
+ /* 6px | 7px | 8px | 9px | 10px | 11px | 12px | 14px | 16px | 18px | 21px | 24px | 36px */
32
+ /* 48px | 60px | 72px | 84px | 96px | 108px | 120px | 132px | 144px | 156px | 168px | 180px | 192px */
33
+ /* ================================================================================================== */
34
+
35
+ /* Font-size */
36
+ --font-size-15: 1.1rem;
37
+ --font-size-25: 1.2rem;
38
+ --font-size-50: 1.4rem;
39
+ --font-size-100: 1.6rem;
40
+ --font-size-200: 1.8rem;
41
+ --font-size-300: 2.1rem;
42
+ --font-size-400: 2.4rem;
43
+ --font-size-500: 3.6rem;
44
+ --font-size-600: 4.8rem;
45
+ --font-size-700: 6rem;
46
+ --font-size-800: 7.2rem;
47
+ --font-size-900: 8.4rem;
48
+ --font-size-1000: 9.6rem;
49
+
50
+ /* ================================================================================================= */
51
+ /* Leading Scale */
52
+ /* ------------------------------------------------------------------------------------------------- */
53
+ /* ======================================= 18 / 11 = 1.636 ======================================= */
54
+ /* ======================================= 18 / 12 = 1.500 ======================================= */
55
+ /* ======================================= 21 / 14 = 1.500 ======================================= */
56
+ /* ======================================= 24 / 16 = 1.500 ======================================= */
57
+ /* ======================================= 24 / 18 = 1.333 ======================================= */
58
+ /* ======================================= 24 / 21 = 1.143 ======================================= */
59
+ /* ======================================= 36 / 24 = 1.500 ======================================= */
60
+ /* ======================================= 48 / 36 = 1.333 ======================================= */
61
+ /* ======================================= 60 / 48 = 1.250 ======================================= */
62
+ /* ======================================= 72 / 60 = 1.200 ======================================= */
63
+ /* ======================================= 84 / 72 = 1.167 ======================================= */
64
+ /* ======================================= 96 / 84 = 1.143 ======================================= */
65
+ /* ====================================== 108 / 96 = 1.125 ======================================= */
66
+ /* ================================================================================================= */
67
+
68
+ /* Line-height */
69
+ --line-height-15: 1.63636364;
70
+ --line-height-25: 1.5;
71
+ --line-height-50: 1.5;
72
+ --line-height-100: 1.5;
73
+ --line-height-200: 1.33333333;
74
+ --line-height-300: 1.14285714;
75
+ --line-height-400: 1.5;
76
+ --line-height-500: 1.33333333;
77
+ --line-height-600: 1.25;
78
+ --line-height-700: 1.2;
79
+ --line-height-800: 1.16666667;
80
+ --line-height-900: 1.14285714;
81
+ --line-height-1000: 1.125;
82
+ /* Font Weight */
83
+ --font-weight-400: 400;
84
+ --font-weight-500: 500;
85
+ --font-weight-600: 600;
86
+ --font-weight-700: 700;
87
+ /* Black */
88
+ --black: black;
89
+ --black-opacity-0: hsla(0, 0%, 0%, 0);
90
+ --black-opacity-10: hsla(0, 0%, 0%, 0.1);
91
+ --black-opacity-20: hsla(0, 0%, 0%, 0.2);
92
+ --black-opacity-30: hsla(0, 0%, 0%, 0.3);
93
+ --black-opacity-40: hsla(0, 0%, 0%, 0.4);
94
+ --black-opacity-50: hsla(0, 0%, 0%, 0.5);
95
+ --black-opacity-60: hsla(0, 0%, 0%, 0.6);
96
+ --black-opacity-70: hsla(0, 0%, 0%, 0.7);
97
+ --black-opacity-80: hsla(0, 0%, 0%, 0.8);
98
+ --black-opacity-90: hsla(0, 0%, 0%, 0.9);
99
+ --black-opacity-100: hsla(0, 0%, 0%, 1);
100
+ /* White */
101
+ --white: #ffffff;
102
+ --white-opacity-0: hsla(0, 0%, 100%, 0);
103
+ --white-opacity-10: hsla(0, 0%, 100%, 0.1);
104
+ --white-opacity-20: hsla(0, 0%, 100%, 0.2);
105
+ --white-opacity-30: hsla(0, 0%, 100%, 0.3);
106
+ --white-opacity-40: hsla(0, 0%, 100%, 0.4);
107
+ --white-opacity-50: hsla(0, 0%, 100%, 0.5);
108
+ --white-opacity-60: hsla(0, 0%, 100%, 0.6);
109
+ --white-opacity-70: hsla(0, 0%, 100%, 0.7);
110
+ --white-opacity-80: hsla(0, 0%, 100%, 0.8);
111
+ --white-opacity-90: hsla(0, 0%, 100%, 0.9);
112
+ --white-opacity-100: hsla(0, 0%, 100%, 1);
113
+ /* Grey scale */
114
+ --grey-100: #f5f5f5;
115
+ --grey-200: #e5e5e5;
116
+ --grey-300: #ccc;
117
+ --grey-400: #aaa;
118
+ --grey-500: #888;
119
+ --grey-600: #666;
120
+ --grey-700: #555;
121
+ --grey-800: #444;
122
+ --grey-900: #333;
123
+ --grey-1000: #222;
124
+ --grey-1100: #111;
125
+ /* Red scale */
126
+ --red-100: #ffe5e5;
127
+ --red-200: #fbbcbc;
128
+ --red-300: #f79494;
129
+ --red-400: #f36b6b;
130
+ --red-500: #f74e4e;
131
+ --red-600: #e04343;
132
+ --red-700: #c23c3c;
133
+ --red-800: #a43535;
134
+ --red-900: #862e2e;
135
+ --red-1000: #6a2323;
136
+ /* Orange scale */
137
+ --orange-100: #fff2cc;
138
+ --orange-200: #ffe0a3;
139
+ --orange-300: #ffcc80;
140
+ --orange-400: #ffb84d;
141
+ --orange-500: #ffa500;
142
+ --orange-600: #e59400;
143
+ --orange-700: #cc8300;
144
+ --orange-800: #b37300;
145
+ --orange-900: #996200;
146
+ --orange-1000: #805100;
147
+ /* Green scale */
148
+ --green-100: #e5f9e5;
149
+ --green-200: #c6f3c6;
150
+ --green-300: #a6eda6;
151
+ --green-400: #86e786;
152
+ --green-500: #00bd00;
153
+ --green-600: #00a800;
154
+ --green-700: #009400;
155
+ --green-800: #007f00;
156
+ --green-900: #006b00;
157
+ --green-1000: #005700;
158
+ /* Blue scale */
159
+ --blue-100: #e6f2ff;
160
+ --blue-200: #cce4ff;
161
+ --blue-300: #99caff;
162
+ --blue-400: #85bffb;
163
+ --blue-500: #62b7fb;
164
+ --blue-600: #338fe0;
165
+ --blue-700: #3396eb;
166
+ --blue-800: #1a86e3;
167
+ --blue-900: #0076db;
168
+ --blue-1000: #005fb1;
169
+ /* Radius */
170
+ --radius-000: 0;
171
+ --radius-100: 4px;
172
+ --radius-150: 6px;
173
+ --radius-200: 8px;
174
+ --radius-300: 16px;
175
+ --radius-400: 24px;
176
+ /* Spacing */
177
+ --space-000: 0;
178
+ --space-025: 0.2rem;
179
+ --space-050: 0.4rem;
180
+ --space-100: 0.6rem;
181
+ --space-200: 0.8rem;
182
+ --space-300: 1.2rem;
183
+ --space-400: 1.6rem;
184
+ --space-500: 2.4rem;
185
+ --space-600: 3.6rem;
186
+ --space-700: 4.8rem;
187
+ --space-800: 6rem;
188
+ /* Stroke */
189
+ --stroke-size-100: 1px;
190
+ --stroke-size-200: 2px;
191
+ --stroke-size-300: 3px;
192
+ --stroke-size-400: 4px;
193
+ --stroke-size-500: 5px;
194
+ --stroke-solid: solid;
195
+ --stroke-outset: outset;
196
+ /* Animation */
197
+ --speed-100: 0.1s;
198
+ --speed-200: 0.2s;
199
+ --speed-300: 0.3s;
200
+ --speed-400: 0.4s;
201
+ }
202
+
203
+ /* ==================================================================================================== */
204
+ /* 2. LIGHT MODE */
205
+ /* ==================================================================================================== */
206
+ html[data-theme="light"] {
207
+ /* ================================================================================================== */
208
+ /* Semantic */
209
+ /* ================================================================================================== */
210
+ /* Form */
211
+ --form-default-text-color: var(--grey-500);
212
+ --form-success-text-color: var(--green-700);
213
+ --form-warning-text-color: var(--orange-700);
214
+ --form-error-text-color: var(--red-700);
215
+ --form-default-text-color-hover: var(--grey-600);
216
+ --form-success-text-color-hover: var(--green-800);
217
+ --form-warning-text-color-hover: var(--orange-800);
218
+ --form-error-text-color-hover: var(--red-800);
219
+ --form-default-border-color: var(--grey-300);
220
+ --form-success-border-color: var(--green-600);
221
+ --form-warning-border-color: var(--orange-600);
222
+ --form-error-border-color: var(--red-600);
223
+ --form-default-border-color-hover: var(--grey-400);
224
+ --form-success-border-color-hover: var(--green-700);
225
+ --form-warning-border-color-hover: var(--orange-700);
226
+ --form-error-border-color-hover: var(--red-700);
227
+ /* Feedback - Border (Alerts & Messages) */
228
+ --feedback-neutral-border-color: var(--black-opacity-20);
229
+ --feedback-positive-border-color: var(--green-600);
230
+ --feedback-info-border-color: var(--blue-600);
231
+ --feedback-warning-border-color: var(--orange-600);
232
+ --feedback-attention-border-color: var(--red-600);
233
+ /* Feedback - Background (Alerts & Messages) */
234
+ --feedback-neutral-background: var(--white);
235
+ --feedback-positive-background: var(--green-100);
236
+ --feedback-info-background: var(--blue-100);
237
+ --feedback-warning-background: var(--orange-100);
238
+ --feedback-attention-background: var(--red-100);
239
+ /* Feedback - Icon (Alerts & Messages) */
240
+ --feedback-neutral-icon: var(--grey-600);
241
+ --feedback-positive-icon: var(--green-600);
242
+ --feedback-info-icon: var(--blue-600);
243
+ --feedback-warning-icon: var(--orange-600);
244
+ --feedback-attention-icon: var(--red-600);
245
+ /* Feedback - Text (Alerts & Messages) */
246
+ --feedback-neutral-text: var(--grey-900);
247
+ --feedback-positive-text: var(--green-900);
248
+ --feedback-info-text: var(--blue-900);
249
+ --feedback-warning-text: var(--orange-900);
250
+ --feedback-attention-text: var(--red-900);
251
+ /* Action - Primary (Button & Link) */
252
+ --action-primary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
253
+ --action-primary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
254
+ --action-primary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
255
+ --action-primary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
256
+ --action-primary-background: var(--grey-900);
257
+ --action-primary-background-hover: var(--grey-1000);
258
+ --action-primary-background-focus: var(--grey-1000);
259
+ --action-primary-background-disabled: var(--grey-200);
260
+ --action-primary-text-color: var(--white);
261
+ --action-primary-text-color-hover: var(--white);
262
+ --action-primary-text-color-focus: var(--white);
263
+ --action-primary-text-color-disabled: var(--grey-400);
264
+ /* Action - Secondary (Button & Link) */
265
+ --action-secondary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
266
+ --action-secondary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
267
+ --action-secondary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
268
+ --action-secondary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
269
+ --action-secondary-background: var(--white-opacity-0);
270
+ --action-secondary-background-hover: var(--grey-100);
271
+ --action-secondary-background-focus: var(--grey-100);
272
+ --action-secondary-background-disabled: var(--grey-100);
273
+ --action-secondary-text-color: var(--grey-900);
274
+ --action-secondary-text-color-hover: var(--grey-1000);
275
+ --action-secondary-text-color-focus: var(--grey-1000);
276
+ --action-secondary-text-color-disabled: var(--grey-400);
277
+ /* Action - Tertiary (Button & Link) */
278
+ --action-tertiary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
279
+ --action-tertiary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
280
+ --action-tertiary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
281
+ --action-tertiary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
282
+ --action-tertiary-background: var(--white-opacity-0);
283
+ --action-tertiary-background-hover: var(--black-opacity-10);
284
+ --action-tertiary-background-focus: var(--black-opacity-10);
285
+ --action-tertiary-background-disabled: var(--grey-100);
286
+ --action-tertiary-text-color: var(--grey-900);
287
+ --action-tertiary-text-color-hover: var(--grey-1000);
288
+ --action-tertiary-text-color-focus: var(--grey-1000);
289
+ --action-tertiary-text-color-disabled: var(--grey-400);
290
+ /* Action - Attention (Button & Link) */
291
+ --action-attention-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
292
+ --action-attention-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
293
+ --action-attention-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
294
+ --action-attention-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
295
+ --action-attention-background: var(--red-500);
296
+ --action-attention-background-hover: var(--red-600);
297
+ --action-attention-background-focus: var(--red-600);
298
+ --action-attention-background-disabled: var(--red-100);
299
+ --action-attention-text-color: var(--white);
300
+ --action-attention-text-color-hover: var(--white);
301
+ --action-attention-text-color-focus: var(--white);
302
+ --action-attention-text-color-disabled: var(--red-300);
303
+ /* ================================================================================================== */
304
+ /* Contextual */
305
+ /* ================================================================================================== */
306
+ --surface: var(--grey-200);
307
+ --surface-elevated-alpha: var(--white-opacity-50);
308
+ --surface-elevated-100: var(--white);
309
+ --surface-elevated-200: var(--grey-100);
310
+ --surface-recessed-alpha: var(--black-opacity-10);
311
+ --surface-recessed-100: var(--grey-300);
312
+ --surface-recessed-200: var(--grey-400);
313
+
314
+ --outline-color: var(--blue-500);
315
+ --border-color: var(--black-opacity-20);
316
+
317
+ --optional-text-color: var(--grey-600);
318
+
319
+ --text-color: var(--grey-900);
320
+ --text-color-success: var(--green-600);
321
+ --text-color-warning: var(--orange-600);
322
+ --text-color-error: var(--red-600);
323
+
324
+ /* ================================================================================================== */
325
+ /* Components */
326
+ /* ================================================================================================== */
327
+ /* Switch */
328
+ --switch-track-background: var(--grey-300);
329
+ --switch-track-background-checked: var(--green-500);
330
+ --switch-thumb-bg: var(--white);
331
+ --switch-icon: var(--icon-color-default);
332
+ /* Icon */
333
+ --icon-color-default: var(--black);
334
+ --icon-color-inverted: var(--white);
335
+ /* Badge */
336
+ --badge-text-color: var(--grey-100);
337
+ --badge-background-neutral: var(--grey-600);
338
+ --badge-background-positive: var(--green-600);
339
+ --badge-background-warning: var(--orange-600);
340
+ --badge-background-attention: var(--red-600);
341
+ /* Heading */
342
+ --heading-text-color: var(--grey-1000);
343
+ /* Link */
344
+ --link-text-color-default: var(--grey-900);
345
+ --link-text-color-default-hover: var(--grey-1000);
346
+ --link-text-color-default-focus: var(--grey-1000);
347
+ --link-text-color-default-disabled: var(--grey-800);
348
+ /* Input */
349
+ --input-background: var(--white);
350
+ --input-background-disabled: var(--grey-100);
351
+ /* Addon */
352
+ --addon-background: var(--grey-100);
353
+ /* Tabs */
354
+ --tab-border-color: var(--grey-300);
355
+
356
+ --tab-background: var(--grey-200);
357
+ --tab-icon: var(--grey-900);
358
+ --tab-text-color: var(--grey-900);
359
+
360
+ --tab-background-active: var(--white);
361
+ --tab-icon-active: var(--black);
362
+ --tab-text-color-active: var(--black);
363
+ --tab-shadow-active: var(--black-opacity-10);
364
+
365
+ /* Carousel */
366
+ --carousel-background: var(--white);
367
+ }
368
+
369
+ /* ==================================================================================================== */
370
+ /* 3. DARK MODE */
371
+ /* ==================================================================================================== */
372
+ html[data-theme="dark"] {
373
+ /* ================================================================================================== */
374
+ /* Semantic */
375
+ /* ================================================================================================== */
376
+ /* Form */
377
+ --form-default-text-color: var(--grey-500);
378
+ --form-success-text-color: var(--green-400);
379
+ --form-warning-text-color: var(--orange-400);
380
+ --form-error-text-color: var(--red-400);
381
+ --form-default-text-color-hover: var(--grey-400);
382
+ --form-success-text-color-hover: var(--green-300);
383
+ --form-warning-text-color-hover: var(--orange-300);
384
+ --form-error-text-color-hover: var(--red-300);
385
+ --form-default-border-color: var(--grey-600);
386
+ --form-success-border-color: var(--green-400);
387
+ --form-warning-border-color: var(--orange-400);
388
+ --form-error-border-color: var(--red-400);
389
+ --form-default-border-color-hover: var(--grey-500);
390
+ --form-success-border-color-hover: var(--green-300);
391
+ --form-warning-border-color-hover: var(--orange-300);
392
+ --form-error-border-color-hover: var(--red-300);
393
+ /* Feedback - Border (Alerts & Messages) */
394
+ --feedback-neutral-border-color: var(--white-opacity-20);
395
+ --feedback-positive-border-color: var(--green-400);
396
+ --feedback-info-border-color: var(--blue-400);
397
+ --feedback-warning-border-color: var(--orange-400);
398
+ --feedback-attention-border-color: var(--red-400);
399
+ /* Feedback - Background (Alerts & Messages) */
400
+ --feedback-neutral-background: var(--grey-800);
401
+ --feedback-positive-background: var(--green-800);
402
+ --feedback-info-background: var(--blue-800);
403
+ --feedback-warning-background: var(--orange-800);
404
+ --feedback-attention-background: var(--red-800);
405
+ /* Feedback - Icon (Alerts & Messages) */
406
+ --feedback-neutral-icon: var(--grey-300);
407
+ --feedback-positive-icon: var(--green-300);
408
+ --feedback-info-icon: var(--blue-300);
409
+ --feedback-warning-icon: var(--orange-300);
410
+ --feedback-attention-icon: var(--red-300);
411
+ /* Feedback - Text (Alerts & Messages) */
412
+ --feedback-neutral-text: var(--grey-100);
413
+ --feedback-positive-text: var(--green-100);
414
+ --feedback-info-text: var(--blue-100);
415
+ --feedback-warning-text: var(--orange-100);
416
+ --feedback-attention-text: var(--red-100);
417
+ /* Action - Primary (Button & Link) */
418
+ --action-primary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
419
+ --action-primary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
420
+ --action-primary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
421
+ --action-primary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
422
+ --action-primary-background: var(--grey-200);
423
+ --action-primary-background-hover: var(--grey-100);
424
+ --action-primary-background-focus: var(--grey-100);
425
+ --action-primary-background-disabled: var(--grey-800);
426
+ --action-primary-text-color: var(--grey-900);
427
+ --action-primary-text-color-hover: var(--grey-900);
428
+ --action-primary-text-color-focus: var(--grey-900);
429
+ --action-primary-text-color-disabled: var(--grey-400);
430
+ /* Action - Secondary (Button & Link) */
431
+ --action-secondary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
432
+ --action-secondary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
433
+ --action-secondary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
434
+ --action-secondary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
435
+ --action-secondary-background: var(--black-opacity-0);
436
+ --action-secondary-background-hover: var(--grey-800);
437
+ --action-secondary-background-focus: var(--grey-800);
438
+ --action-secondary-background-disabled: var(--grey-900);
439
+ --action-secondary-text-color: var(--grey-100);
440
+ --action-secondary-text-color-hover: var(--grey-100);
441
+ --action-secondary-text-color-focus: var(--grey-100);
442
+ --action-secondary-text-color-disabled: var(--grey-600);
443
+ /* Action - Tertiary (Button & Link) */
444
+ --action-tertiary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
445
+ --action-tertiary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
446
+ --action-tertiary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
447
+ --action-tertiary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
448
+ --action-tertiary-background: transparent;
449
+ --action-tertiary-background-hover: var(--white-opacity-10);
450
+ --action-tertiary-background-focus: var(--white-opacity-10);
451
+ --action-tertiary-background-disabled: var(--grey-900);
452
+ --action-tertiary-text-color: var(--grey-100);
453
+ --action-tertiary-text-color-hover: var(--grey-100);
454
+ --action-tertiary-text-color-focus: var(--grey-100);
455
+ --action-tertiary-text-color-disabled: var(--grey-600);
456
+ /* Action - Attention (Button & Link) */
457
+ --action-attention-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
458
+ --action-attention-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
459
+ --action-attention-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
460
+ --action-attention-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
461
+ --action-attention-background: var(--red-600);
462
+ --action-attention-background-hover: var(--red-700);
463
+ --action-attention-background-focus: var(--red-700);
464
+ --action-attention-background-disabled: var(--red-900);
465
+ --action-attention-text-color: var(--white);
466
+ --action-attention-text-color-hover: var(--white);
467
+ --action-attention-text-color-focus: var(--white);
468
+ --action-attention-text-color-disabled: var(--red-300);
469
+ /* ================================================================================================== */
470
+ /* Contextual */
471
+ /* ================================================================================================== */
472
+ --surface: var(--grey-1000);
473
+ --surface-elevated-alpha: var(--white-opacity-10);
474
+ --surface-elevated-100: var(--grey-800);
475
+ --surface-elevated-200: var(--grey-900);
476
+ --surface-recessed-alpha: var(--black-opacity-30);
477
+ --surface-recessed-100: var(--grey-1000);
478
+ --surface-recessed-200: var(--grey-1100);
479
+
480
+ --outline-color: var(--blue-300);
481
+ --border-color: var(--white-opacity-20);
482
+
483
+ --optional-text-color: var(--grey-300);
484
+
485
+ --text-color: var(--grey-200);
486
+ --text-color-success: var(--green-400);
487
+ --text-color-warning: var(--orange-400);
488
+ --text-color-error: var(--red-400);
489
+ /* ================================================================================================== */
490
+ /* Components */
491
+ /* ================================================================================================== */
492
+ /* Switch */
493
+ --switch-track-background: var(--grey-600);
494
+ --switch-track-background-checked: var(--green-500);
495
+ --switch-thumb-bg: var(--black);
496
+ --switch-icon: var(--icon-color-default);
497
+ /* Icon */
498
+ --icon-color-default: var(--white);
499
+ --icon-color-inverted: var(--black);
500
+ /* Badge */
501
+ --badge-text-color: var(--grey-900);
502
+ --badge-background-neutral: var(--grey-400);
503
+ --badge-background-positive: var(--green-400);
504
+ --badge-background-warning: var(--orange-400);
505
+ --badge-background-attention: var(--red-400);
506
+ /* Heading */
507
+ --heading-text-color: var(--grey-100);
508
+ /* Link */
509
+ --link-text-color-default: var(--grey-200);
510
+ --link-text-color-default-hover: var(--grey-100);
511
+ --link-text-color-default-focus: var(--grey-100);
512
+ --link-text-color-default-disabled: var(--grey-600);
513
+ /* Input */
514
+ --input-background: var(--grey-900);
515
+ --input-background-disabled: var(--grey-800);
516
+ /* Addon */
517
+ --addon-background: var(--grey-1000);
518
+ /* Tabs */
519
+ --tab-border-color: var(--grey-800);
520
+
521
+ --tab-background: var(--grey-1100);
522
+ --tab-icon: var(--grey-400);
523
+ --tab-text-color: var(--grey-400);
524
+
525
+ --tab-background-active: var(--grey-700);
526
+ --tab-icon-active: var(--white);
527
+ --tab-text-color-active: var(--white);
528
+ --tab-shadow-active: var(--black-opacity-40);
529
+
530
+ /* Carousel */
531
+ --carousel-background: var(--grey-700);
532
+ }
533
+
534
+ /* ==================================================================================================== */
535
+ /* 4. SET THE FOUNDATION */
536
+ /* ==================================================================================================== */
537
+ :where(html) {
538
+ /* ================================================================================================== */
539
+ /* Semantic */
540
+ /* ================================================================================================== */
541
+ /* Feedback - Border (Alerts & Messages) */
542
+ --feedback-neutral-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-neutral-border-color);
543
+ --feedback-positive-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-positive-border-color);
544
+ --feedback-info-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-info-border-color);
545
+ --feedback-warning-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-warning-border-color);
546
+ --feedback-attention-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-attention-border-color);
547
+ /* Action (Button & Link) */
548
+ --action-padding: var(--space-200) var(--space-500);
549
+ --action-icon-only-padding: var(--space-000);
550
+ --action-radius: var(--radius-100);
551
+ --action-font-size: var(--text-font-size);
552
+ --action-line-height: var(--text-line-height);
553
+ --action-font-weight: var(--font-weight-medium);
554
+ /* ================================================================================================== */
555
+ /* Contextual */
556
+ /* ================================================================================================== */
557
+ /* Text */
558
+ --text-line-height-xs: var(--line-height-25);
559
+ --text-line-height-s: var(--line-height-50);
560
+ --text-line-height-m: var(--line-height-100);
561
+ --text-line-height-l: var(--line-height-200);
562
+ --text-font-size-xs: var(--font-size-25);
563
+ --text-font-size-s: var(--font-size-50);
564
+ --text-font-size-m: var(--font-size-100);
565
+ --text-font-size-l: var(--font-size-200);
566
+ --text-font-size: var(--text-font-size-m);
567
+ --text-line-height: var(--text-line-height-m);
568
+ /* Font-Weight */
569
+ --font-weight-regular: var(--font-weight-400);
570
+ --font-weight-medium: var(--font-weight-500);
571
+ --font-weight-semi-bold: var(--font-weight-600);
572
+ --font-weight-bold: var(--font-weight-700);
573
+ /* Border */
574
+ --border-thin: var(--stroke-size-100) var(--stroke-solid) var(--border-color);
575
+ --border-thick: var(--stroke-size-200) var(--stroke-solid) var(--border-color);
576
+ /* Outline */
577
+ --outline-thin: var(--stroke-size-100) var(--stroke-outset) var(--outline-color);
578
+ --outline-medium: var(--stroke-size-300) var(--stroke-outset) var(--outline-color);
579
+ --outline-thick: var(--stroke-size-500) var(--stroke-outset) var(--outline-color);
580
+ /* ================================================================================================== */
581
+ /* Components */
582
+ /* ================================================================================================== */
583
+ /* Switch */
584
+ --switch-offset: 1px;
585
+ --switch-thumb-size: 3.6rem;
586
+ --switch-width: calc(var(--switch-height) * 1.6);
587
+ --switch-height: calc(var(--switch-thumb-size) + (var(--switch-offset) * 2));
588
+ /* Card */
589
+ --card-radius: var(--radius-150);
590
+ /* Badge */
591
+ --badge-radius: var(--radius-300);
592
+ --badge-font-weight: var(--font-weight-bold);
593
+ /* Heading */
594
+ --heading-font-weight: var(--font-weight-bold);
595
+ --heading-font-size-100: var(--font-size-600);
596
+ --heading-font-size-200: var(--font-size-500);
597
+ --heading-font-size-300: var(--font-size-400);
598
+ --heading-font-size-400: var(--font-size-300);
599
+ --heading-font-size-500: var(--font-size-200);
600
+ --heading-font-size-600: var(--font-size-100);
601
+ --heading-line-height-100: var(--line-height-600);
602
+ --heading-line-height-200: var(--line-height-500);
603
+ --heading-line-height-300: var(--line-height-400);
604
+ --heading-line-height-400: var(--line-height-300);
605
+ --heading-line-height-500: var(--line-height-200);
606
+ --heading-line-height-600: var(--line-height-100);
607
+ /* Alert */
608
+ --alert-radius: var(--radius-100);
609
+ --alert-padding: var(--space-400);
610
+ --alert-gap-horizontal-mobile: var(--space-300);
611
+ --alert-gap-horizontal-desktop: var(--space-100);
612
+ /* Messages */
613
+ --message-radius: var(--radius-150);
614
+ --message-padding: var(--space-400);
615
+ --message-gap-horizontal: var(--space-300);
616
+ --message-gap-vertical: var(--space-100);
617
+ /* Tab */
618
+ --tab-radius: var(--radius-200);
619
+ /* Carousel */
620
+ --carousel-radius: var(--radius-300);
621
+ --carousel-tab-position: var(--space-400);
622
+ --carousel-tab-offset: calc(4.4rem + var(--carousel-tab-position)); /* Tab Height */
623
+ }
@@ -0,0 +1 @@
1
+ export declare const muiKeywords: Record<string, string[]>;
@@ -0,0 +1,4 @@
1
+ export declare const muiPrompts: {
2
+ role: string;
3
+ content: string;
4
+ }[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muibook/components",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "description": "A library of MUI-based design system components.",
5
5
  "author": "Michael Trilford",
6
6
  "homepage": "https://muibook.com",
@@ -326,7 +326,18 @@
326
326
  ".": {
327
327
  "import": "./dist/esm/index.js",
328
328
  "types": "./dist/types/index.d.ts"
329
- }
329
+ },
330
+ "./agent/prompts": {
331
+ "import": "./dist/esm/agent/prompts/index.js",
332
+ "types": "./dist/types/agent/prompts/index.d.ts"
333
+ },
334
+ "./agent/keywords": {
335
+ "import": "./dist/esm/agent/keywords/index.js",
336
+ "types": "./dist/types/agent/keywords/index.d.ts"
337
+ },
338
+ "./css/mui-tokens.css": "./dist/esm/css/mui-tokens.css",
339
+ "./css/mui-reset.css": "./dist/esm/css/mui-reset.css",
340
+ "./css/mui-base.css": "./dist/esm/css/mui-base.css"
330
341
  },
331
342
  "scripts": {
332
343
  "dev": "vite",
@@ -341,9 +352,12 @@
341
352
  "dist/esm/index.js",
342
353
  "dist/esm/components",
343
354
  "dist/esm/utils",
355
+ "dist/esm/agent",
356
+ "dist/esm/css",
344
357
  "dist/types/index.d.ts",
345
358
  "dist/types/components",
346
- "dist/types/utils"
359
+ "dist/types/utils",
360
+ "dist/types/agent"
347
361
  ],
348
362
  "devDependencies": {
349
363
  "@types/node": "^22.15.24",