@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.
- package/CHANGELOG.md +1 -1
- package/dist/components/ui/button.d.ts +3 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.esm.js +3 -2
- package/dist/components/ui/button.js +3 -2
- package/dist/components/ui/layout/container.d.ts +57 -0
- package/dist/components/ui/layout/container.d.ts.map +1 -0
- package/dist/components/ui/layout/container.esm.js +173 -0
- package/dist/components/ui/layout/container.js +173 -0
- package/dist/components/ui/layout/index.d.ts +9 -0
- package/dist/components/ui/layout/index.d.ts.map +1 -0
- package/dist/components/ui/layout/index.esm.js +6 -0
- package/dist/components/ui/layout/index.js +6 -0
- package/dist/components/ui/layout/responsive-grid.d.ts +93 -0
- package/dist/components/ui/layout/responsive-grid.d.ts.map +1 -0
- package/dist/components/ui/layout/responsive-grid.esm.js +124 -0
- package/dist/components/ui/layout/responsive-grid.js +124 -0
- package/dist/components/ui/layouts/adaptive-layout.d.ts +1 -0
- package/dist/components/ui/layouts/adaptive-layout.d.ts.map +1 -1
- package/dist/components/ui/layouts/adaptive-layout.esm.js +2 -2
- package/dist/components/ui/layouts/adaptive-layout.js +2 -2
- package/dist/components/ui/navigation/index.d.ts +2 -1
- package/dist/components/ui/navigation/index.d.ts.map +1 -1
- package/dist/components/ui/navigation/index.esm.js +1 -0
- package/dist/components/ui/navigation/index.js +1 -0
- package/dist/components/ui/navigation/progressive-navigation.d.ts +37 -0
- package/dist/components/ui/navigation/progressive-navigation.d.ts.map +1 -0
- package/dist/components/ui/navigation/progressive-navigation.esm.js +145 -0
- package/dist/components/ui/navigation/progressive-navigation.js +145 -0
- package/dist/components/ui/navigation/types.d.ts +21 -0
- package/dist/components/ui/navigation/types.d.ts.map +1 -1
- package/dist/hooks/use-adaptive-layout.d.ts +2 -1
- package/dist/hooks/use-adaptive-layout.d.ts.map +1 -1
- package/dist/hooks/use-adaptive-layout.esm.js +13 -8
- package/dist/hooks/use-adaptive-layout.js +13 -8
- package/dist/hooks/use-device.d.ts +3 -1
- package/dist/hooks/use-device.d.ts.map +1 -1
- package/dist/hooks/use-device.esm.js +14 -7
- package/dist/hooks/use-device.js +14 -7
- package/dist/index.d.ts +19 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +9 -4
- package/dist/index.js +9 -4
- package/dist/plugins/css-purge-optimizer.d.ts +25 -0
- package/dist/plugins/css-purge-optimizer.d.ts.map +1 -0
- package/dist/plugins/css-purge-optimizer.esm.js +414 -0
- package/dist/plugins/css-purge-optimizer.js +414 -0
- package/dist/plugins/performance-monitor.d.ts +29 -0
- package/dist/plugins/performance-monitor.d.ts.map +1 -0
- package/dist/plugins/performance-monitor.esm.js +221 -0
- package/dist/plugins/performance-monitor.js +221 -0
- package/dist/plugins/progressive-css-loader.d.ts +21 -0
- package/dist/plugins/progressive-css-loader.d.ts.map +1 -0
- package/dist/plugins/progressive-css-loader.esm.js +227 -0
- package/dist/plugins/progressive-css-loader.js +227 -0
- package/dist/plugins/theme-css-generator.d.ts.map +1 -1
- package/dist/plugins/theme-css-generator.esm.js +19 -6
- package/dist/plugins/theme-css-generator.js +19 -6
- package/dist/styles.css +1027 -112
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.esm.js +4 -1
- package/dist/theme.js +4 -1
- package/dist/themes/phase1-constants.d.ts +23 -0
- package/dist/themes/phase1-constants.d.ts.map +1 -0
- package/dist/themes/phase1-constants.esm.js +180 -0
- package/dist/themes/phase1-constants.js +180 -0
- package/dist/themes/themes/default.d.ts.map +1 -1
- package/dist/themes/themes/default.esm.js +4 -1
- package/dist/themes/themes/default.js +4 -1
- package/dist/themes/themes/harvey.d.ts.map +1 -1
- package/dist/themes/themes/harvey.esm.js +4 -1
- package/dist/themes/themes/harvey.js +4 -1
- package/dist/themes/types.d.ts +62 -0
- package/dist/themes/types.d.ts.map +1 -1
- package/dist/themes/validation.d.ts +17 -0
- package/dist/themes/validation.d.ts.map +1 -1
- package/dist/themes/validation.esm.js +218 -0
- package/dist/themes/validation.js +218 -0
- package/dist/types.d.ts +62 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/progressive-css-injector.d.ts +80 -0
- package/dist/utils/progressive-css-injector.d.ts.map +1 -0
- package/dist/utils/progressive-css-injector.esm.js +217 -0
- package/dist/utils/progressive-css-injector.js +217 -0
- package/package.json +1 -1
- package/src/components/ui/button.tsx +9 -6
- package/src/components/ui/layout/container.tsx +312 -0
- package/src/components/ui/layout/index.ts +10 -0
- package/src/components/ui/layout/responsive-grid.tsx +286 -0
- package/src/components/ui/layouts/adaptive-layout.tsx +3 -1
- package/src/components/ui/navigation/index.ts +2 -0
- package/src/components/ui/navigation/progressive-navigation.tsx +453 -0
- package/src/components/ui/navigation/types.ts +41 -0
- package/src/hooks/use-adaptive-layout.ts +13 -9
- package/src/hooks/use-device.tsx +17 -10
- package/src/index.ts +19 -4
- package/src/plugins/css-purge-optimizer.ts +491 -0
- package/src/plugins/performance-monitor.ts +292 -0
- package/src/plugins/progressive-css-loader.ts +269 -0
- package/src/plugins/theme-css-generator.ts +22 -6
- package/src/styles/components/base/badge.css +2 -2
- package/src/styles/components/base/button.css +238 -35
- package/src/styles/components/base/card.css +2 -2
- package/src/styles/components/base/checkbox.css +3 -3
- package/src/styles/components/base/label.css +3 -3
- package/src/styles/components/feedback/skeleton.css +1 -1
- package/src/styles/components/feedback/toast.css +1 -1
- package/src/styles/components/index.css +3 -0
- package/src/styles/components/layout/container.css +466 -0
- package/src/styles/components/layout/index.css +5 -0
- package/src/styles/components/layout/responsive-grid.css +422 -0
- package/src/styles/components/navigation/breadcrumb.css +1 -1
- package/src/styles/components/navigation/index.css +1 -0
- package/src/styles/components/navigation/menu.css +2 -2
- package/src/styles/components/navigation/pagination.css +4 -4
- package/src/styles/components/navigation/progressive-navigation.css +633 -0
- package/src/styles/components/navigation/sidebar.css +4 -4
- package/src/styles/components/navigation/stepper.css +2 -2
- package/src/styles/components/navigation/tabs.css +1 -1
- package/src/styles/components/ui/theme-toggle.css +2 -2
- package/src/styles/progressive.css +17 -0
- package/src/styles/themes/harvey.css +103 -19
- package/src/styles/utilities/semantic-input-system.css +7 -13
- package/src/theme.ts +5 -1
- package/src/themes/phase1-constants.ts +189 -0
- package/src/themes/themes/default.ts +5 -1
- package/src/themes/themes/harvey.ts +5 -1
- package/src/themes/types.ts +77 -1
- package/src/themes/validation.ts +249 -0
- package/src/types.ts +77 -1
- 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
|
-
|
|
8
|
-
--button-height-
|
|
9
|
-
--button-height-
|
|
10
|
-
--button-height-
|
|
11
|
-
--button-height-
|
|
12
|
-
|
|
13
|
-
--button-
|
|
14
|
-
--button-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
--button-padding-
|
|
18
|
-
--button-padding-
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
--button-
|
|
24
|
-
--button-
|
|
25
|
-
--button-
|
|
26
|
-
--button-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
122
|
-
--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-
|
|
161
|
-
--button-
|
|
162
|
-
--button-
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
503
|
+
@media (max-width: 640px) {
|
|
504
504
|
.toast-container {
|
|
505
505
|
max-width: none;
|
|
506
506
|
left: var(--cs-spacing-scale-2) !important;
|