@rakeyshgidwani/roger-ui-bank-theme-harvey 0.2.52 → 0.3.1

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 (131) 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/layouts/adaptive-layout.d.ts +1 -0
  19. package/dist/components/ui/layouts/adaptive-layout.d.ts.map +1 -1
  20. package/dist/components/ui/layouts/adaptive-layout.esm.js +2 -2
  21. package/dist/components/ui/layouts/adaptive-layout.js +2 -2
  22. package/dist/components/ui/navigation/index.d.ts +2 -1
  23. package/dist/components/ui/navigation/index.d.ts.map +1 -1
  24. package/dist/components/ui/navigation/index.esm.js +1 -0
  25. package/dist/components/ui/navigation/index.js +1 -0
  26. package/dist/components/ui/navigation/progressive-navigation.d.ts +37 -0
  27. package/dist/components/ui/navigation/progressive-navigation.d.ts.map +1 -0
  28. package/dist/components/ui/navigation/progressive-navigation.esm.js +145 -0
  29. package/dist/components/ui/navigation/progressive-navigation.js +145 -0
  30. package/dist/components/ui/navigation/types.d.ts +21 -0
  31. package/dist/components/ui/navigation/types.d.ts.map +1 -1
  32. package/dist/hooks/use-adaptive-layout.d.ts +2 -1
  33. package/dist/hooks/use-adaptive-layout.d.ts.map +1 -1
  34. package/dist/hooks/use-adaptive-layout.esm.js +13 -8
  35. package/dist/hooks/use-adaptive-layout.js +13 -8
  36. package/dist/hooks/use-device.d.ts +3 -1
  37. package/dist/hooks/use-device.d.ts.map +1 -1
  38. package/dist/hooks/use-device.esm.js +14 -7
  39. package/dist/hooks/use-device.js +14 -7
  40. package/dist/index.d.ts +19 -4
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.esm.js +9 -4
  43. package/dist/index.js +9 -4
  44. package/dist/plugins/css-purge-optimizer.d.ts +25 -0
  45. package/dist/plugins/css-purge-optimizer.d.ts.map +1 -0
  46. package/dist/plugins/css-purge-optimizer.esm.js +414 -0
  47. package/dist/plugins/css-purge-optimizer.js +414 -0
  48. package/dist/plugins/performance-monitor.d.ts +29 -0
  49. package/dist/plugins/performance-monitor.d.ts.map +1 -0
  50. package/dist/plugins/performance-monitor.esm.js +221 -0
  51. package/dist/plugins/performance-monitor.js +221 -0
  52. package/dist/plugins/progressive-css-loader.d.ts +21 -0
  53. package/dist/plugins/progressive-css-loader.d.ts.map +1 -0
  54. package/dist/plugins/progressive-css-loader.esm.js +227 -0
  55. package/dist/plugins/progressive-css-loader.js +227 -0
  56. package/dist/plugins/theme-css-generator.d.ts.map +1 -1
  57. package/dist/plugins/theme-css-generator.esm.js +19 -6
  58. package/dist/plugins/theme-css-generator.js +19 -6
  59. package/dist/styles.css +1027 -112
  60. package/dist/theme.d.ts.map +1 -1
  61. package/dist/theme.esm.js +4 -1
  62. package/dist/theme.js +4 -1
  63. package/dist/themes/phase1-constants.d.ts +23 -0
  64. package/dist/themes/phase1-constants.d.ts.map +1 -0
  65. package/dist/themes/phase1-constants.esm.js +180 -0
  66. package/dist/themes/phase1-constants.js +180 -0
  67. package/dist/themes/themes/default.d.ts.map +1 -1
  68. package/dist/themes/themes/default.esm.js +4 -1
  69. package/dist/themes/themes/default.js +4 -1
  70. package/dist/themes/themes/harvey.d.ts.map +1 -1
  71. package/dist/themes/themes/harvey.esm.js +4 -1
  72. package/dist/themes/themes/harvey.js +4 -1
  73. package/dist/themes/types.d.ts +62 -0
  74. package/dist/themes/types.d.ts.map +1 -1
  75. package/dist/themes/validation.d.ts +17 -0
  76. package/dist/themes/validation.d.ts.map +1 -1
  77. package/dist/themes/validation.esm.js +218 -0
  78. package/dist/themes/validation.js +218 -0
  79. package/dist/types.d.ts +62 -0
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/utils/progressive-css-injector.d.ts +80 -0
  82. package/dist/utils/progressive-css-injector.d.ts.map +1 -0
  83. package/dist/utils/progressive-css-injector.esm.js +217 -0
  84. package/dist/utils/progressive-css-injector.js +217 -0
  85. package/package.json +1 -1
  86. package/src/components/ui/button.tsx +9 -6
  87. package/src/components/ui/layout/container.tsx +312 -0
  88. package/src/components/ui/layout/index.ts +10 -0
  89. package/src/components/ui/layout/responsive-grid.tsx +286 -0
  90. package/src/components/ui/layouts/adaptive-layout.tsx +3 -1
  91. package/src/components/ui/navigation/index.ts +2 -0
  92. package/src/components/ui/navigation/progressive-navigation.tsx +453 -0
  93. package/src/components/ui/navigation/types.ts +41 -0
  94. package/src/hooks/use-adaptive-layout.ts +13 -9
  95. package/src/hooks/use-device.tsx +17 -10
  96. package/src/index.ts +19 -4
  97. package/src/plugins/css-purge-optimizer.ts +491 -0
  98. package/src/plugins/performance-monitor.ts +292 -0
  99. package/src/plugins/progressive-css-loader.ts +269 -0
  100. package/src/plugins/theme-css-generator.ts +22 -6
  101. package/src/styles/components/base/badge.css +2 -2
  102. package/src/styles/components/base/button.css +238 -35
  103. package/src/styles/components/base/card.css +2 -2
  104. package/src/styles/components/base/checkbox.css +3 -3
  105. package/src/styles/components/base/label.css +3 -3
  106. package/src/styles/components/feedback/skeleton.css +1 -1
  107. package/src/styles/components/feedback/toast.css +1 -1
  108. package/src/styles/components/index.css +3 -0
  109. package/src/styles/components/layout/container.css +466 -0
  110. package/src/styles/components/layout/index.css +5 -0
  111. package/src/styles/components/layout/responsive-grid.css +422 -0
  112. package/src/styles/components/navigation/breadcrumb.css +1 -1
  113. package/src/styles/components/navigation/index.css +1 -0
  114. package/src/styles/components/navigation/menu.css +2 -2
  115. package/src/styles/components/navigation/pagination.css +4 -4
  116. package/src/styles/components/navigation/progressive-navigation.css +633 -0
  117. package/src/styles/components/navigation/sidebar.css +4 -4
  118. package/src/styles/components/navigation/stepper.css +2 -2
  119. package/src/styles/components/navigation/tabs.css +1 -1
  120. package/src/styles/components/ui/theme-toggle.css +2 -2
  121. package/src/styles/progressive.css +17 -0
  122. package/src/styles/themes/harvey.css +103 -19
  123. package/src/styles/utilities/semantic-input-system.css +7 -13
  124. package/src/theme.ts +5 -1
  125. package/src/themes/phase1-constants.ts +189 -0
  126. package/src/themes/themes/default.ts +5 -1
  127. package/src/themes/themes/harvey.ts +5 -1
  128. package/src/themes/types.ts +77 -1
  129. package/src/themes/validation.ts +249 -0
  130. package/src/types.ts +77 -1
  131. package/src/utils/progressive-css-injector.ts +254 -0
@@ -3,27 +3,54 @@
3
3
 
4
4
  /* Button Component CSS Variables */
5
5
  :root {
6
- /* Button Base Variables */
7
- --button-height-sm: calc(var(--cs-spacing-scale-2xl) + var(--cs-spacing-scale-md));
8
- --button-height-md: calc(var(--cs-spacing-scale-2xl) + var(--cs-spacing-scale-lg));
9
- --button-height-lg: var(--cs-spacing-scale-3xl);
10
- --button-height-icon: calc(var(--cs-spacing-scale-2xl) + var(--cs-spacing-scale-lg));
11
- --button-height-mobile: var(--cs-spacing-scale-3xl);
12
-
13
- --button-padding-y-sm: var(--cs-spacing-scale-sm);
14
- --button-padding-x-sm: var(--cs-spacing-scale-md);
15
- --button-padding-y-md: var(--cs-spacing-scale-md);
16
- --button-padding-x-md: var(--cs-spacing-scale-lg);
17
- --button-padding-y-lg: var(--cs-spacing-scale-lg);
18
- --button-padding-x-lg: var(--cs-spacing-scale-xl);
6
+ /* Button Base Variables - Phase 2 Enhancement: Aligned with specification */
7
+ /* Button Size Specifications (5-tier system) */
8
+ --button-height-xs: 32px;
9
+ --button-height-sm: 36px;
10
+ --button-height-md: 40px; /* default */
11
+ --button-height-lg: 44px;
12
+ --button-height-xl: 48px;
13
+ --button-height-icon: var(--button-height-md);
14
+ --button-height-mobile: var(--button-height-lg);
15
+
16
+ /* Button Padding Specifications */
17
+ --button-padding-xs: 6px 12px;
18
+ --button-padding-sm: 8px 16px;
19
+ --button-padding-md: 10px 20px; /* default */
20
+ --button-padding-lg: 12px 24px;
21
+ --button-padding-xl: 14px 28px;
19
22
  --button-padding-icon: var(--cs-spacing-scale-sm);
20
- --button-padding-mobile-y: var(--cs-spacing-scale-lg);
21
- --button-padding-mobile-x: var(--cs-spacing-scale-xl);
22
-
23
- --button-font-size-sm: var(--cs-fonts-primary-sizes-sm);
24
- --button-font-size-md: var(--cs-fonts-primary-sizes-base);
25
- --button-font-size-lg: var(--cs-fonts-primary-sizes-lg);
26
- --button-font-size-mobile: var(--cs-fonts-primary-sizes-base);
23
+ --button-padding-mobile: var(--button-padding-lg);
24
+
25
+ /* Individual padding values for density calculations */
26
+ --button-padding-xs-y: 6px;
27
+ --button-padding-xs-x: 12px;
28
+ --button-padding-sm-y: 8px;
29
+ --button-padding-sm-x: 16px;
30
+ --button-padding-md-y: 10px;
31
+ --button-padding-md-x: 20px;
32
+ --button-padding-lg-y: 12px;
33
+ --button-padding-lg-x: 24px;
34
+ --button-padding-xl-y: 14px;
35
+ --button-padding-xl-x: 28px;
36
+
37
+ /* Legacy variables for backward compatibility */
38
+ --button-padding-y-sm: 8px;
39
+ --button-padding-x-sm: 16px;
40
+ --button-padding-y-md: 10px;
41
+ --button-padding-x-md: 20px;
42
+ --button-padding-y-lg: 12px;
43
+ --button-padding-x-lg: 24px;
44
+ --button-padding-mobile-y: 12px;
45
+ --button-padding-mobile-x: 24px;
46
+
47
+ /* Button Font Size Specifications */
48
+ --button-font-size-xs: 14px;
49
+ --button-font-size-sm: 14px;
50
+ --button-font-size-md: 16px; /* default */
51
+ --button-font-size-lg: 16px;
52
+ --button-font-size-xl: 18px;
53
+ --button-font-size-mobile: 16px;
27
54
 
28
55
  --button-font-weight: var(--cs-fonts-primary-weights-medium);
29
56
  --button-line-height: var(--cs-fonts-primary-line-heights-tight);
@@ -96,13 +123,13 @@
96
123
  --button-destructive-hover-shadow: var(--cs-shadows-md);
97
124
 
98
125
  --button-link-hover-text: var(--cs-colors-primary-hover);
99
- --button-link-hover-underline-thickness: var(--button-link-hover-underline-thickness);
126
+ --button-link-hover-underline-thickness: 2px;
100
127
 
101
128
  /* Button Interactive State Variables */
102
129
  --button-focus-outline: var(--button-focus-outline-width) solid var(--cs-colors-interactive-focus);
103
- --button-focus-offset: var(--button-focus-offset);
130
+ --button-focus-offset: 2px;
104
131
  --button-focus-visible-outline: var(--button-focus-visible-outline-width) solid var(--cs-colors-interactive-focus);
105
- --button-focus-visible-offset: var(--button-focus-visible-offset);
132
+ --button-focus-visible-offset: 2px;
106
133
 
107
134
  --button-active-transform: scale(0.98);
108
135
  --button-active-shadow: var(--cs-shadows-sm);
@@ -118,8 +145,8 @@
118
145
  --button-disabled-background: var(--cs-colors-interactive-disabled);
119
146
  --button-disabled-text: var(--cs-colors-text-muted);
120
147
  --button-disabled-border: var(--cs-colors-interactive-disabled);
121
- --button-disabled-opacity: var(--button-disabled-opacity);
122
- --button-disabled-cursor: var(--button-disabled-cursor);
148
+ --button-disabled-opacity: 0.6;
149
+ --button-disabled-cursor: not-allowed;
123
150
 
124
151
  /* Button Element Variables */
125
152
  --button-icon-size: var(--cs-spacing-scale-lg);
@@ -156,10 +183,24 @@
156
183
  --button-disabled-cursor: not-allowed;
157
184
  --button-disabled-opacity: 0.6;
158
185
 
159
- /* Button Responsive Variables */
160
- --button-mobile-breakpoint: var(--cs-breakpoints-mobile);
161
- --button-tablet-breakpoint: var(--cs-breakpoints-tablet);
162
- --button-desktop-breakpoint: var(--cs-breakpoints-desktop);
186
+ /* Button Responsive Variables - Enhanced with Phase 1 breakpoints */
187
+ --button-xs-breakpoint: var(--cs-breakpoints-xs);
188
+ --button-sm-breakpoint: var(--cs-breakpoints-sm);
189
+ --button-md-breakpoint: var(--cs-breakpoints-md);
190
+ --button-lg-breakpoint: var(--cs-breakpoints-lg);
191
+ --button-xl-breakpoint: var(--cs-breakpoints-xl);
192
+ --button-2xl-breakpoint: var(--cs-breakpoints-2xl);
193
+ --button-3xl-breakpoint: var(--cs-breakpoints-3xl);
194
+
195
+ /* Button Density-Aware Variables */
196
+ --button-density-compact-scale: 0.875;
197
+ --button-density-comfortable-scale: 1.0;
198
+ --button-density-spacious-scale: 1.125;
199
+
200
+ /* Legacy Responsive Variables (for backward compatibility) */
201
+ --button-mobile-breakpoint: var(--cs-breakpoints-sm);
202
+ --button-tablet-breakpoint: var(--cs-breakpoints-md);
203
+ --button-desktop-breakpoint: var(--cs-breakpoints-lg);
163
204
 
164
205
  /* Button Showcase Variables */
165
206
  --button-showcase-gap: var(--cs-spacing-scale-md);
@@ -236,28 +277,43 @@
236
277
  to { transform: rotate(360deg); }
237
278
  }
238
279
 
239
- /* Button Size Variants */
280
+ /* Button Size Variants - Phase 2 Enhancement: Complete 5-tier system */
281
+ .button--size-xs {
282
+ height: var(--button-height-xs);
283
+ padding: var(--button-padding-xs);
284
+ font-size: var(--button-font-size-xs);
285
+ border-radius: var(--button-border-radius);
286
+ }
287
+
240
288
  .button--size-sm {
241
289
  height: var(--button-height-sm);
242
- padding: var(--button-padding-y-sm) var(--button-padding-x-sm);
290
+ padding: var(--button-padding-sm);
243
291
  font-size: var(--button-font-size-sm);
244
292
  border-radius: var(--button-border-radius);
245
293
  }
246
294
 
295
+ .button--size-default,
247
296
  .button--size-md {
248
297
  height: var(--button-height-md);
249
- padding: var(--button-padding-y-md) var(--button-padding-x-md);
298
+ padding: var(--button-padding-md);
250
299
  font-size: var(--button-font-size-md);
251
300
  border-radius: var(--button-border-radius);
252
301
  }
253
302
 
254
303
  .button--size-lg {
255
304
  height: var(--button-height-lg);
256
- padding: var(--button-padding-y-lg) var(--button-padding-x-lg);
305
+ padding: var(--button-padding-lg);
257
306
  font-size: var(--button-font-size-lg);
258
307
  border-radius: var(--button-border-radius);
259
308
  }
260
309
 
310
+ .button--size-xl {
311
+ height: var(--button-height-xl);
312
+ padding: var(--button-padding-xl);
313
+ font-size: var(--button-font-size-xl);
314
+ border-radius: var(--button-border-radius);
315
+ }
316
+
261
317
  .button--size-icon {
262
318
  height: var(--button-height-icon);
263
319
  width: var(--button-height-icon);
@@ -730,14 +786,14 @@
730
786
  }
731
787
 
732
788
  /* Responsive Design for Showcase */
733
- @media (min-width: var(--cs-breakpoints-tablet)) {
789
+ @media (min-width: 768px) {
734
790
  .button-responsive-grid {
735
791
  grid-template-columns: 1fr 1fr !important;
736
792
  }
737
793
  }
738
794
 
739
795
  /* Container Queries for Adaptive Layouts */
740
- @container (min-width: var(--cs-breakpoints-tablet)) {
796
+ @container (min-width: 768px) {
741
797
  .button-showcase {
742
798
  gap: var(--cs-spacing-scale-lg);
743
799
  }
@@ -774,4 +830,151 @@
774
830
  }
775
831
  }
776
832
 
833
+ /* Phase 2 Enhancement: Integration with new breakpoints and density system */
834
+
835
+ /* Enhanced Responsive Design - Progressive Touch Target Optimization */
836
+ /* xs breakpoint (475px): Large phones - use compact density */
837
+ @media (max-width: 475px) {
838
+ .button {
839
+ min-height: calc(var(--button-height-mobile) * var(--button-density-compact-scale));
840
+ padding: calc(var(--button-padding-mobile-y) * var(--button-density-compact-scale)) calc(var(--button-padding-mobile-x) * var(--button-density-compact-scale));
841
+ font-size: calc(var(--button-font-size-mobile) * var(--button-density-compact-scale));
842
+ /* Ensure 48px minimum touch target on mobile */
843
+ min-height: 48px;
844
+ }
845
+
846
+ .button--size-sm {
847
+ min-height: 44px;
848
+ padding: calc(var(--button-padding-sm-y) * var(--button-density-compact-scale)) calc(var(--button-padding-sm-x) * var(--button-density-compact-scale));
849
+ }
850
+
851
+ .button--size-lg {
852
+ min-height: 52px;
853
+ padding: calc(var(--button-padding-lg-y) * var(--button-density-compact-scale)) calc(var(--button-padding-lg-x) * var(--button-density-compact-scale));
854
+ }
855
+ }
856
+
857
+ /* sm breakpoint (640px): Small tablets - transition from compact to comfortable */
858
+ @media (min-width: 641px) and (max-width: 767px) {
859
+ .button {
860
+ min-height: calc(var(--button-height-md) * var(--button-density-comfortable-scale));
861
+ padding: calc(var(--button-padding-y-md) * var(--button-density-comfortable-scale)) calc(var(--button-padding-x-md) * var(--button-density-comfortable-scale));
862
+ font-size: calc(var(--button-font-size-md) * var(--button-density-comfortable-scale));
863
+ /* 46px touch target for small tablets */
864
+ min-height: 46px;
865
+ }
866
+ }
867
+
868
+ /* md breakpoint (768px): Tablets - comfortable density */
869
+ @media (min-width: 768px) and (max-width: 1023px) {
870
+ .button {
871
+ min-height: calc(var(--button-height-md) * var(--button-density-comfortable-scale));
872
+ padding: calc(var(--button-padding-y-md) * var(--button-density-comfortable-scale)) calc(var(--button-padding-x-md) * var(--button-density-comfortable-scale));
873
+ font-size: var(--button-font-size-md);
874
+ /* 44px touch target for tablets */
875
+ min-height: 44px;
876
+ }
877
+ }
878
+
879
+ /* lg breakpoint (1024px): Desktop - spacious density */
880
+ @media (min-width: 1024px) and (max-width: 1279px) {
881
+ .button {
882
+ min-height: calc(var(--button-height-lg) * var(--button-density-spacious-scale));
883
+ padding: calc(var(--button-padding-y-lg) * var(--button-density-spacious-scale)) calc(var(--button-padding-x-lg) * var(--button-density-spacious-scale));
884
+ font-size: calc(var(--button-font-size-lg) * var(--button-density-spacious-scale));
885
+ /* 42px touch target for desktop */
886
+ min-height: 42px;
887
+ }
888
+
889
+ /* Enable hover effects on desktop */
890
+ .button:hover {
891
+ transform: var(--button-hover-transform);
892
+ box-shadow: var(--button-hover-shadow);
893
+ }
894
+ }
895
+
896
+ /* xl breakpoint (1280px): Large desktop - enhanced spacious */
897
+ @media (min-width: 1280px) and (max-width: 1535px) {
898
+ .button {
899
+ min-height: calc(var(--button-height-lg) * var(--button-density-spacious-scale));
900
+ padding: calc(var(--button-padding-y-lg) * var(--button-density-spacious-scale)) calc(var(--button-padding-x-lg) * var(--button-density-spacious-scale));
901
+ font-size: calc(var(--button-font-size-lg) * var(--button-density-spacious-scale));
902
+ /* 40px touch target for large desktop */
903
+ min-height: 40px;
904
+ }
905
+ }
906
+
907
+ /* 2xl breakpoint (1536px): Ultra-wide - optimized spacious */
908
+ @media (min-width: 1536px) and (max-width: 1919px) {
909
+ .button {
910
+ min-height: calc(var(--button-height-lg) * var(--button-density-spacious-scale) * 1.05);
911
+ padding: calc(var(--button-padding-y-lg) * var(--button-density-spacious-scale) * 1.05) calc(var(--button-padding-x-lg) * var(--button-density-spacious-scale) * 1.05);
912
+ font-size: calc(var(--button-font-size-lg) * var(--button-density-spacious-scale) * 1.025);
913
+ /* 38px touch target for ultra-wide */
914
+ min-height: 38px;
915
+ }
916
+ }
917
+
918
+ /* 3xl breakpoint (1920px): Large displays - maximum spacious */
919
+ @media (min-width: 1920px) {
920
+ .button {
921
+ min-height: calc(var(--button-height-lg) * var(--button-density-spacious-scale) * 1.1);
922
+ padding: calc(var(--button-padding-y-lg) * var(--button-density-spacious-scale) * 1.1) calc(var(--button-padding-x-lg) * var(--button-density-spacious-scale) * 1.1);
923
+ font-size: calc(var(--button-font-size-lg) * var(--button-density-spacious-scale) * 1.05);
924
+ /* 36px touch target for large displays */
925
+ min-height: 36px;
926
+ }
927
+
928
+ /* Enhanced interaction on large displays */
929
+ .button:hover {
930
+ transform: var(--button-hover-transform) scale(1.02);
931
+ }
932
+ }
933
+
934
+ /* Density-aware button variants for optimal touch targets */
935
+ .button--density-compact {
936
+ min-height: calc(var(--button-height-md) * var(--button-density-compact-scale));
937
+ padding: calc(var(--button-padding-md-y) * var(--button-density-compact-scale)) calc(var(--button-padding-md-x) * var(--button-density-compact-scale));
938
+ font-size: calc(var(--button-font-size-md) * var(--button-density-compact-scale));
939
+ }
940
+
941
+ .button--density-comfortable {
942
+ min-height: calc(var(--button-height-md) * var(--button-density-comfortable-scale));
943
+ padding: calc(var(--button-padding-md-y) * var(--button-density-comfortable-scale)) calc(var(--button-padding-md-x) * var(--button-density-comfortable-scale));
944
+ font-size: calc(var(--button-font-size-md) * var(--button-density-comfortable-scale));
945
+ }
946
+
947
+ .button--density-spacious {
948
+ min-height: calc(var(--button-height-lg) * var(--button-density-spacious-scale));
949
+ padding: calc(var(--button-padding-lg-y) * var(--button-density-spacious-scale)) calc(var(--button-padding-lg-x) * var(--button-density-spacious-scale));
950
+ font-size: calc(var(--button-font-size-lg) * var(--button-density-spacious-scale));
951
+ }
952
+
953
+ /* Progressive enhancement for pointer devices */
954
+ @media (hover: hover) and (pointer: fine) {
955
+ .button:hover {
956
+ transform: var(--button-hover-transform);
957
+ box-shadow: var(--button-hover-shadow);
958
+ }
959
+ }
960
+
961
+ /* Touch-friendly enhancements for coarse pointers */
962
+ @media (pointer: coarse) {
963
+ .button {
964
+ /* Ensure minimum 44px touch targets on touch devices */
965
+ min-height: max(44px, var(--button-height-md));
966
+ min-width: 44px;
967
+ }
968
+
969
+ .button--size-sm {
970
+ min-height: 44px;
971
+ min-width: 44px;
972
+ }
973
+
974
+ .button--size-xs {
975
+ min-height: 44px;
976
+ min-width: 44px;
977
+ }
978
+ }
979
+
777
980
  } /* End @layer components */
@@ -366,7 +366,7 @@
366
366
  }
367
367
 
368
368
  /* Card Responsive Design */
369
- @media (min-width: var(--cs-breakpoints-tablet)) {
369
+ @media (min-width: 768px) {
370
370
  .card {
371
371
  padding: var(--card-tablet-padding);
372
372
  }
@@ -387,7 +387,7 @@
387
387
  }
388
388
  }
389
389
 
390
- @media (min-width: var(--cs-breakpoints-desktop)) {
390
+ @media (min-width: 1024px) {
391
391
  .card {
392
392
  padding: var(--card-desktop-padding);
393
393
  }
@@ -268,7 +268,7 @@
268
268
  }
269
269
 
270
270
  /* Responsive Design */
271
- @media (max-width: var(--cs-breakpoints-mobile)) {
271
+ @media (max-width: 640px) {
272
272
  .checkbox-container {
273
273
  width: 100%;
274
274
  padding: var(--cs-spacing-scale-sm);
@@ -281,13 +281,13 @@
281
281
  }
282
282
  }
283
283
 
284
- @media (min-width: var(--cs-breakpoints-tablet)) {
284
+ @media (min-width: 768px) {
285
285
  .checkbox-container {
286
286
  width: calc(var(--cs-spacing-scale-6xl) * 3.2);
287
287
  }
288
288
  }
289
289
 
290
- @media (min-width: var(--cs-breakpoints-desktop)) {
290
+ @media (min-width: 1024px) {
291
291
  .checkbox-container {
292
292
  width: calc(var(--cs-spacing-scale-6xl) * 3.733);
293
293
  }
@@ -164,14 +164,14 @@
164
164
  }
165
165
 
166
166
  /* Responsive Behavior */
167
- @media (min-width: var(--cs-breakpoints-tablet)) {
167
+ @media (min-width: 768px) {
168
168
  .label-input-group--responsive {
169
169
  flex-direction: row;
170
170
  align-items: center;
171
171
  }
172
172
  }
173
173
 
174
- @media (min-width: var(--cs-breakpoints-desktop)) {
174
+ @media (min-width: 1024px) {
175
175
  .label-input-group--responsive {
176
176
  gap: var(--cs-spacing-scale-md);
177
177
  }
@@ -218,7 +218,7 @@
218
218
  max-width: var(--cs-container-width-xl);
219
219
  }
220
220
 
221
- @media (min-width: var(--cs-breakpoints-tablet)) {
221
+ @media (min-width: 768px) {
222
222
  .label-responsive-demo {
223
223
  grid-template-columns: 1fr 1fr;
224
224
  }
@@ -297,7 +297,7 @@
297
297
  /* RESPONSIVE DESIGN */
298
298
  /* ============================================================================ */
299
299
 
300
- @media (max-width: var(--cs-breakpoints-mobile)) {
300
+ @media (max-width: 640px) {
301
301
  .skeleton__button--lg {
302
302
  height: var(--cs-spacing-scale-10);
303
303
  padding: 0 var(--cs-spacing-scale-4);
@@ -500,7 +500,7 @@
500
500
  /* RESPONSIVE DESIGN */
501
501
  /* ============================================================================ */
502
502
 
503
- @media (max-width: var(--cs-breakpoints-mobile)) {
503
+ @media (max-width: 640px) {
504
504
  .toast-container {
505
505
  max-width: none;
506
506
  left: var(--cs-spacing-scale-2) !important;
@@ -4,6 +4,9 @@
4
4
  /* Base components */
5
5
  @import './base/index.css';
6
6
 
7
+ /* Layout components */
8
+ @import './layout/index.css';
9
+
7
10
  /* Navigation components */
8
11
  @import './navigation/index.css';
9
12