@qwickapps/react-framework 1.8.1 → 1.9.0

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 (36) hide show
  1. package/README.md +4 -7
  2. package/dist/components/blocks/index.d.ts +0 -2
  3. package/dist/components/blocks/index.d.ts.map +1 -1
  4. package/dist/components/forms/FormField.d.ts.map +1 -1
  5. package/dist/components/forms/FormSelect.d.ts.map +1 -1
  6. package/dist/index.esm.js +17 -98
  7. package/dist/index.js +16 -98
  8. package/dist/palettes/palette-autumn.1.8.0.css +174 -0
  9. package/dist/palettes/palette-autumn.1.8.0.min.css +1 -0
  10. package/dist/palettes/palette-boutique.1.8.0.css +176 -0
  11. package/dist/palettes/palette-boutique.1.8.0.min.css +1 -0
  12. package/dist/palettes/palette-cosmic.1.8.0.css +174 -0
  13. package/dist/palettes/palette-cosmic.1.8.0.min.css +1 -0
  14. package/dist/palettes/palette-default.1.8.0.css +178 -0
  15. package/dist/palettes/palette-default.1.8.0.min.css +1 -0
  16. package/dist/palettes/palette-ocean.1.8.0.css +174 -0
  17. package/dist/palettes/palette-ocean.1.8.0.min.css +1 -0
  18. package/dist/palettes/palette-spring.1.8.0.css +168 -0
  19. package/dist/palettes/palette-spring.1.8.0.min.css +1 -0
  20. package/dist/palettes/palette-winter.1.8.0.css +174 -0
  21. package/dist/palettes/palette-winter.1.8.0.min.css +1 -0
  22. package/dist/schemas/FormFieldSchema.d.ts +1 -0
  23. package/dist/schemas/FormFieldSchema.d.ts.map +1 -1
  24. package/dist/schemas/FormSelectSchema.d.ts +1 -0
  25. package/dist/schemas/FormSelectSchema.d.ts.map +1 -1
  26. package/package.json +21 -19
  27. package/scripts/build-palettes.cjs +0 -0
  28. package/scripts/create-project.sh +0 -0
  29. package/src/components/Html.tsx +7 -1
  30. package/src/components/Logo.tsx +1 -1
  31. package/src/components/forms/FormField.tsx +6 -0
  32. package/src/components/forms/FormSelect.tsx +6 -0
  33. package/src/schemas/FormFieldSchema.ts +11 -0
  34. package/src/schemas/FormSelectSchema.ts +11 -0
  35. package/dist/components/blocks/HeroSlideshow.d.ts +0 -54
  36. package/dist/components/blocks/HeroSlideshow.d.ts.map +0 -1
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Ocean Color Palette
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ *
6
+ * Deep blues, aqua teals, and seafoam greens - inspired by ocean depths
7
+ */
8
+
9
+ /* ===== OCEAN PALETTE - LIGHT THEME ===== */
10
+ html[data-palette="ocean"]:not([data-theme="dark"]),
11
+ html[data-palette="ocean"][data-theme="light"] {
12
+ /* Primary palette - Deep ocean */
13
+ --palette-primary-main: #0891b2;
14
+ --palette-primary-light: #22d3ee;
15
+ --palette-primary-dark: #164e63;
16
+ --palette-on-primary: #ffffff;
17
+
18
+ /* Secondary palette - Deep teal */
19
+ --palette-secondary-main: #0f766e;
20
+ --palette-secondary-light: #14b8a6;
21
+ --palette-secondary-dark: #134e4a;
22
+ --palette-on-secondary: #ffffff;
23
+
24
+ /* Surface palette - Sea foam */
25
+ --palette-surface-main: #f0fdfa;
26
+ --palette-surface-variant: #ccfbf1;
27
+ --palette-surface-elevated: #ffffff;
28
+ --palette-on-surface: #164e63;
29
+
30
+ /* Background palette - Shallow water */
31
+ --palette-background-main: #ecfeff;
32
+ --palette-background-dark: #cffafe;
33
+ --palette-background-overlay: rgba(236, 254, 255, 0.95);
34
+ --palette-on-background: #0f766e;
35
+
36
+ /* Header background with transparency */
37
+ --palette-header-bg-start: rgba(236, 254, 255, 0.98);
38
+ --palette-header-bg-end: rgba(236, 254, 255, 0.95);
39
+ --palette-header-collapsed-bg-start: rgba(236, 254, 255, 0.99);
40
+ --palette-header-collapsed-bg-end: rgba(236, 254, 255, 0.96);
41
+
42
+ /* Text palette - Deep sea */
43
+ --palette-text-primary: #164e63;
44
+ --palette-text-secondary: #0891b2;
45
+ --palette-text-disabled: rgba(22, 78, 99, 0.38);
46
+ --palette-text-inverted: #ffffff;
47
+
48
+ /* Border palette - Tide line */
49
+ --palette-border-main: #a7f3d0;
50
+ --palette-border-light: rgba(22, 78, 99, 0.12);
51
+ --palette-border-lighter: rgba(22, 78, 99, 0.05);
52
+ --palette-border-medium: #67e8f9;
53
+
54
+ /* Success palette - Kelp green */
55
+ --palette-success-main: #059669;
56
+ --palette-success-light: #d1fae5;
57
+ --palette-success-dark: #065f46;
58
+ --palette-success-border: #a7f3d0;
59
+
60
+ /* Error palette - Coral */
61
+ --palette-error-main: #ef4444;
62
+ --palette-error-light: #fee2e2;
63
+ --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
65
+ --palette-error-border: #fecaca;
66
+
67
+ /* Warning palette - Sandy yellow */
68
+ --palette-warning-main: #f59e0b;
69
+ --palette-warning-light: #fef3c7;
70
+ --palette-warning-dark: #78350f;
71
+ --palette-on-warning: #000000;
72
+ --palette-warning-border: #fde68a;
73
+
74
+ /* Info palette - Crystal blue */
75
+ --palette-info-main: #0ea5e9;
76
+ --palette-info-light: #e0f2fe;
77
+ --palette-info-dark: #0c4a6e;
78
+ --palette-on-info: #ffffff;
79
+ --palette-info-border: #7dd3fc;
80
+
81
+ /* Accent palette - Coral reef */
82
+ --palette-accent-main: #f97316;
83
+ --palette-accent-light: #fb923c;
84
+ --palette-accent-dark: #ea580c;
85
+ --palette-on-accent: #ffffff;
86
+
87
+ /* Control palette - Depth */
88
+ --palette-control-main: #0c4a6e;
89
+ --palette-control-light: #075985;
90
+ --palette-control-text: #cffafe;
91
+ --palette-control-border: #0891b2;
92
+ }
93
+
94
+ /* ===== OCEAN PALETTE - DARK THEME ===== */
95
+ html[data-palette="ocean"][data-theme="dark"] {
96
+ /* Primary palette - Bioluminescent */
97
+ --palette-primary-main: #22d3ee;
98
+ --palette-primary-light: #67e8f9;
99
+ --palette-primary-dark: #0891b2;
100
+ --palette-on-primary: #0a1a1f;
101
+
102
+ /* Secondary palette - Deep current */
103
+ --palette-secondary-main: #5eead4;
104
+ --palette-secondary-light: #99f6e4;
105
+ --palette-secondary-dark: #14b8a6;
106
+ --palette-on-secondary: #0a1a1f;
107
+
108
+ /* Surface palette - Abyss */
109
+ --palette-surface-main: #122830;
110
+ --palette-surface-variant: #1a3a45;
111
+ --palette-surface-elevated: #0e7490;
112
+ --palette-on-surface: #cffafe;
113
+
114
+ /* Background palette - Ocean floor */
115
+ --palette-background-main: #040a0d;
116
+ --palette-background-dark: #0a1418;
117
+ --palette-background-overlay: rgba(10, 26, 31, 0.95);
118
+ --palette-on-background: #5eead4;
119
+
120
+ /* Header background with transparency */
121
+ --palette-header-bg-start: rgba(4, 10, 13, 0.98);
122
+ --palette-header-bg-end: rgba(4, 10, 13, 0.95);
123
+ --palette-header-collapsed-bg-start: rgba(4, 10, 13, 0.99);
124
+ --palette-header-collapsed-bg-end: rgba(4, 10, 13, 0.96);
125
+
126
+ /* Text palette - Phosphorescent */
127
+ --palette-text-primary: #cffafe;
128
+ --palette-text-secondary: #a5f3fc;
129
+ --palette-text-disabled: rgba(207, 250, 254, 0.38);
130
+ --palette-text-inverted: #020617;
131
+
132
+ /* Border palette - Deep current */
133
+ --palette-border-main: #155e75;
134
+ --palette-border-light: rgba(207, 250, 254, 0.12);
135
+ --palette-border-lighter: rgba(207, 250, 254, 0.05);
136
+ --palette-border-medium: #0c4a6e;
137
+
138
+ /* Success palette - Algae glow */
139
+ --palette-success-main: #34d399;
140
+ --palette-success-light: #065f46;
141
+ --palette-success-dark: #10b981;
142
+ --palette-success-border: #047857;
143
+
144
+ /* Error palette - Red tide */
145
+ --palette-error-main: #f87171;
146
+ --palette-error-light: #7f1d1d;
147
+ --palette-error-dark: #ef4444;
148
+ --palette-error-border: #991b1b;
149
+
150
+ /* Warning palette - Sunset reflection */
151
+ --palette-warning-main: #fb7185;
152
+ --palette-warning-light: #881337;
153
+ --palette-warning-dark: #e11d48;
154
+ --palette-warning-border: #be123c;
155
+
156
+ /* Info palette - Electric blue */
157
+ --palette-info-main: #0ea5e9;
158
+ --palette-info-light: #0c4a6e;
159
+ --palette-info-dark: #38bdf8;
160
+ --palette-on-info: #020617;
161
+ --palette-info-border: #0284c7;
162
+
163
+ /* Accent palette - Warm coral */
164
+ --palette-accent-main: #ea580c;
165
+ --palette-accent-light: #fb923c;
166
+ --palette-accent-dark: #c2410c;
167
+ --palette-on-accent: #cffafe;
168
+
169
+ /* Control palette - Midnight depth */
170
+ --palette-control-main: #164e63;
171
+ --palette-control-light: #0e7490;
172
+ --palette-control-text: #ecfeff;
173
+ --palette-control-border: #155e75;
174
+ }
@@ -0,0 +1 @@
1
+ html[data-palette="ocean"]:not([data-theme="dark"]),html[data-palette="ocean"][data-theme="light"]{--palette-primary-main:#0891b2;--palette-primary-light:#22d3ee;--palette-primary-dark:#164e63;--palette-on-primary:#ffffff;--palette-secondary-main:#0f766e;--palette-secondary-light:#14b8a6;--palette-secondary-dark:#134e4a;--palette-on-secondary:#ffffff;--palette-surface-main:#f0fdfa;--palette-surface-variant:#ccfbf1;--palette-surface-elevated:#ffffff;--palette-on-surface:#164e63;--palette-background-main:#ecfeff;--palette-background-dark:#cffafe;--palette-background-overlay:rgba(236,254,255,0.95);--palette-on-background:#0f766e;--palette-header-bg-start:rgba(236,254,255,0.98);--palette-header-bg-end:rgba(236,254,255,0.95);--palette-header-collapsed-bg-start:rgba(236,254,255,0.99);--palette-header-collapsed-bg-end:rgba(236,254,255,0.96);--palette-text-primary:#164e63;--palette-text-secondary:#0891b2;--palette-text-disabled:rgba(22,78,99,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#a7f3d0;--palette-border-light:rgba(22,78,99,0.12);--palette-border-lighter:rgba(22,78,99,0.05);--palette-border-medium:#67e8f9;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#065f46;--palette-success-border:#a7f3d0;--palette-error-main:#ef4444;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#ffffff;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#000000;--palette-warning-border:#fde68a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#ffffff;--palette-info-border:#7dd3fc;--palette-accent-main:#f97316;--palette-accent-light:#fb923c;--palette-accent-dark:#ea580c;--palette-on-accent:#ffffff;--palette-control-main:#0c4a6e;--palette-control-light:#075985;--palette-control-text:#cffafe;--palette-control-border:#0891b2}html[data-palette="ocean"][data-theme="dark"]{--palette-primary-main:#22d3ee;--palette-primary-light:#67e8f9;--palette-primary-dark:#0891b2;--palette-on-primary:#0a1a1f;--palette-secondary-main:#5eead4;--palette-secondary-light:#99f6e4;--palette-secondary-dark:#14b8a6;--palette-on-secondary:#0a1a1f;--palette-surface-main:#122830;--palette-surface-variant:#1a3a45;--palette-surface-elevated:#0e7490;--palette-on-surface:#cffafe;--palette-background-main:#040a0d;--palette-background-dark:#0a1418;--palette-background-overlay:rgba(10,26,31,0.95);--palette-on-background:#5eead4;--palette-header-bg-start:rgba(4,10,13,0.98);--palette-header-bg-end:rgba(4,10,13,0.95);--palette-header-collapsed-bg-start:rgba(4,10,13,0.99);--palette-header-collapsed-bg-end:rgba(4,10,13,0.96);--palette-text-primary:#cffafe;--palette-text-secondary:#a5f3fc;--palette-text-disabled:rgba(207,250,254,0.38);--palette-text-inverted:#020617;--palette-border-main:#155e75;--palette-border-light:rgba(207,250,254,0.12);--palette-border-lighter:rgba(207,250,254,0.05);--palette-border-medium:#0c4a6e;--palette-success-main:#34d399;--palette-success-light:#065f46;--palette-success-dark:#10b981;--palette-success-border:#047857;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb7185;--palette-warning-light:#881337;--palette-warning-dark:#e11d48;--palette-warning-border:#be123c;--palette-info-main:#0ea5e9;--palette-info-light:#0c4a6e;--palette-info-dark:#38bdf8;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#ea580c;--palette-accent-light:#fb923c;--palette-accent-dark:#c2410c;--palette-on-accent:#cffafe;--palette-control-main:#164e63;--palette-control-light:#0e7490;--palette-control-text:#ecfeff;--palette-control-border:#155e75}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Spring Color Palette
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ *
6
+ * Fresh greens, soft pinks, and bright yellows - inspired by spring blooms
7
+ */
8
+
9
+ /* ===== SPRING PALETTE - LIGHT THEME ===== */
10
+ html[data-palette="spring"]:not([data-theme="dark"]),
11
+ html[data-palette="spring"][data-theme="light"] {
12
+ /* Primary palette - Fresh green */
13
+ --palette-primary-main: #16a34a;
14
+ --palette-primary-light: #4ade80;
15
+ --palette-primary-dark: #15803d;
16
+ --palette-on-primary: #ffffff;
17
+
18
+ /* Secondary palette - Blossom pink */
19
+ --palette-secondary-main: #ec4899;
20
+ --palette-secondary-light: #f472b6;
21
+ --palette-secondary-dark: #be185d;
22
+ --palette-on-secondary: #ffffff;
23
+
24
+ /* Surface palette - Soft white */
25
+ --palette-surface-main: #f7fee7;
26
+ --palette-surface-variant: #d9f7be; /* Improved contrast with subtle green tint */
27
+ --palette-surface-elevated: #ffffff;
28
+ --palette-on-surface: #14532d;
29
+
30
+ /* Background palette - Morning dew */
31
+ --palette-background-main: #f0fdf4;
32
+ --palette-background-dark: #dcfce7;
33
+ --palette-background-overlay: rgba(240, 253, 244, 0.95);
34
+ --palette-on-background: #166534;
35
+
36
+ /* Text palette - Deep forest */
37
+ --palette-text-primary: #14532d;
38
+ --palette-text-secondary: #166534;
39
+ --palette-text-disabled: rgba(20, 83, 45, 0.38);
40
+ --palette-text-inverted: #ffffff;
41
+
42
+ /* Border palette - Sage */
43
+ --palette-border-main: #bbf7d0;
44
+ --palette-border-light: rgba(20, 83, 45, 0.12);
45
+ --palette-border-lighter: rgba(20, 83, 45, 0.05);
46
+ --palette-border-medium: #86efac;
47
+
48
+ /* Success palette - Vibrant green */
49
+ --palette-success-main: #22c55e;
50
+ --palette-success-light: #dcfce7;
51
+ --palette-success-dark: #15803d;
52
+ --palette-success-border: #bbf7d0;
53
+
54
+ /* Error palette - Cherry blossom */
55
+ --palette-error-main: #f43f5e;
56
+ --palette-error-light: #ffe4e6;
57
+ --palette-error-dark: #881337;
58
+ --palette-on-error: #ffffff;
59
+ --palette-error-border: #fecdd3;
60
+
61
+ /* Warning palette - Daffodil */
62
+ --palette-warning-main: #eab308;
63
+ --palette-warning-light: #fefce8;
64
+ --palette-warning-dark: #713f12;
65
+ --palette-on-warning: #000000;
66
+ --palette-warning-border: #fef08a;
67
+
68
+ /* Info palette - Sky blue */
69
+ --palette-info-main: #0ea5e9;
70
+ --palette-info-light: #e0f2fe;
71
+ --palette-info-dark: #0c4a6e;
72
+ --palette-on-info: #14532d;
73
+ --palette-info-border: #7dd3fc;
74
+
75
+ /* Accent palette - Cherry blossom */
76
+ --palette-accent-main: #ec4899;
77
+ --palette-accent-light: #fce7f3;
78
+ --palette-accent-dark: #be185d;
79
+ --palette-on-accent: #ffffff;
80
+
81
+ /* Control palette - Rich earth */
82
+ --palette-control-main: #365314;
83
+ --palette-control-light: #4d7c0f;
84
+ --palette-control-text: #ecfdf5;
85
+ --palette-control-border: #65a30d;
86
+ }
87
+
88
+ /* ===== SPRING PALETTE - DARK THEME ===== */
89
+ html[data-palette="spring"][data-theme="dark"] {
90
+ /* Primary palette - Neon leaf */
91
+ --palette-primary-main: #4ade80;
92
+ --palette-primary-light: #86efac;
93
+ --palette-primary-dark: #16a34a;
94
+ --palette-on-primary: #0f1f0f;
95
+
96
+ /* Secondary palette - Neon bloom */
97
+ --palette-secondary-main: #f472b6;
98
+ --palette-secondary-light: #f9a8d4;
99
+ --palette-secondary-dark: #ec4899;
100
+ --palette-on-secondary: #0f1f0f;
101
+
102
+ /* Surface palette - Dark moss */
103
+ --palette-surface-main: #162816;
104
+ --palette-surface-variant: #1f351f;
105
+ --palette-surface-elevated: #2d4a2d;
106
+ --palette-on-surface: #dcfce7;
107
+
108
+ /* Background palette - Deep forest */
109
+ --palette-background-main: #060b06;
110
+ --palette-background-dark: #0c140c;
111
+ --palette-background-overlay: rgba(6, 11, 6, 0.95);
112
+ --palette-on-background: #bbf7d0;
113
+
114
+ /* Header background with transparency */
115
+ --palette-header-bg-start: rgba(6, 11, 6, 0.98);
116
+ --palette-header-bg-end: rgba(6, 11, 6, 0.95);
117
+ --palette-header-collapsed-bg-start: rgba(6, 11, 6, 0.99);
118
+ --palette-header-collapsed-bg-end: rgba(6, 11, 6, 0.96);
119
+
120
+ /* Text palette - Moonlit green */
121
+ --palette-text-primary: #dcfce7;
122
+ --palette-text-secondary: #bbf7d0;
123
+ --palette-text-disabled: rgba(220, 252, 231, 0.38);
124
+ --palette-text-inverted: #0a120a;
125
+
126
+ /* Border palette - Night vine */
127
+ --palette-border-main: #166534;
128
+ --palette-border-light: rgba(220, 252, 231, 0.12);
129
+ --palette-border-lighter: rgba(220, 252, 231, 0.05);
130
+ --palette-border-medium: #14532d;
131
+
132
+ /* Success palette - Electric green */
133
+ --palette-success-main: #22c55e;
134
+ --palette-success-light: #14532d;
135
+ --palette-success-dark: #4ade80;
136
+ --palette-success-border: #166534;
137
+
138
+ /* Error palette - Neon pink */
139
+ --palette-error-main: #f472b6;
140
+ --palette-error-light: #881337;
141
+ --palette-error-dark: #ec4899;
142
+ --palette-error-border: #be185d;
143
+
144
+ /* Warning palette - Electric yellow */
145
+ --palette-warning-main: #facc15;
146
+ --palette-warning-light: #713f12;
147
+ --palette-warning-dark: #eab308;
148
+ --palette-warning-border: #a16207;
149
+
150
+ /* Info palette - Electric cyan */
151
+ --palette-info-main: #06b6d4;
152
+ --palette-info-light: #164e63;
153
+ --palette-info-dark: #22d3ee;
154
+ --palette-on-info: #0a120a;
155
+ --palette-info-border: #0891b2;
156
+
157
+ /* Accent palette - Electric bloom */
158
+ --palette-accent-main: #f472b6;
159
+ --palette-accent-light: #fce7f3;
160
+ --palette-accent-dark: #db2777;
161
+ --palette-on-accent: #dcfce7;
162
+
163
+ /* Control palette - Deep forest */
164
+ --palette-control-main: #1a2e1a;
165
+ --palette-control-light: #2d4a2d;
166
+ --palette-control-text: #dcfce7;
167
+ --palette-control-border: #166534;
168
+ }
@@ -0,0 +1 @@
1
+ html[data-palette="spring"]:not([data-theme="dark"]),html[data-palette="spring"][data-theme="light"]{--palette-primary-main:#16a34a;--palette-primary-light:#4ade80;--palette-primary-dark:#15803d;--palette-on-primary:#ffffff;--palette-secondary-main:#ec4899;--palette-secondary-light:#f472b6;--palette-secondary-dark:#be185d;--palette-on-secondary:#ffffff;--palette-surface-main:#f7fee7;--palette-surface-variant:#d9f7be;--palette-surface-elevated:#ffffff;--palette-on-surface:#14532d;--palette-background-main:#f0fdf4;--palette-background-dark:#dcfce7;--palette-background-overlay:rgba(240,253,244,0.95);--palette-on-background:#166534;--palette-text-primary:#14532d;--palette-text-secondary:#166534;--palette-text-disabled:rgba(20,83,45,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#bbf7d0;--palette-border-light:rgba(20,83,45,0.12);--palette-border-lighter:rgba(20,83,45,0.05);--palette-border-medium:#86efac;--palette-success-main:#22c55e;--palette-success-light:#dcfce7;--palette-success-dark:#15803d;--palette-success-border:#bbf7d0;--palette-error-main:#f43f5e;--palette-error-light:#ffe4e6;--palette-error-dark:#881337;--palette-on-error:#ffffff;--palette-error-border:#fecdd3;--palette-warning-main:#eab308;--palette-warning-light:#fefce8;--palette-warning-dark:#713f12;--palette-on-warning:#000000;--palette-warning-border:#fef08a;--palette-info-main:#0ea5e9;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#14532d;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#ffffff;--palette-control-main:#365314;--palette-control-light:#4d7c0f;--palette-control-text:#ecfdf5;--palette-control-border:#65a30d}html[data-palette="spring"][data-theme="dark"]{--palette-primary-main:#4ade80;--palette-primary-light:#86efac;--palette-primary-dark:#16a34a;--palette-on-primary:#0f1f0f;--palette-secondary-main:#f472b6;--palette-secondary-light:#f9a8d4;--palette-secondary-dark:#ec4899;--palette-on-secondary:#0f1f0f;--palette-surface-main:#162816;--palette-surface-variant:#1f351f;--palette-surface-elevated:#2d4a2d;--palette-on-surface:#dcfce7;--palette-background-main:#060b06;--palette-background-dark:#0c140c;--palette-background-overlay:rgba(6,11,6,0.95);--palette-on-background:#bbf7d0;--palette-header-bg-start:rgba(6,11,6,0.98);--palette-header-bg-end:rgba(6,11,6,0.95);--palette-header-collapsed-bg-start:rgba(6,11,6,0.99);--palette-header-collapsed-bg-end:rgba(6,11,6,0.96);--palette-text-primary:#dcfce7;--palette-text-secondary:#bbf7d0;--palette-text-disabled:rgba(220,252,231,0.38);--palette-text-inverted:#0a120a;--palette-border-main:#166534;--palette-border-light:rgba(220,252,231,0.12);--palette-border-lighter:rgba(220,252,231,0.05);--palette-border-medium:#14532d;--palette-success-main:#22c55e;--palette-success-light:#14532d;--palette-success-dark:#4ade80;--palette-success-border:#166534;--palette-error-main:#f472b6;--palette-error-light:#881337;--palette-error-dark:#ec4899;--palette-error-border:#be185d;--palette-warning-main:#facc15;--palette-warning-light:#713f12;--palette-warning-dark:#eab308;--palette-warning-border:#a16207;--palette-info-main:#06b6d4;--palette-info-light:#164e63;--palette-info-dark:#22d3ee;--palette-on-info:#0a120a;--palette-info-border:#0891b2;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#dcfce7;--palette-control-main:#1a2e1a;--palette-control-light:#2d4a2d;--palette-control-text:#dcfce7;--palette-control-border:#166534}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Winter Color Palette
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ *
6
+ * Cool blues, icy whites, and frosty grays - inspired by winter landscapes
7
+ */
8
+
9
+ /* ===== WINTER PALETTE - LIGHT THEME ===== */
10
+ html[data-palette="winter"]:not([data-theme="dark"]),
11
+ html[data-palette="winter"][data-theme="light"] {
12
+ /* Primary palette - Ice blue */
13
+ --palette-primary-main: #0077be;
14
+ --palette-primary-light: #5ba3d0;
15
+ --palette-primary-dark: #005082;
16
+ --palette-on-primary: #ffffff;
17
+
18
+ /* Secondary palette - Steel blue */
19
+ --palette-secondary-main: #4682b4;
20
+ --palette-secondary-light: #7ba7cc;
21
+ --palette-secondary-dark: #2e5984;
22
+ --palette-on-secondary: #ffffff;
23
+
24
+ /* Surface palette - Snow white */
25
+ --palette-surface-main: #fafbfc;
26
+ --palette-surface-variant: #e2e8f0; /* Improved contrast with cooler tone */
27
+ --palette-surface-elevated: #ffffff;
28
+ --palette-on-surface: #0f172a;
29
+
30
+ /* Background palette - Frosty */
31
+ --palette-background-main: #f8fafc;
32
+ --palette-background-dark: #f1f5f9;
33
+ --palette-background-overlay: rgba(248, 250, 252, 0.95);
34
+ --palette-on-background: #475569;
35
+
36
+ /* Header background with transparency */
37
+ --palette-header-bg-start: rgba(248, 250, 252, 0.98);
38
+ --palette-header-bg-end: rgba(248, 250, 252, 0.95);
39
+ --palette-header-collapsed-bg-start: rgba(248, 250, 252, 0.99);
40
+ --palette-header-collapsed-bg-end: rgba(248, 250, 252, 0.96);
41
+
42
+ /* Text palette - Winter tones */
43
+ --palette-text-primary: #0f172a;
44
+ --palette-text-secondary: #475569;
45
+ --palette-text-disabled: rgba(15, 23, 42, 0.38);
46
+ --palette-text-inverted: #ffffff;
47
+
48
+ /* Border palette - Icy */
49
+ --palette-border-main: #cbd5e1;
50
+ --palette-border-light: rgba(15, 23, 42, 0.12);
51
+ --palette-border-lighter: rgba(15, 23, 42, 0.05);
52
+ --palette-border-medium: #94a3b8;
53
+
54
+ /* Success palette - Pine green */
55
+ --palette-success-main: #059669;
56
+ --palette-success-light: #d1fae5;
57
+ --palette-success-dark: #064e3b;
58
+ --palette-success-border: #a7f3d0;
59
+
60
+ /* Error palette - Winter berry */
61
+ --palette-error-main: #dc2626;
62
+ --palette-error-light: #fee2e2;
63
+ --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
65
+ --palette-error-border: #fecaca;
66
+
67
+ /* Warning palette - Amber frost */
68
+ --palette-warning-main: #d97706;
69
+ --palette-warning-light: #fef3c7;
70
+ --palette-warning-dark: #92400e;
71
+ --palette-on-warning: #000000;
72
+ --palette-warning-border: #fde68a;
73
+
74
+ /* Info palette - Arctic blue */
75
+ --palette-info-main: #0284c7;
76
+ --palette-info-light: #e0f2fe;
77
+ --palette-info-dark: #0c4a6e;
78
+ --palette-on-info: #ffffff;
79
+ --palette-info-border: #7dd3fc;
80
+
81
+ /* Accent palette - Aurora colors */
82
+ --palette-accent-main: #ec4899;
83
+ --palette-accent-light: #fce7f3;
84
+ --palette-accent-dark: #be185d;
85
+ --palette-on-accent: #ffffff;
86
+
87
+ /* Control palette - Charcoal */
88
+ --palette-control-main: #1e293b;
89
+ --palette-control-light: #334155;
90
+ --palette-control-text: #e2e8f0;
91
+ --palette-control-border: #475569;
92
+ }
93
+
94
+ /* ===== WINTER PALETTE - DARK THEME ===== */
95
+ html[data-palette="winter"][data-theme="dark"] {
96
+ /* Primary palette - Arctic glow */
97
+ --palette-primary-main: #7dd3fc;
98
+ --palette-primary-light: #bae6fd;
99
+ --palette-primary-dark: #0369a1;
100
+ --palette-on-primary: #020617;
101
+
102
+ /* Secondary palette - Moonlight */
103
+ --palette-secondary-main: #94a3b8;
104
+ --palette-secondary-light: #cbd5e1;
105
+ --palette-secondary-dark: #64748b;
106
+ --palette-on-secondary: #020617;
107
+
108
+ /* Surface palette - Dark frost */
109
+ --palette-surface-main: #172033;
110
+ --palette-surface-variant: #1e293b;
111
+ --palette-surface-elevated: #334155;
112
+ --palette-on-surface: #f8fafc;
113
+
114
+ /* Background palette - Winter night */
115
+ --palette-background-main: #04080f;
116
+ --palette-background-dark: #0a1018;
117
+ --palette-background-overlay: rgba(15, 23, 42, 0.95);
118
+ --palette-on-background: #cbd5e1;
119
+
120
+ /* Header background with transparency */
121
+ --palette-header-bg-start: rgba(4, 8, 15, 0.98);
122
+ --palette-header-bg-end: rgba(4, 8, 15, 0.95);
123
+ --palette-header-collapsed-bg-start: rgba(4, 8, 15, 0.99);
124
+ --palette-header-collapsed-bg-end: rgba(4, 8, 15, 0.96);
125
+
126
+ /* Text palette - Snow and ice */
127
+ --palette-text-primary: #f8fafc;
128
+ --palette-text-secondary: #cbd5e1;
129
+ --palette-text-disabled: rgba(248, 250, 252, 0.38);
130
+ --palette-text-inverted: #020617;
131
+
132
+ /* Border palette - Dark ice */
133
+ --palette-border-main: #475569;
134
+ --palette-border-light: rgba(248, 250, 252, 0.12);
135
+ --palette-border-lighter: rgba(248, 250, 252, 0.05);
136
+ --palette-border-medium: #334155;
137
+
138
+ /* Success palette - Aurora green */
139
+ --palette-success-main: #34d399;
140
+ --palette-success-light: #064e3b;
141
+ --palette-success-dark: #10b981;
142
+ --palette-success-border: #065f46;
143
+
144
+ /* Error palette - Northern lights red */
145
+ --palette-error-main: #f87171;
146
+ --palette-error-light: #7f1d1d;
147
+ --palette-error-dark: #ef4444;
148
+ --palette-error-border: #991b1b;
149
+
150
+ /* Warning palette - Aurora orange */
151
+ --palette-warning-main: #fb923c;
152
+ --palette-warning-light: #9a3412;
153
+ --palette-warning-dark: #f97316;
154
+ --palette-warning-border: #c2410c;
155
+
156
+ /* Info palette - Polar blue */
157
+ --palette-info-main: #38bdf8;
158
+ --palette-info-light: #0c4a6e;
159
+ --palette-info-dark: #0ea5e9;
160
+ --palette-on-info: #020617;
161
+ --palette-info-border: #0284c7;
162
+
163
+ /* Accent palette - Northern lights */
164
+ --palette-accent-main: #f472b6;
165
+ --palette-accent-light: #fce7f3;
166
+ --palette-accent-dark: #db2777;
167
+ --palette-on-accent: #f8fafc;
168
+
169
+ /* Control palette - Midnight */
170
+ --palette-control-main: #1e293b;
171
+ --palette-control-light: #334155;
172
+ --palette-control-text: #e2e8f0;
173
+ --palette-control-border: #475569;
174
+ }
@@ -0,0 +1 @@
1
+ html[data-palette="winter"]:not([data-theme="dark"]),html[data-palette="winter"][data-theme="light"]{--palette-primary-main:#0077be;--palette-primary-light:#5ba3d0;--palette-primary-dark:#005082;--palette-on-primary:#ffffff;--palette-secondary-main:#4682b4;--palette-secondary-light:#7ba7cc;--palette-secondary-dark:#2e5984;--palette-on-secondary:#ffffff;--palette-surface-main:#fafbfc;--palette-surface-variant:#e2e8f0;--palette-surface-elevated:#ffffff;--palette-on-surface:#0f172a;--palette-background-main:#f8fafc;--palette-background-dark:#f1f5f9;--palette-background-overlay:rgba(248,250,252,0.95);--palette-on-background:#475569;--palette-header-bg-start:rgba(248,250,252,0.98);--palette-header-bg-end:rgba(248,250,252,0.95);--palette-header-collapsed-bg-start:rgba(248,250,252,0.99);--palette-header-collapsed-bg-end:rgba(248,250,252,0.96);--palette-text-primary:#0f172a;--palette-text-secondary:#475569;--palette-text-disabled:rgba(15,23,42,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#cbd5e1;--palette-border-light:rgba(15,23,42,0.12);--palette-border-lighter:rgba(15,23,42,0.05);--palette-border-medium:#94a3b8;--palette-success-main:#059669;--palette-success-light:#d1fae5;--palette-success-dark:#064e3b;--palette-success-border:#a7f3d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#ffffff;--palette-error-border:#fecaca;--palette-warning-main:#d97706;--palette-warning-light:#fef3c7;--palette-warning-dark:#92400e;--palette-on-warning:#000000;--palette-warning-border:#fde68a;--palette-info-main:#0284c7;--palette-info-light:#e0f2fe;--palette-info-dark:#0c4a6e;--palette-on-info:#ffffff;--palette-info-border:#7dd3fc;--palette-accent-main:#ec4899;--palette-accent-light:#fce7f3;--palette-accent-dark:#be185d;--palette-on-accent:#ffffff;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}html[data-palette="winter"][data-theme="dark"]{--palette-primary-main:#7dd3fc;--palette-primary-light:#bae6fd;--palette-primary-dark:#0369a1;--palette-on-primary:#020617;--palette-secondary-main:#94a3b8;--palette-secondary-light:#cbd5e1;--palette-secondary-dark:#64748b;--palette-on-secondary:#020617;--palette-surface-main:#172033;--palette-surface-variant:#1e293b;--palette-surface-elevated:#334155;--palette-on-surface:#f8fafc;--palette-background-main:#04080f;--palette-background-dark:#0a1018;--palette-background-overlay:rgba(15,23,42,0.95);--palette-on-background:#cbd5e1;--palette-header-bg-start:rgba(4,8,15,0.98);--palette-header-bg-end:rgba(4,8,15,0.95);--palette-header-collapsed-bg-start:rgba(4,8,15,0.99);--palette-header-collapsed-bg-end:rgba(4,8,15,0.96);--palette-text-primary:#f8fafc;--palette-text-secondary:#cbd5e1;--palette-text-disabled:rgba(248,250,252,0.38);--palette-text-inverted:#020617;--palette-border-main:#475569;--palette-border-light:rgba(248,250,252,0.12);--palette-border-lighter:rgba(248,250,252,0.05);--palette-border-medium:#334155;--palette-success-main:#34d399;--palette-success-light:#064e3b;--palette-success-dark:#10b981;--palette-success-border:#065f46;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#fb923c;--palette-warning-light:#9a3412;--palette-warning-dark:#f97316;--palette-warning-border:#c2410c;--palette-info-main:#38bdf8;--palette-info-light:#0c4a6e;--palette-info-dark:#0ea5e9;--palette-on-info:#020617;--palette-info-border:#0284c7;--palette-accent-main:#f472b6;--palette-accent-light:#fce7f3;--palette-accent-dark:#db2777;--palette-on-accent:#f8fafc;--palette-control-main:#1e293b;--palette-control-light:#334155;--palette-control-text:#e2e8f0;--palette-control-border:#475569}
@@ -18,6 +18,7 @@ export declare class FormFieldModel extends ViewSchema {
18
18
  multiline?: boolean;
19
19
  rows?: number;
20
20
  placeholder?: string;
21
+ name?: string;
21
22
  }
22
23
  export default FormFieldModel;
23
24
  //# sourceMappingURL=FormFieldSchema.d.ts.map
@@ -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;CACtB;AAED,eAAe,cAAc,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;IAWrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAe,cAAc,CAAC"}
@@ -15,6 +15,7 @@ export declare class FormSelectModel extends ViewSchema {
15
15
  fullWidth?: boolean;
16
16
  size?: 'small' | 'medium';
17
17
  placeholder?: string;
18
+ name?: string;
18
19
  }
19
20
  export default FormSelectModel;
20
21
  //# sourceMappingURL=FormSelectSchema.d.ts.map
@@ -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;CACtB;AAED,eAAe,eAAe,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;IAWrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAe,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwickapps/react-framework",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
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",
@@ -37,6 +37,24 @@
37
37
  "scripts",
38
38
  "QUICK_START_GUIDE.md"
39
39
  ],
40
+ "scripts": {
41
+ "build": "rollup -c && npm run build-palettes",
42
+ "build-palettes": "node scripts/build-palettes.cjs",
43
+ "build:dev": "NODE_ENV=development rollup -c && npm run build-palettes",
44
+ "build:prod": "NODE_ENV=production STRIP_LOGS=true rollup -c && npm run build-palettes",
45
+ "dev": "rollup -c -w",
46
+ "test": "jest",
47
+ "test:watch": "jest --watch",
48
+ "test:coverage": "jest --coverage",
49
+ "clean": "rm -rf dist node_modules .rollup.cache storybook-static",
50
+ "create-project": "node scripts/create-qwickapps-project.js",
51
+ "validate:clean-install": "./qa/clean-install/validate.sh",
52
+ "prepublishOnly": "npm run build && npm run validate:clean-install",
53
+ "publish": "npm publish",
54
+ "publish:palettes": "../../products/qwickapps/anvil/publish-palettes.sh",
55
+ "storybook": "storybook dev -p 6006",
56
+ "build-storybook": "storybook build"
57
+ },
40
58
  "keywords": [
41
59
  "react",
42
60
  "framework",
@@ -164,21 +182,5 @@
164
182
  "type": "git",
165
183
  "url": "https://github.com/qwickapps/react-framework.git"
166
184
  },
167
- "homepage": "https://github.com/qwickapps/react-framework#readme",
168
- "scripts": {
169
- "build": "rollup -c && npm run build-palettes",
170
- "build-palettes": "node scripts/build-palettes.cjs",
171
- "build:dev": "NODE_ENV=development rollup -c && npm run build-palettes",
172
- "build:prod": "NODE_ENV=production STRIP_LOGS=true rollup -c && npm run build-palettes",
173
- "dev": "rollup -c -w",
174
- "test": "jest",
175
- "test:watch": "jest --watch",
176
- "test:coverage": "jest --coverage",
177
- "clean": "rm -rf dist node_modules .rollup.cache storybook-static",
178
- "create-project": "node scripts/create-qwickapps-project.js",
179
- "validate:clean-install": "./qa/clean-install/validate.sh",
180
- "publish:palettes": "../../products/qwickapps/anvil/publish-palettes.sh",
181
- "storybook": "storybook dev -p 6006",
182
- "build-storybook": "storybook build"
183
- }
184
- }
185
+ "homepage": "https://github.com/qwickapps/react-framework#readme"
186
+ }
File without changes
File without changes
@@ -137,7 +137,13 @@ function HtmlView({
137
137
  ...styleProps.sx
138
138
  }}
139
139
  >
140
- {components}
140
+ {Array.isArray(components)
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}
141
147
  </Box>
142
148
  );
143
149
 
@@ -233,7 +233,7 @@ function LogoView({
233
233
  setCalculatedBadgePosition(badgePos);
234
234
  setSvgWidth(requiredWidth);
235
235
  }
236
- }, [name, badge, badgeOffset, calculateBadgePosition, fontSize, height, parseNameParts, svgWidth]);
236
+ }, [name, badge, badgeOffset, calculateBadgePosition, fontSize, height, parseNameParts]);
237
237
 
238
238
  // Determine CSS class for variant
239
239
  let variantClass = '';