@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.1.6 → 0.1.8

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 (70) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.esm.js +11 -2
  4. package/dist/index.js +11 -2
  5. package/dist/styles.css +1 -1
  6. package/package.json +1 -1
  7. package/src/index.css +1046 -0
  8. package/src/index.ts +9 -1
  9. package/src/plugins/theme-css-generator.ts +354 -0
  10. package/src/styles/base/fonts.css +30 -0
  11. package/src/styles/base/generated-theme-variables.css +573 -0
  12. package/src/styles/base/index.css +7 -0
  13. package/src/styles/base/reset.css +48 -0
  14. package/src/styles/base/theme.css +1068 -0
  15. package/src/styles/base/typography.css +68 -0
  16. package/src/styles/base/variables.css +5 -0
  17. package/src/styles/components/CLAUDE.md +62 -0
  18. package/src/styles/components/base/badge.css +428 -0
  19. package/src/styles/components/base/button.css +774 -0
  20. package/src/styles/components/base/card.css +601 -0
  21. package/src/styles/components/base/checkbox.css +442 -0
  22. package/src/styles/components/base/index.css +9 -0
  23. package/src/styles/components/base/input.css +887 -0
  24. package/src/styles/components/base/label.css +296 -0
  25. package/src/styles/components/data-display/chart.css +353 -0
  26. package/src/styles/components/data-display/data-grid.css +619 -0
  27. package/src/styles/components/data-display/index.css +9 -0
  28. package/src/styles/components/data-display/list.css +560 -0
  29. package/src/styles/components/data-display/table.css +498 -0
  30. package/src/styles/components/data-display/timeline.css +764 -0
  31. package/src/styles/components/data-display/tree.css +881 -0
  32. package/src/styles/components/feedback/alert.css +358 -0
  33. package/src/styles/components/feedback/index.css +7 -0
  34. package/src/styles/components/feedback/progress.css +435 -0
  35. package/src/styles/components/feedback/skeleton.css +337 -0
  36. package/src/styles/components/feedback/toast.css +564 -0
  37. package/src/styles/components/index.css +17 -0
  38. package/src/styles/components/navigation/breadcrumb.css +465 -0
  39. package/src/styles/components/navigation/index.css +9 -0
  40. package/src/styles/components/navigation/menu.css +572 -0
  41. package/src/styles/components/navigation/pagination.css +635 -0
  42. package/src/styles/components/navigation/sidebar.css +807 -0
  43. package/src/styles/components/navigation/stepper.css +519 -0
  44. package/src/styles/components/navigation/tabs.css +404 -0
  45. package/src/styles/components/overlay/backdrop.css +243 -0
  46. package/src/styles/components/overlay/index.css +8 -0
  47. package/src/styles/components/overlay/modal.css +482 -0
  48. package/src/styles/components/overlay/popover.css +607 -0
  49. package/src/styles/components/overlay/portal.css +213 -0
  50. package/src/styles/components/overlay/tooltip.css +488 -0
  51. package/src/styles/generated-theme-variables.css +573 -0
  52. package/src/styles/index.css +5 -0
  53. package/src/styles/layers/index.css +54 -0
  54. package/src/styles/layers/overrides.css +108 -0
  55. package/src/styles/layers/validation.css +159 -0
  56. package/src/styles/layers/validation.js +310 -0
  57. package/src/styles/themes/default.css +450 -0
  58. package/src/styles/themes/enterprise.css +370 -0
  59. package/src/styles/themes/harvey.css +436 -0
  60. package/src/styles/themes/index.css +4 -0
  61. package/src/styles/themes/stan-design.css +572 -0
  62. package/src/styles/utilities/advanced-transition-system.css +467 -0
  63. package/src/styles/utilities/battery-conscious-animations.css +289 -0
  64. package/src/styles/utilities/enterprise-mobile-experience.css +817 -0
  65. package/src/styles/utilities/hardware-acceleration.css +121 -0
  66. package/src/styles/utilities/index.css +20 -0
  67. package/src/styles/utilities/mobile-skeleton-loading.css +596 -0
  68. package/src/styles/utilities/semantic-input-system.css +451 -0
  69. package/src/styles/utilities/touch-friendly-interface.css +247 -0
  70. package/src/styles/utilities/touch-optimization.css +165 -0
@@ -0,0 +1,572 @@
1
+ /* Menu Component Styles */
2
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
3
+
4
+ /* Menu Component CSS Variables */
5
+ :root {
6
+ /* Menu Base Variables */
7
+ --menu-font-size: var(--cs-fonts-primary-sizes-sm);
8
+ --menu-font-weight: var(--cs-fonts-primary-weights-medium);
9
+ --menu-line-height: var(--cs-fonts-primary-line-heights-tight);
10
+ --menu-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
11
+
12
+ /* Menu Color Variables */
13
+ --menu-color-primary: var(--cs-colors-text-primary);
14
+ --menu-color-secondary: var(--cs-colors-text-secondary);
15
+ --menu-color-muted: var(--cs-colors-text-muted);
16
+ --menu-color-disabled: var(--cs-colors-text-muted);
17
+ --menu-color-active: var(--cs-colors-primary-500);
18
+ --menu-color-hover: var(--cs-colors-interactive-hover);
19
+
20
+ /* Menu Spacing Variables */
21
+ --menu-padding-y: var(--cs-spacing-scale-xs);
22
+ --menu-padding-x: var(--cs-spacing-scale-sm);
23
+ --menu-margin: var(--cs-spacing-scale-xs);
24
+ --menu-item-spacing: var(--cs-spacing-scale-xs);
25
+ --menu-group-spacing: var(--cs-spacing-scale-md);
26
+
27
+ /* Menu State Variables */
28
+ --menu-transition: var(--cs-transitions-properties-colors);
29
+ --menu-border-radius: var(--cs-border-radius-lg);
30
+ --menu-border-width: var(--cs-border-width-sm);
31
+ --menu-shadow: var(--cs-shadows-lg);
32
+
33
+ /* Menu Focus Variables */
34
+ --menu-focus-ring-width: var(--cs-accessibility-focus-ring-width);
35
+ --menu-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
36
+ --menu-focus-ring-color: var(--cs-accessibility-focus-ring-color);
37
+ --menu-focus-outline-offset: var(--cs-accessibility-outline-offset);
38
+
39
+ /* Menu Icon Variables */
40
+ --menu-icon-size: var(--cs-fonts-primary-sizes-sm);
41
+ --menu-icon-spacing: var(--cs-spacing-scale-sm);
42
+ --menu-badge-spacing: var(--cs-spacing-scale-sm);
43
+
44
+ /* Menu Dropdown Variables */
45
+ --menu-dropdown-min-width: var(--cs-spacing-scale-3xl);
46
+ --menu-dropdown-max-width: var(--cs-spacing-scale-5xl);
47
+ --menu-dropdown-z-index: 1000;
48
+
49
+ /* Menu Animation Variables */
50
+ --menu-arrow-size: var(--cs-spacing-scale-xs);
51
+ --menu-arrow-border-width: var(--cs-border-width-focus);
52
+ --menu-hover-offset: var(--cs-spacing-scale-xs);
53
+ --menu-slide-offset: var(--cs-spacing-scale-sm);
54
+
55
+ /* Menu Interactive State Variables */
56
+ --menu-hover-transform: translateY(calc(-1 * var(--cs-spacing-scale-xs)));
57
+ --menu-hover-shadow: var(--cs-shadows-md);
58
+ --menu-focus-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
59
+ --menu-focus-offset: var(--cs-spacing-scale-xs);
60
+ --menu-active-transform: translateY(0);
61
+ --menu-active-shadow: var(--cs-shadows-sm);
62
+ --menu-focus-ring-outline: var(--cs-spacing-scale-xs) solid var(--cs-colors-interactive-focus);
63
+ --menu-focus-ring-offset: var(--cs-spacing-scale-xs);
64
+
65
+ /* Menu High Contrast Variables */
66
+ --menu-high-contrast-border-width: var(--cs-spacing-scale-xs);
67
+
68
+ /* Menu Responsive Variables */
69
+ --menu-mobile-font-size: var(--cs-fonts-primary-sizes-xs);
70
+ --menu-mobile-padding-y: var(--cs-spacing-scale-xs);
71
+ --menu-mobile-padding-x: var(--cs-spacing-scale-sm);
72
+ --menu-container-font-size: var(--cs-fonts-primary-sizes-sm);
73
+
74
+ /* Menu Showcase Variables */
75
+ --menu-showcase-gap: var(--cs-spacing-scale-md);
76
+ --menu-variant-showcase-gap: var(--cs-spacing-scale-md);
77
+ --menu-variant-section-gap: var(--cs-spacing-scale-sm);
78
+ --menu-variant-title-size: var(--cs-fonts-primary-sizes-lg);
79
+ --menu-variant-title-weight: var(--cs-fonts-primary-weights-semibold);
80
+ --menu-variant-grid-gap: var(--cs-spacing-scale-sm);
81
+ --menu-variant-description-size: var(--cs-fonts-primary-sizes-sm);
82
+ --menu-variant-description-color: var(--cs-colors-text-muted);
83
+ --menu-responsive-showcase-gap: var(--cs-spacing-scale-md);
84
+ --menu-responsive-description-size: var(--cs-fonts-primary-sizes-sm);
85
+ --menu-responsive-description-color: var(--cs-colors-text-muted);
86
+ --menu-responsive-grid-gap: var(--cs-spacing-scale-md);
87
+ --menu-responsive-title-size: var(--cs-fonts-primary-sizes-md);
88
+ --menu-responsive-title-weight: var(--cs-fonts-primary-weights-medium);
89
+ --menu-responsive-column-gap: var(--cs-spacing-scale-sm);
90
+ }
91
+
92
+ /* Base Menu Styles */
93
+ .menu {
94
+ display: flex;
95
+ flex-direction: column;
96
+ border-radius: var(--menu-border-radius);
97
+ border: var(--menu-border-width) solid transparent;
98
+ box-shadow: var(--menu-shadow);
99
+ background-color: var(--cs-colors-surface-background);
100
+ transition: var(--menu-transition);
101
+ min-width: var(--menu-dropdown-min-width);
102
+ max-width: var(--menu-dropdown-max-width);
103
+ z-index: var(--menu-dropdown-z-index);
104
+ }
105
+
106
+ /* Menu Theme Variants */
107
+ .menu--semantic {
108
+ background-color: var(--cs-colors-surface-background);
109
+ border-color: var(--cs-colors-border);
110
+ transition: all var(--cs-transitions-duration-normal) var(--cs-transitions-easing-ease);
111
+ }
112
+
113
+ /* Dark mode automatically handled by CSS variables */
114
+ .dark .menu--semantic {
115
+ background-color: var(--cs-modes-dark-colors-surface-surface);
116
+ border-color: var(--cs-modes-dark-colors-border);
117
+ }
118
+
119
+ /* Menu Header */
120
+ .menu__header {
121
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
122
+ border-bottom: var(--menu-border-width) solid var(--cs-colors-border);
123
+ font-weight: var(--cs-fonts-primary-weights-semibold);
124
+ color: var(--menu-color-primary);
125
+ }
126
+
127
+ /* Dark mode automatically handled by CSS variables */
128
+ .dark .menu__header {
129
+ border-bottom-color: var(--cs-modes-dark-colors-border);
130
+ color: var(--cs-modes-dark-colors-text-primary);
131
+ }
132
+
133
+ /* Menu Group */
134
+ .menu__group {
135
+ padding: var(--menu-group-spacing) 0;
136
+ }
137
+
138
+ .menu__group:not(:last-child) {
139
+ border-bottom: var(--menu-border-width) solid var(--cs-colors-border);
140
+ }
141
+
142
+ .menu__group-title {
143
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-md);
144
+ font-size: var(--cs-fonts-primary-sizes-xs);
145
+ font-weight: var(--cs-fonts-primary-weights-semibold);
146
+ color: var(--menu-color-muted);
147
+ text-transform: uppercase;
148
+ letter-spacing: var(--cs-fonts-primary-letter-spacing-wide);
149
+ }
150
+
151
+ /* Dark mode automatically handled by CSS variables */
152
+ .dark .menu__group {
153
+ border-bottom-color: var(--cs-modes-dark-colors-border);
154
+ }
155
+
156
+ .dark .menu__group-title {
157
+ color: var(--cs-modes-dark-colors-text-muted);
158
+ }
159
+
160
+ /* Menu Item Styles */
161
+ .menu__item {
162
+ display: flex;
163
+ align-items: center;
164
+ width: 100%;
165
+ padding: var(--menu-padding-y) var(--menu-padding-x);
166
+ font-size: var(--menu-font-size);
167
+ font-weight: var(--menu-font-weight);
168
+ line-height: var(--menu-line-height);
169
+ letter-spacing: var(--menu-letter-spacing);
170
+ color: var(--menu-color-primary);
171
+ text-decoration: none;
172
+ border: none;
173
+ background: none;
174
+ cursor: pointer;
175
+ transition: var(--menu-transition);
176
+ text-align: left;
177
+ }
178
+
179
+ .menu__item:hover {
180
+ background-color: var(--menu-color-hover);
181
+ color: var(--menu-color-primary);
182
+ }
183
+
184
+ /* Dark mode automatically handled by CSS variables */
185
+ .dark .menu__item {
186
+ color: var(--cs-modes-dark-colors-text-primary);
187
+ background-color: var(--cs-modes-dark-colors-surface-surface);
188
+ }
189
+
190
+ .dark .menu__item:hover {
191
+ background-color: var(--cs-modes-dark-colors-interactive-hover);
192
+ color: var(--cs-modes-dark-colors-text-primary);
193
+ }
194
+
195
+ .menu__item:focus {
196
+ outline: var(--menu-focus-ring-width) solid var(--menu-focus-ring-color);
197
+ outline-offset: var(--menu-focus-ring-offset);
198
+ }
199
+
200
+ .menu__item:focus:not(:focus-visible) {
201
+ outline: none;
202
+ }
203
+
204
+ .menu__item--active {
205
+ background-color: var(--menu-color-active);
206
+ color: var(--cs-colors-surface-background);
207
+ }
208
+
209
+ .menu__item--disabled {
210
+ color: var(--menu-color-disabled);
211
+ cursor: not-allowed;
212
+ opacity: var(--cs-accessibility-disabled-opacity);
213
+ }
214
+
215
+ .menu__item--disabled:hover {
216
+ background-color: transparent;
217
+ color: var(--menu-color-disabled);
218
+ }
219
+
220
+ /* Dark mode automatically handled by CSS variables */
221
+ .dark .menu__item--active {
222
+ background-color: var(--cs-modes-dark-colors-primary-500);
223
+ color: var(--cs-modes-dark-colors-text-inverse);
224
+ }
225
+
226
+ .dark .menu__item--disabled {
227
+ color: var(--cs-modes-dark-colors-text-muted);
228
+ }
229
+
230
+ /* Menu Item Elements */
231
+ .menu__item-icon {
232
+ width: var(--menu-icon-size);
233
+ height: var(--menu-icon-size);
234
+ margin-right: var(--menu-icon-spacing);
235
+ flex-shrink: 0;
236
+ }
237
+
238
+ .menu__item-label {
239
+ flex: 1;
240
+ white-space: nowrap;
241
+ overflow: hidden;
242
+ text-overflow: ellipsis;
243
+ }
244
+
245
+ .menu__item-badge {
246
+ margin-left: var(--menu-badge-spacing);
247
+ flex-shrink: 0;
248
+ }
249
+
250
+ .menu__item-description {
251
+ display: block;
252
+ font-size: var(--cs-fonts-primary-sizes-xs);
253
+ color: var(--menu-color-muted);
254
+ margin-top: var(--cs-spacing-scale-xs);
255
+ }
256
+
257
+ /* Dark mode automatically handled by CSS variables */
258
+ .dark .menu__item-description {
259
+ color: var(--cs-modes-dark-colors-text-muted);
260
+ }
261
+
262
+ /* Menu Item with Children */
263
+ .menu__item--has-children {
264
+ position: relative;
265
+ }
266
+
267
+ .menu__item--has-children::after {
268
+ content: '';
269
+ width: var(--menu-arrow-size);
270
+ height: var(--menu-arrow-size);
271
+ border-right: var(--menu-arrow-border-width) solid currentColor;
272
+ border-bottom: var(--menu-arrow-border-width) solid currentColor;
273
+ transform: rotate(-45deg);
274
+ margin-left: auto;
275
+ transition: var(--menu-transition);
276
+ }
277
+
278
+ .menu__item--has-children:hover::after {
279
+ transform: rotate(-45deg) translateY(calc(-1 * var(--menu-hover-offset)));
280
+ }
281
+
282
+ /* Menu Submenu */
283
+ .menu__submenu {
284
+ position: absolute;
285
+ left: 100%;
286
+ top: 0;
287
+ min-width: var(--menu-dropdown-min-width);
288
+ max-width: var(--menu-dropdown-max-width);
289
+ background-color: var(--cs-colors-surface-background);
290
+ border: var(--menu-border-width) solid var(--cs-colors-border);
291
+ border-radius: var(--menu-border-radius);
292
+ box-shadow: var(--menu-shadow);
293
+ opacity: 0;
294
+ visibility: hidden;
295
+ transform: translateX(calc(-1 * var(--menu-slide-offset)));
296
+ transition: var(--menu-transition);
297
+ z-index: calc(var(--menu-dropdown-z-index) + 1);
298
+ }
299
+
300
+ /* Dark mode automatically handled by CSS variables */
301
+ .dark .menu__submenu {
302
+ background-color: var(--cs-modes-dark-colors-surface-surface);
303
+ border-color: var(--cs-modes-dark-colors-border);
304
+ }
305
+
306
+ .menu__item--has-children:hover .menu__submenu,
307
+ .menu__item--has-children:focus-within .menu__submenu {
308
+ opacity: 1;
309
+ visibility: visible;
310
+ transform: translateX(0);
311
+ }
312
+
313
+ /* Menu Divider */
314
+ .menu__divider {
315
+ height: var(--menu-border-width);
316
+ background-color: var(--cs-colors-border);
317
+ margin: var(--cs-spacing-scale-xs) 0;
318
+ }
319
+
320
+ /* Dark mode automatically handled by CSS variables */
321
+ .dark .menu__divider {
322
+ background-color: var(--cs-modes-dark-colors-border);
323
+ }
324
+
325
+ /* Menu Footer */
326
+ .menu__footer {
327
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
328
+ border-top: var(--menu-border-width) solid var(--cs-colors-border);
329
+ background-color: var(--cs-colors-surface-surface);
330
+ font-size: var(--cs-fonts-primary-sizes-xs);
331
+ color: var(--menu-color-muted);
332
+ }
333
+
334
+ /* Dark mode automatically handled by CSS variables */
335
+ .dark .menu__footer {
336
+ border-top-color: var(--cs-modes-dark-colors-border);
337
+ background-color: var(--cs-modes-dark-colors-surface-surface);
338
+ color: var(--cs-modes-dark-colors-text-muted);
339
+ }
340
+
341
+ /* Menu Responsive Behavior */
342
+ @media (max-width: var(--cs-breakpoints-mobile)) {
343
+ .menu {
344
+ min-width: 100%;
345
+ max-width: 100%;
346
+ font-size: var(--menu-mobile-font-size, var(--cs-fonts-primary-sizes-xs));
347
+ padding: var(--menu-mobile-padding-y, var(--cs-spacing-scale-xs)) var(--menu-mobile-padding-x, var(--cs-spacing-scale-sm));
348
+ }
349
+
350
+ .menu__submenu {
351
+ position: static;
352
+ opacity: 1;
353
+ visibility: visible;
354
+ transform: none;
355
+ box-shadow: none;
356
+ border: none;
357
+ border-left: var(--menu-border-width) solid var(--cs-colors-border);
358
+ margin-left: var(--cs-spacing-scale-md);
359
+ }
360
+
361
+ .menu__item--has-children::after {
362
+ transform: rotate(45deg);
363
+ }
364
+
365
+ .menu__item--has-children:hover::after {
366
+ transform: rotate(45deg) translateY(var(--menu-hover-offset));
367
+ }
368
+ }
369
+
370
+ /* Container Queries for Adaptive Layouts */
371
+ @container (min-width: var(--cs-breakpoints-tablet)) {
372
+ .menu {
373
+ font-size: var(--menu-container-font-size, var(--cs-fonts-primary-sizes-sm));
374
+ }
375
+ }
376
+
377
+ /* Menu Focus Management */
378
+ .menu__item:focus-visible {
379
+ outline: var(--menu-focus-ring-width) solid var(--menu-focus-ring-color);
380
+ outline-offset: var(--menu-focus-ring-offset);
381
+ }
382
+
383
+ /* Menu Accessibility */
384
+ .menu[role="menu"] {
385
+ /* Ensure proper menu role styling */
386
+ }
387
+
388
+ .menu__item[role="menuitem"] {
389
+ /* Ensure proper menuitem role styling */
390
+ }
391
+
392
+ .menu__item[aria-expanded="true"]::after {
393
+ transform: rotate(45deg);
394
+ }
395
+
396
+ /* High Contrast Mode Support */
397
+ @media (prefers-contrast: high) {
398
+ .menu {
399
+ border-width: var(--menu-high-contrast-border-width);
400
+ }
401
+
402
+ .menu__submenu {
403
+ border-width: var(--menu-high-contrast-border-width);
404
+ }
405
+ }
406
+
407
+ /* Reduced Motion Support */
408
+ @media (prefers-reduced-motion: reduce) {
409
+ .menu__item {
410
+ transition: none;
411
+ }
412
+
413
+ .menu__item[tabindex]:hover,
414
+ .menu__item[role="button"]:hover,
415
+ .menu__item[role="link"]:hover {
416
+ transform: none;
417
+ }
418
+
419
+ .menu__submenu {
420
+ transition: none;
421
+ animation: none;
422
+ }
423
+ }
424
+
425
+ /* Menu Interactive States - Following Gold Standard Pattern */
426
+ .menu__item[tabindex]:hover,
427
+ .menu__item[role="button"]:hover,
428
+ .menu__item[role="link"]:hover {
429
+ transform: var(--menu-hover-transform, translateY(calc(-1 * var(--cs-spacing-scale-xs))));
430
+ box-shadow: var(--menu-hover-shadow, var(--cs-shadows-md));
431
+ }
432
+
433
+ .menu__item[tabindex]:active,
434
+ .menu__item[role="button"]:active,
435
+ .menu__item[role="link"]:active {
436
+ transform: var(--menu-active-transform, translateY(0));
437
+ box-shadow: var(--menu-active-shadow, var(--cs-shadows-sm));
438
+ }
439
+
440
+ /* Menu Animation */
441
+ .menu__item {
442
+ transform: translateZ(0);
443
+ backface-visibility: hidden;
444
+ }
445
+
446
+ .menu__item:hover {
447
+ transform: translateX(var(--menu-hover-offset));
448
+ }
449
+
450
+ .menu__item:active {
451
+ transform: translateX(0);
452
+ }
453
+
454
+ /* Menu Dropdown Animation */
455
+ .menu__submenu {
456
+ transform-origin: left top;
457
+ }
458
+
459
+ .menu__item--has-children:hover .menu__submenu,
460
+ .menu__item--has-children:focus-within .menu__submenu {
461
+ animation: menuSlideIn 0.2s ease-out;
462
+ }
463
+
464
+ @keyframes menuSlideIn {
465
+ from {
466
+ opacity: 0;
467
+ transform: translateX(calc(-1 * var(--menu-slide-offset)));
468
+ }
469
+ to {
470
+ opacity: 1;
471
+ transform: translateX(0);
472
+ }
473
+ }
474
+
475
+ /* Storybook Showcase Styles - Following Gold Standard Pattern */
476
+ /* Menu Showcase Layout */
477
+ .menu-showcase {
478
+ display: flex;
479
+ flex-wrap: wrap;
480
+ gap: var(--menu-showcase-gap, var(--cs-spacing-scale-md));
481
+ align-items: center;
482
+ }
483
+
484
+ /* Menu Variant Showcase */
485
+ .menu-variant-showcase {
486
+ display: flex;
487
+ flex-direction: column;
488
+ gap: var(--menu-variant-showcase-gap, var(--cs-spacing-scale-md));
489
+ }
490
+
491
+ .menu-variant-section {
492
+ display: flex;
493
+ flex-direction: column;
494
+ gap: var(--menu-variant-section-gap, var(--cs-spacing-scale-sm));
495
+ }
496
+
497
+ .menu-variant-title {
498
+ font-size: var(--menu-variant-title-size, var(--cs-fonts-primary-sizes-lg));
499
+ font-weight: var(--menu-variant-title-weight, var(--cs-fonts-primary-weights-semibold));
500
+ margin-bottom: var(--cs-spacing-scale-sm);
501
+ color: var(--cs-colors-text-primary);
502
+ }
503
+
504
+ .menu-variant-grid {
505
+ display: flex;
506
+ flex-wrap: wrap;
507
+ gap: var(--menu-variant-grid-gap, var(--cs-spacing-scale-sm));
508
+ }
509
+
510
+ .menu-variant-description {
511
+ font-size: var(--menu-variant-description-size, var(--cs-fonts-primary-sizes-sm));
512
+ color: var(--menu-variant-description-color, var(--cs-colors-text-muted));
513
+ }
514
+
515
+ /* Menu Interactive Showcase */
516
+ .menu-interactive-showcase {
517
+ display: flex;
518
+ flex-direction: column;
519
+ gap: var(--cs-spacing-scale-md);
520
+ }
521
+
522
+ .menu-interactive-grid {
523
+ display: flex;
524
+ flex-wrap: wrap;
525
+ gap: var(--cs-spacing-scale-sm);
526
+ }
527
+
528
+ .menu-interactive-description {
529
+ font-size: var(--cs-fonts-primary-sizes-sm);
530
+ color: var(--cs-colors-text-muted);
531
+ }
532
+
533
+ /* Menu Responsive Showcase */
534
+ .menu-responsive-showcase {
535
+ display: flex;
536
+ flex-direction: column;
537
+ gap: var(--menu-responsive-showcase-gap, var(--cs-spacing-scale-md));
538
+ }
539
+
540
+ .menu-responsive-description {
541
+ font-size: var(--menu-responsive-description-size, var(--cs-fonts-primary-sizes-sm));
542
+ color: var(--menu-responsive-description-color, var(--cs-colors-text-muted));
543
+ margin-bottom: var(--cs-spacing-scale-sm);
544
+ }
545
+
546
+ .menu-responsive-grid {
547
+ display: grid;
548
+ grid-template-columns: 1fr;
549
+ gap: var(--menu-responsive-grid-gap, var(--cs-spacing-scale-md));
550
+ width: 100%;
551
+ max-width: var(--cs-spacing-scale-6xl);
552
+ }
553
+
554
+ .menu-responsive-column {
555
+ display: flex;
556
+ flex-direction: column;
557
+ gap: var(--menu-responsive-column-gap, var(--cs-spacing-scale-sm));
558
+ }
559
+
560
+ .menu-responsive-title {
561
+ font-size: var(--menu-responsive-title-size, var(--cs-fonts-primary-sizes-md));
562
+ font-weight: var(--menu-responsive-title-weight, var(--cs-fonts-primary-weights-medium));
563
+ margin-bottom: var(--cs-spacing-scale-sm);
564
+ color: var(--cs-colors-text-primary);
565
+ }
566
+
567
+ /* Responsive Design for Showcase */
568
+ @media (min-width: 768px) {
569
+ .menu-responsive-grid {
570
+ grid-template-columns: 1fr 1fr !important;
571
+ }
572
+ }