@qwickapps/react-framework 1.5.0 → 1.5.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/dist/components/buttons/Button.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +46 -7
- package/dist/index.js +45 -6
- package/dist/palettes/manifest.json +19 -19
- package/dist/palettes/palette-autumn.1.5.1.css +172 -0
- package/dist/palettes/palette-autumn.1.5.1.min.css +1 -0
- package/dist/palettes/palette-cosmic.1.5.1.css +172 -0
- package/dist/palettes/palette-cosmic.1.5.1.min.css +1 -0
- package/dist/palettes/palette-default.1.5.1.css +178 -0
- package/dist/palettes/palette-default.1.5.1.min.css +1 -0
- package/dist/palettes/palette-ocean.1.5.1.css +172 -0
- package/dist/palettes/palette-ocean.1.5.1.min.css +1 -0
- package/dist/palettes/palette-spring.1.5.1.css +160 -0
- package/dist/palettes/palette-spring.1.5.1.min.css +1 -0
- package/dist/palettes/palette-winter.1.5.1.css +172 -0
- package/dist/palettes/palette-winter.1.5.1.min.css +1 -0
- package/dist/utils/iconMap.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Scaffold.css +11 -1
- package/src/components/buttons/Button.tsx +4 -6
- package/src/utils/iconMap.tsx +23 -0
|
@@ -0,0 +1,172 @@
|
|
|
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-error-border: #fecaca;
|
|
65
|
+
|
|
66
|
+
/* Warning palette - Amber frost */
|
|
67
|
+
--palette-warning-main: #d97706;
|
|
68
|
+
--palette-warning-light: #fef3c7;
|
|
69
|
+
--palette-warning-dark: #92400e;
|
|
70
|
+
--palette-warning-border: #fde68a;
|
|
71
|
+
|
|
72
|
+
/* Info palette - Arctic blue */
|
|
73
|
+
--palette-info-main: #0284c7;
|
|
74
|
+
--palette-info-light: #e0f2fe;
|
|
75
|
+
--palette-info-dark: #0c4a6e;
|
|
76
|
+
--palette-on-info: #ffffff;
|
|
77
|
+
--palette-info-border: #7dd3fc;
|
|
78
|
+
|
|
79
|
+
/* Accent palette - Aurora colors */
|
|
80
|
+
--palette-accent-main: #ec4899;
|
|
81
|
+
--palette-accent-light: #fce7f3;
|
|
82
|
+
--palette-accent-dark: #be185d;
|
|
83
|
+
--palette-on-accent: #ffffff;
|
|
84
|
+
|
|
85
|
+
/* Control palette - Charcoal */
|
|
86
|
+
--palette-control-main: #1e293b;
|
|
87
|
+
--palette-control-light: #334155;
|
|
88
|
+
--palette-control-text: #e2e8f0;
|
|
89
|
+
--palette-control-border: #475569;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* ===== WINTER PALETTE - DARK THEME ===== */
|
|
93
|
+
html[data-palette="winter"][data-theme="dark"] {
|
|
94
|
+
/* Primary palette - Arctic glow */
|
|
95
|
+
--palette-primary-main: #7dd3fc;
|
|
96
|
+
--palette-primary-light: #bae6fd;
|
|
97
|
+
--palette-primary-dark: #0369a1;
|
|
98
|
+
--palette-on-primary: #020617;
|
|
99
|
+
|
|
100
|
+
/* Secondary palette - Moonlight */
|
|
101
|
+
--palette-secondary-main: #94a3b8;
|
|
102
|
+
--palette-secondary-light: #cbd5e1;
|
|
103
|
+
--palette-secondary-dark: #64748b;
|
|
104
|
+
--palette-on-secondary: #020617;
|
|
105
|
+
|
|
106
|
+
/* Surface palette - Dark frost */
|
|
107
|
+
--palette-surface-main: #0f172a;
|
|
108
|
+
--palette-surface-variant: #1e293b;
|
|
109
|
+
--palette-surface-elevated: #334155;
|
|
110
|
+
--palette-on-surface: #f8fafc;
|
|
111
|
+
|
|
112
|
+
/* Background palette - Winter night */
|
|
113
|
+
--palette-background-main: #020617;
|
|
114
|
+
--palette-background-dark: #0f172a;
|
|
115
|
+
--palette-background-overlay: rgba(15, 23, 42, 0.95);
|
|
116
|
+
--palette-on-background: #cbd5e1;
|
|
117
|
+
|
|
118
|
+
/* Header background with transparency */
|
|
119
|
+
--palette-header-bg-start: rgba(2, 6, 23, 0.98);
|
|
120
|
+
--palette-header-bg-end: rgba(2, 6, 23, 0.95);
|
|
121
|
+
--palette-header-collapsed-bg-start: rgba(2, 6, 23, 0.99);
|
|
122
|
+
--palette-header-collapsed-bg-end: rgba(2, 6, 23, 0.96);
|
|
123
|
+
|
|
124
|
+
/* Text palette - Snow and ice */
|
|
125
|
+
--palette-text-primary: #f8fafc;
|
|
126
|
+
--palette-text-secondary: #cbd5e1;
|
|
127
|
+
--palette-text-disabled: rgba(248, 250, 252, 0.38);
|
|
128
|
+
--palette-text-inverted: #020617;
|
|
129
|
+
|
|
130
|
+
/* Border palette - Dark ice */
|
|
131
|
+
--palette-border-main: #475569;
|
|
132
|
+
--palette-border-light: rgba(248, 250, 252, 0.12);
|
|
133
|
+
--palette-border-lighter: rgba(248, 250, 252, 0.05);
|
|
134
|
+
--palette-border-medium: #334155;
|
|
135
|
+
|
|
136
|
+
/* Success palette - Aurora green */
|
|
137
|
+
--palette-success-main: #34d399;
|
|
138
|
+
--palette-success-light: #064e3b;
|
|
139
|
+
--palette-success-dark: #10b981;
|
|
140
|
+
--palette-success-border: #065f46;
|
|
141
|
+
|
|
142
|
+
/* Error palette - Northern lights red */
|
|
143
|
+
--palette-error-main: #f87171;
|
|
144
|
+
--palette-error-light: #7f1d1d;
|
|
145
|
+
--palette-error-dark: #ef4444;
|
|
146
|
+
--palette-error-border: #991b1b;
|
|
147
|
+
|
|
148
|
+
/* Warning palette - Aurora orange */
|
|
149
|
+
--palette-warning-main: #fb923c;
|
|
150
|
+
--palette-warning-light: #9a3412;
|
|
151
|
+
--palette-warning-dark: #f97316;
|
|
152
|
+
--palette-warning-border: #c2410c;
|
|
153
|
+
|
|
154
|
+
/* Info palette - Polar blue */
|
|
155
|
+
--palette-info-main: #38bdf8;
|
|
156
|
+
--palette-info-light: #0c4a6e;
|
|
157
|
+
--palette-info-dark: #0ea5e9;
|
|
158
|
+
--palette-on-info: #020617;
|
|
159
|
+
--palette-info-border: #0284c7;
|
|
160
|
+
|
|
161
|
+
/* Accent palette - Northern lights */
|
|
162
|
+
--palette-accent-main: #f472b6;
|
|
163
|
+
--palette-accent-light: #fce7f3;
|
|
164
|
+
--palette-accent-dark: #db2777;
|
|
165
|
+
--palette-on-accent: #f8fafc;
|
|
166
|
+
|
|
167
|
+
/* Control palette - Midnight */
|
|
168
|
+
--palette-control-main: #1e293b;
|
|
169
|
+
--palette-control-light: #334155;
|
|
170
|
+
--palette-control-text: #e2e8f0;
|
|
171
|
+
--palette-control-border: #475569;
|
|
172
|
+
}
|
|
@@ -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-error-border:#fecaca;--palette-warning-main:#d97706;--palette-warning-light:#fef3c7;--palette-warning-dark:#92400e;--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:#0f172a;--palette-surface-variant:#1e293b;--palette-surface-elevated:#334155;--palette-on-surface:#f8fafc;--palette-background-main:#020617;--palette-background-dark:#0f172a;--palette-background-overlay:rgba(15,23,42,0.95);--palette-on-background:#cbd5e1;--palette-header-bg-start:rgba(2,6,23,0.98);--palette-header-bg-end:rgba(2,6,23,0.95);--palette-header-collapsed-bg-start:rgba(2,6,23,0.99);--palette-header-collapsed-bg-end:rgba(2,6,23,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}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iconMap.d.ts","sourceRoot":"","sources":["../../src/utils/iconMap.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"iconMap.d.ts","sourceRoot":"","sources":["../../src/utils/iconMap.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAsE1B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAoG/C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,MAAa,GAAG,MAAM,CAI1F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAWxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwickapps/react-framework",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Complete React framework with responsive navigation, flexible layouts, theming system, and reusable components for building modern applications.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
--menu-border: var(--theme-outline-variant);
|
|
24
24
|
--menu-shadow: rgba(0, 0, 0, 0.1);
|
|
25
25
|
|
|
26
|
-
--scaffold-background: var(--theme-
|
|
26
|
+
--scaffold-background: var(--theme-surface);
|
|
27
27
|
--scaffold-surface: var(--theme-surface);
|
|
28
28
|
--scaffold-on-surface: var(--theme-on-surface);
|
|
29
29
|
--scaffold-primary: var(--theme-primary);
|
|
@@ -454,6 +454,16 @@
|
|
|
454
454
|
transition: padding 0.3s ease;
|
|
455
455
|
padding-top: var(--appbar-height, 64px);
|
|
456
456
|
padding-bottom: var(--bottom-nav-height, 80px);
|
|
457
|
+
box-sizing: border-box;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/* Content inner wrapper for proper padding */
|
|
461
|
+
.app-scaffold-content > * {
|
|
462
|
+
max-width: 1200px;
|
|
463
|
+
margin-left: auto;
|
|
464
|
+
margin-right: auto;
|
|
465
|
+
padding-left: 24px;
|
|
466
|
+
padding-right: 24px;
|
|
457
467
|
}
|
|
458
468
|
|
|
459
469
|
/* =================== ANIMATIONS =================== */
|
|
@@ -295,16 +295,14 @@ export const Button: SerializableComponent<ButtonProps> = createSerializableView
|
|
|
295
295
|
|
|
296
296
|
if (typeof (props as Record<string, unknown>).icon === 'string') {
|
|
297
297
|
const iconComponent = getIconComponent((props as Record<string, unknown>).icon as string);
|
|
298
|
-
if
|
|
299
|
-
|
|
300
|
-
}
|
|
298
|
+
// Always transform: use the component if found, otherwise clear the string to prevent text rendering
|
|
299
|
+
transformedProps.icon = iconComponent || undefined;
|
|
301
300
|
}
|
|
302
301
|
|
|
303
302
|
if (typeof (props as Record<string, unknown>).endIcon === 'string') {
|
|
304
303
|
const endIconComponent = getIconComponent((props as Record<string, unknown>).endIcon as string);
|
|
305
|
-
if
|
|
306
|
-
|
|
307
|
-
}
|
|
304
|
+
// Always transform: use the component if found, otherwise clear the string to prevent text rendering
|
|
305
|
+
transformedProps.endIcon = endIconComponent || undefined;
|
|
308
306
|
}
|
|
309
307
|
|
|
310
308
|
return transformedProps;
|
package/src/utils/iconMap.tsx
CHANGED
|
@@ -64,6 +64,17 @@ import {
|
|
|
64
64
|
Architecture,
|
|
65
65
|
Security,
|
|
66
66
|
VerifiedUser,
|
|
67
|
+
// Additional icons for control panels and admin UIs
|
|
68
|
+
VpnKey,
|
|
69
|
+
Key,
|
|
70
|
+
PersonSearch,
|
|
71
|
+
ManageAccounts,
|
|
72
|
+
Storage,
|
|
73
|
+
Refresh,
|
|
74
|
+
Block,
|
|
75
|
+
CheckCircle,
|
|
76
|
+
RotateRight,
|
|
77
|
+
Memory,
|
|
67
78
|
} from '@mui/icons-material';
|
|
68
79
|
|
|
69
80
|
/**
|
|
@@ -166,6 +177,18 @@ export const iconMap: Record<string, IconMapping> = {
|
|
|
166
177
|
sync: { emoji: '🔄', component: Sync },
|
|
167
178
|
architecture: { emoji: '🏛️', component: Architecture },
|
|
168
179
|
security: { emoji: '🔐', component: Security },
|
|
180
|
+
|
|
181
|
+
// Control Panel & Admin UI Icons
|
|
182
|
+
key: { emoji: '🔑', component: Key },
|
|
183
|
+
vpn_key: { emoji: '🔐', component: VpnKey },
|
|
184
|
+
person_search: { emoji: '🔍', component: PersonSearch },
|
|
185
|
+
manage_accounts: { emoji: '👥', component: ManageAccounts },
|
|
186
|
+
storage: { emoji: '💾', component: Storage },
|
|
187
|
+
refresh: { emoji: '🔄', component: Refresh },
|
|
188
|
+
block: { emoji: '🚫', component: Block },
|
|
189
|
+
check_circle: { emoji: '✅', component: CheckCircle },
|
|
190
|
+
rotate_right: { emoji: '🔄', component: RotateRight },
|
|
191
|
+
memory: { emoji: '🧠', component: Memory },
|
|
169
192
|
};
|
|
170
193
|
|
|
171
194
|
/**
|