@scattered-light/base-ui-theme 0.1.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.
Files changed (105) hide show
  1. package/README.md +19 -0
  2. package/dist/index.d.ts +103 -0
  3. package/dist/index.js +313 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/styles/base/borders.css +26 -0
  6. package/dist/styles/base/breakpoints.css +26 -0
  7. package/dist/styles/base/colors.css +150 -0
  8. package/dist/styles/base/global.css +108 -0
  9. package/dist/styles/base/reset-accessibility.css +119 -0
  10. package/dist/styles/base/reset.css +451 -0
  11. package/dist/styles/base/shadows.css +42 -0
  12. package/dist/styles/base/spacing.css +62 -0
  13. package/dist/styles/base/transitions.css +29 -0
  14. package/dist/styles/base/typography.css +63 -0
  15. package/dist/styles/base/z-index.css +22 -0
  16. package/dist/styles/components/AGGrid.css +6 -0
  17. package/dist/styles/components/Accordion.css +184 -0
  18. package/dist/styles/components/AlertDialog.css +172 -0
  19. package/dist/styles/components/Autocomplete.css +261 -0
  20. package/dist/styles/components/Avatar.css +154 -0
  21. package/dist/styles/components/Button.css +164 -0
  22. package/dist/styles/components/Checkbox.css +199 -0
  23. package/dist/styles/components/CheckboxGroup.css +21 -0
  24. package/dist/styles/components/Collapsible.css +115 -0
  25. package/dist/styles/components/Combobox.css +514 -0
  26. package/dist/styles/components/ContextMenu.css +209 -0
  27. package/dist/styles/components/Dialog.css +159 -0
  28. package/dist/styles/components/Field.css +138 -0
  29. package/dist/styles/components/Fieldset.css +48 -0
  30. package/dist/styles/components/Form.css +22 -0
  31. package/dist/styles/components/Input.css +106 -0
  32. package/dist/styles/components/Menu.css +158 -0
  33. package/dist/styles/components/Menubar.css +201 -0
  34. package/dist/styles/components/Meter.css +104 -0
  35. package/dist/styles/components/NavigationMenu.css +469 -0
  36. package/dist/styles/components/NumberField.css +182 -0
  37. package/dist/styles/components/Popover.css +167 -0
  38. package/dist/styles/components/PreviewCard.css +148 -0
  39. package/dist/styles/components/Progress.css +130 -0
  40. package/dist/styles/components/Radio.css +178 -0
  41. package/dist/styles/components/ScrollArea.css +103 -0
  42. package/dist/styles/components/Select.css +297 -0
  43. package/dist/styles/components/Separator.css +34 -0
  44. package/dist/styles/components/Slider.css +163 -0
  45. package/dist/styles/components/Switch.css +197 -0
  46. package/dist/styles/components/Tabs.css +163 -0
  47. package/dist/styles/components/Toast.css +261 -0
  48. package/dist/styles/components/Toggle.css +103 -0
  49. package/dist/styles/components/ToggleGroup.css +19 -0
  50. package/dist/styles/components/Toolbar.css +78 -0
  51. package/dist/styles/components/Tooltip.css +87 -0
  52. package/dist/styles/index.css +103 -0
  53. package/dist/styles/semantic/accessibility.css +77 -0
  54. package/dist/styles/semantic/accordion.css +102 -0
  55. package/dist/styles/semantic/ag-grid.css +114 -0
  56. package/dist/styles/semantic/alert-dialog.css +78 -0
  57. package/dist/styles/semantic/autocomplete.css +162 -0
  58. package/dist/styles/semantic/avatar.css +96 -0
  59. package/dist/styles/semantic/badge.css +16 -0
  60. package/dist/styles/semantic/button.css +145 -0
  61. package/dist/styles/semantic/card.css +14 -0
  62. package/dist/styles/semantic/checkbox-group.css +18 -0
  63. package/dist/styles/semantic/checkbox.css +117 -0
  64. package/dist/styles/semantic/collapsible.css +123 -0
  65. package/dist/styles/semantic/combobox.css +325 -0
  66. package/dist/styles/semantic/context-menu.css +131 -0
  67. package/dist/styles/semantic/dialog.css +91 -0
  68. package/dist/styles/semantic/dropdown.css +16 -0
  69. package/dist/styles/semantic/field.css +73 -0
  70. package/dist/styles/semantic/fieldset.css +45 -0
  71. package/dist/styles/semantic/form.css +20 -0
  72. package/dist/styles/semantic/input.css +83 -0
  73. package/dist/styles/semantic/menu.css +104 -0
  74. package/dist/styles/semantic/menubar.css +70 -0
  75. package/dist/styles/semantic/meter.css +88 -0
  76. package/dist/styles/semantic/modal.css +14 -0
  77. package/dist/styles/semantic/navigation-menu.css +171 -0
  78. package/dist/styles/semantic/number-field.css +142 -0
  79. package/dist/styles/semantic/popover.css +113 -0
  80. package/dist/styles/semantic/preview-card.css +108 -0
  81. package/dist/styles/semantic/progress.css +85 -0
  82. package/dist/styles/semantic/radio.css +103 -0
  83. package/dist/styles/semantic/scroll-area.css +64 -0
  84. package/dist/styles/semantic/select.css +197 -0
  85. package/dist/styles/semantic/separator.css +37 -0
  86. package/dist/styles/semantic/slider.css +120 -0
  87. package/dist/styles/semantic/switch.css +158 -0
  88. package/dist/styles/semantic/tabs.css +150 -0
  89. package/dist/styles/semantic/toast.css +171 -0
  90. package/dist/styles/semantic/toggle-group.css +29 -0
  91. package/dist/styles/semantic/toggle.css +94 -0
  92. package/dist/styles/semantic/toolbar.css +47 -0
  93. package/dist/styles/semantic/tooltip.css +56 -0
  94. package/dist/styles/theme/README.md +179 -0
  95. package/dist/styles/theme/theme-accessibility.css +13 -0
  96. package/dist/styles/theme/theme-primitives.css +7 -0
  97. package/dist/styles/theme/theme-radius.css +12 -0
  98. package/dist/styles/theme/theme-roles.css +66 -0
  99. package/dist/styles/theme/theme-spacing.css +28 -0
  100. package/dist/styles/theme/theme-stroke.css +7 -0
  101. package/dist/styles/theme/theme-typography.css +218 -0
  102. package/dist/styles/utilities/color-styles.css +34 -0
  103. package/dist/styles/utilities/layout-styles.css +19 -0
  104. package/dist/styles/utilities/text-styles.css +102 -0
  105. package/package.json +75 -0
@@ -0,0 +1,451 @@
1
+ /* CSS Reset - Mojave Theme */
2
+
3
+ /* ============================================
4
+ FONTS
5
+ ============================================ */
6
+ @import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@300;400;500;600;700&family=Funnel+Display:wght@300;400;500;600;700&family=Roboto+Mono:wght@300;400;500;600;700&display=swap');
7
+
8
+
9
+ /* ============================================
10
+ COLOR SCHEME HELPER
11
+ ============================================ */
12
+ :root {
13
+ color-scheme: light dark;
14
+ }
15
+
16
+ /* ============================================
17
+ BOX SIZING
18
+ ============================================ */
19
+ *,
20
+ *::before,
21
+ *::after {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ /* ============================================
26
+ OVERRIDES FOR ALL
27
+ ============================================ */
28
+ * {
29
+ margin: 0;
30
+ padding: 0;
31
+ }
32
+
33
+ /* Respect user's motion preferences */
34
+ @media (prefers-reduced-motion: reduce) {
35
+ *,
36
+ *::before,
37
+ *::after {
38
+ animation-duration: 0.01ms !important;
39
+ animation-iteration-count: 1 !important;
40
+ transition-duration: 0.01ms !important;
41
+ scroll-behavior: auto !important;
42
+ }
43
+ }
44
+
45
+ @media (prefers-reduced-motion: no-preference) {
46
+ html {
47
+ scroll-behavior: smooth; /* Smooth scrolling */
48
+ }
49
+
50
+ a {
51
+ transition: all 0.2s ease; /* Responsive typography adjustments */
52
+
53
+ }
54
+ }
55
+
56
+ /* ============================================
57
+ SCROLLBARS
58
+ ============================================ */
59
+ * {
60
+ scrollbar-width: thin;
61
+ scrollbar-color: var(--color-stone-400) transparent;
62
+ }
63
+
64
+ *::-webkit-scrollbar {
65
+ width: var(--space-2);
66
+ height: var(--space-2);
67
+ }
68
+
69
+ *::-webkit-scrollbar-track {
70
+ background: var(--default-scrollbar-track-background-color);
71
+ }
72
+
73
+ *::-webkit-scrollbar-thumb {
74
+ background: var( --default-scrollbar-thumb-background-color);
75
+ border-radius: 0.25rem;
76
+ }
77
+
78
+ *::-webkit-scrollbar-thumb:hover {
79
+ background: var(--default-scrollbar-thumb-hover-background-color);
80
+ }
81
+
82
+ /* ============================================
83
+ HTML
84
+ ============================================ */
85
+ html {
86
+ -webkit-font-smoothing: antialiased;
87
+ -moz-osx-font-smoothing: grayscale;
88
+ text-rendering: optimizeLegibility;
89
+ font-size: 100%; /* Don't override user's browser font size */
90
+ -webkit-text-size-adjust: 100%; /* Prevent text size adjustment on orientation change */
91
+ }
92
+
93
+ /* ============================================
94
+ BODY
95
+ ============================================ */
96
+
97
+ body {
98
+ /* Layout */
99
+ min-height: 100vh;
100
+ background: var(--default-page-background-color);
101
+ /*Basic text styling*/
102
+ font-family: var(--font-family-body);
103
+ font-size: var(--font-size-md);
104
+ font-weight: var(--font-weight-normal);
105
+ line-height: var(--line-height-base);
106
+ letter-spacing: var(--letter-spacing-normal);
107
+ color: var(--typography-default-text-color);
108
+ /* Improve text rendering for better readability */
109
+ text-rendering: optimizeLegibility;
110
+ -webkit-font-smoothing: antialiased;
111
+ -moz-osx-font-smoothing: grayscale;
112
+ font-feature-settings: 'kern' 1; /* Enable kerning */
113
+ }
114
+
115
+ /* ============================================
116
+ TYPOGRAPHY
117
+ ============================================ */
118
+ h1,
119
+ h2,
120
+ h3,
121
+ h4,
122
+ h5,
123
+ h6 {
124
+ font-family: var(--font-family-display);
125
+ font-weight: var(--font-weight-semibold);
126
+ font-size: var(--font-size-md);
127
+ line-height: var(--line-height-base);
128
+ letter-spacing: var(--letter-spacing-normal);
129
+ overflow-wrap: break-word;
130
+ }
131
+
132
+ /* Paragraphs */
133
+ p {
134
+ overflow-wrap: break-word;
135
+ max-inline-size: var(--measure);
136
+ text-wrap: pretty;
137
+ margin-block-end: var(--space-4);
138
+ }
139
+
140
+ /* Links */
141
+ a {
142
+ color: var(--typography-default-link-color);
143
+ text-decoration: underline;
144
+ text-decoration-color: var(--typography-default-link-underline-color);
145
+ text-decoration-thickness: 0.125em;
146
+ transition: all 0.2s ease;
147
+
148
+ &:hover {
149
+ color: var(--typography-default-link-hover-color);
150
+ text-decoration-color: var(--typography-default-link-underline-hover-color);
151
+
152
+ }
153
+ }
154
+
155
+ /* Small text */
156
+ small {
157
+ font-size: var(--font-size-sm);
158
+ line-height: var(--line-height-tall);
159
+ }
160
+
161
+ /* Emphasis */
162
+ strong,
163
+ b {
164
+ font-weight: var(--font-weight-bold);
165
+ }
166
+
167
+ em,
168
+ i {
169
+ font-style: italic;
170
+ }
171
+
172
+ /* Mark/Highlight */
173
+ mark {
174
+ background: var(--typography-default-mark-background-color);
175
+ color: inherit;
176
+ padding: var(--space-0-5) var(--space-1-5);
177
+ border-radius: var(--border-radius-sm);
178
+ }
179
+
180
+ /* Abbreviations */
181
+ abbr[title] {
182
+ text-decoration: underline dotted;
183
+ text-decoration-color: var(--color-stone-500);
184
+ cursor: help;
185
+ }
186
+
187
+ /* Subscript and Superscript */
188
+ sub,
189
+ sup {
190
+ font-size: var(--font-size-xs);
191
+ line-height: var(--line-height-base);
192
+ position: relative;
193
+ vertical-align: baseline;
194
+ }
195
+
196
+ sup {
197
+ inset-block-start: -var(--space-2);
198
+ }
199
+
200
+ sub {
201
+ inset-block-end: -var(--space-1);
202
+ }
203
+
204
+ /* Lists */
205
+ ul,
206
+ ol {
207
+ list-style: none;
208
+ max-inline-size: var(--measure);
209
+ padding-inline-start: var(--space-6);
210
+ margin-block-end: var(--space-4);
211
+ }
212
+
213
+ /* Better list semantics */
214
+ ul[role='list'],
215
+ ol[role='list'] {
216
+ list-style: none;
217
+ }
218
+
219
+ li {
220
+ margin-block-end: var(--space-2);
221
+ }
222
+
223
+ li::marker {
224
+ color: var(--typography-default-list-item-marker-color);
225
+ }
226
+
227
+ /* Nested lists */
228
+ li > ul,
229
+ li > ol {
230
+ margin-block-start: var(--space-2);
231
+ margin-block-end: 0;
232
+ }
233
+
234
+ /* Blockquotes */
235
+ blockquote {
236
+ max-inline-size: var(--measure);
237
+ margin-block: var(--space-6);
238
+ margin-inline-start: 0;
239
+ padding-inline-start: var(--space-6);
240
+ border-inline-start: var(--space-1) solid var(--default-blockquote-border-color);
241
+ font-size: var(--font-size-xl);
242
+ font-weight: var(--font-weight-normal);
243
+ line-height: var(--line-height-base);
244
+ letter-spacing: var(--letter-spacing-normal);
245
+ font-style: italic;
246
+ color: inherit;
247
+ }
248
+
249
+ blockquote cite {
250
+ display: block;
251
+ margin-block-start: var(--space-3);
252
+ font-size: var(--font-size-sm);
253
+ font-style: normal;
254
+ color: var(--default-blockquote-cite-color);
255
+ }
256
+
257
+ blockquote cite::before {
258
+ content: '— ';
259
+ }
260
+
261
+ /* Code */
262
+ code,
263
+ kbd,
264
+ samp,
265
+ pre {
266
+ font-family: var(--font-family-mono);
267
+ font-size: var(--font-size-sm);
268
+ }
269
+
270
+ code {
271
+ padding: 0.125em 0.375em;
272
+ background: var(--default-code-background-color);
273
+ border: var(--border-width-thin) solid var(--default-code-border-color);
274
+ border-radius: var(--border-radius-sm);
275
+ color: var(--default-code-border-text-color);
276
+ }
277
+
278
+ pre {
279
+ max-inline-size: 100%;
280
+ padding: var(--space-4);
281
+ background: var(--default-pre-background-color);
282
+ border: var(--border-width-thin) solid var(--default-pre-border-color);
283
+ color: var(--default-pre-text-color);
284
+ border-radius: var(--space-2);
285
+ overflow-x: auto;
286
+ margin-block: var(--space-6);
287
+ }
288
+
289
+ pre code {
290
+ padding: 0;
291
+ background: transparent;
292
+ border: none;
293
+ color: inherit;
294
+ }
295
+
296
+ /* ============================================
297
+ IMAGES AND MEDIA
298
+ ============================================ */
299
+ img,
300
+ picture,
301
+ video,
302
+ canvas,
303
+ svg {
304
+ display: block;
305
+ max-width: 100%;
306
+ }
307
+
308
+ /* ============================================
309
+ FORM ELEMENTS
310
+ ============================================ */
311
+ input,
312
+ button,
313
+ textarea,
314
+ select {
315
+ font: inherit;
316
+ color: inherit;
317
+ }
318
+
319
+ button {
320
+ background: transparent;
321
+ border: var(--border-width-thin) solid transparent;
322
+ cursor: pointer;
323
+
324
+ /* Improve button accessibility */
325
+ &:disabled {
326
+ cursor: not-allowed;
327
+ opacity: 0.6;
328
+ }
329
+ }
330
+
331
+ /* Remove default appearance for form controls */
332
+ input[type='search']::-webkit-search-decoration,
333
+ input[type='search']::-webkit-search-cancel-button,
334
+ input[type='search']::-webkit-search-results-button,
335
+ input[type='search']::-webkit-search-results-decoration {
336
+ -webkit-appearance: none;
337
+ }
338
+
339
+ /* Remove spinner from number inputs */
340
+ input[type='number']::-webkit-inner-spin-button,
341
+ input[type='number']::-webkit-outer-spin-button {
342
+ -webkit-appearance: none;
343
+ margin: 0;
344
+ }
345
+
346
+ input[type='number'] {
347
+ -moz-appearance: textfield;
348
+ appearance: textfield;
349
+ }
350
+
351
+ /* Remove default fieldset styles */
352
+ fieldset {
353
+ border: var(--border-width-thin) solid var(--default-field-border-color);
354
+ border-radius: var(--border-radius-sm);
355
+ }
356
+
357
+ /* ============================================
358
+ TABLES
359
+ ============================================ */
360
+ /* Improve table accessibility */
361
+ table {
362
+ border-collapse: collapse;
363
+ border-spacing: 0;
364
+ width: 100%;
365
+ }
366
+
367
+ th {
368
+ text-align: left;
369
+ font-weight: var(--font-weight-semibold);
370
+ }
371
+
372
+ /* ============================================
373
+ OTHER ELEMENTS
374
+ ============================================ */
375
+
376
+ /* Remove default legend styles */
377
+ legend {
378
+ padding: 0;
379
+ }
380
+
381
+ /* Keyboard input */
382
+ kbd {
383
+ padding: var(--space-0-5) var(--space-2-5);
384
+ background: var(--default-kbd-background-color);
385
+ color: var(--default-kbd-text-color);
386
+ border-radius: var(--border-radius-sm);
387
+ font-size: var(--font-size-sm);
388
+ box-shadow: var(--shadow-xs);
389
+ }
390
+
391
+ /* Horizontal rule */
392
+ hr {
393
+ border: none;
394
+ border-block-start: var(--border-width-thin) solid var(--default-hr-border-color);
395
+ margin-block: var(--space-8);
396
+ }
397
+
398
+ /* Hidden attribute */
399
+ [hidden] {
400
+ display: none !important;
401
+ }
402
+
403
+ /* Disabled state */
404
+ [disabled] {
405
+ cursor: not-allowed;
406
+ }
407
+
408
+ /* Color When User Selects Text */
409
+ ::selection {
410
+ background: var(--default-text-selection-background-color);
411
+ color: var(--default-text-selection-text-color);
412
+ }
413
+
414
+ ::-moz-selection {
415
+ background: var(--default-text-selection-background-color);
416
+ color: var(--default-text-selection-text-color);
417
+ }
418
+
419
+ /* ============================================
420
+ PRINT STYLES
421
+ ============================================ */
422
+
423
+ @media print {
424
+ body {
425
+ font-size: 12pt;
426
+ line-height: 1.5;
427
+ color: #000;
428
+ }
429
+
430
+ h1 {
431
+ font-size: 24pt;
432
+ }
433
+
434
+ h2 {
435
+ font-size: 20pt;
436
+ }
437
+
438
+ h3 {
439
+ font-size: 16pt;
440
+ }
441
+
442
+ a {
443
+ color: #000;
444
+ text-decoration: underline;
445
+ }
446
+
447
+ a[href^='http']::after {
448
+ content: ' (' attr(href) ')';
449
+ font-size: 0.8em;
450
+ }
451
+ }
@@ -0,0 +1,42 @@
1
+ /* Shadows - Mojave Theme */
2
+ /* Modern shadow scale using custom properties */
3
+
4
+ :root {
5
+ /* ============================================
6
+ SHADOW SCALE
7
+ ============================================ */
8
+ --shadow-xs: 0 0 0 1px rgba(0, 0, 0, 0.05);
9
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
10
+ --shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
11
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
12
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
13
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
14
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
15
+ --shadow-outline: 0 0 0 3px rgba(136, 58, 195, 0.6); /* Using mirage-600 */
16
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
17
+ --shadow-none: none;
18
+ }
19
+
20
+ /* ============================================
21
+ RESPECT REDUCED MOTION PREFERENCES
22
+ ============================================ */
23
+ @media (prefers-reduced-motion: reduce) {
24
+ :root {
25
+ --shadow-xs: 0 0 0 1px rgba(0, 0, 0, 0.05);
26
+ --shadow-sm: 0 0 0 1px rgba(0, 0, 0, 0.1);
27
+ --shadow-base: 0 0 0 1px rgba(0, 0, 0, 0.15);
28
+ --shadow-md: 0 0 0 1px rgba(0, 0, 0, 0.2);
29
+ --shadow-lg: 0 0 0 1px rgba(0, 0, 0, 0.25);
30
+ --shadow-xl: 0 0 0 1px rgba(0, 0, 0, 0.3);
31
+ --shadow-2xl: 0 0 0 1px rgba(0, 0, 0, 0.35);
32
+ }
33
+ }
34
+
35
+ /* ============================================
36
+ HIGH CONTRAST MODE - MAKE SHADOWS MORE VISIBLE
37
+ ============================================ */
38
+ @media (prefers-contrast: more) {
39
+ :root {
40
+ --shadow-outline: 0 0 0 3px currentColor;
41
+ }
42
+ }
@@ -0,0 +1,62 @@
1
+ /* Spacing - Mojave Theme */
2
+ /* Modern spacing scale using custom properties */
3
+
4
+ :root {
5
+ /* Spacing scale */
6
+ --space-px: 1px;
7
+ --space-0-5: 0.125rem; /* 2px */
8
+ --space-1: 0.25rem; /* 4px */
9
+ --space-1-5: 0.375rem; /* 6px */
10
+ --space-2: 0.5rem; /* 8px */
11
+ --space-2-5: 0.625rem; /* 10px */
12
+ --space-3: 0.75rem; /* 12px */
13
+ --space-3-5: 0.875rem; /* 14px */
14
+ --space-4: 1rem; /* 16px */
15
+ --space-5: 1.25rem; /* 20px */
16
+ --space-6: 1.5rem; /* 24px */
17
+ --space-7: 1.75rem; /* 28px */
18
+ --space-8: 2rem; /* 32px */
19
+ --space-9: 2.25rem; /* 36px */
20
+ --space-10: 2.5rem; /* 40px */
21
+ --space-11: 2.75rem; /* 44px */
22
+ --space-12: 3rem; /* 48px */
23
+ --space-13: 3.25rem; /* 52px */
24
+ --space-14: 3.5rem; /* 56px */
25
+ --space-16: 4rem; /* 64px */
26
+ --space-20: 5rem; /* 80px */
27
+ --space-24: 6rem; /* 96px */
28
+ --space-28: 7rem; /* 112px */
29
+ --space-32: 8rem; /* 128px */
30
+ --space-36: 9rem; /* 144px */
31
+ --space-40: 10rem; /* 160px */
32
+ --space-44: 11rem; /* 176px */
33
+ --space-48: 12rem; /* 192px */
34
+ --space-52: 13rem; /* 208px */
35
+ --space-56: 14rem; /* 224px */
36
+ --space-60: 15rem; /* 240px */
37
+ --space-64: 16rem; /* 256px */
38
+ --space-72: 18rem; /* 288px */
39
+ --space-80: 20rem; /* 320px */
40
+ --space-96: 24rem; /* 384px */
41
+ }
42
+
43
+ /* Logical property utilities for RTL support */
44
+ :root {
45
+ /* Inline spacing (horizontal in LTR, vertical in vertical writing modes) */
46
+ --space-inline-xs: var(--space-2);
47
+ --space-inline-sm: var(--space-4);
48
+ --space-inline-md: var(--space-6);
49
+ --space-inline-lg: var(--space-8);
50
+
51
+ /* Block spacing (vertical in LTR, horizontal in vertical writing modes) */
52
+ --space-block-xs: var(--space-2);
53
+ --space-block-sm: var(--space-4);
54
+ --space-block-md: var(--space-6);
55
+ --space-block-lg: var(--space-8);
56
+
57
+ /* Stack spacing (vertical) */
58
+ --spacing-stack-xs: var(--space-2);
59
+ --spacing-stack-sm: var(--space-4);
60
+ --spacing-stack-md: var(--space-6);
61
+ --spacing-stack-lg: var(--space-8);
62
+ }
@@ -0,0 +1,29 @@
1
+ /* Animation Semantic Tokens - Mojave Theme */
2
+
3
+ :root {
4
+ /* ============================================
5
+ TRANSITION DURATIONS
6
+ ============================================ */
7
+
8
+ --transition-duration-fast: 100ms;
9
+ --transition-duration-normal: 200ms;
10
+ --transition-duration-slow: 300ms;
11
+
12
+ /* ============================================
13
+ TRANSITION EASINGS
14
+ ============================================ */
15
+
16
+ --transition-easing-default: cubic-bezier(0.4, 0, 0.2, 1);
17
+ --transition-easing-in: cubic-bezier(0.4, 0, 1, 1);
18
+ --transition-easing-out: cubic-bezier(0, 0, 0.2, 1);
19
+ --transition-easing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
20
+
21
+ /* ============================================
22
+ COMPONENT TRANSITIONS
23
+ ============================================ */
24
+
25
+ --transition-button: all var(--transition-duration-fast) var(--transition-easing-default);
26
+ --transition-input: all var(--transition-duration-normal) var(--transition-easing-default);
27
+ --transition-modal: all var(--transition-duration-normal) var(--transition-easing-out);
28
+ --transition-dropdown: all var(--transition-duration-fast) var(--transition-easing-out);
29
+ }
@@ -0,0 +1,63 @@
1
+ /* Typography - Mojave Theme */
2
+ /* Modern fluid typography with custom properties */
3
+
4
+ :root {
5
+ /* Font Families */
6
+ --font-family-display: 'Funnel Display', sans-serif;
7
+ --font-family-body: 'Barlow Semi Condensed', sans-serif;
8
+ --font-family-mono: 'Roboto Mono', monospace;
9
+ --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto',
10
+ 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
11
+ sans-serif;
12
+ --font-family-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
13
+
14
+ /* Font Sizes - Major Third Scale (1.2 ratio) with fluid scaling */
15
+ --font-size-xxs: clamp(0.5625rem, 0.1vw + 0.5rem, 0.625rem); /* ~9px - 10px */
16
+ --font-size-xs: clamp(0.625rem, 0.15vw + 0.6rem, 0.694rem); /* ~10px - 11.11px */
17
+ --font-size-sm: clamp(0.75rem, 0.2vw + 0.72rem, 0.833rem); /* ~12px - 13.33px */
18
+ --font-size-md: clamp(0.875rem, 0.25vw + 0.85rem, 1rem); /* ~14px - 16px */
19
+ --font-size-lg: clamp(1rem, 0.4vw + 0.95rem, 1.2rem); /* ~16px - 19.2px */
20
+ --font-size-xl: clamp(1.2rem, 0.5vw + 1.15rem, 1.44rem); /* ~19.2px - 23.04px */
21
+ --font-size-2xl: clamp(1.44rem, 0.6vw + 1.38rem, 1.728rem); /* ~23.04px - 27.65px */
22
+ --font-size-3xl: clamp(1.728rem, 0.75vw + 1.65rem, 2.074rem); /* ~27.65px - 33.18px */
23
+ --font-size-4xl: clamp(2.074rem, 0.9vw + 1.98rem, 2.488rem); /* ~33.18px - 39.81px */
24
+ --font-size-5xl: clamp(2.488rem, 1.1vw + 2.37rem, 2.986rem); /* ~39.81px - 47.78px */
25
+ --font-size-6xl: clamp(2.986rem, 1.3vw + 2.85rem, 3.583rem); /* ~47.78px - 57.34px */
26
+ --font-size-7xl: clamp(3.583rem, 1.6vw + 3.42rem, 4.299rem); /* ~57.34px - 68.81px */
27
+ --font-size-8xl: clamp(4.299rem, 1.9vw + 4.1rem, 5.159rem); /* ~68.81px - 82.55px */
28
+ --font-size-9xl: clamp(5.159rem, 2.3vw + 4.92rem, 6.191rem); /* ~82.55px - 98.99px */
29
+
30
+ /* Font Weights */
31
+ --font-weight-hairline: 100;
32
+ --font-weight-thin: 200;
33
+ --font-weight-light: 300;
34
+ --font-weight-normal: 400;
35
+ --font-weight-medium: 500;
36
+ --font-weight-semibold: 600;
37
+ --font-weight-bold: 700;
38
+ --font-weight-extrabold: 800;
39
+ --font-weight-black: 900;
40
+
41
+ /* Line Heights */
42
+ --line-height-none: 1; /* use with 4xl text size and above */
43
+ --line-height-shorter: 1.204; /* use with 3xl text size */
44
+ --line-height-short: 1.268; /* use with 2xl text size */
45
+ --line-height-base: 1.3125; /* 21px, use with md, lg, xl text sizes */
46
+ --line-height-tall: 1.428; /* use with sm text size */
47
+ --line-height-taller: 1.44; /* use with xs text size */
48
+
49
+ /* Letter Spacing */
50
+ --letter-spacing-tighter: -0.05em;
51
+ --letter-spacing-tight: -0.025em;
52
+ --letter-spacing-normal: 0;
53
+ --letter-spacing-wide: 0.025em;
54
+ --letter-spacing-wider: 0.05em;
55
+ --letter-spacing-widest: 0.1em;
56
+
57
+ /* Measure (optimal line length) */
58
+ --measure: 60ch;
59
+ --measure-narrow: 45ch;
60
+ --measure-wide: 75ch;
61
+
62
+ /* Composite presets: theme/theme-typography.css (minimize, condense, base, magnify, maximize + base-label / base-trigger / code) */
63
+ }
@@ -0,0 +1,22 @@
1
+ /* Z-Index - Mojave Theme */
2
+ /* Modern z-index scale using custom properties */
3
+
4
+ :root {
5
+ /* ============================================
6
+ Z-INDEX SCALE
7
+ ============================================ */
8
+
9
+ --z-index-hide: -1;
10
+ --z-index-auto: auto;
11
+ --z-index-base: 0;
12
+ --z-index-docked: 10;
13
+ --z-index-dropdown: 1000;
14
+ --z-index-sticky: 1100;
15
+ --z-index-banner: 1200;
16
+ --z-index-scrim: 1300;
17
+ --z-index-modal: 1400;
18
+ --z-index-popover: 1500;
19
+ --z-index-skip-link: 1600;
20
+ --z-index-toast: 1700;
21
+ --z-index-tooltip: 1800;
22
+ }
@@ -0,0 +1,6 @@
1
+ /* AG Grid Component Styles - Mojave Theme */
2
+ /* Minimal overrides - most styling handled by Theming API */
3
+
4
+ .ag-picker-field-wrapper {
5
+ border-radius: var(--ag-grid-button-border-radius); /* This one is set to 5px and has no params*/
6
+ }