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

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 (82) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/index.d.ts +7 -0
  3. package/dist/index.esm.js +18 -1
  4. package/dist/index.js +18 -1
  5. package/dist/setupTests.d.ts +124 -0
  6. package/dist/setupTests.esm.js +122 -0
  7. package/dist/setupTests.js +122 -0
  8. package/dist/styles.css +1 -1
  9. package/package.json +1 -1
  10. package/src/index.css +1046 -0
  11. package/src/index.ts +18 -0
  12. package/src/plugins/theme-css-generator.ts +354 -0
  13. package/src/setupTests.ts +124 -0
  14. package/src/stories/README.md +39 -0
  15. package/src/stories/components/ThemeDebugger.tsx +143 -0
  16. package/src/stories/index.ts +29 -0
  17. package/src/stories/storybook-theme-imports.css +51 -0
  18. package/src/styles/base/fonts.css +30 -0
  19. package/src/styles/base/generated-theme-variables.css +573 -0
  20. package/src/styles/base/index.css +7 -0
  21. package/src/styles/base/reset.css +48 -0
  22. package/src/styles/base/theme.css +1068 -0
  23. package/src/styles/base/typography.css +68 -0
  24. package/src/styles/base/variables.css +5 -0
  25. package/src/styles/components/CLAUDE.md +62 -0
  26. package/src/styles/components/base/badge.css +428 -0
  27. package/src/styles/components/base/button.css +774 -0
  28. package/src/styles/components/base/card.css +601 -0
  29. package/src/styles/components/base/checkbox.css +442 -0
  30. package/src/styles/components/base/index.css +9 -0
  31. package/src/styles/components/base/input.css +887 -0
  32. package/src/styles/components/base/label.css +296 -0
  33. package/src/styles/components/data-display/chart.css +353 -0
  34. package/src/styles/components/data-display/data-grid.css +619 -0
  35. package/src/styles/components/data-display/index.css +9 -0
  36. package/src/styles/components/data-display/list.css +560 -0
  37. package/src/styles/components/data-display/table.css +498 -0
  38. package/src/styles/components/data-display/timeline.css +764 -0
  39. package/src/styles/components/data-display/tree.css +881 -0
  40. package/src/styles/components/feedback/alert.css +358 -0
  41. package/src/styles/components/feedback/index.css +7 -0
  42. package/src/styles/components/feedback/progress.css +435 -0
  43. package/src/styles/components/feedback/skeleton.css +337 -0
  44. package/src/styles/components/feedback/toast.css +564 -0
  45. package/src/styles/components/index.css +17 -0
  46. package/src/styles/components/navigation/breadcrumb.css +465 -0
  47. package/src/styles/components/navigation/index.css +9 -0
  48. package/src/styles/components/navigation/menu.css +572 -0
  49. package/src/styles/components/navigation/pagination.css +635 -0
  50. package/src/styles/components/navigation/sidebar.css +807 -0
  51. package/src/styles/components/navigation/stepper.css +519 -0
  52. package/src/styles/components/navigation/tabs.css +404 -0
  53. package/src/styles/components/overlay/backdrop.css +243 -0
  54. package/src/styles/components/overlay/index.css +8 -0
  55. package/src/styles/components/overlay/modal.css +482 -0
  56. package/src/styles/components/overlay/popover.css +607 -0
  57. package/src/styles/components/overlay/portal.css +213 -0
  58. package/src/styles/components/overlay/tooltip.css +488 -0
  59. package/src/styles/generated-theme-variables.css +573 -0
  60. package/src/styles/index.css +5 -0
  61. package/src/styles/layers/index.css +54 -0
  62. package/src/styles/layers/overrides.css +108 -0
  63. package/src/styles/layers/validation.css +159 -0
  64. package/src/styles/layers/validation.js +310 -0
  65. package/src/styles/themes/default.css +450 -0
  66. package/src/styles/themes/enterprise.css +370 -0
  67. package/src/styles/themes/harvey.css +436 -0
  68. package/src/styles/themes/index.css +4 -0
  69. package/src/styles/themes/stan-design.css +572 -0
  70. package/src/styles/utilities/advanced-transition-system.css +467 -0
  71. package/src/styles/utilities/battery-conscious-animations.css +289 -0
  72. package/src/styles/utilities/enterprise-mobile-experience.css +817 -0
  73. package/src/styles/utilities/hardware-acceleration.css +121 -0
  74. package/src/styles/utilities/index.css +20 -0
  75. package/src/styles/utilities/mobile-skeleton-loading.css +596 -0
  76. package/src/styles/utilities/semantic-input-system.css +451 -0
  77. package/src/styles/utilities/touch-friendly-interface.css +247 -0
  78. package/src/styles/utilities/touch-optimization.css +165 -0
  79. package/src/test-utils/index.ts +7 -0
  80. package/src/test-utils/theme-testing.tsx +219 -0
  81. package/src/testing/test-automation.ts +627 -0
  82. package/src/testing/test-utils.tsx +367 -0
@@ -0,0 +1,519 @@
1
+ /* Stepper Component Styles */
2
+ /* Using semantic CSS architecture with CSS variables and BEM methodology */
3
+
4
+ /* Stepper Component CSS Variables */
5
+ :root {
6
+ /* Stepper Base Variables */
7
+ --stepper-font-size: var(--cs-fonts-primary-sizes-sm);
8
+ --stepper-font-weight: var(--cs-fonts-primary-weights-medium);
9
+ --stepper-line-height: var(--cs-fonts-primary-line-heights-tight);
10
+ --stepper-letter-spacing: var(--cs-fonts-primary-letter-spacing-normal);
11
+
12
+ /* Stepper Color Variables */
13
+ --stepper-color-primary: var(--cs-colors-text-primary);
14
+ --stepper-color-secondary: var(--cs-colors-text-secondary);
15
+ --stepper-color-muted: var(--cs-colors-text-muted);
16
+ --stepper-color-disabled: var(--cs-colors-text-muted);
17
+ --stepper-color-active: var(--cs-colors-primary-500);
18
+ --stepper-color-completed: var(--cs-colors-semantic-success);
19
+ --stepper-color-error: var(--cs-colors-semantic-error);
20
+ --stepper-color-hover: var(--cs-colors-interactive-hover);
21
+
22
+ /* Stepper Spacing Variables */
23
+ --stepper-padding-y: var(--cs-spacing-scale-sm);
24
+ --stepper-padding-x: var(--cs-spacing-scale-md);
25
+ --stepper-margin: var(--cs-spacing-scale-xs);
26
+ --stepper-item-spacing: var(--cs-spacing-scale-md);
27
+ --stepper-group-spacing: var(--cs-spacing-scale-lg);
28
+
29
+ /* Stepper State Variables */
30
+ --stepper-transition: var(--cs-transitions-properties-colors);
31
+ --stepper-border-radius: var(--cs-border-radius-full);
32
+ --stepper-border-width: var(--cs-border-width-sm);
33
+ --stepper-shadow: var(--cs-shadows-sm);
34
+
35
+ /* Stepper Focus Variables */
36
+ --stepper-focus-ring-width: var(--cs-accessibility-focus-ring-width);
37
+ --stepper-focus-ring-offset: var(--cs-accessibility-focus-ring-offset);
38
+ --stepper-focus-ring-color: var(--cs-accessibility-focus-ring-color);
39
+ --stepper-focus-outline-offset: var(--cs-accessibility-outline-offset);
40
+
41
+ /* Stepper Icon Variables */
42
+ --stepper-icon-size: var(--cs-fonts-primary-sizes-2xl);
43
+ --stepper-icon-spacing: var(--cs-spacing-scale-sm);
44
+ --stepper-badge-spacing: var(--cs-spacing-scale-sm);
45
+
46
+ /* Stepper Layout Variables */
47
+ --stepper-connector-width: var(--cs-border-width-normal);
48
+ --stepper-connector-length: var(--cs-spacing-scale-2xl);
49
+ --stepper-step-size: var(--cs-spacing-scale-2xl);
50
+ --stepper-step-size-small: var(--cs-spacing-scale-xl);
51
+ --stepper-step-size-large: var(--cs-spacing-scale-2xl);
52
+ }
53
+
54
+ /* Base Stepper Styles */
55
+ .stepper {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: var(--stepper-group-spacing);
59
+ font-family: var(--cs-fonts-primary-family), var(--cs-fonts-primary-fallbacks);
60
+ font-size: var(--stepper-font-size);
61
+ font-weight: var(--stepper-font-weight);
62
+ line-height: var(--stepper-line-height);
63
+ letter-spacing: var(--stepper-letter-spacing);
64
+ }
65
+
66
+ /* Stepper Orientation Variants */
67
+ .stepper--horizontal {
68
+ flex-direction: row;
69
+ align-items: flex-start;
70
+ }
71
+
72
+ .stepper--vertical {
73
+ flex-direction: column;
74
+ }
75
+
76
+ /* Stepper Container */
77
+ .stepper__container {
78
+ display: flex;
79
+ flex-direction: column;
80
+ gap: var(--stepper-group-spacing);
81
+ }
82
+
83
+ .stepper__container--horizontal {
84
+ flex-direction: row;
85
+ align-items: flex-start;
86
+ width: 100%;
87
+ }
88
+
89
+ /* Stepper Step */
90
+ .stepper__step {
91
+ display: flex;
92
+ flex-direction: column;
93
+ align-items: center;
94
+ gap: var(--stepper-item-spacing);
95
+ position: relative;
96
+ flex: 1;
97
+ }
98
+
99
+ .stepper__step--horizontal {
100
+ flex-direction: column;
101
+ text-align: center;
102
+ }
103
+
104
+ .stepper__step--vertical {
105
+ flex-direction: row;
106
+ text-align: left;
107
+ align-items: flex-start;
108
+ }
109
+
110
+ /* Stepper Step Number */
111
+ .stepper__step-number {
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ width: var(--stepper-step-size);
116
+ height: var(--stepper-step-size);
117
+ border-radius: var(--stepper-border-radius);
118
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
119
+ background-color: var(--cs-colors-surface-background);
120
+ color: var(--stepper-color-muted);
121
+ font-weight: var(--cs-fonts-primary-weights-semibold);
122
+ font-size: var(--cs-fonts-primary-sizes-sm);
123
+ transition: var(--stepper-transition);
124
+ position: relative;
125
+ z-index: 2;
126
+ }
127
+
128
+ .stepper__step-number--small {
129
+ width: var(--stepper-step-size-small);
130
+ height: var(--stepper-step-size-small);
131
+ font-size: var(--cs-fonts-primary-sizes-xs);
132
+ }
133
+
134
+ .stepper__step-number--large {
135
+ width: var(--stepper-step-size-large);
136
+ height: var(--stepper-step-size-large);
137
+ font-size: var(--cs-fonts-primary-sizes-base);
138
+ }
139
+
140
+ /* Stepper Step States */
141
+ .stepper__step-number--active {
142
+ background-color: var(--stepper-color-active);
143
+ border-color: var(--stepper-color-active);
144
+ color: var(--cs-colors-surface-background);
145
+ box-shadow: var(--stepper-shadow);
146
+ }
147
+
148
+ .stepper__step-number--completed {
149
+ background-color: var(--stepper-color-completed);
150
+ border-color: var(--stepper-color-completed);
151
+ color: var(--cs-colors-surface-background);
152
+ }
153
+
154
+ .stepper__step-number--error {
155
+ background-color: var(--stepper-color-error);
156
+ border-color: var(--stepper-color-error);
157
+ color: var(--cs-colors-surface-background);
158
+ }
159
+
160
+ .stepper__step-number--disabled {
161
+ background-color: var(--cs-colors-surface-surface);
162
+ border-color: var(--cs-colors-border);
163
+ color: var(--stepper-color-disabled);
164
+ cursor: not-allowed;
165
+ opacity: var(--cs-accessibility-disabled-opacity);
166
+ }
167
+
168
+ /* Stepper Step Icon */
169
+ .stepper__step-icon {
170
+ width: var(--stepper-icon-size);
171
+ height: var(--stepper-icon-size);
172
+ color: inherit;
173
+ }
174
+
175
+ .stepper__step-icon--small {
176
+ width: calc(var(--stepper-icon-size) * 0.75);
177
+ height: calc(var(--stepper-icon-size) * 0.75);
178
+ }
179
+
180
+ .stepper__step-icon--large {
181
+ width: calc(var(--stepper-icon-size) * 1.25);
182
+ height: calc(var(--stepper-icon-size) * 1.25);
183
+ }
184
+
185
+ /* Stepper Step Label */
186
+ .stepper__step-label {
187
+ font-weight: var(--cs-fonts-primary-weights-medium);
188
+ color: var(--stepper-color-primary);
189
+ text-align: center;
190
+ white-space: nowrap;
191
+ overflow: hidden;
192
+ text-overflow: ellipsis;
193
+ max-width: 100%;
194
+ }
195
+
196
+ .stepper__step-label--active {
197
+ color: var(--stepper-color-active);
198
+ font-weight: var(--cs-fonts-primary-weights-semibold);
199
+ }
200
+
201
+ .stepper__step-label--completed {
202
+ color: var(--stepper-color-completed);
203
+ }
204
+
205
+ .stepper__step-label--error {
206
+ color: var(--stepper-color-error);
207
+ }
208
+
209
+ .stepper__step-label--disabled {
210
+ color: var(--stepper-color-disabled);
211
+ }
212
+
213
+ /* Stepper Step Description */
214
+ .stepper__step-description {
215
+ font-size: var(--cs-fonts-primary-sizes-xs);
216
+ color: var(--stepper-color-muted);
217
+ text-align: center;
218
+ white-space: nowrap;
219
+ overflow: hidden;
220
+ text-overflow: ellipsis;
221
+ max-width: 100%;
222
+ }
223
+
224
+ .stepper__step-description--active {
225
+ color: var(--stepper-color-active);
226
+ }
227
+
228
+ .stepper__step-description--completed {
229
+ color: var(--stepper-color-completed);
230
+ }
231
+
232
+ .stepper__step-description--error {
233
+ color: var(--stepper-color-error);
234
+ }
235
+
236
+ .stepper__step-description--disabled {
237
+ color: var(--stepper-color-disabled);
238
+ }
239
+
240
+ /* Stepper Connector */
241
+ .stepper__connector {
242
+ position: absolute;
243
+ background-color: var(--cs-colors-border);
244
+ transition: var(--stepper-transition);
245
+ }
246
+
247
+ .stepper__connector--horizontal {
248
+ top: calc(var(--stepper-step-size) / 2);
249
+ left: calc(100% + var(--stepper-item-spacing) / 2);
250
+ width: var(--stepper-connector-length);
251
+ height: var(--stepper-connector-width);
252
+ transform: translateY(-50%);
253
+ }
254
+
255
+ .stepper__connector--vertical {
256
+ top: calc(var(--stepper-step-size) + var(--stepper-item-spacing));
257
+ left: calc(var(--stepper-step-size) / 2);
258
+ width: var(--stepper-connector-width);
259
+ height: var(--stepper-connector-length);
260
+ transform: translateX(-50%);
261
+ }
262
+
263
+ .stepper__connector--completed {
264
+ background-color: var(--stepper-color-completed);
265
+ }
266
+
267
+ .stepper__connector--active {
268
+ background-color: var(--stepper-color-active);
269
+ }
270
+
271
+ .stepper__connector--error {
272
+ background-color: var(--stepper-color-error);
273
+ }
274
+
275
+ /* Stepper Step Content */
276
+ .stepper__step-content {
277
+ margin-top: var(--stepper-item-spacing);
278
+ padding: var(--stepper-padding-y) var(--stepper-padding-x);
279
+ background-color: var(--cs-colors-surface-surface);
280
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
281
+ border-radius: var(--cs-border-radius-lg);
282
+ box-shadow: var(--stepper-shadow);
283
+ width: 100%;
284
+ }
285
+
286
+ .stepper__step-content--active {
287
+ border-color: var(--stepper-color-active);
288
+ box-shadow: var(--cs-shadows-md);
289
+ }
290
+
291
+ .stepper__step-content--completed {
292
+ border-color: var(--stepper-color-completed);
293
+ }
294
+
295
+ .stepper__step-content--error {
296
+ border-color: var(--stepper-color-error);
297
+ }
298
+
299
+ /* Stepper Navigation */
300
+ .stepper__navigation {
301
+ display: flex;
302
+ justify-content: space-between;
303
+ align-items: center;
304
+ gap: var(--stepper-item-spacing);
305
+ margin-top: var(--stepper-group-spacing);
306
+ padding: var(--stepper-padding-y) var(--stepper-padding-x);
307
+ background-color: var(--cs-colors-surface-surface);
308
+ border-top: var(--stepper-border-width) solid var(--cs-colors-border);
309
+ }
310
+
311
+ .stepper__navigation--horizontal {
312
+ flex-direction: row;
313
+ }
314
+
315
+ .stepper__navigation--vertical {
316
+ flex-direction: column;
317
+ align-items: stretch;
318
+ }
319
+
320
+ /* Stepper Navigation Buttons */
321
+ .stepper__nav-button {
322
+ display: inline-flex;
323
+ align-items: center;
324
+ gap: var(--stepper-icon-spacing);
325
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
326
+ font-size: var(--stepper-font-size);
327
+ font-weight: var(--stepper-font-weight);
328
+ border: var(--stepper-border-width) solid var(--cs-colors-border);
329
+ border-radius: var(--cs-border-radius-md);
330
+ background-color: var(--cs-colors-surface-background);
331
+ color: var(--stepper-color-primary);
332
+ cursor: pointer;
333
+ transition: var(--stepper-transition);
334
+ text-decoration: none;
335
+ }
336
+
337
+ .stepper__nav-button:hover {
338
+ background-color: var(--stepper-color-hover);
339
+ border-color: var(--cs-colors-primary-300);
340
+ }
341
+
342
+ .stepper__nav-button:focus {
343
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
344
+ outline-offset: var(--stepper-focus-ring-offset);
345
+ }
346
+
347
+ .stepper__nav-button:focus:not(:focus-visible) {
348
+ outline: none;
349
+ }
350
+
351
+ .stepper__nav-button--primary {
352
+ background-color: var(--stepper-color-active);
353
+ border-color: var(--stepper-color-active);
354
+ color: var(--cs-colors-surface-background);
355
+ }
356
+
357
+ .stepper__nav-button--primary:hover {
358
+ background-color: var(--cs-colors-primary-600);
359
+ border-color: var(--cs-colors-primary-600);
360
+ }
361
+
362
+ .stepper__nav-button--disabled {
363
+ background-color: var(--cs-colors-surface-surface);
364
+ border-color: var(--cs-colors-border);
365
+ color: var(--stepper-color-disabled);
366
+ cursor: not-allowed;
367
+ opacity: var(--cs-accessibility-disabled-opacity);
368
+ }
369
+
370
+ .stepper__nav-button--disabled:hover {
371
+ background-color: var(--cs-colors-surface-surface);
372
+ border-color: var(--cs-colors-border);
373
+ }
374
+
375
+ /* Stepper Navigation Button Elements */
376
+ .stepper__nav-button-icon {
377
+ width: var(--stepper-icon-size);
378
+ height: var(--stepper-icon-size);
379
+ }
380
+
381
+ .stepper__nav-button-text {
382
+ white-space: nowrap;
383
+ }
384
+
385
+ /* Stepper Progress */
386
+ .stepper__progress {
387
+ width: 100%;
388
+ height: var(--stepper-connector-width);
389
+ background-color: var(--cs-colors-border);
390
+ border-radius: var(--stepper-border-radius);
391
+ overflow: hidden;
392
+ margin: var(--stepper-item-spacing) 0;
393
+ }
394
+
395
+ .stepper__progress-bar {
396
+ height: 100%;
397
+ background-color: var(--stepper-color-active);
398
+ transition: var(--stepper-transition);
399
+ border-radius: var(--stepper-border-radius);
400
+ }
401
+
402
+ .stepper__progress-bar--completed {
403
+ background-color: var(--stepper-color-completed);
404
+ }
405
+
406
+ .stepper__progress-bar--error {
407
+ background-color: var(--stepper-color-error);
408
+ }
409
+
410
+ /* Stepper Responsive Behavior */
411
+ @media (max-width: var(--cs-breakpoints-tablet)) {
412
+ .stepper--horizontal {
413
+ flex-direction: column;
414
+ }
415
+
416
+ .stepper__container--horizontal {
417
+ flex-direction: column;
418
+ }
419
+
420
+ .stepper__step--horizontal {
421
+ text-align: left;
422
+ align-items: flex-start;
423
+ }
424
+
425
+ .stepper__connector--horizontal {
426
+ display: none;
427
+ }
428
+
429
+ .stepper__navigation--horizontal {
430
+ flex-direction: column;
431
+ align-items: stretch;
432
+ }
433
+ }
434
+
435
+ @media (max-width: var(--cs-breakpoints-mobile)) {
436
+ .stepper__step-number {
437
+ width: var(--stepper-step-size-small);
438
+ height: var(--stepper-step-size-small);
439
+ }
440
+
441
+ .stepper__step-content {
442
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
443
+ }
444
+
445
+ .stepper__navigation {
446
+ padding: var(--cs-spacing-scale-xs) var(--cs-spacing-scale-sm);
447
+ }
448
+ }
449
+
450
+ /* Stepper Focus Management */
451
+ .stepper__step-number:focus-visible {
452
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
453
+ outline-offset: var(--stepper-focus-ring-offset);
454
+ }
455
+
456
+ .stepper__nav-button:focus-visible {
457
+ outline: var(--stepper-focus-ring-width) solid var(--stepper-focus-ring-color);
458
+ outline-offset: var(--stepper-focus-ring-offset);
459
+ }
460
+
461
+ /* Stepper Accessibility */
462
+ .stepper[role="navigation"] {
463
+ /* Ensure proper navigation role styling */
464
+ }
465
+
466
+ .stepper__step[aria-current="step"] .stepper__step-number {
467
+ /* Ensure proper current step styling */
468
+ }
469
+
470
+ .stepper__step[aria-disabled="true"] .stepper__step-number {
471
+ cursor: not-allowed;
472
+ opacity: var(--cs-accessibility-disabled-opacity);
473
+ }
474
+
475
+ /* Stepper Animation */
476
+ .stepper__step-number {
477
+ transform: translateZ(0);
478
+ backface-visibility: hidden;
479
+ }
480
+
481
+ .stepper__step-number:hover {
482
+ transform: scale(1.05);
483
+ }
484
+
485
+ .stepper__step-number:active {
486
+ transform: scale(1);
487
+ }
488
+
489
+ /* Stepper Progress Animation */
490
+ .stepper__progress-bar {
491
+ transform-origin: left center;
492
+ animation: stepperProgress 0.5s ease-out;
493
+ }
494
+
495
+ @keyframes stepperProgress {
496
+ from {
497
+ transform: scaleX(0);
498
+ }
499
+ to {
500
+ transform: scaleX(1);
501
+ }
502
+ }
503
+
504
+ /* Stepper Step Completion Animation */
505
+ .stepper__step-number--completed {
506
+ animation: stepperComplete 0.3s ease-out;
507
+ }
508
+
509
+ @keyframes stepperComplete {
510
+ 0% {
511
+ transform: scale(1);
512
+ }
513
+ 50% {
514
+ transform: scale(1.1);
515
+ }
516
+ 100% {
517
+ transform: scale(1);
518
+ }
519
+ }