@qwickapps/react-framework 1.6.0 → 1.7.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.
Files changed (72) hide show
  1. package/README.md +14 -0
  2. package/dist/components/Scaffold.d.ts +2 -2
  3. package/dist/components/Scaffold.d.ts.map +1 -1
  4. package/dist/components/blocks/ImageGallery.d.ts.map +1 -1
  5. package/dist/components/blocks/OptionSelector.d.ts.map +1 -1
  6. package/dist/components/forms/FormCheckbox.d.ts.map +1 -1
  7. package/dist/components/forms/FormField.d.ts.map +1 -1
  8. package/dist/components/forms/FormSelect.d.ts.map +1 -1
  9. package/dist/contexts/QwickAppContext.d.ts +1 -1
  10. package/dist/contexts/QwickAppContext.d.ts.map +1 -1
  11. package/dist/index.css +1 -1
  12. package/dist/index.esm.css +1 -1
  13. package/dist/index.esm.js +109 -10
  14. package/dist/index.js +109 -9
  15. package/dist/palettes/PaletteBoutique.d.ts +10 -0
  16. package/dist/palettes/PaletteBoutique.d.ts.map +1 -0
  17. package/dist/palettes/index.d.ts +1 -0
  18. package/dist/palettes/index.d.ts.map +1 -1
  19. package/dist/palettes/manifest.json +33 -19
  20. package/dist/palettes/{palette-autumn.1.6.0.css → palette-autumn.1.7.1.css} +3 -1
  21. package/dist/palettes/palette-autumn.1.7.1.min.css +1 -0
  22. package/dist/palettes/palette-autumn.latest.css +3 -1
  23. package/dist/palettes/palette-autumn.latest.min.css +1 -1
  24. package/dist/palettes/palette-boutique.1.7.1.css +176 -0
  25. package/dist/palettes/palette-boutique.1.7.1.min.css +1 -0
  26. package/dist/palettes/palette-boutique.latest.css +176 -0
  27. package/dist/palettes/palette-boutique.latest.min.css +1 -0
  28. package/dist/palettes/{palette-cosmic.1.6.0.css → palette-cosmic.1.7.1.css} +3 -1
  29. package/dist/palettes/palette-cosmic.1.7.1.min.css +1 -0
  30. package/dist/palettes/palette-cosmic.latest.css +3 -1
  31. package/dist/palettes/palette-cosmic.latest.min.css +1 -1
  32. package/dist/palettes/{palette-ocean.1.6.0.css → palette-ocean.1.7.1.css} +3 -1
  33. package/dist/palettes/palette-ocean.1.7.1.min.css +1 -0
  34. package/dist/palettes/palette-ocean.latest.css +3 -1
  35. package/dist/palettes/palette-ocean.latest.min.css +1 -1
  36. package/dist/palettes/{palette-spring.1.6.0.css → palette-spring.1.7.1.css} +3 -1
  37. package/dist/palettes/palette-spring.1.7.1.min.css +1 -0
  38. package/dist/palettes/palette-spring.latest.css +3 -1
  39. package/dist/palettes/palette-spring.latest.min.css +1 -1
  40. package/dist/palettes/{palette-winter.1.6.0.css → palette-winter.1.7.1.css} +3 -1
  41. package/dist/palettes/palette-winter.1.7.1.min.css +1 -0
  42. package/dist/palettes/palette-winter.latest.css +3 -1
  43. package/dist/palettes/palette-winter.latest.min.css +1 -1
  44. package/dist/schemas/transformers/ComponentTransformer.d.ts +1 -0
  45. package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
  46. package/package.json +2 -1
  47. package/src/components/QwickApp.css +22 -0
  48. package/src/components/Scaffold.css +5 -0
  49. package/src/components/Scaffold.tsx +5 -3
  50. package/src/components/blocks/ImageGallery.tsx +6 -5
  51. package/src/components/blocks/OptionSelector.tsx +18 -3
  52. package/src/components/forms/FormCheckbox.tsx +15 -0
  53. package/src/components/forms/FormField.tsx +15 -0
  54. package/src/components/forms/FormSelect.tsx +15 -0
  55. package/src/contexts/QwickAppContext.tsx +1 -1
  56. package/src/palettes/PaletteAutumn.css +3 -1
  57. package/src/palettes/PaletteBoutique.css +176 -0
  58. package/src/palettes/PaletteBoutique.ts +16 -0
  59. package/src/palettes/PaletteCosmic.css +3 -1
  60. package/src/palettes/PaletteOcean.css +3 -1
  61. package/src/palettes/PaletteSpring.css +3 -1
  62. package/src/palettes/PaletteWinter.css +3 -1
  63. package/src/palettes/index.ts +3 -0
  64. package/src/palettes/manifest.json +12 -1
  65. package/src/schemas/transformers/ComponentTransformer.ts +32 -2
  66. package/dist/palettes/palette-autumn.1.6.0.min.css +0 -1
  67. package/dist/palettes/palette-cosmic.1.6.0.min.css +0 -1
  68. package/dist/palettes/palette-ocean.1.6.0.min.css +0 -1
  69. package/dist/palettes/palette-spring.1.6.0.min.css +0 -1
  70. package/dist/palettes/palette-winter.1.6.0.min.css +0 -1
  71. /package/dist/palettes/{palette-default.1.6.0.css → palette-default.1.7.1.css} +0 -0
  72. /package/dist/palettes/{palette-default.1.6.0.min.css → palette-default.1.7.1.min.css} +0 -0
@@ -61,12 +61,14 @@ html[data-palette="ocean"][data-theme="light"] {
61
61
  --palette-error-main: #ef4444;
62
62
  --palette-error-light: #fee2e2;
63
63
  --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
64
65
  --palette-error-border: #fecaca;
65
-
66
+
66
67
  /* Warning palette - Sandy yellow */
67
68
  --palette-warning-main: #f59e0b;
68
69
  --palette-warning-light: #fef3c7;
69
70
  --palette-warning-dark: #78350f;
71
+ --palette-on-warning: #000000;
70
72
  --palette-warning-border: #fde68a;
71
73
 
72
74
  /* Info palette - Crystal blue */
@@ -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}
@@ -61,12 +61,14 @@ html[data-palette="ocean"][data-theme="light"] {
61
61
  --palette-error-main: #ef4444;
62
62
  --palette-error-light: #fee2e2;
63
63
  --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
64
65
  --palette-error-border: #fecaca;
65
-
66
+
66
67
  /* Warning palette - Sandy yellow */
67
68
  --palette-warning-main: #f59e0b;
68
69
  --palette-warning-light: #fef3c7;
69
70
  --palette-warning-dark: #78350f;
71
+ --palette-on-warning: #000000;
70
72
  --palette-warning-border: #fde68a;
71
73
 
72
74
  /* Info palette - Crystal blue */
@@ -1 +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-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--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}
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}
@@ -55,12 +55,14 @@ html[data-palette="spring"][data-theme="light"] {
55
55
  --palette-error-main: #f43f5e;
56
56
  --palette-error-light: #ffe4e6;
57
57
  --palette-error-dark: #881337;
58
+ --palette-on-error: #ffffff;
58
59
  --palette-error-border: #fecdd3;
59
-
60
+
60
61
  /* Warning palette - Daffodil */
61
62
  --palette-warning-main: #eab308;
62
63
  --palette-warning-light: #fefce8;
63
64
  --palette-warning-dark: #713f12;
65
+ --palette-on-warning: #000000;
64
66
  --palette-warning-border: #fef08a;
65
67
 
66
68
  /* Info palette - Sky blue */
@@ -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}
@@ -55,12 +55,14 @@ html[data-palette="spring"][data-theme="light"] {
55
55
  --palette-error-main: #f43f5e;
56
56
  --palette-error-light: #ffe4e6;
57
57
  --palette-error-dark: #881337;
58
+ --palette-on-error: #ffffff;
58
59
  --palette-error-border: #fecdd3;
59
-
60
+
60
61
  /* Warning palette - Daffodil */
61
62
  --palette-warning-main: #eab308;
62
63
  --palette-warning-light: #fefce8;
63
64
  --palette-warning-dark: #713f12;
65
+ --palette-on-warning: #000000;
64
66
  --palette-warning-border: #fef08a;
65
67
 
66
68
  /* Info palette - Sky blue */
@@ -1 +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-error-border:#fecdd3;--palette-warning-main:#eab308;--palette-warning-light:#fefce8;--palette-warning-dark:#713f12;--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}
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}
@@ -61,12 +61,14 @@ html[data-palette="winter"][data-theme="light"] {
61
61
  --palette-error-main: #dc2626;
62
62
  --palette-error-light: #fee2e2;
63
63
  --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
64
65
  --palette-error-border: #fecaca;
65
-
66
+
66
67
  /* Warning palette - Amber frost */
67
68
  --palette-warning-main: #d97706;
68
69
  --palette-warning-light: #fef3c7;
69
70
  --palette-warning-dark: #92400e;
71
+ --palette-on-warning: #000000;
70
72
  --palette-warning-border: #fde68a;
71
73
 
72
74
  /* Info palette - Arctic blue */
@@ -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}
@@ -61,12 +61,14 @@ html[data-palette="winter"][data-theme="light"] {
61
61
  --palette-error-main: #dc2626;
62
62
  --palette-error-light: #fee2e2;
63
63
  --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
64
65
  --palette-error-border: #fecaca;
65
-
66
+
66
67
  /* Warning palette - Amber frost */
67
68
  --palette-warning-main: #d97706;
68
69
  --palette-warning-light: #fef3c7;
69
70
  --palette-warning-dark: #92400e;
71
+ --palette-on-warning: #000000;
70
72
  --palette-warning-border: #fde68a;
71
73
 
72
74
  /* Info palette - Arctic blue */
@@ -1 +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:#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}
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}
@@ -108,6 +108,7 @@ export declare class ComponentTransformer {
108
108
  static transformHTMLElement(element: Element): ReactNode | null;
109
109
  /**
110
110
  * Transform HTML string to React nodes using registered patterns
111
+ * Supports both server-side (linkedom) and client-side (DOMParser) rendering
111
112
  * @param html - HTML string to transform
112
113
  * @returns Array of React nodes
113
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentTransformer.d.ts","sourceRoot":"","sources":["../../../src/schemas/transformers/ComponentTransformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAc,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAchE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAc3D;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5C;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,uBAAuB,GAAG,IAAI;IA4BvE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM;IAKvD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE;IAe9E;;;;KAIC;IACD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAQpC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAmD9B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAkE5B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAI/C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA4BtC;;;OAGG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAOtE;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAe/D;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAS/C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA+C/B;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;CAGzC"}
1
+ {"version":3,"file":"ComponentTransformer.d.ts","sourceRoot":"","sources":["../../../src/schemas/transformers/ComponentTransformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAc,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA2BhE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAc3D;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5C;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,uBAAuB,GAAG,IAAI;IA4BvE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM;IAKvD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE;IAe9E;;;;KAIC;IACD,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAQpC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAmD9B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAkE5B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAI/C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA4BtC;;;OAGG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAOtE;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAe/D;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAyB/C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA+C/B;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;CAGzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwickapps/react-framework",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
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",
@@ -73,6 +73,7 @@
73
73
  "license": "PolyForm-Shield-1.0.0",
74
74
  "dependencies": {
75
75
  "@qwickapps/schema": "^1.3.2",
76
+ "linkedom": "^0.18.12",
76
77
  "marked": "^4.3.0",
77
78
  "md5": "^2.3.0",
78
79
  "sanitize-html": "^2.17.0"
@@ -339,6 +339,11 @@ html[data-palette="default"][data-theme="dark"] {
339
339
  --theme-elevation-2: 0 4px 8px rgba(0, 0, 0, 0.15);
340
340
  --theme-elevation-3: 0 6px 12px rgba(0, 0, 0, 0.2);
341
341
  --theme-elevation-4: 0 8px 16px rgba(0, 0, 0, 0.25);
342
+
343
+ /* Overlay colors for semi-transparent surfaces */
344
+ --theme-overlay-80: color-mix(in srgb, var(--palette-surface-main) 80%, transparent);
345
+ --theme-overlay-90: color-mix(in srgb, var(--palette-surface-main) 90%, transparent);
346
+ --theme-overlay-95: color-mix(in srgb, var(--palette-surface-main) 95%, transparent);
342
347
  }
343
348
 
344
349
  /* ===== THEME-SPECIFIC ADAPTATIONS ===== */
@@ -459,3 +464,20 @@ pre code {
459
464
  padding: 0;
460
465
  border-radius: 0;
461
466
  }
467
+
468
+ /* Global link styles using theme variables */
469
+ a {
470
+ color: var(--theme-link-color);
471
+ text-decoration: none;
472
+ transition: color 0.2s ease;
473
+ }
474
+
475
+ a:hover {
476
+ color: var(--theme-link-hover);
477
+ text-decoration: underline;
478
+ }
479
+
480
+ a:visited {
481
+ color: var(--theme-link-color);
482
+ opacity: 0.8;
483
+ }
@@ -48,6 +48,11 @@
48
48
  border-bottom: 1px solid var(--scaffold-outline);
49
49
  box-shadow: var(--scaffold-shadow);
50
50
  z-index: 1100;
51
+
52
+ /* Fix for iOS PWA fullscreen mode bleed-through (GH-1) */
53
+ isolation: isolate;
54
+ -webkit-backdrop-filter: blur(0px);
55
+ backdrop-filter: blur(0px);
51
56
  }
52
57
 
53
58
  .appbar-content {
@@ -33,8 +33,8 @@ const logger = loggers.scaffold;
33
33
  export interface AppBarProps {
34
34
  /** Title to display in the app bar */
35
35
  title?: string;
36
- /** Actions to display on the right side */
37
- actions?: React.ReactNode;
36
+ /** Actions to display on the right side - use render function for server/client boundary safety */
37
+ actions?: React.ReactNode | (() => React.ReactNode);
38
38
  /** Whether to show the menu button (for drawer toggle) */
39
39
  showMenuButton?: boolean;
40
40
  /** Custom logo override */
@@ -400,7 +400,9 @@ const Scaffold: React.FC<ScaffoldProps> = ({
400
400
  <div className="appbar-right">
401
401
  {enhancedAppBar?.actions && (
402
402
  <div key="appbar-actions" className="appbar-actions">
403
- {enhancedAppBar.actions}
403
+ {typeof enhancedAppBar.actions === 'function'
404
+ ? enhancedAppBar.actions()
405
+ : enhancedAppBar.actions}
404
406
  </div>
405
407
  )}
406
408
  {/* Theme and Palette Switchers */}
@@ -29,7 +29,8 @@
29
29
  */
30
30
 
31
31
  import React, { useState, useCallback } from 'react';
32
- import { Box, IconButton, Modal, Grid, Skeleton } from '@mui/material';
32
+ import { Box, IconButton, Modal, Skeleton } from '@mui/material';
33
+ import { GridLayout, GridCell } from '../layout';
33
34
  import CloseIcon from '@mui/icons-material/Close';
34
35
  import ZoomInIcon from '@mui/icons-material/ZoomIn';
35
36
  import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
@@ -409,9 +410,9 @@ function ImageGalleryView({
409
410
  if (variant === 'grid') {
410
411
  return (
411
412
  <Box {...restProps}>
412
- <Grid container spacing={2}>
413
+ <GridLayout columns={4} spacing="medium">
413
414
  {displayImages.map((image, index) => (
414
- <Grid item xs={6} sm={4} md={3} key={index}>
415
+ <GridCell xs={6} sm={4} md={3} key={index}>
415
416
  <Box
416
417
  onClick={() => {
417
418
  setSelectedIndex(index);
@@ -441,9 +442,9 @@ function ImageGalleryView({
441
442
  }}
442
443
  />
443
444
  </Box>
444
- </Grid>
445
+ </GridCell>
445
446
  ))}
446
- </Grid>
447
+ </GridLayout>
447
448
  {renderZoomModal()}
448
449
  </Box>
449
450
  );
@@ -123,6 +123,21 @@ function OptionSelectorView({
123
123
  label = 'Select Option',
124
124
  dataSource,
125
125
  bindingOptions,
126
+ // Exclude ViewProps that conflict with MUI FormControl types
127
+ margin: _margin,
128
+ marginTop: _marginTop,
129
+ marginRight: _marginRight,
130
+ marginBottom: _marginBottom,
131
+ marginLeft: _marginLeft,
132
+ marginX: _marginX,
133
+ marginY: _marginY,
134
+ padding: _padding,
135
+ paddingTop: _paddingTop,
136
+ paddingRight: _paddingRight,
137
+ paddingBottom: _paddingBottom,
138
+ paddingLeft: _paddingLeft,
139
+ paddingX: _paddingX,
140
+ paddingY: _paddingY,
126
141
  ...restProps
127
142
  }: OptionSelectorProps) {
128
143
  const handleOptionClick = useCallback((optionId: string, available: boolean) => {
@@ -226,14 +241,14 @@ function OptionSelectorView({
226
241
  }
227
242
 
228
243
  // Buttons/Grid variant with visual modes
229
- const getLayoutStyles = () => {
244
+ const getLayoutStyles = (): React.CSSProperties => {
230
245
  if (variant === 'grid') {
231
246
  const minWidth = displayMode === 'text' ? 60 : sizeInPx + 16;
232
247
  return {
233
248
  display: 'grid',
234
249
  gridTemplateColumns: `repeat(auto-fill, minmax(${minWidth}px, 1fr))`,
235
250
  gap: displayMode === 'text' ? 1 : 2,
236
- };
251
+ } as React.CSSProperties;
237
252
  }
238
253
 
239
254
  return {
@@ -241,7 +256,7 @@ function OptionSelectorView({
241
256
  flexDirection: layout === 'vertical' ? 'column' : 'row',
242
257
  flexWrap: layout === 'wrap' ? 'wrap' : 'nowrap',
243
258
  gap: 1,
244
- };
259
+ } as React.CSSProperties;
245
260
  };
246
261
 
247
262
  return (
@@ -42,6 +42,21 @@ function FormCheckboxView({
42
42
  helperText,
43
43
  required = false,
44
44
  disabled = false,
45
+ // Exclude ViewProps that conflict with MUI FormControl types
46
+ margin: _margin,
47
+ marginTop: _marginTop,
48
+ marginRight: _marginRight,
49
+ marginBottom: _marginBottom,
50
+ marginLeft: _marginLeft,
51
+ marginX: _marginX,
52
+ marginY: _marginY,
53
+ padding: _padding,
54
+ paddingTop: _paddingTop,
55
+ paddingRight: _paddingRight,
56
+ paddingBottom: _paddingBottom,
57
+ paddingLeft: _paddingLeft,
58
+ paddingX: _paddingX,
59
+ paddingY: _paddingY,
45
60
  ...restProps
46
61
  }: FormCheckboxProps) {
47
62
  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
@@ -63,6 +63,21 @@ function FormFieldView({
63
63
  startAdornment,
64
64
  endAdornment,
65
65
  inputProps,
66
+ // Exclude ViewProps that conflict with MUI FormControl types
67
+ margin: _margin,
68
+ marginTop: _marginTop,
69
+ marginRight: _marginRight,
70
+ marginBottom: _marginBottom,
71
+ marginLeft: _marginLeft,
72
+ marginX: _marginX,
73
+ marginY: _marginY,
74
+ padding: _padding,
75
+ paddingTop: _paddingTop,
76
+ paddingRight: _paddingRight,
77
+ paddingBottom: _paddingBottom,
78
+ paddingLeft: _paddingLeft,
79
+ paddingX: _paddingX,
80
+ paddingY: _paddingY,
66
81
  ...restProps
67
82
  }: FormFieldProps) {
68
83
  const fieldId = React.useId();
@@ -54,6 +54,21 @@ function FormSelectView({
54
54
  fullWidth = true,
55
55
  size = 'small',
56
56
  placeholder,
57
+ // Exclude ViewProps that conflict with MUI FormControl types
58
+ margin: _margin,
59
+ marginTop: _marginTop,
60
+ marginRight: _marginRight,
61
+ marginBottom: _marginBottom,
62
+ marginLeft: _marginLeft,
63
+ marginX: _marginX,
64
+ marginY: _marginY,
65
+ padding: _padding,
66
+ paddingTop: _paddingTop,
67
+ paddingRight: _paddingRight,
68
+ paddingBottom: _paddingBottom,
69
+ paddingLeft: _paddingLeft,
70
+ paddingX: _paddingX,
71
+ paddingY: _paddingY,
57
72
  ...restProps
58
73
  }: FormSelectProps) {
59
74
  const handleChange = (e: { target: { value: unknown } }) => {
@@ -28,7 +28,7 @@ export interface QwickAppProps {
28
28
  enableScaffolding?: boolean;
29
29
  /** Primary navigation items for scaffolding */
30
30
  navigationItems?: MenuItem[];
31
- /** App bar configuration for scaffolding */
31
+ /** App bar configuration for scaffolding - use render function for actions to cross server/client boundaries safely */
32
32
  appBar?: ScaffoldProps['appBar'];
33
33
  /** Whether to show app bar when scaffolding is enabled (default: true) */
34
34
  showAppBar?: boolean;
@@ -61,12 +61,14 @@ html[data-palette="autumn"][data-theme="light"] {
61
61
  --palette-error-main: #dc2626;
62
62
  --palette-error-light: #fee2e2;
63
63
  --palette-error-dark: #7f1d1d;
64
+ --palette-on-error: #ffffff;
64
65
  --palette-error-border: #fecaca;
65
-
66
+
66
67
  /* Warning palette - Amber */
67
68
  --palette-warning-main: #f59e0b;
68
69
  --palette-warning-light: #fef3c7;
69
70
  --palette-warning-dark: #78350f;
71
+ --palette-on-warning: #000000;
70
72
  --palette-warning-border: #fde68a;
71
73
 
72
74
  /* Info palette - Teal */
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Boutique Color Palette
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ *
6
+ * Sophisticated teal, bronze, and navy - perfect for premium retail and fashion brands
7
+ */
8
+
9
+ /* ===== BOUTIQUE PALETTE - LIGHT THEME ===== */
10
+ html[data-palette="boutique"]:not([data-theme="dark"]),
11
+ html[data-palette="boutique"][data-theme="light"] {
12
+ /* Primary palette - Teal */
13
+ --palette-primary-main: #3ca6b6;
14
+ --palette-primary-light: #6bc4d1;
15
+ --palette-primary-dark: #2a7a86;
16
+ --palette-on-primary: #ffffff;
17
+
18
+ /* Secondary palette - Bronze */
19
+ --palette-secondary-main: #be765e;
20
+ --palette-secondary-light: #d4987e;
21
+ --palette-secondary-dark: #9a5742;
22
+ --palette-on-secondary: #ffffff;
23
+
24
+ /* Surface palette - Warm ivory */
25
+ --palette-surface-main: #fefcf8;
26
+ --palette-surface-variant: #f5f0ea;
27
+ --palette-surface-elevated: #ffffff;
28
+ --palette-on-surface: #2c2520;
29
+
30
+ /* Background palette - Soft cream */
31
+ --palette-background-main: #fffdf9;
32
+ --palette-background-dark: #f8f4ed;
33
+ --palette-background-overlay: rgba(255, 253, 249, 0.95);
34
+ --palette-on-background: #3d3530;
35
+
36
+ /* Header background with transparency */
37
+ --palette-header-bg-start: rgba(255, 253, 249, 0.98);
38
+ --palette-header-bg-end: rgba(255, 253, 249, 0.95);
39
+ --palette-header-collapsed-bg-start: rgba(255, 253, 249, 0.99);
40
+ --palette-header-collapsed-bg-end: rgba(255, 253, 249, 0.96);
41
+
42
+ /* Text palette - Deep brown */
43
+ --palette-text-primary: #2c2520;
44
+ --palette-text-secondary: #5d5349;
45
+ --palette-text-disabled: rgba(44, 37, 32, 0.38);
46
+ --palette-text-inverted: #ffffff;
47
+
48
+ /* Border palette - Soft taupe */
49
+ --palette-border-main: #d4cdc4;
50
+ --palette-border-light: rgba(44, 37, 32, 0.12);
51
+ --palette-border-lighter: rgba(44, 37, 32, 0.05);
52
+ --palette-border-medium: #b8afa4;
53
+
54
+ /* Success palette - Emerald */
55
+ --palette-success-main: #10b981;
56
+ --palette-success-light: #d1fae5;
57
+ --palette-success-dark: #047857;
58
+ --palette-success-border: #a7f3d0;
59
+
60
+ /* Error palette - Rose */
61
+ --palette-error-main: #f43f5e;
62
+ --palette-error-light: #ffe4e6;
63
+ --palette-error-dark: #9f1239;
64
+ --palette-on-error: #ffffff;
65
+ --palette-error-border: #fecdd3;
66
+
67
+ /* Warning palette - Amber */
68
+ --palette-warning-main: #f59e0b;
69
+ --palette-warning-light: #fef3c7;
70
+ --palette-warning-dark: #d97706;
71
+ --palette-on-warning: #000000;
72
+ --palette-warning-border: #fde68a;
73
+
74
+ /* Info palette - Sky blue */
75
+ --palette-info-main: #0284c7;
76
+ --palette-info-light: #e0f2fe;
77
+ --palette-info-dark: #075985;
78
+ --palette-on-info: #ffffff;
79
+ --palette-info-border: #7dd3fc;
80
+
81
+ /* Accent palette - Navy */
82
+ --palette-accent-main: #0a1a3e;
83
+ --palette-accent-light: #1e3a73;
84
+ --palette-accent-dark: #050d1f;
85
+ --palette-on-accent: #ffffff;
86
+
87
+ /* Control palette - Deep teal */
88
+ --palette-control-main: #2a7a86;
89
+ --palette-control-light: #3ca6b6;
90
+ --palette-control-text: #ffffff;
91
+ --palette-control-border: #217380;
92
+ }
93
+
94
+ /* ===== BOUTIQUE PALETTE - DARK THEME ===== */
95
+ html[data-palette="boutique"][data-theme="dark"] {
96
+ /* Primary palette - Bright teal */
97
+ --palette-primary-main: #6bc4d1;
98
+ --palette-primary-light: #8fd5de;
99
+ --palette-primary-dark: #3ca6b6;
100
+ --palette-on-primary: #0a1a1d;
101
+
102
+ /* Secondary palette - Warm bronze */
103
+ --palette-secondary-main: #d4987e;
104
+ --palette-secondary-light: #e3b9a4;
105
+ --palette-secondary-dark: #be765e;
106
+ --palette-on-secondary: #1a1210;
107
+
108
+ /* Surface palette - Charcoal */
109
+ --palette-surface-main: #1a1614;
110
+ --palette-surface-variant: #252220;
111
+ --palette-surface-elevated: #332f2c;
112
+ --palette-on-surface: #f5f0ea;
113
+
114
+ /* Background palette - Deep slate */
115
+ --palette-background-main: #0f0d0c;
116
+ --palette-background-dark: #1a1614;
117
+ --palette-background-overlay: rgba(26, 22, 20, 0.95);
118
+ --palette-on-background: #e8e4de;
119
+
120
+ /* Header background with transparency */
121
+ --palette-header-bg-start: rgba(15, 13, 12, 0.98);
122
+ --palette-header-bg-end: rgba(15, 13, 12, 0.95);
123
+ --palette-header-collapsed-bg-start: rgba(15, 13, 12, 0.99);
124
+ --palette-header-collapsed-bg-end: rgba(15, 13, 12, 0.96);
125
+
126
+ /* Text palette - Warm light */
127
+ --palette-text-primary: #f5f0ea;
128
+ --palette-text-secondary: #cdc5bc;
129
+ --palette-text-disabled: rgba(245, 240, 234, 0.38);
130
+ --palette-text-inverted: #0f0d0c;
131
+
132
+ /* Border palette - Warm gray */
133
+ --palette-border-main: #4a4440;
134
+ --palette-border-light: rgba(245, 240, 234, 0.12);
135
+ --palette-border-lighter: rgba(245, 240, 234, 0.05);
136
+ --palette-border-medium: #3d3833;
137
+
138
+ /* Success palette - Bright emerald */
139
+ --palette-success-main: #34d399;
140
+ --palette-success-light: #064e3b;
141
+ --palette-success-dark: #10b981;
142
+ --palette-success-border: #065f46;
143
+
144
+ /* Error palette - Bright rose */
145
+ --palette-error-main: #fb7185;
146
+ --palette-error-light: #4c0519;
147
+ --palette-error-dark: #f43f5e;
148
+ --palette-on-error: #ffffff;
149
+ --palette-error-border: #881337;
150
+
151
+ /* Warning palette - Bright amber */
152
+ --palette-warning-main: #fbbf24;
153
+ --palette-warning-light: #451a03;
154
+ --palette-warning-dark: #f59e0b;
155
+ --palette-on-warning: #1c1917;
156
+ --palette-warning-border: #78350f;
157
+
158
+ /* Info palette - Bright sky */
159
+ --palette-info-main: #38bdf8;
160
+ --palette-info-light: #0c4a6e;
161
+ --palette-info-dark: #0284c7;
162
+ --palette-on-info: #ffffff;
163
+ --palette-info-border: #075985;
164
+
165
+ /* Accent palette - Bright navy */
166
+ --palette-accent-main: #3b5ba3;
167
+ --palette-accent-light: #5a7cc4;
168
+ --palette-accent-dark: #1e3a73;
169
+ --palette-on-accent: #ffffff;
170
+
171
+ /* Control palette - Teal glow */
172
+ --palette-control-main: #6bc4d1;
173
+ --palette-control-light: #8fd5de;
174
+ --palette-control-text: #0a1a1d;
175
+ --palette-control-border: #3ca6b6;
176
+ }