@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,358 @@
1
+ /* Alert Component Styles */
2
+ /* Semantic CSS architecture following BEM methodology */
3
+
4
+ /* ============================================================================ */
5
+ /* ALERT CONTAINER */
6
+ /* ============================================================================ */
7
+
8
+ .alert {
9
+ --alert-border-radius: var(--cs-border-radius-md);
10
+ --alert-spacing: var(--cs-spacing-scale-lg);
11
+ --alert-icon-size: var(--cs-spacing-scale-xl);
12
+ --alert-transition: var(--cs-transitions-properties-colors);
13
+ }
14
+
15
+ .alert__container {
16
+ position: relative;
17
+ display: flex;
18
+ align-items: flex-start;
19
+ gap: var(--cs-spacing-scale-md);
20
+ padding: var(--alert-spacing);
21
+ border-radius: var(--alert-border-radius);
22
+ border: var(--cs-border-width-normal) solid;
23
+ transition: var(--alert-transition);
24
+ }
25
+
26
+ /* Alert container sizes */
27
+ .alert__container--sm {
28
+ padding: var(--cs-spacing-scale-sm) var(--cs-spacing-scale-md);
29
+ font-size: var(--cs-fonts-primary-sizes-sm);
30
+ --alert-icon-size: var(--cs-spacing-scale-lg);
31
+ }
32
+
33
+ .alert__container--md {
34
+ padding: var(--cs-spacing-scale-md) var(--cs-spacing-scale-lg);
35
+ font-size: var(--cs-fonts-primary-sizes-base);
36
+ --alert-icon-size: var(--cs-spacing-scale-xl);
37
+ }
38
+
39
+ .alert__container--lg {
40
+ padding: var(--cs-spacing-scale-lg) var(--cs-spacing-scale-2xl);
41
+ font-size: var(--cs-fonts-primary-sizes-lg);
42
+ --alert-icon-size: var(--cs-spacing-scale-2xl);
43
+ }
44
+
45
+ /* Alert variants */
46
+ .alert__container--success {
47
+ background-color: var(--cs-colors-semantic-success-50);
48
+ border-color: var(--cs-colors-semantic-success-200);
49
+ color: var(--cs-colors-semantic-success-800);
50
+ }
51
+
52
+ .alert__container--warning {
53
+ background-color: var(--cs-colors-semantic-warning-50);
54
+ border-color: var(--cs-colors-semantic-warning-200);
55
+ color: var(--cs-colors-semantic-warning-800);
56
+ }
57
+
58
+ .alert__container--error {
59
+ background-color: var(--cs-colors-semantic-error-50);
60
+ border-color: var(--cs-colors-semantic-error-200);
61
+ color: var(--cs-colors-semantic-error-800);
62
+ }
63
+
64
+ .alert__container--info {
65
+ background-color: var(--cs-colors-primary-50);
66
+ border-color: var(--cs-colors-primary-200);
67
+ color: var(--cs-colors-primary-800);
68
+ }
69
+
70
+ .alert__container--default {
71
+ background-color: var(--cs-colors-surface-surface);
72
+ border-color: var(--cs-colors-surface-border);
73
+ color: var(--cs-colors-text-primary);
74
+ }
75
+
76
+ /* Alert variant modifiers */
77
+ .alert__container--filled.alert__container--success {
78
+ background-color: var(--cs-colors-semantic-success-600);
79
+ border-color: var(--cs-colors-semantic-success-600);
80
+ color: var(--cs-colors-surface-background);
81
+ }
82
+
83
+ .alert__container--filled.alert__container--warning {
84
+ background-color: var(--cs-colors-semantic-warning-600);
85
+ border-color: var(--cs-colors-semantic-warning-600);
86
+ color: var(--cs-colors-surface-background);
87
+ }
88
+
89
+ .alert__container--filled.alert__container--error {
90
+ background-color: var(--cs-colors-semantic-error-600);
91
+ border-color: var(--cs-colors-semantic-error-600);
92
+ color: var(--cs-colors-surface-background);
93
+ }
94
+
95
+ .alert__container--filled.alert__container--info {
96
+ background-color: var(--cs-colors-primary-600);
97
+ border-color: var(--cs-colors-primary-600);
98
+ color: var(--cs-colors-surface-background);
99
+ }
100
+
101
+ .alert__container--outlined {
102
+ background-color: var(--cs-colors-surface-background);
103
+ border-width: var(--cs-border-width-thick);
104
+ }
105
+
106
+ /* ============================================================================ */
107
+ /* ALERT ICON */
108
+ /* ============================================================================ */
109
+
110
+ .alert__icon {
111
+ flex-shrink: 0;
112
+ width: var(--alert-icon-size);
113
+ height: var(--alert-icon-size);
114
+ margin-top: var(--cs-spacing-scale-0-5);
115
+ }
116
+
117
+ .alert__icon--success {
118
+ color: var(--cs-colors-semantic-success-600);
119
+ }
120
+
121
+ .alert__icon--warning {
122
+ color: var(--cs-colors-semantic-warning-600);
123
+ }
124
+
125
+ .alert__icon--error {
126
+ color: var(--cs-colors-semantic-error-600);
127
+ }
128
+
129
+ .alert__icon--info {
130
+ color: var(--cs-colors-primary-600);
131
+ }
132
+
133
+ .alert__icon--default {
134
+ color: var(--cs-colors-text-secondary);
135
+ }
136
+
137
+ /* Icon colors for filled variant */
138
+ .alert__container--filled .alert__icon {
139
+ color: currentColor;
140
+ }
141
+
142
+ /* ============================================================================ */
143
+ /* ALERT CONTENT */
144
+ /* ============================================================================ */
145
+
146
+ .alert__content {
147
+ flex: 1;
148
+ min-width: 0;
149
+ }
150
+
151
+ .alert__title {
152
+ font-weight: var(--cs-fonts-weights-semibold);
153
+ line-height: var(--cs-fonts-line-heights-5);
154
+ margin: 0 0 var(--cs-spacing-scale-1) 0;
155
+ }
156
+
157
+ .alert__message {
158
+ line-height: var(--cs-fonts-line-heights-6);
159
+ margin: 0;
160
+ }
161
+
162
+ .alert__message--only {
163
+ margin: 0;
164
+ }
165
+
166
+ /* ============================================================================ */
167
+ /* ALERT ACTIONS */
168
+ /* ============================================================================ */
169
+
170
+ .alert__actions {
171
+ display: flex;
172
+ align-items: center;
173
+ gap: var(--cs-spacing-scale-2);
174
+ margin-top: var(--cs-spacing-scale-3);
175
+ }
176
+
177
+ .alert__action-button {
178
+ display: inline-flex;
179
+ align-items: center;
180
+ padding: var(--cs-spacing-scale-1) var(--cs-spacing-scale-3);
181
+ font-size: var(--cs-fonts-sizes-sm);
182
+ font-weight: var(--cs-fonts-weights-medium);
183
+ border-radius: var(--cs-border-radius-sm);
184
+ border: var(--cs-border-width-normal) solid transparent;
185
+ cursor: pointer;
186
+ transition: var(--alert-transition);
187
+ text-decoration: none;
188
+ }
189
+
190
+ .alert__action-button:focus {
191
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
192
+ outline-offset: var(--cs-spacing-scale-0-5);
193
+ }
194
+
195
+ /* Action button variants */
196
+ .alert__action-button--primary {
197
+ background-color: var(--cs-colors-primary-600);
198
+ color: var(--cs-colors-surface-background);
199
+ }
200
+
201
+ .alert__action-button--primary:hover {
202
+ background-color: var(--cs-colors-primary-700);
203
+ }
204
+
205
+ .alert__action-button--secondary {
206
+ background-color: var(--cs-colors-gray-600);
207
+ color: var(--cs-colors-surface-background);
208
+ }
209
+
210
+ .alert__action-button--secondary:hover {
211
+ background-color: var(--cs-colors-gray-700);
212
+ }
213
+
214
+ .alert__action-button--ghost {
215
+ background-color: transparent;
216
+ color: currentColor;
217
+ border-color: currentColor;
218
+ }
219
+
220
+ .alert__action-button--ghost:hover {
221
+ background-color: var(--cs-colors-interactive-hover);
222
+ }
223
+
224
+ /* ============================================================================ */
225
+ /* ALERT CLOSE BUTTON */
226
+ /* ============================================================================ */
227
+
228
+ .alert__close-button {
229
+ position: absolute;
230
+ top: var(--cs-spacing-scale-2);
231
+ right: var(--cs-spacing-scale-2);
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ width: var(--cs-spacing-scale-6);
236
+ height: var(--cs-spacing-scale-6);
237
+ padding: 0;
238
+ background: none;
239
+ border: none;
240
+ border-radius: var(--cs-border-radius-sm);
241
+ cursor: pointer;
242
+ transition: var(--alert-transition);
243
+ color: currentColor;
244
+ opacity: 0.7;
245
+ }
246
+
247
+ .alert__close-button:hover {
248
+ opacity: 1;
249
+ background-color: var(--cs-colors-interactive-hover);
250
+ }
251
+
252
+ .alert__close-button:focus {
253
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
254
+ outline-offset: var(--cs-spacing-scale-0-5);
255
+ opacity: 1;
256
+ }
257
+
258
+ .alert__close-icon {
259
+ width: var(--cs-spacing-scale-4);
260
+ height: var(--cs-spacing-scale-4);
261
+ }
262
+
263
+ /* ============================================================================ */
264
+ /* ANIMATIONS */
265
+ /* ============================================================================ */
266
+
267
+ .alert__container--enter {
268
+ animation: alert-slide-in var(--cs-transitions-durations-normal) ease-out;
269
+ }
270
+
271
+ .alert__container--exit {
272
+ animation: alert-slide-out var(--cs-transitions-durations-normal) ease-in;
273
+ }
274
+
275
+ @keyframes alert-slide-in {
276
+ from {
277
+ transform: translateY(-100%);
278
+ opacity: 0;
279
+ }
280
+ to {
281
+ transform: translateY(0);
282
+ opacity: 1;
283
+ }
284
+ }
285
+
286
+ @keyframes alert-slide-out {
287
+ from {
288
+ transform: translateY(0);
289
+ opacity: 1;
290
+ }
291
+ to {
292
+ transform: translateY(-100%);
293
+ opacity: 0;
294
+ }
295
+ }
296
+
297
+ /* ============================================================================ */
298
+ /* RESPONSIVE DESIGN */
299
+ /* ============================================================================ */
300
+
301
+ @media (max-width: 640px) {
302
+ .alert__container {
303
+ margin: var(--cs-spacing-scale-2);
304
+ }
305
+
306
+ .alert__actions {
307
+ flex-direction: column;
308
+ align-items: stretch;
309
+ }
310
+
311
+ .alert__action-button {
312
+ justify-content: center;
313
+ }
314
+
315
+ .alert__close-button {
316
+ top: var(--cs-spacing-scale-1);
317
+ right: var(--cs-spacing-scale-1);
318
+ }
319
+ }
320
+
321
+ /* ============================================================================ */
322
+ /* ACCESSIBILITY */
323
+ /* ============================================================================ */
324
+
325
+ .alert__container[role="alert"] {
326
+ /* Ensure alert is announced to screen readers */
327
+ }
328
+
329
+ .alert__container:focus {
330
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
331
+ outline-offset: var(--cs-spacing-scale-0-5);
332
+ }
333
+
334
+ /* High contrast mode support */
335
+ @media (prefers-contrast: high) {
336
+ .alert__container {
337
+ border-width: var(--cs-border-width-thick);
338
+ }
339
+
340
+ .alert__icon,
341
+ .alert__close-button {
342
+ outline: var(--cs-border-width-normal) solid;
343
+ }
344
+ }
345
+
346
+ /* Reduced motion support */
347
+ @media (prefers-reduced-motion: reduce) {
348
+ .alert__container,
349
+ .alert__action-button,
350
+ .alert__close-button {
351
+ transition: none;
352
+ }
353
+
354
+ .alert__container--enter,
355
+ .alert__container--exit {
356
+ animation: none;
357
+ }
358
+ }
@@ -0,0 +1,7 @@
1
+ /* Feedback Components */
2
+ /* Components for user feedback and status communication */
3
+
4
+ @import './alert.css';
5
+ @import './progress.css';
6
+ @import './skeleton.css';
7
+ @import './toast.css';