@rakeyshgidwani/roger-ui-bank-theme-harvey 0.2.52 → 0.3.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 (125) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/button.d.ts +3 -1
  3. package/dist/components/ui/button.d.ts.map +1 -1
  4. package/dist/components/ui/button.esm.js +3 -2
  5. package/dist/components/ui/button.js +3 -2
  6. package/dist/components/ui/layout/container.d.ts +57 -0
  7. package/dist/components/ui/layout/container.d.ts.map +1 -0
  8. package/dist/components/ui/layout/container.esm.js +173 -0
  9. package/dist/components/ui/layout/container.js +173 -0
  10. package/dist/components/ui/layout/index.d.ts +9 -0
  11. package/dist/components/ui/layout/index.d.ts.map +1 -0
  12. package/dist/components/ui/layout/index.esm.js +6 -0
  13. package/dist/components/ui/layout/index.js +6 -0
  14. package/dist/components/ui/layout/responsive-grid.d.ts +93 -0
  15. package/dist/components/ui/layout/responsive-grid.d.ts.map +1 -0
  16. package/dist/components/ui/layout/responsive-grid.esm.js +124 -0
  17. package/dist/components/ui/layout/responsive-grid.js +124 -0
  18. package/dist/components/ui/navigation/index.d.ts +2 -1
  19. package/dist/components/ui/navigation/index.d.ts.map +1 -1
  20. package/dist/components/ui/navigation/index.esm.js +1 -0
  21. package/dist/components/ui/navigation/index.js +1 -0
  22. package/dist/components/ui/navigation/progressive-navigation.d.ts +37 -0
  23. package/dist/components/ui/navigation/progressive-navigation.d.ts.map +1 -0
  24. package/dist/components/ui/navigation/progressive-navigation.esm.js +145 -0
  25. package/dist/components/ui/navigation/progressive-navigation.js +145 -0
  26. package/dist/components/ui/navigation/types.d.ts +21 -0
  27. package/dist/components/ui/navigation/types.d.ts.map +1 -1
  28. package/dist/hooks/use-adaptive-layout.d.ts +2 -1
  29. package/dist/hooks/use-adaptive-layout.d.ts.map +1 -1
  30. package/dist/hooks/use-adaptive-layout.esm.js +13 -8
  31. package/dist/hooks/use-adaptive-layout.js +13 -8
  32. package/dist/hooks/use-device.d.ts +3 -1
  33. package/dist/hooks/use-device.d.ts.map +1 -1
  34. package/dist/hooks/use-device.esm.js +14 -7
  35. package/dist/hooks/use-device.js +14 -7
  36. package/dist/index.d.ts +19 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.esm.js +9 -4
  39. package/dist/index.js +9 -4
  40. package/dist/plugins/css-purge-optimizer.d.ts +25 -0
  41. package/dist/plugins/css-purge-optimizer.d.ts.map +1 -0
  42. package/dist/plugins/css-purge-optimizer.esm.js +414 -0
  43. package/dist/plugins/css-purge-optimizer.js +414 -0
  44. package/dist/plugins/performance-monitor.d.ts +29 -0
  45. package/dist/plugins/performance-monitor.d.ts.map +1 -0
  46. package/dist/plugins/performance-monitor.esm.js +221 -0
  47. package/dist/plugins/performance-monitor.js +221 -0
  48. package/dist/plugins/progressive-css-loader.d.ts +21 -0
  49. package/dist/plugins/progressive-css-loader.d.ts.map +1 -0
  50. package/dist/plugins/progressive-css-loader.esm.js +227 -0
  51. package/dist/plugins/progressive-css-loader.js +227 -0
  52. package/dist/plugins/theme-css-generator.d.ts.map +1 -1
  53. package/dist/plugins/theme-css-generator.esm.js +19 -6
  54. package/dist/plugins/theme-css-generator.js +19 -6
  55. package/dist/styles.css +1025 -110
  56. package/dist/theme.d.ts.map +1 -1
  57. package/dist/theme.esm.js +4 -1
  58. package/dist/theme.js +4 -1
  59. package/dist/themes/phase1-constants.d.ts +23 -0
  60. package/dist/themes/phase1-constants.d.ts.map +1 -0
  61. package/dist/themes/phase1-constants.esm.js +180 -0
  62. package/dist/themes/phase1-constants.js +180 -0
  63. package/dist/themes/themes/default.d.ts.map +1 -1
  64. package/dist/themes/themes/default.esm.js +4 -1
  65. package/dist/themes/themes/default.js +4 -1
  66. package/dist/themes/themes/harvey.d.ts.map +1 -1
  67. package/dist/themes/themes/harvey.esm.js +4 -1
  68. package/dist/themes/themes/harvey.js +4 -1
  69. package/dist/themes/types.d.ts +62 -0
  70. package/dist/themes/types.d.ts.map +1 -1
  71. package/dist/themes/validation.d.ts +17 -0
  72. package/dist/themes/validation.d.ts.map +1 -1
  73. package/dist/themes/validation.esm.js +218 -0
  74. package/dist/themes/validation.js +218 -0
  75. package/dist/types.d.ts +62 -0
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/utils/progressive-css-injector.d.ts +80 -0
  78. package/dist/utils/progressive-css-injector.d.ts.map +1 -0
  79. package/dist/utils/progressive-css-injector.esm.js +217 -0
  80. package/dist/utils/progressive-css-injector.js +217 -0
  81. package/package.json +1 -1
  82. package/src/components/ui/button.tsx +9 -6
  83. package/src/components/ui/layout/container.tsx +312 -0
  84. package/src/components/ui/layout/index.ts +10 -0
  85. package/src/components/ui/layout/responsive-grid.tsx +286 -0
  86. package/src/components/ui/navigation/index.ts +2 -0
  87. package/src/components/ui/navigation/progressive-navigation.tsx +453 -0
  88. package/src/components/ui/navigation/types.ts +41 -0
  89. package/src/hooks/use-adaptive-layout.ts +13 -9
  90. package/src/hooks/use-device.tsx +17 -10
  91. package/src/index.ts +19 -4
  92. package/src/plugins/css-purge-optimizer.ts +491 -0
  93. package/src/plugins/performance-monitor.ts +292 -0
  94. package/src/plugins/progressive-css-loader.ts +269 -0
  95. package/src/plugins/theme-css-generator.ts +22 -6
  96. package/src/styles/components/base/badge.css +2 -2
  97. package/src/styles/components/base/button.css +238 -35
  98. package/src/styles/components/base/card.css +2 -2
  99. package/src/styles/components/base/checkbox.css +3 -3
  100. package/src/styles/components/base/label.css +3 -3
  101. package/src/styles/components/feedback/skeleton.css +1 -1
  102. package/src/styles/components/feedback/toast.css +1 -1
  103. package/src/styles/components/index.css +3 -0
  104. package/src/styles/components/layout/container.css +466 -0
  105. package/src/styles/components/layout/index.css +5 -0
  106. package/src/styles/components/layout/responsive-grid.css +422 -0
  107. package/src/styles/components/navigation/breadcrumb.css +1 -1
  108. package/src/styles/components/navigation/index.css +1 -0
  109. package/src/styles/components/navigation/menu.css +2 -2
  110. package/src/styles/components/navigation/pagination.css +4 -4
  111. package/src/styles/components/navigation/progressive-navigation.css +633 -0
  112. package/src/styles/components/navigation/sidebar.css +4 -4
  113. package/src/styles/components/navigation/stepper.css +2 -2
  114. package/src/styles/components/navigation/tabs.css +1 -1
  115. package/src/styles/progressive.css +17 -0
  116. package/src/styles/themes/harvey.css +103 -19
  117. package/src/styles/utilities/semantic-input-system.css +7 -13
  118. package/src/theme.ts +5 -1
  119. package/src/themes/phase1-constants.ts +189 -0
  120. package/src/themes/themes/default.ts +5 -1
  121. package/src/themes/themes/harvey.ts +5 -1
  122. package/src/themes/types.ts +77 -1
  123. package/src/themes/validation.ts +249 -0
  124. package/src/types.ts +77 -1
  125. package/src/utils/progressive-css-injector.ts +254 -0
@@ -0,0 +1,633 @@
1
+ /* Progressive Navigation Component Styles */
2
+ /* Implements Phase 2 progressive navigation patterns with responsive breakpoints */
3
+
4
+ /* Progressive Navigation CSS Variables */
5
+ :root {
6
+ /* Base Layout Variables */
7
+ --progressive-nav-mobile-height: 56px;
8
+ --progressive-nav-tablet-height: 64px;
9
+ --progressive-nav-desktop-height: 72px;
10
+
11
+ /* Touch Target Variables */
12
+ --progressive-nav-mobile-touch-target: 48px;
13
+ --progressive-nav-tablet-touch-target: 44px;
14
+ --progressive-nav-desktop-touch-target: 40px;
15
+
16
+ /* Logo Size Variables */
17
+ --progressive-nav-logo-sm: var(--cs-spacing-scale-lg);
18
+ --progressive-nav-logo-md: var(--cs-spacing-scale-xl);
19
+ --progressive-nav-logo-lg: var(--cs-spacing-scale-2xl);
20
+
21
+ /* Color Variables */
22
+ --progressive-nav-bg: var(--cs-colors-surface-background);
23
+ --progressive-nav-border: var(--cs-colors-border);
24
+ --progressive-nav-text-primary: var(--cs-colors-text-primary);
25
+ --progressive-nav-text-secondary: var(--cs-colors-text-secondary);
26
+ --progressive-nav-text-muted: var(--cs-colors-text-muted);
27
+ --progressive-nav-interactive-hover: var(--cs-colors-interactive-hover);
28
+ --progressive-nav-interactive-active: var(--cs-colors-interactive-active);
29
+ --progressive-nav-primary: var(--cs-colors-primary-500);
30
+
31
+ /* Spacing Variables */
32
+ --progressive-nav-padding-xs: var(--cs-spacing-scale-xs);
33
+ --progressive-nav-padding-sm: var(--cs-spacing-scale-sm);
34
+ --progressive-nav-padding-md: var(--cs-spacing-scale-md);
35
+ --progressive-nav-padding-lg: var(--cs-spacing-scale-lg);
36
+ --progressive-nav-gap: var(--cs-spacing-scale-md);
37
+
38
+ /* Typography Variables */
39
+ --progressive-nav-font-size: var(--cs-fonts-primary-sizes-sm);
40
+ --progressive-nav-font-weight: var(--cs-fonts-primary-weights-medium);
41
+ --progressive-nav-line-height: var(--cs-fonts-primary-line-heights-normal);
42
+
43
+ /* Animation Variables */
44
+ --progressive-nav-transition: var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
45
+ --progressive-nav-shadow: var(--cs-shadows-md);
46
+ --progressive-nav-border-radius: var(--cs-border-radius-md);
47
+
48
+ /* Z-index Variables */
49
+ --progressive-nav-z-index: 1000;
50
+ --progressive-nav-dropdown-z-index: 1010;
51
+ --progressive-nav-overlay-z-index: 999;
52
+ }
53
+
54
+ /* Base Progressive Navigation Styles */
55
+ .progressive-nav {
56
+ display: flex;
57
+ align-items: center;
58
+ width: 100%;
59
+ background-color: var(--progressive-nav-bg);
60
+ border-bottom: var(--cs-border-width-sm) solid var(--progressive-nav-border);
61
+ box-shadow: var(--progressive-nav-shadow);
62
+ position: sticky;
63
+ top: 0;
64
+ z-index: var(--progressive-nav-z-index);
65
+ font-family: var(--cs-fonts-primary-family);
66
+ font-size: var(--progressive-nav-font-size);
67
+ font-weight: var(--progressive-nav-font-weight);
68
+ line-height: var(--progressive-nav-line-height);
69
+ }
70
+
71
+ /* Dark mode support */
72
+ .dark .progressive-nav {
73
+ background-color: var(--cs-modes-dark-colors-surface-background);
74
+ border-bottom-color: var(--cs-modes-dark-colors-border);
75
+ }
76
+
77
+ /* Mobile Navigation Pattern (xs-sm breakpoints) */
78
+ .progressive-nav--mobile {
79
+ height: var(--progressive-nav-mobile-height);
80
+ }
81
+
82
+ .progressive-nav__mobile-container {
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: space-between;
86
+ width: 100%;
87
+ padding: 0 var(--progressive-nav-padding-md);
88
+ }
89
+
90
+ .progressive-nav__mobile-header {
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: space-between;
94
+ width: 100%;
95
+ }
96
+
97
+ /* Mobile Logo Styles */
98
+ .progressive-nav__logo {
99
+ display: flex;
100
+ align-items: center;
101
+ color: var(--progressive-nav-text-primary);
102
+ text-decoration: none;
103
+ }
104
+
105
+ .progressive-nav__logo--sm {
106
+ height: var(--progressive-nav-logo-sm);
107
+ }
108
+
109
+ .progressive-nav__logo--md {
110
+ height: var(--progressive-nav-logo-md);
111
+ }
112
+
113
+ .progressive-nav__logo--lg {
114
+ height: var(--progressive-nav-logo-lg);
115
+ }
116
+
117
+ .progressive-nav__logo-link {
118
+ text-decoration: none;
119
+ color: inherit;
120
+ transition: var(--progressive-nav-transition);
121
+ }
122
+
123
+ .progressive-nav__logo-link:hover {
124
+ opacity: 0.8;
125
+ }
126
+
127
+ /* Dark mode logo support */
128
+ .dark .progressive-nav__logo {
129
+ color: var(--cs-modes-dark-colors-text-primary);
130
+ }
131
+
132
+ /* Mobile Hamburger Toggle */
133
+ .progressive-nav__mobile-toggle {
134
+ display: flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ background: none;
138
+ border: none;
139
+ color: var(--progressive-nav-text-primary);
140
+ cursor: pointer;
141
+ border-radius: var(--progressive-nav-border-radius);
142
+ transition: var(--progressive-nav-transition);
143
+ padding: var(--cs-spacing-scale-xs);
144
+ }
145
+
146
+ .progressive-nav__mobile-toggle:hover {
147
+ background-color: var(--progressive-nav-interactive-hover);
148
+ }
149
+
150
+ .progressive-nav__mobile-toggle:focus {
151
+ outline: var(--cs-accessibility-focus-ring-width) solid var(--cs-accessibility-focus-ring-color);
152
+ outline-offset: var(--cs-accessibility-focus-ring-offset);
153
+ }
154
+
155
+ .progressive-nav__mobile-toggle-icon {
156
+ width: var(--cs-spacing-scale-md);
157
+ height: var(--cs-spacing-scale-md);
158
+ }
159
+
160
+ /* Dark mode toggle support */
161
+ .dark .progressive-nav__mobile-toggle {
162
+ color: var(--cs-modes-dark-colors-text-primary);
163
+ }
164
+
165
+ .dark .progressive-nav__mobile-toggle:hover {
166
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
167
+ }
168
+
169
+ /* Mobile Menu Overlay */
170
+ .progressive-nav__mobile-overlay {
171
+ position: fixed;
172
+ top: var(--progressive-nav-mobile-height);
173
+ left: 0;
174
+ right: 0;
175
+ bottom: 0;
176
+ background-color: rgba(0, 0, 0, var(--cs-colors-alpha-medium));
177
+ z-index: var(--progressive-nav-overlay-z-index);
178
+ opacity: 0;
179
+ animation: fadeIn var(--progressive-nav-transition);
180
+ }
181
+
182
+ .dark .progressive-nav__mobile-overlay {
183
+ background-color: rgba(0, 0, 0, var(--cs-colors-alpha-high));
184
+ }
185
+
186
+ @keyframes fadeIn {
187
+ from { opacity: 0; }
188
+ to { opacity: 1; }
189
+ }
190
+
191
+ /* Mobile Menu */
192
+ .progressive-nav__mobile-menu {
193
+ position: fixed;
194
+ top: var(--progressive-nav-mobile-height);
195
+ left: 0;
196
+ right: 0;
197
+ background-color: var(--progressive-nav-bg);
198
+ border-bottom: var(--cs-border-width-sm) solid var(--progressive-nav-border);
199
+ box-shadow: var(--progressive-nav-shadow);
200
+ z-index: var(--progressive-nav-dropdown-z-index);
201
+ max-height: calc(100vh - var(--progressive-nav-mobile-height));
202
+ overflow-y: auto;
203
+ animation: slideDown var(--progressive-nav-transition);
204
+ }
205
+
206
+ .dark .progressive-nav__mobile-menu {
207
+ background-color: var(--cs-modes-dark-colors-surface-background);
208
+ border-bottom-color: var(--cs-modes-dark-colors-border);
209
+ }
210
+
211
+ @keyframes slideDown {
212
+ from {
213
+ opacity: 0;
214
+ transform: translateY(-10px);
215
+ }
216
+ to {
217
+ opacity: 1;
218
+ transform: translateY(0);
219
+ }
220
+ }
221
+
222
+ .progressive-nav__mobile-content {
223
+ padding: var(--progressive-nav-padding-md);
224
+ }
225
+
226
+ /* Mobile Navigation Items */
227
+ .progressive-nav__mobile-item,
228
+ .progressive-nav__item {
229
+ display: flex;
230
+ align-items: center;
231
+ width: 100%;
232
+ padding: var(--progressive-nav-padding-sm) var(--progressive-nav-padding-md);
233
+ background: none;
234
+ border: none;
235
+ color: var(--progressive-nav-text-primary);
236
+ text-align: left;
237
+ text-decoration: none;
238
+ cursor: pointer;
239
+ border-radius: var(--progressive-nav-border-radius);
240
+ transition: var(--progressive-nav-transition);
241
+ gap: var(--progressive-nav-padding-sm);
242
+ min-height: var(--progressive-nav-mobile-touch-target);
243
+ }
244
+
245
+ .progressive-nav__mobile-item:hover,
246
+ .progressive-nav__item:hover {
247
+ background-color: var(--progressive-nav-interactive-hover);
248
+ }
249
+
250
+ .progressive-nav__mobile-item:focus,
251
+ .progressive-nav__item:focus {
252
+ outline: var(--cs-accessibility-focus-ring-width) solid var(--cs-accessibility-focus-ring-color);
253
+ outline-offset: var(--cs-accessibility-focus-ring-offset);
254
+ }
255
+
256
+ .progressive-nav__mobile-item--active,
257
+ .progressive-nav__item--active {
258
+ background-color: var(--progressive-nav-primary);
259
+ color: var(--cs-colors-surface-background);
260
+ font-weight: var(--cs-fonts-primary-weights-semibold);
261
+ }
262
+
263
+ .progressive-nav__mobile-item--disabled,
264
+ .progressive-nav__item--disabled {
265
+ color: var(--progressive-nav-text-muted);
266
+ cursor: not-allowed;
267
+ opacity: var(--cs-accessibility-disabled-opacity);
268
+ }
269
+
270
+ .progressive-nav__mobile-item--disabled:hover,
271
+ .progressive-nav__item--disabled:hover {
272
+ background-color: transparent;
273
+ }
274
+
275
+ /* Dark mode item support */
276
+ .dark .progressive-nav__mobile-item,
277
+ .dark .progressive-nav__item {
278
+ color: var(--cs-modes-dark-colors-text-primary);
279
+ }
280
+
281
+ .dark .progressive-nav__mobile-item:hover,
282
+ .dark .progressive-nav__item:hover {
283
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
284
+ }
285
+
286
+ .dark .progressive-nav__mobile-item--active,
287
+ .dark .progressive-nav__item--active {
288
+ background-color: var(--cs-modes-dark-colors-primary-500);
289
+ color: var(--cs-modes-dark-colors-text-inverse);
290
+ }
291
+
292
+ /* Mobile Groups */
293
+ .progressive-nav__mobile-group {
294
+ margin-bottom: var(--progressive-nav-padding-lg);
295
+ }
296
+
297
+ .progressive-nav__mobile-group:last-child {
298
+ margin-bottom: 0;
299
+ }
300
+
301
+ .progressive-nav__mobile-group-title {
302
+ padding: var(--progressive-nav-padding-sm) var(--progressive-nav-padding-md);
303
+ font-size: var(--cs-fonts-primary-sizes-xs);
304
+ font-weight: var(--cs-fonts-primary-weights-semibold);
305
+ color: var(--progressive-nav-text-muted);
306
+ text-transform: uppercase;
307
+ letter-spacing: var(--cs-fonts-primary-letter-spacing-wide);
308
+ }
309
+
310
+ .dark .progressive-nav__mobile-group-title {
311
+ color: var(--cs-modes-dark-colors-text-muted);
312
+ }
313
+
314
+ .progressive-nav__mobile-group-items {
315
+ display: flex;
316
+ flex-direction: column;
317
+ gap: var(--progressive-nav-padding-xs);
318
+ }
319
+
320
+ /* Tablet Navigation Pattern (md breakpoint) */
321
+ .progressive-nav--tablet {
322
+ height: var(--progressive-nav-tablet-height);
323
+ }
324
+
325
+ .progressive-nav__tablet-container {
326
+ display: flex;
327
+ align-items: center;
328
+ width: 100%;
329
+ padding: 0 var(--progressive-nav-padding-lg);
330
+ gap: var(--progressive-nav-gap);
331
+ }
332
+
333
+ .progressive-nav__tablet-content {
334
+ display: flex;
335
+ align-items: center;
336
+ flex: 1;
337
+ gap: var(--progressive-nav-gap);
338
+ }
339
+
340
+ .progressive-nav__tablet-items {
341
+ display: flex;
342
+ align-items: center;
343
+ gap: var(--progressive-nav-padding-sm);
344
+ }
345
+
346
+ /* Desktop Navigation Pattern (lg+ breakpoints) */
347
+ .progressive-nav--desktop {
348
+ height: var(--progressive-nav-desktop-height);
349
+ }
350
+
351
+ .progressive-nav__desktop-container {
352
+ display: flex;
353
+ align-items: center;
354
+ justify-content: space-between;
355
+ width: 100%;
356
+ padding: 0 var(--progressive-nav-padding-lg);
357
+ gap: var(--progressive-nav-gap);
358
+ }
359
+
360
+ .progressive-nav__desktop-content {
361
+ display: flex;
362
+ align-items: center;
363
+ flex: 1;
364
+ gap: var(--progressive-nav-gap);
365
+ }
366
+
367
+ .progressive-nav__desktop-items {
368
+ display: flex;
369
+ align-items: center;
370
+ gap: var(--progressive-nav-padding-md);
371
+ }
372
+
373
+ /* Navigation Groups (Desktop/Tablet Dropdowns) */
374
+ .progressive-nav__group {
375
+ position: relative;
376
+ }
377
+
378
+ .progressive-nav__group-trigger {
379
+ display: flex;
380
+ align-items: center;
381
+ gap: var(--progressive-nav-padding-xs);
382
+ padding: var(--progressive-nav-padding-sm) var(--progressive-nav-padding-md);
383
+ background: none;
384
+ border: none;
385
+ color: var(--progressive-nav-text-primary);
386
+ cursor: pointer;
387
+ border-radius: var(--progressive-nav-border-radius);
388
+ transition: var(--progressive-nav-transition);
389
+ min-height: var(--progressive-nav-tablet-touch-target);
390
+ }
391
+
392
+ .progressive-nav__group-trigger:hover {
393
+ background-color: var(--progressive-nav-interactive-hover);
394
+ }
395
+
396
+ .progressive-nav__group-trigger:focus {
397
+ outline: var(--cs-accessibility-focus-ring-width) solid var(--cs-accessibility-focus-ring-color);
398
+ outline-offset: var(--cs-accessibility-focus-ring-offset);
399
+ }
400
+
401
+ .progressive-nav__group-trigger--active {
402
+ background-color: var(--progressive-nav-interactive-active);
403
+ }
404
+
405
+ .progressive-nav__group-title {
406
+ font-weight: var(--cs-fonts-primary-weights-medium);
407
+ }
408
+
409
+ .progressive-nav__group-arrow {
410
+ width: var(--cs-spacing-scale-sm);
411
+ height: var(--cs-spacing-scale-sm);
412
+ transition: var(--progressive-nav-transition);
413
+ }
414
+
415
+ .progressive-nav__group-arrow--expanded {
416
+ transform: rotate(180deg);
417
+ }
418
+
419
+ /* Dark mode group support */
420
+ .dark .progressive-nav__group-trigger {
421
+ color: var(--cs-modes-dark-colors-text-primary);
422
+ }
423
+
424
+ .dark .progressive-nav__group-trigger:hover {
425
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
426
+ }
427
+
428
+ .dark .progressive-nav__group-trigger--active {
429
+ background-color: var(--cs-modes-dark-colors-interactive-active);
430
+ }
431
+
432
+ /* Dropdown Menu */
433
+ .progressive-nav__dropdown {
434
+ position: absolute;
435
+ top: 100%;
436
+ left: 0;
437
+ min-width: 200px;
438
+ background-color: var(--progressive-nav-bg);
439
+ border: var(--cs-border-width-sm) solid var(--progressive-nav-border);
440
+ border-radius: var(--progressive-nav-border-radius);
441
+ box-shadow: var(--progressive-nav-shadow);
442
+ z-index: var(--progressive-nav-dropdown-z-index);
443
+ padding: var(--progressive-nav-padding-xs);
444
+ animation: dropdownFadeIn var(--progressive-nav-transition);
445
+ }
446
+
447
+ .dark .progressive-nav__dropdown {
448
+ background-color: var(--cs-modes-dark-colors-surface-background);
449
+ border-color: var(--cs-modes-dark-colors-border);
450
+ }
451
+
452
+ @keyframes dropdownFadeIn {
453
+ from {
454
+ opacity: 0;
455
+ transform: translateY(-4px);
456
+ }
457
+ to {
458
+ opacity: 1;
459
+ transform: translateY(0);
460
+ }
461
+ }
462
+
463
+ .progressive-nav__dropdown-item {
464
+ display: flex;
465
+ align-items: center;
466
+ width: 100%;
467
+ padding: var(--progressive-nav-padding-sm);
468
+ background: none;
469
+ border: none;
470
+ color: var(--progressive-nav-text-primary);
471
+ text-align: left;
472
+ cursor: pointer;
473
+ border-radius: var(--cs-border-radius-sm);
474
+ transition: var(--progressive-nav-transition);
475
+ gap: var(--progressive-nav-padding-sm);
476
+ }
477
+
478
+ .progressive-nav__dropdown-item:hover {
479
+ background-color: var(--progressive-nav-interactive-hover);
480
+ }
481
+
482
+ .progressive-nav__dropdown-item:focus {
483
+ outline: var(--cs-accessibility-focus-ring-width) solid var(--cs-accessibility-focus-ring-color);
484
+ outline-offset: var(--cs-accessibility-focus-ring-offset);
485
+ }
486
+
487
+ .progressive-nav__dropdown-item--active {
488
+ background-color: var(--progressive-nav-primary);
489
+ color: var(--cs-colors-surface-background);
490
+ font-weight: var(--cs-fonts-primary-weights-semibold);
491
+ }
492
+
493
+ .progressive-nav__dropdown-item--disabled {
494
+ color: var(--progressive-nav-text-muted);
495
+ cursor: not-allowed;
496
+ opacity: var(--cs-accessibility-disabled-opacity);
497
+ }
498
+
499
+ .progressive-nav__dropdown-item--disabled:hover {
500
+ background-color: transparent;
501
+ }
502
+
503
+ /* Dark mode dropdown support */
504
+ .dark .progressive-nav__dropdown-item {
505
+ color: var(--cs-modes-dark-colors-text-primary);
506
+ }
507
+
508
+ .dark .progressive-nav__dropdown-item:hover {
509
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
510
+ }
511
+
512
+ .dark .progressive-nav__dropdown-item--active {
513
+ background-color: var(--cs-modes-dark-colors-primary-500);
514
+ color: var(--cs-modes-dark-colors-text-inverse);
515
+ }
516
+
517
+ /* Secondary Actions (Desktop only) */
518
+ .progressive-nav__secondary-actions {
519
+ display: flex;
520
+ align-items: center;
521
+ gap: var(--progressive-nav-padding-sm);
522
+ }
523
+
524
+ .progressive-nav__secondary-action {
525
+ display: flex;
526
+ align-items: center;
527
+ }
528
+
529
+ /* Item Elements */
530
+ .progressive-nav__item-icon,
531
+ .progressive-nav__mobile-item-icon,
532
+ .progressive-nav__dropdown-item-icon {
533
+ width: var(--cs-spacing-scale-md);
534
+ height: var(--cs-spacing-scale-md);
535
+ flex-shrink: 0;
536
+ }
537
+
538
+ .progressive-nav__item-label,
539
+ .progressive-nav__mobile-item-label,
540
+ .progressive-nav__dropdown-item-label {
541
+ flex: 1;
542
+ white-space: nowrap;
543
+ }
544
+
545
+ .progressive-nav__item-badge,
546
+ .progressive-nav__mobile-item-badge,
547
+ .progressive-nav__dropdown-item-badge {
548
+ flex-shrink: 0;
549
+ margin-left: auto;
550
+ }
551
+
552
+ /* Responsive Breakpoints */
553
+ @media (max-width: 640px) {
554
+ .progressive-nav--tablet,
555
+ .progressive-nav--desktop {
556
+ display: none;
557
+ }
558
+ }
559
+
560
+ @media (min-width: 641px) and (max-width: 1023px) {
561
+ .progressive-nav--mobile,
562
+ .progressive-nav--desktop {
563
+ display: none;
564
+ }
565
+ }
566
+
567
+ @media (min-width: 1024px) {
568
+ .progressive-nav--mobile,
569
+ .progressive-nav--tablet {
570
+ display: none;
571
+ }
572
+
573
+ /* Desktop touch targets can be smaller */
574
+ .progressive-nav__item,
575
+ .progressive-nav__group-trigger {
576
+ min-height: var(--progressive-nav-desktop-touch-target);
577
+ }
578
+ }
579
+
580
+ /* High Contrast Mode Support */
581
+ @media (prefers-contrast: high) {
582
+ .progressive-nav {
583
+ border-bottom-width: calc(var(--cs-border-width-sm) * 2);
584
+ }
585
+
586
+ .progressive-nav__dropdown {
587
+ border-width: calc(var(--cs-border-width-sm) * 2);
588
+ }
589
+ }
590
+
591
+ /* Reduced Motion Support */
592
+ @media (prefers-reduced-motion: reduce) {
593
+ .progressive-nav *,
594
+ .progressive-nav *::before,
595
+ .progressive-nav *::after {
596
+ animation-duration: 0.01ms !important;
597
+ animation-iteration-count: 1 !important;
598
+ transition-duration: 0.01ms !important;
599
+ }
600
+
601
+ .progressive-nav__group-arrow--expanded {
602
+ transform: none;
603
+ }
604
+ }
605
+
606
+ /* Focus Management for Accessibility */
607
+ .progressive-nav:focus-within .progressive-nav__dropdown {
608
+ display: block;
609
+ }
610
+
611
+ /* Skip to content link support */
612
+ .progressive-nav__skip-link {
613
+ position: absolute;
614
+ top: -40px;
615
+ left: 6px;
616
+ background: var(--progressive-nav-bg);
617
+ color: var(--progressive-nav-text-primary);
618
+ padding: 8px;
619
+ text-decoration: none;
620
+ border-radius: 4px;
621
+ border: 1px solid var(--progressive-nav-border);
622
+ z-index: 1100;
623
+ }
624
+
625
+ .progressive-nav__skip-link:focus {
626
+ top: 6px;
627
+ }
628
+
629
+ .dark .progressive-nav__skip-link {
630
+ background: var(--cs-modes-dark-colors-surface-background);
631
+ color: var(--cs-modes-dark-colors-text-primary);
632
+ border-color: var(--cs-modes-dark-colors-border);
633
+ }
@@ -515,7 +515,7 @@
515
515
  }
516
516
 
517
517
  /* Sidebar Responsive Behavior */
518
- @media (max-width: var(--cs-breakpoints-tablet)) {
518
+ @media (max-width: 768px) {
519
519
  .sidebar {
520
520
  transform: translateX(-100%);
521
521
  }
@@ -529,7 +529,7 @@
529
529
  }
530
530
  }
531
531
 
532
- @media (max-width: var(--cs-breakpoints-mobile)) {
532
+ @media (max-width: 640px) {
533
533
  .sidebar {
534
534
  width: 100%;
535
535
  font-size: var(--sidebar-mobile-font-size, var(--cs-fonts-primary-sizes-xs));
@@ -546,7 +546,7 @@
546
546
  }
547
547
 
548
548
  /* Container Queries for Adaptive Layouts */
549
- @container (min-width: var(--cs-breakpoints-tablet)) {
549
+ @container (min-width: 768px) {
550
550
  .sidebar {
551
551
  font-size: var(--sidebar-container-font-size, var(--cs-fonts-primary-sizes-sm));
552
552
  }
@@ -800,7 +800,7 @@
800
800
  }
801
801
 
802
802
  /* Responsive Design for Showcase */
803
- @media (min-width: var(--cs-breakpoints-tablet)) {
803
+ @media (min-width: 768px) {
804
804
  .sidebar-responsive-grid {
805
805
  grid-template-columns: 1fr 1fr !important;
806
806
  }
@@ -408,7 +408,7 @@
408
408
  }
409
409
 
410
410
  /* Stepper Responsive Behavior */
411
- @media (max-width: var(--cs-breakpoints-tablet)) {
411
+ @media (max-width: 768px) {
412
412
  .stepper--horizontal {
413
413
  flex-direction: column;
414
414
  }
@@ -432,7 +432,7 @@
432
432
  }
433
433
  }
434
434
 
435
- @media (max-width: var(--cs-breakpoints-mobile)) {
435
+ @media (max-width: 640px) {
436
436
  .stepper__step-number {
437
437
  width: var(--stepper-step-size-small);
438
438
  height: var(--stepper-step-size-small);
@@ -386,7 +386,7 @@
386
386
  }
387
387
 
388
388
  /* Tabs Responsive Behavior */
389
- @media (max-width: var(--cs-breakpoints-mobile)) {
389
+ @media (max-width: 640px) {
390
390
  .tabs__list--vertical {
391
391
  flex-direction: row;
392
392
  overflow-x: auto;
@@ -0,0 +1,17 @@
1
+ /* Progressive CSS - Phase 3 Performance Optimization */
2
+ /* Desktop enhancement styles (lg-3xl breakpoints) loaded on demand */
3
+
4
+ /* Desktop-enhanced component styles */
5
+ @import './components/navigation/index.css';
6
+ @import './components/data-display/index.css';
7
+ @import './components/feedback/index.css';
8
+ @import './components/overlay/index.css';
9
+ @import './components/ui/index.css';
10
+
11
+ /* Desktop-specific utilities */
12
+ @import './utilities/hardware-acceleration.css';
13
+ @import './utilities/advanced-transition-system.css';
14
+ @import './utilities/design-system-utilities.css';
15
+
16
+ /* Desktop responsive enhancements (lg-3xl only) */
17
+ /* These will be filtered during build to include only progressive breakpoints */