@qwickapps/react-framework 1.9.1 → 1.9.2
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/README.md +7 -4
- package/dist/components/Html.d.ts.map +1 -1
- package/dist/components/blocks/index.d.ts +0 -2
- package/dist/components/blocks/index.d.ts.map +1 -1
- package/dist/components/forms/FormField.d.ts +0 -2
- package/dist/components/forms/FormField.d.ts.map +1 -1
- package/dist/components/forms/FormSelect.d.ts +0 -2
- package/dist/components/forms/FormSelect.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +2104 -1589
- package/dist/index.js +2103 -1589
- package/dist/palettes/manifest.json +22 -22
- package/dist/palettes/{palette-boutique.1.9.1.css → palette-boutique.1.9.2.css} +29 -29
- package/dist/palettes/{palette-boutique.1.9.1.min.css → palette-boutique.1.9.2.min.css} +1 -1
- package/dist/palettes/palette-boutique.latest.css +29 -29
- package/dist/palettes/palette-boutique.latest.min.css +1 -1
- package/dist/schemas/FormFieldSchema.d.ts +0 -1
- package/dist/schemas/FormFieldSchema.d.ts.map +1 -1
- package/dist/schemas/FormSelectSchema.d.ts +0 -1
- package/dist/schemas/FormSelectSchema.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/Html.tsx +1 -7
- package/src/components/Logo.tsx +1 -1
- package/src/components/QwickApp.css +2 -2
- package/src/components/Scaffold.css +0 -3
- package/src/components/blocks/index.ts +0 -2
- package/src/components/forms/FormField.tsx +0 -6
- package/src/components/forms/FormSelect.tsx +0 -6
- package/src/components/layout/GridCellWrapper.tsx +4 -4
- package/src/palettes/PaletteBoutique.css +29 -29
- package/src/schemas/FormFieldSchema.ts +0 -11
- package/src/schemas/FormSelectSchema.ts +0 -11
- package/src/schemas/transformers/ReactNodeTransformer.ts +1 -1
- package/dist/components/blocks/HeroSlideshow.d.ts +0 -54
- package/dist/components/blocks/HeroSlideshow.d.ts.map +0 -1
- package/src/components/blocks/HeroSlideshow.tsx +0 -156
- package/src/stories/HeroSlideshow.stories.tsx +0 -164
- /package/dist/palettes/{palette-autumn.1.9.1.css → palette-autumn.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-autumn.1.9.1.min.css → palette-autumn.1.9.2.min.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.9.1.css → palette-cosmic.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.9.1.min.css → palette-cosmic.1.9.2.min.css} +0 -0
- /package/dist/palettes/{palette-default.1.9.1.css → palette-default.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-default.1.9.1.min.css → palette-default.1.9.2.min.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.9.1.css → palette-ocean.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.9.1.min.css → palette-ocean.1.9.2.min.css} +0 -0
- /package/dist/palettes/{palette-spring.1.9.1.css → palette-spring.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-spring.1.9.1.min.css → palette-spring.1.9.2.min.css} +0 -0
- /package/dist/palettes/{palette-winter.1.9.1.css → palette-winter.1.9.2.css} +0 -0
- /package/dist/palettes/{palette-winter.1.9.1.min.css → palette-winter.1.9.2.min.css} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./manifest.schema.json",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"palettes": [
|
|
5
5
|
{
|
|
6
6
|
"id": "default",
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
"description": "Classic blue and neutral color scheme - the original QwickApps palette",
|
|
9
9
|
"author": "QwickApps",
|
|
10
10
|
"license": "PolyForm-Shield-1.0.0",
|
|
11
|
-
"version": "1.9.
|
|
12
|
-
"file": "palette-default.1.9.
|
|
11
|
+
"version": "1.9.2",
|
|
12
|
+
"file": "palette-default.1.9.2.css",
|
|
13
13
|
"primaryColor": "#007bff",
|
|
14
14
|
"inlined": true,
|
|
15
|
-
"fileMinified": "palette-default.1.9.
|
|
15
|
+
"fileMinified": "palette-default.1.9.2.min.css",
|
|
16
16
|
"fileLatest": "palette-default.latest.css",
|
|
17
17
|
"fileLatestMinified": "palette-default.latest.min.css"
|
|
18
18
|
},
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"description": "Warm oranges, golden yellows, and earthy browns - inspired by fall foliage",
|
|
23
23
|
"author": "QwickApps",
|
|
24
24
|
"license": "PolyForm-Shield-1.0.0",
|
|
25
|
-
"version": "1.9.
|
|
26
|
-
"file": "palette-autumn.1.9.
|
|
25
|
+
"version": "1.9.2",
|
|
26
|
+
"file": "palette-autumn.1.9.2.css",
|
|
27
27
|
"primaryColor": "#ea580c",
|
|
28
28
|
"inlined": false,
|
|
29
|
-
"fileMinified": "palette-autumn.1.9.
|
|
29
|
+
"fileMinified": "palette-autumn.1.9.2.min.css",
|
|
30
30
|
"fileLatest": "palette-autumn.latest.css",
|
|
31
31
|
"fileLatestMinified": "palette-autumn.latest.min.css"
|
|
32
32
|
},
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"description": "Sophisticated teal, bronze, and navy - perfect for premium retail and fashion brands",
|
|
37
37
|
"author": "QwickApps",
|
|
38
38
|
"license": "PolyForm-Shield-1.0.0",
|
|
39
|
-
"version": "1.9.
|
|
40
|
-
"file": "palette-boutique.1.9.
|
|
39
|
+
"version": "1.9.2",
|
|
40
|
+
"file": "palette-boutique.1.9.2.css",
|
|
41
41
|
"primaryColor": "#3ca6b6",
|
|
42
42
|
"inlined": false,
|
|
43
|
-
"fileMinified": "palette-boutique.1.9.
|
|
43
|
+
"fileMinified": "palette-boutique.1.9.2.min.css",
|
|
44
44
|
"fileLatest": "palette-boutique.latest.css",
|
|
45
45
|
"fileLatestMinified": "palette-boutique.latest.min.css"
|
|
46
46
|
},
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"description": "Modern purple gradient for creative and tech brands - inspired by cosmic nebulae",
|
|
51
51
|
"author": "QwickApps",
|
|
52
52
|
"license": "PolyForm-Shield-1.0.0",
|
|
53
|
-
"version": "1.9.
|
|
54
|
-
"file": "palette-cosmic.1.9.
|
|
53
|
+
"version": "1.9.2",
|
|
54
|
+
"file": "palette-cosmic.1.9.2.css",
|
|
55
55
|
"primaryColor": "#8b5cf6",
|
|
56
56
|
"inlined": false,
|
|
57
|
-
"fileMinified": "palette-cosmic.1.9.
|
|
57
|
+
"fileMinified": "palette-cosmic.1.9.2.min.css",
|
|
58
58
|
"fileLatest": "palette-cosmic.latest.css",
|
|
59
59
|
"fileLatestMinified": "palette-cosmic.latest.min.css"
|
|
60
60
|
},
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
"description": "Deep blues, aqua teals, and seafoam greens - inspired by ocean depths",
|
|
65
65
|
"author": "QwickApps",
|
|
66
66
|
"license": "PolyForm-Shield-1.0.0",
|
|
67
|
-
"version": "1.9.
|
|
68
|
-
"file": "palette-ocean.1.9.
|
|
67
|
+
"version": "1.9.2",
|
|
68
|
+
"file": "palette-ocean.1.9.2.css",
|
|
69
69
|
"primaryColor": "#0891b2",
|
|
70
70
|
"inlined": false,
|
|
71
|
-
"fileMinified": "palette-ocean.1.9.
|
|
71
|
+
"fileMinified": "palette-ocean.1.9.2.min.css",
|
|
72
72
|
"fileLatest": "palette-ocean.latest.css",
|
|
73
73
|
"fileLatestMinified": "palette-ocean.latest.min.css"
|
|
74
74
|
},
|
|
@@ -78,11 +78,11 @@
|
|
|
78
78
|
"description": "Fresh greens, soft pinks, and bright yellows - inspired by spring blooms",
|
|
79
79
|
"author": "QwickApps",
|
|
80
80
|
"license": "PolyForm-Shield-1.0.0",
|
|
81
|
-
"version": "1.9.
|
|
82
|
-
"file": "palette-spring.1.9.
|
|
81
|
+
"version": "1.9.2",
|
|
82
|
+
"file": "palette-spring.1.9.2.css",
|
|
83
83
|
"primaryColor": "#16a34a",
|
|
84
84
|
"inlined": false,
|
|
85
|
-
"fileMinified": "palette-spring.1.9.
|
|
85
|
+
"fileMinified": "palette-spring.1.9.2.min.css",
|
|
86
86
|
"fileLatest": "palette-spring.latest.css",
|
|
87
87
|
"fileLatestMinified": "palette-spring.latest.min.css"
|
|
88
88
|
},
|
|
@@ -92,11 +92,11 @@
|
|
|
92
92
|
"description": "Cool blues, icy whites, and frosty grays - inspired by winter landscapes",
|
|
93
93
|
"author": "QwickApps",
|
|
94
94
|
"license": "PolyForm-Shield-1.0.0",
|
|
95
|
-
"version": "1.9.
|
|
96
|
-
"file": "palette-winter.1.9.
|
|
95
|
+
"version": "1.9.2",
|
|
96
|
+
"file": "palette-winter.1.9.2.css",
|
|
97
97
|
"primaryColor": "#0077be",
|
|
98
98
|
"inlined": false,
|
|
99
|
-
"fileMinified": "palette-winter.1.9.
|
|
99
|
+
"fileMinified": "palette-winter.1.9.2.min.css",
|
|
100
100
|
"fileLatest": "palette-winter.latest.css",
|
|
101
101
|
"fileLatestMinified": "palette-winter.latest.min.css"
|
|
102
102
|
}
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
/* ===== BOUTIQUE PALETTE - LIGHT THEME ===== */
|
|
10
10
|
html[data-palette="boutique"]:not([data-theme="dark"]),
|
|
11
11
|
html[data-palette="boutique"][data-theme="light"] {
|
|
12
|
-
/* Primary palette - Teal */
|
|
13
|
-
--palette-primary-main: #
|
|
14
|
-
--palette-primary-light: #
|
|
15
|
-
--palette-primary-dark: #
|
|
12
|
+
/* Primary palette - Teal (WCAG AA compliant) */
|
|
13
|
+
--palette-primary-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
14
|
+
--palette-primary-light: #0c6d80; /* 6.0:1 white text on this bg */
|
|
15
|
+
--palette-primary-dark: #155e75; /* cyan-800: 8.1:1 on white */
|
|
16
16
|
--palette-on-primary: #ffffff;
|
|
17
17
|
|
|
18
|
-
/* Secondary palette - Bronze */
|
|
19
|
-
--palette-secondary-main: #
|
|
20
|
-
--palette-secondary-light: #
|
|
21
|
-
--palette-secondary-dark: #
|
|
18
|
+
/* Secondary palette - Bronze (WCAG AA compliant) */
|
|
19
|
+
--palette-secondary-main: #9a5742; /* 5.5:1 on white */
|
|
20
|
+
--palette-secondary-light: #8b5a3a; /* 5.8:1 on white */
|
|
21
|
+
--palette-secondary-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
22
22
|
--palette-on-secondary: #ffffff;
|
|
23
23
|
|
|
24
24
|
/* Surface palette - Warm ivory */
|
|
@@ -51,30 +51,30 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
51
51
|
--palette-border-lighter: rgba(44, 37, 32, 0.05);
|
|
52
52
|
--palette-border-medium: #b8afa4;
|
|
53
53
|
|
|
54
|
-
/* Success palette - Emerald */
|
|
55
|
-
--palette-success-main: #
|
|
56
|
-
--palette-success-light: #
|
|
57
|
-
--palette-success-dark: #047857;
|
|
54
|
+
/* Success palette - Emerald (WCAG AA compliant) */
|
|
55
|
+
--palette-success-main: #15803d; /* green-700: 5.1:1 on white */
|
|
56
|
+
--palette-success-light: #dcfce7; /* green-100 */
|
|
57
|
+
--palette-success-dark: #047857; /* 5.9:1 on white */
|
|
58
58
|
--palette-success-border: #a7f3d0;
|
|
59
59
|
|
|
60
|
-
/* Error palette - Rose */
|
|
61
|
-
--palette-error-main: #
|
|
62
|
-
--palette-error-light: #
|
|
63
|
-
--palette-error-dark: #9f1239;
|
|
60
|
+
/* Error palette - Rose (WCAG AA compliant) */
|
|
61
|
+
--palette-error-main: #b91c1c; /* red-700: 5.0:1 on white */
|
|
62
|
+
--palette-error-light: #fee2e2; /* red-100 */
|
|
63
|
+
--palette-error-dark: #9f1239; /* 7.3:1 on white */
|
|
64
64
|
--palette-on-error: #ffffff;
|
|
65
65
|
--palette-error-border: #fecdd3;
|
|
66
66
|
|
|
67
|
-
/* Warning palette - Amber */
|
|
68
|
-
--palette-warning-main: #
|
|
69
|
-
--palette-warning-light: #fef3c7;
|
|
70
|
-
--palette-warning-dark: #
|
|
71
|
-
--palette-on-warning: #
|
|
67
|
+
/* Warning palette - Amber (WCAG AA compliant) */
|
|
68
|
+
--palette-warning-main: #92400e; /* amber-800: 5.5:1 on amber-100 bg */
|
|
69
|
+
--palette-warning-light: #fef3c7; /* amber-100 */
|
|
70
|
+
--palette-warning-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
71
|
+
--palette-on-warning: #ffffff;
|
|
72
72
|
--palette-warning-border: #fde68a;
|
|
73
73
|
|
|
74
|
-
/* Info palette - Sky blue */
|
|
75
|
-
--palette-info-main: #
|
|
76
|
-
--palette-info-light: #e0f2fe;
|
|
77
|
-
--palette-info-dark: #075985;
|
|
74
|
+
/* Info palette - Sky blue (WCAG AA compliant) */
|
|
75
|
+
--palette-info-main: #0369a1; /* sky-700: 5.9:1 on white */
|
|
76
|
+
--palette-info-light: #e0f2fe; /* sky-100 */
|
|
77
|
+
--palette-info-dark: #075985; /* sky-800: 7.8:1 on white */
|
|
78
78
|
--palette-on-info: #ffffff;
|
|
79
79
|
--palette-info-border: #7dd3fc;
|
|
80
80
|
|
|
@@ -84,11 +84,11 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
84
84
|
--palette-accent-dark: #050d1f;
|
|
85
85
|
--palette-on-accent: #ffffff;
|
|
86
86
|
|
|
87
|
-
/* Control palette - Deep teal */
|
|
88
|
-
--palette-control-main: #
|
|
89
|
-
--palette-control-light: #
|
|
87
|
+
/* Control palette - Deep teal (WCAG AA compliant) */
|
|
88
|
+
--palette-control-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
89
|
+
--palette-control-light: #0c6d80; /* 6.0:1 white text on bg */
|
|
90
90
|
--palette-control-text: #ffffff;
|
|
91
|
-
--palette-control-border: #
|
|
91
|
+
--palette-control-border: #155e75;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/* ===== BOUTIQUE PALETTE - DARK THEME ===== */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
html[data-palette="boutique"]:not([data-theme="dark"]),html[data-palette="boutique"][data-theme="light"]{--palette-primary-main:#
|
|
1
|
+
html[data-palette="boutique"]:not([data-theme="dark"]),html[data-palette="boutique"][data-theme="light"]{--palette-primary-main:#0e7490;--palette-primary-light:#0c6d80;--palette-primary-dark:#155e75;--palette-on-primary:#ffffff;--palette-secondary-main:#9a5742;--palette-secondary-light:#8b5a3a;--palette-secondary-dark:#78350f;--palette-on-secondary:#ffffff;--palette-surface-main:#fefcf8;--palette-surface-variant:#f5f0ea;--palette-surface-elevated:#ffffff;--palette-on-surface:#2c2520;--palette-background-main:#fffdf9;--palette-background-dark:#f8f4ed;--palette-background-overlay:rgba(255,253,249,0.95);--palette-on-background:#3d3530;--palette-header-bg-start:rgba(255,253,249,0.98);--palette-header-bg-end:rgba(255,253,249,0.95);--palette-header-collapsed-bg-start:rgba(255,253,249,0.99);--palette-header-collapsed-bg-end:rgba(255,253,249,0.96);--palette-text-primary:#2c2520;--palette-text-secondary:#5d5349;--palette-text-disabled:rgba(44,37,32,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#d4cdc4;--palette-border-light:rgba(44,37,32,0.12);--palette-border-lighter:rgba(44,37,32,0.05);--palette-border-medium:#b8afa4;--palette-success-main:#15803d;--palette-success-light:#dcfce7;--palette-success-dark:#047857;--palette-success-border:#a7f3d0;--palette-error-main:#b91c1c;--palette-error-light:#fee2e2;--palette-error-dark:#9f1239;--palette-on-error:#ffffff;--palette-error-border:#fecdd3;--palette-warning-main:#92400e;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#ffffff;--palette-warning-border:#fde68a;--palette-info-main:#0369a1;--palette-info-light:#e0f2fe;--palette-info-dark:#075985;--palette-on-info:#ffffff;--palette-info-border:#7dd3fc;--palette-accent-main:#0a1a3e;--palette-accent-light:#1e3a73;--palette-accent-dark:#050d1f;--palette-on-accent:#ffffff;--palette-control-main:#0e7490;--palette-control-light:#0c6d80;--palette-control-text:#ffffff;--palette-control-border:#155e75}html[data-palette="boutique"][data-theme="dark"]{--palette-primary-main:#6bc4d1;--palette-primary-light:#8fd5de;--palette-primary-dark:#3ca6b6;--palette-on-primary:#0a1a1d;--palette-secondary-main:#d4987e;--palette-secondary-light:#e3b9a4;--palette-secondary-dark:#be765e;--palette-on-secondary:#1a1210;--palette-surface-main:#1a1614;--palette-surface-variant:#252220;--palette-surface-elevated:#332f2c;--palette-on-surface:#f5f0ea;--palette-background-main:#0f0d0c;--palette-background-dark:#1a1614;--palette-background-overlay:rgba(26,22,20,0.95);--palette-on-background:#e8e4de;--palette-header-bg-start:rgba(15,13,12,0.98);--palette-header-bg-end:rgba(15,13,12,0.95);--palette-header-collapsed-bg-start:rgba(15,13,12,0.99);--palette-header-collapsed-bg-end:rgba(15,13,12,0.96);--palette-text-primary:#f5f0ea;--palette-text-secondary:#cdc5bc;--palette-text-disabled:rgba(245,240,234,0.38);--palette-text-inverted:#0f0d0c;--palette-border-main:#4a4440;--palette-border-light:rgba(245,240,234,0.12);--palette-border-lighter:rgba(245,240,234,0.05);--palette-border-medium:#3d3833;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#fb7185;--palette-error-light:#4c0519;--palette-error-dark:#f43f5e;--palette-on-error:#ffffff;--palette-error-border:#881337;--palette-warning-main:#fbbf24;--palette-warning-light:#451a03;--palette-warning-dark:#f59e0b;--palette-on-warning:#1c1917;--palette-warning-border:#78350f;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0284c7;--palette-on-info:#ffffff;--palette-info-border:#075985;--palette-accent-main:#3b5ba3;--palette-accent-light:#5a7cc4;--palette-accent-dark:#1e3a73;--palette-on-accent:#ffffff;--palette-control-main:#6bc4d1;--palette-control-light:#8fd5de;--palette-control-text:#0a1a1d;--palette-control-border:#3ca6b6}
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
/* ===== BOUTIQUE PALETTE - LIGHT THEME ===== */
|
|
10
10
|
html[data-palette="boutique"]:not([data-theme="dark"]),
|
|
11
11
|
html[data-palette="boutique"][data-theme="light"] {
|
|
12
|
-
/* Primary palette - Teal */
|
|
13
|
-
--palette-primary-main: #
|
|
14
|
-
--palette-primary-light: #
|
|
15
|
-
--palette-primary-dark: #
|
|
12
|
+
/* Primary palette - Teal (WCAG AA compliant) */
|
|
13
|
+
--palette-primary-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
14
|
+
--palette-primary-light: #0c6d80; /* 6.0:1 white text on this bg */
|
|
15
|
+
--palette-primary-dark: #155e75; /* cyan-800: 8.1:1 on white */
|
|
16
16
|
--palette-on-primary: #ffffff;
|
|
17
17
|
|
|
18
|
-
/* Secondary palette - Bronze */
|
|
19
|
-
--palette-secondary-main: #
|
|
20
|
-
--palette-secondary-light: #
|
|
21
|
-
--palette-secondary-dark: #
|
|
18
|
+
/* Secondary palette - Bronze (WCAG AA compliant) */
|
|
19
|
+
--palette-secondary-main: #9a5742; /* 5.5:1 on white */
|
|
20
|
+
--palette-secondary-light: #8b5a3a; /* 5.8:1 on white */
|
|
21
|
+
--palette-secondary-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
22
22
|
--palette-on-secondary: #ffffff;
|
|
23
23
|
|
|
24
24
|
/* Surface palette - Warm ivory */
|
|
@@ -51,30 +51,30 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
51
51
|
--palette-border-lighter: rgba(44, 37, 32, 0.05);
|
|
52
52
|
--palette-border-medium: #b8afa4;
|
|
53
53
|
|
|
54
|
-
/* Success palette - Emerald */
|
|
55
|
-
--palette-success-main: #
|
|
56
|
-
--palette-success-light: #
|
|
57
|
-
--palette-success-dark: #047857;
|
|
54
|
+
/* Success palette - Emerald (WCAG AA compliant) */
|
|
55
|
+
--palette-success-main: #15803d; /* green-700: 5.1:1 on white */
|
|
56
|
+
--palette-success-light: #dcfce7; /* green-100 */
|
|
57
|
+
--palette-success-dark: #047857; /* 5.9:1 on white */
|
|
58
58
|
--palette-success-border: #a7f3d0;
|
|
59
59
|
|
|
60
|
-
/* Error palette - Rose */
|
|
61
|
-
--palette-error-main: #
|
|
62
|
-
--palette-error-light: #
|
|
63
|
-
--palette-error-dark: #9f1239;
|
|
60
|
+
/* Error palette - Rose (WCAG AA compliant) */
|
|
61
|
+
--palette-error-main: #b91c1c; /* red-700: 5.0:1 on white */
|
|
62
|
+
--palette-error-light: #fee2e2; /* red-100 */
|
|
63
|
+
--palette-error-dark: #9f1239; /* 7.3:1 on white */
|
|
64
64
|
--palette-on-error: #ffffff;
|
|
65
65
|
--palette-error-border: #fecdd3;
|
|
66
66
|
|
|
67
|
-
/* Warning palette - Amber */
|
|
68
|
-
--palette-warning-main: #
|
|
69
|
-
--palette-warning-light: #fef3c7;
|
|
70
|
-
--palette-warning-dark: #
|
|
71
|
-
--palette-on-warning: #
|
|
67
|
+
/* Warning palette - Amber (WCAG AA compliant) */
|
|
68
|
+
--palette-warning-main: #92400e; /* amber-800: 5.5:1 on amber-100 bg */
|
|
69
|
+
--palette-warning-light: #fef3c7; /* amber-100 */
|
|
70
|
+
--palette-warning-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
71
|
+
--palette-on-warning: #ffffff;
|
|
72
72
|
--palette-warning-border: #fde68a;
|
|
73
73
|
|
|
74
|
-
/* Info palette - Sky blue */
|
|
75
|
-
--palette-info-main: #
|
|
76
|
-
--palette-info-light: #e0f2fe;
|
|
77
|
-
--palette-info-dark: #075985;
|
|
74
|
+
/* Info palette - Sky blue (WCAG AA compliant) */
|
|
75
|
+
--palette-info-main: #0369a1; /* sky-700: 5.9:1 on white */
|
|
76
|
+
--palette-info-light: #e0f2fe; /* sky-100 */
|
|
77
|
+
--palette-info-dark: #075985; /* sky-800: 7.8:1 on white */
|
|
78
78
|
--palette-on-info: #ffffff;
|
|
79
79
|
--palette-info-border: #7dd3fc;
|
|
80
80
|
|
|
@@ -84,11 +84,11 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
84
84
|
--palette-accent-dark: #050d1f;
|
|
85
85
|
--palette-on-accent: #ffffff;
|
|
86
86
|
|
|
87
|
-
/* Control palette - Deep teal */
|
|
88
|
-
--palette-control-main: #
|
|
89
|
-
--palette-control-light: #
|
|
87
|
+
/* Control palette - Deep teal (WCAG AA compliant) */
|
|
88
|
+
--palette-control-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
89
|
+
--palette-control-light: #0c6d80; /* 6.0:1 white text on bg */
|
|
90
90
|
--palette-control-text: #ffffff;
|
|
91
|
-
--palette-control-border: #
|
|
91
|
+
--palette-control-border: #155e75;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/* ===== BOUTIQUE PALETTE - DARK THEME ===== */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
html[data-palette="boutique"]:not([data-theme="dark"]),html[data-palette="boutique"][data-theme="light"]{--palette-primary-main:#
|
|
1
|
+
html[data-palette="boutique"]:not([data-theme="dark"]),html[data-palette="boutique"][data-theme="light"]{--palette-primary-main:#0e7490;--palette-primary-light:#0c6d80;--palette-primary-dark:#155e75;--palette-on-primary:#ffffff;--palette-secondary-main:#9a5742;--palette-secondary-light:#8b5a3a;--palette-secondary-dark:#78350f;--palette-on-secondary:#ffffff;--palette-surface-main:#fefcf8;--palette-surface-variant:#f5f0ea;--palette-surface-elevated:#ffffff;--palette-on-surface:#2c2520;--palette-background-main:#fffdf9;--palette-background-dark:#f8f4ed;--palette-background-overlay:rgba(255,253,249,0.95);--palette-on-background:#3d3530;--palette-header-bg-start:rgba(255,253,249,0.98);--palette-header-bg-end:rgba(255,253,249,0.95);--palette-header-collapsed-bg-start:rgba(255,253,249,0.99);--palette-header-collapsed-bg-end:rgba(255,253,249,0.96);--palette-text-primary:#2c2520;--palette-text-secondary:#5d5349;--palette-text-disabled:rgba(44,37,32,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#d4cdc4;--palette-border-light:rgba(44,37,32,0.12);--palette-border-lighter:rgba(44,37,32,0.05);--palette-border-medium:#b8afa4;--palette-success-main:#15803d;--palette-success-light:#dcfce7;--palette-success-dark:#047857;--palette-success-border:#a7f3d0;--palette-error-main:#b91c1c;--palette-error-light:#fee2e2;--palette-error-dark:#9f1239;--palette-on-error:#ffffff;--palette-error-border:#fecdd3;--palette-warning-main:#92400e;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#ffffff;--palette-warning-border:#fde68a;--palette-info-main:#0369a1;--palette-info-light:#e0f2fe;--palette-info-dark:#075985;--palette-on-info:#ffffff;--palette-info-border:#7dd3fc;--palette-accent-main:#0a1a3e;--palette-accent-light:#1e3a73;--palette-accent-dark:#050d1f;--palette-on-accent:#ffffff;--palette-control-main:#0e7490;--palette-control-light:#0c6d80;--palette-control-text:#ffffff;--palette-control-border:#155e75}html[data-palette="boutique"][data-theme="dark"]{--palette-primary-main:#6bc4d1;--palette-primary-light:#8fd5de;--palette-primary-dark:#3ca6b6;--palette-on-primary:#0a1a1d;--palette-secondary-main:#d4987e;--palette-secondary-light:#e3b9a4;--palette-secondary-dark:#be765e;--palette-on-secondary:#1a1210;--palette-surface-main:#1a1614;--palette-surface-variant:#252220;--palette-surface-elevated:#332f2c;--palette-on-surface:#f5f0ea;--palette-background-main:#0f0d0c;--palette-background-dark:#1a1614;--palette-background-overlay:rgba(26,22,20,0.95);--palette-on-background:#e8e4de;--palette-header-bg-start:rgba(15,13,12,0.98);--palette-header-bg-end:rgba(15,13,12,0.95);--palette-header-collapsed-bg-start:rgba(15,13,12,0.99);--palette-header-collapsed-bg-end:rgba(15,13,12,0.96);--palette-text-primary:#f5f0ea;--palette-text-secondary:#cdc5bc;--palette-text-disabled:rgba(245,240,234,0.38);--palette-text-inverted:#0f0d0c;--palette-border-main:#4a4440;--palette-border-light:rgba(245,240,234,0.12);--palette-border-lighter:rgba(245,240,234,0.05);--palette-border-medium:#3d3833;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#fb7185;--palette-error-light:#4c0519;--palette-error-dark:#f43f5e;--palette-on-error:#ffffff;--palette-error-border:#881337;--palette-warning-main:#fbbf24;--palette-warning-light:#451a03;--palette-warning-dark:#f59e0b;--palette-on-warning:#1c1917;--palette-warning-border:#78350f;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0284c7;--palette-on-info:#ffffff;--palette-info-border:#075985;--palette-accent-main:#3b5ba3;--palette-accent-light:#5a7cc4;--palette-accent-dark:#1e3a73;--palette-on-accent:#ffffff;--palette-control-main:#6bc4d1;--palette-control-light:#8fd5de;--palette-control-text:#0a1a1d;--palette-control-border:#3ca6b6}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/FormFieldSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,qBACa,cAAe,SAAQ,UAAU;IAS5C,KAAK,EAAG,MAAM,CAAC;IAUf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC;IAUxB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;IAWxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAUvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAUpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAYpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAWd,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FormFieldSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/FormFieldSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,qBACa,cAAe,SAAQ,UAAU;IAS5C,KAAK,EAAG,MAAM,CAAC;IAUf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC;IAUxB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;IAWxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAUvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAUpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAYpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAWd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSelectSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/FormSelectSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,qBACa,eAAgB,SAAQ,UAAU;IAU7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC;IAUxB,OAAO,EAAG,MAAM,CAAC;IAWjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAUpB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAW1B,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FormSelectSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/FormSelectSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,qBACa,eAAgB,SAAQ,UAAU;IAU7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC;IAUxB,OAAO,EAAG,MAAM,CAAC;IAWjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAUpB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAW1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwickapps/react-framework",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Complete React framework with responsive navigation, flexible layouts, theming system, and reusable components for building modern applications.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
|
-
"create": "scripts/create-qwickapps-project.js"
|
|
9
|
+
"create": "./scripts/create-qwickapps-project.js"
|
|
10
10
|
},
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
},
|
|
181
181
|
"repository": {
|
|
182
182
|
"type": "git",
|
|
183
|
-
"url": "
|
|
183
|
+
"url": "https://github.com/qwickapps/react-framework.git"
|
|
184
184
|
},
|
|
185
185
|
"homepage": "https://github.com/qwickapps/react-framework#readme"
|
|
186
186
|
}
|
package/src/components/Html.tsx
CHANGED
|
@@ -137,13 +137,7 @@ function HtmlView({
|
|
|
137
137
|
...styleProps.sx
|
|
138
138
|
}}
|
|
139
139
|
>
|
|
140
|
-
{
|
|
141
|
-
? components.map((child, idx) =>
|
|
142
|
-
React.isValidElement(child) && child.key == null
|
|
143
|
-
? React.cloneElement(child as ReactElement, { key: `html-child-${idx}` })
|
|
144
|
-
: child
|
|
145
|
-
)
|
|
146
|
-
: components}
|
|
140
|
+
{components}
|
|
147
141
|
</Box>
|
|
148
142
|
);
|
|
149
143
|
|
package/src/components/Logo.tsx
CHANGED
|
@@ -233,7 +233,7 @@ function LogoView({
|
|
|
233
233
|
setCalculatedBadgePosition(badgePos);
|
|
234
234
|
setSvgWidth(requiredWidth);
|
|
235
235
|
}
|
|
236
|
-
}, [name, badge, badgeOffset, calculateBadgePosition, fontSize, height, parseNameParts]);
|
|
236
|
+
}, [name, badge, badgeOffset, calculateBadgePosition, fontSize, height, parseNameParts, svgWidth]);
|
|
237
237
|
|
|
238
238
|
// Determine CSS class for variant
|
|
239
239
|
let variantClass = '';
|
|
@@ -472,12 +472,12 @@ a {
|
|
|
472
472
|
transition: color 0.2s ease;
|
|
473
473
|
}
|
|
474
474
|
|
|
475
|
-
a:hover
|
|
475
|
+
a:hover {
|
|
476
476
|
color: var(--theme-link-hover);
|
|
477
477
|
text-decoration: underline;
|
|
478
478
|
}
|
|
479
479
|
|
|
480
|
-
a:visited
|
|
480
|
+
a:visited {
|
|
481
481
|
color: var(--theme-link-color);
|
|
482
482
|
opacity: 0.8;
|
|
483
483
|
}
|
|
@@ -458,9 +458,6 @@
|
|
|
458
458
|
background: var(--scaffold-background);
|
|
459
459
|
transition: padding 0.3s ease;
|
|
460
460
|
box-sizing: border-box;
|
|
461
|
-
/* Establish stacking context below app bar to prevent content bleed-through on scroll (GH-1) */
|
|
462
|
-
position: relative;
|
|
463
|
-
z-index: 1;
|
|
464
461
|
}
|
|
465
462
|
|
|
466
463
|
/* =================== ANIMATIONS =================== */
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
12
12
|
*/
|
|
13
13
|
export { default as HeroBlock } from './HeroBlock';
|
|
14
|
-
export { default as HeroSlideshow } from './HeroSlideshow';
|
|
15
14
|
export { default as Code } from './Code';
|
|
16
15
|
export { default as Article } from './Article';
|
|
17
16
|
export { default as Content } from './Content';
|
|
@@ -29,7 +28,6 @@ export { default as FeatureCard } from './FeatureCard';
|
|
|
29
28
|
export { default as CardListGrid } from './CardListGrid';
|
|
30
29
|
|
|
31
30
|
export type { HeroBlockProps } from './HeroBlock';
|
|
32
|
-
export type { HeroSlideshowProps, HeroSlide } from './HeroSlideshow';
|
|
33
31
|
export type { CodeProps } from './Code';
|
|
34
32
|
export type { ArticleProps } from './Article';
|
|
35
33
|
export type { ContentProps } from './Content';
|
|
@@ -40,8 +40,6 @@ export interface FormFieldProps extends ViewProps, SchemaProps<typeof FormFieldM
|
|
|
40
40
|
endAdornment?: React.ReactNode;
|
|
41
41
|
/** Additional input props */
|
|
42
42
|
inputProps?: unknown;
|
|
43
|
-
/** Show error state styling */
|
|
44
|
-
error?: boolean;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
/**
|
|
@@ -62,11 +60,9 @@ function FormFieldView({
|
|
|
62
60
|
multiline = false,
|
|
63
61
|
rows,
|
|
64
62
|
placeholder,
|
|
65
|
-
name,
|
|
66
63
|
startAdornment,
|
|
67
64
|
endAdornment,
|
|
68
65
|
inputProps,
|
|
69
|
-
error,
|
|
70
66
|
// Exclude ViewProps that conflict with MUI FormControl types
|
|
71
67
|
margin: _margin,
|
|
72
68
|
marginTop: _marginTop,
|
|
@@ -132,7 +128,6 @@ function FormFieldView({
|
|
|
132
128
|
return (
|
|
133
129
|
<FormControl
|
|
134
130
|
fullWidth={fullWidth}
|
|
135
|
-
error={error}
|
|
136
131
|
{...restProps}
|
|
137
132
|
>
|
|
138
133
|
<InputLabel htmlFor={fieldId} sx={labelStyles} shrink>
|
|
@@ -141,7 +136,6 @@ function FormFieldView({
|
|
|
141
136
|
|
|
142
137
|
<Input
|
|
143
138
|
id={fieldId}
|
|
144
|
-
name={name}
|
|
145
139
|
type={type}
|
|
146
140
|
value={value}
|
|
147
141
|
onChange={handleChange}
|
|
@@ -38,8 +38,6 @@ export interface FormSelectProps extends ViewProps, SchemaProps<typeof FormSelec
|
|
|
38
38
|
onChange: (value: string | number) => void;
|
|
39
39
|
/** Options array (runtime prop, overrides schema) */
|
|
40
40
|
options: FormSelectOption[];
|
|
41
|
-
/** Show error state styling */
|
|
42
|
-
error?: boolean;
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
/**
|
|
@@ -56,8 +54,6 @@ function FormSelectView({
|
|
|
56
54
|
fullWidth = true,
|
|
57
55
|
size = 'small',
|
|
58
56
|
placeholder,
|
|
59
|
-
name,
|
|
60
|
-
error,
|
|
61
57
|
// Exclude ViewProps that conflict with MUI FormControl types
|
|
62
58
|
margin: _margin,
|
|
63
59
|
marginTop: _marginTop,
|
|
@@ -103,7 +99,6 @@ function FormSelectView({
|
|
|
103
99
|
<FormControl
|
|
104
100
|
fullWidth={fullWidth}
|
|
105
101
|
size={size}
|
|
106
|
-
error={error}
|
|
107
102
|
{...restProps}
|
|
108
103
|
>
|
|
109
104
|
{label && (
|
|
@@ -113,7 +108,6 @@ function FormSelectView({
|
|
|
113
108
|
)}
|
|
114
109
|
|
|
115
110
|
<Select
|
|
116
|
-
name={name}
|
|
117
111
|
value={value}
|
|
118
112
|
onChange={handleChange}
|
|
119
113
|
disabled={disabled}
|
|
@@ -55,22 +55,22 @@ const GridCellWrapper: React.FC<GridCellWrapperProps> = ({
|
|
|
55
55
|
...gridProps
|
|
56
56
|
}) => {
|
|
57
57
|
// If fullWidth is true, force size=12; otherwise build responsive size object for MUI v6
|
|
58
|
-
const responsiveSizing = fullWidth
|
|
58
|
+
const responsiveSizing = fullWidth
|
|
59
59
|
? { size: 12 }
|
|
60
60
|
: (() => {
|
|
61
|
-
const sizeConfig:
|
|
61
|
+
const sizeConfig: unknown = {};
|
|
62
62
|
if (xs !== undefined) sizeConfig.xs = xs;
|
|
63
63
|
if (sm !== undefined) sizeConfig.sm = sm;
|
|
64
64
|
if (md !== undefined) sizeConfig.md = md;
|
|
65
65
|
if (lg !== undefined) sizeConfig.lg = lg;
|
|
66
66
|
if (xl !== undefined) sizeConfig.xl = xl;
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
// If only one value provided, use it as a simple size value
|
|
69
69
|
const definedBreakpoints = Object.keys(sizeConfig);
|
|
70
70
|
if (definedBreakpoints.length === 1 && xs !== undefined && sm === undefined && md === undefined && lg === undefined && xl === undefined) {
|
|
71
71
|
return { size: xs };
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
|
|
74
74
|
return { size: sizeConfig };
|
|
75
75
|
})();
|
|
76
76
|
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
/* ===== BOUTIQUE PALETTE - LIGHT THEME ===== */
|
|
10
10
|
html[data-palette="boutique"]:not([data-theme="dark"]),
|
|
11
11
|
html[data-palette="boutique"][data-theme="light"] {
|
|
12
|
-
/* Primary palette - Teal */
|
|
13
|
-
--palette-primary-main: #
|
|
14
|
-
--palette-primary-light: #
|
|
15
|
-
--palette-primary-dark: #
|
|
12
|
+
/* Primary palette - Teal (WCAG AA compliant) */
|
|
13
|
+
--palette-primary-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
14
|
+
--palette-primary-light: #0c6d80; /* 6.0:1 white text on this bg */
|
|
15
|
+
--palette-primary-dark: #155e75; /* cyan-800: 8.1:1 on white */
|
|
16
16
|
--palette-on-primary: #ffffff;
|
|
17
17
|
|
|
18
|
-
/* Secondary palette - Bronze */
|
|
19
|
-
--palette-secondary-main: #
|
|
20
|
-
--palette-secondary-light: #
|
|
21
|
-
--palette-secondary-dark: #
|
|
18
|
+
/* Secondary palette - Bronze (WCAG AA compliant) */
|
|
19
|
+
--palette-secondary-main: #9a5742; /* 5.5:1 on white */
|
|
20
|
+
--palette-secondary-light: #8b5a3a; /* 5.8:1 on white */
|
|
21
|
+
--palette-secondary-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
22
22
|
--palette-on-secondary: #ffffff;
|
|
23
23
|
|
|
24
24
|
/* Surface palette - Warm ivory */
|
|
@@ -51,30 +51,30 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
51
51
|
--palette-border-lighter: rgba(44, 37, 32, 0.05);
|
|
52
52
|
--palette-border-medium: #b8afa4;
|
|
53
53
|
|
|
54
|
-
/* Success palette - Emerald */
|
|
55
|
-
--palette-success-main: #
|
|
56
|
-
--palette-success-light: #
|
|
57
|
-
--palette-success-dark: #047857;
|
|
54
|
+
/* Success palette - Emerald (WCAG AA compliant) */
|
|
55
|
+
--palette-success-main: #15803d; /* green-700: 5.1:1 on white */
|
|
56
|
+
--palette-success-light: #dcfce7; /* green-100 */
|
|
57
|
+
--palette-success-dark: #047857; /* 5.9:1 on white */
|
|
58
58
|
--palette-success-border: #a7f3d0;
|
|
59
59
|
|
|
60
|
-
/* Error palette - Rose */
|
|
61
|
-
--palette-error-main: #
|
|
62
|
-
--palette-error-light: #
|
|
63
|
-
--palette-error-dark: #9f1239;
|
|
60
|
+
/* Error palette - Rose (WCAG AA compliant) */
|
|
61
|
+
--palette-error-main: #b91c1c; /* red-700: 5.0:1 on white */
|
|
62
|
+
--palette-error-light: #fee2e2; /* red-100 */
|
|
63
|
+
--palette-error-dark: #9f1239; /* 7.3:1 on white */
|
|
64
64
|
--palette-on-error: #ffffff;
|
|
65
65
|
--palette-error-border: #fecdd3;
|
|
66
66
|
|
|
67
|
-
/* Warning palette - Amber */
|
|
68
|
-
--palette-warning-main: #
|
|
69
|
-
--palette-warning-light: #fef3c7;
|
|
70
|
-
--palette-warning-dark: #
|
|
71
|
-
--palette-on-warning: #
|
|
67
|
+
/* Warning palette - Amber (WCAG AA compliant) */
|
|
68
|
+
--palette-warning-main: #92400e; /* amber-800: 5.5:1 on amber-100 bg */
|
|
69
|
+
--palette-warning-light: #fef3c7; /* amber-100 */
|
|
70
|
+
--palette-warning-dark: #78350f; /* amber-900: 9.4:1 on white */
|
|
71
|
+
--palette-on-warning: #ffffff;
|
|
72
72
|
--palette-warning-border: #fde68a;
|
|
73
73
|
|
|
74
|
-
/* Info palette - Sky blue */
|
|
75
|
-
--palette-info-main: #
|
|
76
|
-
--palette-info-light: #e0f2fe;
|
|
77
|
-
--palette-info-dark: #075985;
|
|
74
|
+
/* Info palette - Sky blue (WCAG AA compliant) */
|
|
75
|
+
--palette-info-main: #0369a1; /* sky-700: 5.9:1 on white */
|
|
76
|
+
--palette-info-light: #e0f2fe; /* sky-100 */
|
|
77
|
+
--palette-info-dark: #075985; /* sky-800: 7.8:1 on white */
|
|
78
78
|
--palette-on-info: #ffffff;
|
|
79
79
|
--palette-info-border: #7dd3fc;
|
|
80
80
|
|
|
@@ -84,11 +84,11 @@ html[data-palette="boutique"][data-theme="light"] {
|
|
|
84
84
|
--palette-accent-dark: #050d1f;
|
|
85
85
|
--palette-on-accent: #ffffff;
|
|
86
86
|
|
|
87
|
-
/* Control palette - Deep teal */
|
|
88
|
-
--palette-control-main: #
|
|
89
|
-
--palette-control-light: #
|
|
87
|
+
/* Control palette - Deep teal (WCAG AA compliant) */
|
|
88
|
+
--palette-control-main: #0e7490; /* cyan-700: 4.9:1 on white */
|
|
89
|
+
--palette-control-light: #0c6d80; /* 6.0:1 white text on bg */
|
|
90
90
|
--palette-control-text: #ffffff;
|
|
91
|
-
--palette-control-border: #
|
|
91
|
+
--palette-control-border: #155e75;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/* ===== BOUTIQUE PALETTE - DARK THEME ===== */
|