@qwickapps/react-framework 1.5.0 → 1.5.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.
Files changed (36) hide show
  1. package/README.md +6 -0
  2. package/dist/components/buttons/Button.d.ts.map +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.esm.css +1 -1
  5. package/dist/index.esm.js +46 -7
  6. package/dist/index.js +45 -6
  7. package/dist/palettes/manifest.json +19 -19
  8. package/dist/palettes/palette-autumn.1.5.1.css +172 -0
  9. package/dist/palettes/palette-autumn.1.5.1.min.css +1 -0
  10. package/dist/palettes/palette-autumn.1.5.2.css +172 -0
  11. package/dist/palettes/palette-autumn.1.5.2.min.css +1 -0
  12. package/dist/palettes/palette-cosmic.1.5.1.css +172 -0
  13. package/dist/palettes/palette-cosmic.1.5.1.min.css +1 -0
  14. package/dist/palettes/palette-cosmic.1.5.2.css +172 -0
  15. package/dist/palettes/palette-cosmic.1.5.2.min.css +1 -0
  16. package/dist/palettes/palette-default.1.5.1.css +178 -0
  17. package/dist/palettes/palette-default.1.5.1.min.css +1 -0
  18. package/dist/palettes/palette-default.1.5.2.css +178 -0
  19. package/dist/palettes/palette-default.1.5.2.min.css +1 -0
  20. package/dist/palettes/palette-ocean.1.5.1.css +172 -0
  21. package/dist/palettes/palette-ocean.1.5.1.min.css +1 -0
  22. package/dist/palettes/palette-ocean.1.5.2.css +172 -0
  23. package/dist/palettes/palette-ocean.1.5.2.min.css +1 -0
  24. package/dist/palettes/palette-spring.1.5.1.css +160 -0
  25. package/dist/palettes/palette-spring.1.5.1.min.css +1 -0
  26. package/dist/palettes/palette-spring.1.5.2.css +160 -0
  27. package/dist/palettes/palette-spring.1.5.2.min.css +1 -0
  28. package/dist/palettes/palette-winter.1.5.1.css +172 -0
  29. package/dist/palettes/palette-winter.1.5.1.min.css +1 -0
  30. package/dist/palettes/palette-winter.1.5.2.css +172 -0
  31. package/dist/palettes/palette-winter.1.5.2.min.css +1 -0
  32. package/dist/utils/iconMap.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/components/Scaffold.css +11 -1
  35. package/src/components/buttons/Button.tsx +4 -6
  36. package/src/utils/iconMap.tsx +23 -0
@@ -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;AA2D1B;;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,CAwF/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"}
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.0",
3
+ "version": "1.5.2",
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-background);
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 (iconComponent) {
299
- transformedProps.icon = iconComponent;
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 (endIconComponent) {
306
- transformedProps.endIcon = endIconComponent;
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;
@@ -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
  /**