@almadar/ui 6.58.0 → 6.61.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 (94) hide show
  1. package/dist/BehaviorValueFrame-3ORZHPWQ.css +1252 -0
  2. package/dist/BehaviorValueFrame-QTD7BWOI.js +18 -0
  3. package/dist/{Canvas3DHost-BTvRPfsr.d.ts → Canvas3DHost-CNjANoaU.d.ts} +1 -1
  4. package/dist/{GameAudioProvider-kXbonWTv.d.ts → GameAudioProvider-Dv_L-PHt.d.ts} +1 -1
  5. package/dist/TraitValueFrame-2WMYJOA5.css +1252 -0
  6. package/dist/TraitValueFrame-WOXNLLMM.js +17 -0
  7. package/dist/Typography-BY4A2NBY.js +5 -0
  8. package/dist/{UISlotRenderer-N5DFYE6K.js → UISlotRenderer-EEOXSJCI.js} +10 -8
  9. package/dist/avl/index.cjs +31960 -27831
  10. package/dist/avl/index.d.ts +36 -13
  11. package/dist/avl/index.js +331 -6147
  12. package/dist/{avl-3d-context-BpBKZIbc.d.ts → avl-3d-context-Dxun3-ri.d.ts} +2 -0
  13. package/dist/{chunk-I2ZNE5TD.js → chunk-6PV4LASE.js} +9495 -639
  14. package/dist/{chunk-723MJUU3.js → chunk-6ZCU3BQN.js} +1 -1
  15. package/dist/{chunk-GZGDBS4S.js → chunk-7NIU5GDC.js} +2 -2
  16. package/dist/{chunk-YYYHH5BA.js → chunk-CB64IOYD.js} +0 -4
  17. package/dist/{chunk-MZIDOJMD.js → chunk-EIIQGOZW.js} +2 -1
  18. package/dist/chunk-F7NZ3KZQ.js +434 -0
  19. package/dist/{chunk-LZRW6GXG.js → chunk-FYX64CDL.js} +0 -2
  20. package/dist/{chunk-4ZGXIW3B.js → chunk-KZRAMPM6.js} +1 -1
  21. package/dist/{chunk-VHTJRS2N.js → chunk-L3MTZ3RH.js} +7 -0
  22. package/dist/chunk-LUREMDI3.js +49 -0
  23. package/dist/{chunk-HA7CJWQX.js → chunk-MGN6B6OQ.js} +1477 -1177
  24. package/dist/{chunk-Q47ZN2DW.js → chunk-N23SVGTH.js} +83 -1
  25. package/dist/{chunk-KJGVLXEN.js → chunk-N4IJS5DD.js} +50 -116
  26. package/dist/{chunk-I5QOYW2Z.js → chunk-UTSDPJUP.js} +205 -2
  27. package/dist/{chunk-V3FGTQUE.js → chunk-ZR45FGW3.js} +7 -1
  28. package/dist/{cn-DIql5232.d.ts → cn-CDIhHCUC.d.ts} +40 -16
  29. package/dist/components/index.cjs +14455 -4099
  30. package/dist/components/index.d.ts +165 -177
  31. package/dist/components/index.js +14 -15
  32. package/dist/context/index.cjs +16 -1
  33. package/dist/context/index.js +4 -2
  34. package/dist/hooks/index.cjs +79 -6
  35. package/dist/hooks/index.d.ts +43 -2
  36. package/dist/hooks/index.js +6 -7
  37. package/dist/lib/drawable/three/index.cjs +350 -26
  38. package/dist/lib/drawable/three/index.d.ts +5 -5
  39. package/dist/lib/drawable/three/index.js +28 -7
  40. package/dist/lib/index.cjs +90 -4
  41. package/dist/lib/index.d.ts +3 -3
  42. package/dist/lib/index.js +74 -6
  43. package/dist/locales/index.cjs +0 -6
  44. package/dist/locales/index.js +2 -2
  45. package/dist/{paintDispatch-BN8Vbzgs.d.ts → paintDispatch-Cp1_S93j.d.ts} +30 -2
  46. package/dist/providers/index.cjs +13853 -1075
  47. package/dist/providers/index.d.ts +38 -6
  48. package/dist/providers/index.js +40 -30
  49. package/dist/runtime/index.cjs +28369 -18287
  50. package/dist/runtime/index.d.ts +65 -3
  51. package/dist/runtime/index.js +13 -379
  52. package/dist/ssr/index.cjs +508 -133
  53. package/dist/ssr/index.d.cts +56 -4
  54. package/dist/ssr/index.d.ts +56 -4
  55. package/dist/ssr/index.js +446 -71
  56. package/dist/{verificationRegistry-CK76GUfH.d.ts → verificationRegistry-B5aGl7WF.d.ts} +3 -2
  57. package/locales/ar.json +0 -2
  58. package/locales/en.json +0 -2
  59. package/locales/sl.json +0 -2
  60. package/package.json +7 -7
  61. package/tailwind-preset.cjs +78 -8
  62. package/themes/_contract.md +6 -0
  63. package/themes/_fonts.css +4 -4
  64. package/themes/_foundation.css +11 -0
  65. package/themes/_presets.css +2 -0
  66. package/themes/almadar-website.css +10 -0
  67. package/themes/almadar.css +10 -0
  68. package/themes/atelier.css +10 -0
  69. package/themes/bauhaus.css +10 -0
  70. package/themes/bloomberg-dense.css +10 -0
  71. package/themes/clay.css +10 -0
  72. package/themes/corporate.css +10 -0
  73. package/themes/gazette.css +10 -0
  74. package/themes/glass.css +10 -0
  75. package/themes/kflow.css +5 -0
  76. package/themes/kiosk.css +10 -0
  77. package/themes/linear-clean.css +10 -0
  78. package/themes/material.css +10 -0
  79. package/themes/minimalist.css +10 -0
  80. package/themes/nata.css +304 -0
  81. package/themes/neon.css +10 -0
  82. package/themes/notion-editorial.css +10 -0
  83. package/themes/orb.css +10 -0
  84. package/themes/prism.css +10 -0
  85. package/themes/rawi.css +304 -0
  86. package/themes/retro.css +10 -0
  87. package/themes/risograph.css +10 -0
  88. package/themes/scandi.css +10 -0
  89. package/themes/solarpunk.css +10 -0
  90. package/themes/terminal.css +138 -128
  91. package/dist/Typography-LZTP72Y4.js +0 -5
  92. package/dist/chunk-D2E44ODB.js +0 -350
  93. package/dist/chunk-HB3D3HUJ.js +0 -2265
  94. package/dist/chunk-N7JIG57B.js +0 -138
@@ -0,0 +1,304 @@
1
+ /**
2
+ * GENERATED — do not edit by hand.
3
+ * Source: packages/almadar-core/themes/rawi.json
4
+ * Regenerate: node tools/almadar-pattern-sync/dist/index.js themes (or `almadar-sync themes`)
5
+ */
6
+
7
+ [data-theme="rawi-light"] {
8
+ --color-primary: #e11d48;
9
+ --color-primary-hover: #be123c;
10
+ --color-primary-foreground: #ffffff;
11
+ --color-secondary: #fdecef;
12
+ --color-secondary-hover: #fbd5dc;
13
+ --color-secondary-foreground: #4c0519;
14
+ --color-accent: #7c3aed;
15
+ --color-accent-foreground: #ffffff;
16
+ --color-muted: #f8eef1;
17
+ --color-muted-foreground: #6b4d57;
18
+ --color-background: #fcf8f9;
19
+ --color-foreground: #1a0b10;
20
+ --color-card: #ffffff;
21
+ --color-card-foreground: #1a0b10;
22
+ --color-surface: #f9f0f3;
23
+ --color-border: #f0dde3;
24
+ --color-input: #e3c6cf;
25
+ --color-ring: #e11d48;
26
+ --color-error: #dc2626;
27
+ --color-error-foreground: #ffffff;
28
+ --color-success: #047857;
29
+ --color-success-foreground: #ffffff;
30
+ --color-warning: #b45309;
31
+ --color-warning-foreground: #ffffff;
32
+ --color-info: #0369a1;
33
+ --color-info-foreground: #ffffff;
34
+ --color-scrim: rgba(26, 11, 16, 0.55);
35
+ --color-series-1: #0891b2;
36
+ --color-series-2: #c026d3;
37
+ --color-series-3: #65a30d;
38
+ --color-series-4: #ea580c;
39
+ --color-series-5: #db2777;
40
+ --color-series-6: #2563eb;
41
+ --color-series-7: #854d0e;
42
+ --color-series-8: #0d9488;
43
+ --color-diagram-ink: #1a0b10;
44
+ --color-diagram-label: #6b4d57;
45
+ --color-diagram-guide: #94a0bd;
46
+ --color-diagram-axis: #3d2830;
47
+ --color-diagram-grid: #f0dde3;
48
+ --color-diagram-highlight: #7c3aed;
49
+ --color-diagram-fill: #ffe4e9;
50
+ --radius-none: 0px;
51
+ --radius-sm: 8px;
52
+ --radius-md: 12px;
53
+ --radius-lg: 16px;
54
+ --radius-xl: 22px;
55
+ --radius-full: 9999px;
56
+ --border-width: 1px;
57
+ --border-width-thin: 1px;
58
+ --border-width-thick: 2px;
59
+ --icon-color: currentColor;
60
+ --transition-fast: 120ms;
61
+ --transition-normal: 200ms;
62
+ --transition-slow: 320ms;
63
+ --transition-timing: cubic-bezier(0.2, 0, 0, 1);
64
+ --hover-scale: 1.0;
65
+ --hover-translate-y: -2px;
66
+ --hover-translate-x: 0;
67
+ --active-scale: 0.98;
68
+ --active-translate-y: 0;
69
+ --focus-ring-width: 2px;
70
+ --focus-ring-offset: 2px;
71
+ --focus-ring-color: #4f46e5;
72
+ --font-family: "Plus Jakarta Sans", "IBM Plex Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
73
+ --letter-spacing: -0.005em;
74
+ --line-height: 1.6;
75
+ --shadow-main: 0 8px 24px -8px rgba(79, 70, 229, 0.20), 0 2px 6px rgba(8, 145, 178, 0.08);
76
+ --shadow-sm: 0 2px 8px -2px rgba(79, 70, 229, 0.16);
77
+ --shadow-lg: 0 24px 48px -12px rgba(79, 70, 229, 0.28), 0 6px 16px rgba(8, 145, 178, 0.10);
78
+ --shadow-inner: inset 0 1px 2px rgba(79, 70, 229, 0.10);
79
+ --shadow-none: none;
80
+ --shadow-hover: 0 14px 32px -10px rgba(79, 70, 229, 0.32), 0 4px 10px rgba(16, 185, 129, 0.10);
81
+ --shadow-active: 0 2px 6px -2px rgba(79, 70, 229, 0.24);
82
+ --font-family-display: "Bricolage Grotesque", "IBM Plex Sans Arabic", system-ui, sans-serif;
83
+ --font-family-body: "Nunito", "IBM Plex Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
84
+ --font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
85
+ --heading-weight: 600;
86
+ --heading-transform: none;
87
+ --heading-tracking: -0.02em;
88
+ --heading-style: normal;
89
+ --heading-shadow: none;
90
+ --duration-instant: 0ms;
91
+ --duration-fast: 120ms;
92
+ --duration-normal: 200ms;
93
+ --duration-slow: 320ms;
94
+ --duration-dramatic: 640ms;
95
+ --easing-linear: linear;
96
+ --easing-standard: cubic-bezier(0.2, 0, 0, 1);
97
+ --easing-emphasized: cubic-bezier(0.22, 0.61, 0.36, 1);
98
+ --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
99
+ --motion-modal-enter-from-transform: translateY(12px) scale(0.98);
100
+ --motion-modal-exit-to-transform: scale(0.98);
101
+ --motion-popover-enter-from-transform: scale(0.97);
102
+ --motion-popover-exit-to-transform: scale(0.97);
103
+ --motion-toast-enter-from-transform: translateY(-12px);
104
+ --motion-toast-exit-to-transform: translateY(-12px);
105
+ --motion-page-enter-from-transform: translateY(10px);
106
+ --icon-family: lucide;
107
+ --icon-stroke-width: 1.75;
108
+ --icon-default-size: 16px;
109
+ --elevation-card: var(--shadow-main);
110
+ --elevation-popover: var(--shadow-lg);
111
+ --elevation-dialog: var(--shadow-lg);
112
+ --elevation-toast: var(--shadow-main);
113
+ --elevation-interactive: var(--shadow-sm);
114
+ --elevation-pressed: var(--shadow-inner);
115
+ --radius-container: 24px;
116
+ --radius-interactive: 16px;
117
+ --radius-pill: 9999px;
118
+ --border-hairline: 1px;
119
+ --border-standard: 1px;
120
+ --border-heavy: 2px;
121
+ --corner-shape: round;
122
+ --corner-shape-pill: round;
123
+ --border-style: solid;
124
+ --border-style-interactive: solid;
125
+ --surface-card-image: linear-gradient(135deg, rgba(225, 29, 72, 0.07) 0%, rgba(124, 58, 237, 0.05) 100%);
126
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 60 C240 100 480 100 720 60 C960 20 1200 20 1440 60 V100 H0 Z'/></svg>");
127
+ --surface-edge-height: clamp(24px, 6vw, 96px);
128
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='3' cy='3' r='1.5'/></svg>");
129
+ --surface-texture-size: 24px 24px;
130
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
131
+ --diagram-stroke-thin: 1px;
132
+ --diagram-stroke-normal: 2px;
133
+ --diagram-stroke-bold: 3px;
134
+ --diagram-line-cap: round;
135
+ --diagram-line-join: round;
136
+ --diagram-dash: 6 4;
137
+ --diagram-dot: 1 5;
138
+ --diagram-fill-style: tint;
139
+ --diagram-fill-opacity: 0.2;
140
+ --diagram-roughness: 0;
141
+ --diagram-glow: 2;
142
+ --diagram-shadow: 0 4px 14px rgba(79, 70, 229, 0.22);
143
+ --diagram-marker: triangle;
144
+ --diagram-label-font: body;
145
+ --diagram-label-size: sm;
146
+ --diagram-label-weight: 500;
147
+ --diagram-label-case: none;
148
+ --diagram-corner: 8px;
149
+ --material-roughness: 0.25;
150
+ --material-metalness: 0.15;
151
+ --material-flat: 0;
152
+ --material-outline: 0;
153
+ --light-ambient: 0.5;
154
+ --light-key: 1.15;
155
+ --light-key-color: #eef2ff;
156
+ --scene-fog: 0.05;
157
+ }
158
+
159
+ [data-theme="rawi-dark"] {
160
+ --color-primary: #fb7185;
161
+ --color-primary-hover: #fda4af;
162
+ --color-primary-foreground: #1a0b10;
163
+ --color-secondary: #2a1219;
164
+ --color-secondary-hover: #3a1a24;
165
+ --color-secondary-foreground: #fde8ec;
166
+ --color-accent: #a78bfa;
167
+ --color-accent-foreground: #120a24;
168
+ --color-muted: #241016;
169
+ --color-muted-foreground: #c7a4ae;
170
+ --color-background: #12070b;
171
+ --color-foreground: #fbeef1;
172
+ --color-card: #1c0d12;
173
+ --color-card-foreground: #fbeef1;
174
+ --color-surface: #22111a;
175
+ --color-border: #3a1d27;
176
+ --color-input: #4d2633;
177
+ --color-ring: #fb7185;
178
+ --color-error: #f87171;
179
+ --color-error-foreground: #000000;
180
+ --color-success: #34d399;
181
+ --color-success-foreground: #022c22;
182
+ --color-warning: #fbbf24;
183
+ --color-warning-foreground: #000000;
184
+ --color-info: #38bdf8;
185
+ --color-info-foreground: #000000;
186
+ --color-scrim: rgba(0, 0, 0, 0.7);
187
+ --color-series-1: #22d3ee;
188
+ --color-series-2: #e879f9;
189
+ --color-series-3: #a3e635;
190
+ --color-series-4: #fb923c;
191
+ --color-series-5: #f472b6;
192
+ --color-series-6: #60a5fa;
193
+ --color-series-7: #fef08a;
194
+ --color-series-8: #2dd4bf;
195
+ --color-diagram-ink: #fbeef1;
196
+ --color-diagram-label: #c7a4ae;
197
+ --color-diagram-guide: #5d6890;
198
+ --color-diagram-axis: #e3cbd2;
199
+ --color-diagram-grid: #3a1d27;
200
+ --color-diagram-highlight: #a78bfa;
201
+ --color-diagram-fill: #4a1d2a;
202
+ --radius-none: 0px;
203
+ --radius-sm: 8px;
204
+ --radius-md: 12px;
205
+ --radius-lg: 16px;
206
+ --radius-xl: 22px;
207
+ --radius-full: 9999px;
208
+ --border-width: 1px;
209
+ --border-width-thin: 1px;
210
+ --border-width-thick: 2px;
211
+ --icon-color: currentColor;
212
+ --transition-fast: 120ms;
213
+ --transition-normal: 200ms;
214
+ --transition-slow: 320ms;
215
+ --transition-timing: cubic-bezier(0.2, 0, 0, 1);
216
+ --hover-scale: 1.0;
217
+ --hover-translate-y: -2px;
218
+ --hover-translate-x: 0;
219
+ --active-scale: 0.98;
220
+ --active-translate-y: 0;
221
+ --focus-ring-width: 2px;
222
+ --focus-ring-offset: 2px;
223
+ --focus-ring-color: #818cf8;
224
+ --font-family: "Plus Jakarta Sans", "IBM Plex Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
225
+ --letter-spacing: -0.005em;
226
+ --line-height: 1.6;
227
+ --shadow-main: 0 8px 28px -8px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(129, 140, 248, 0.08);
228
+ --shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, 0.5);
229
+ --shadow-lg: 0 24px 56px -12px rgba(0, 0, 0, 0.7), 0 0 32px -8px rgba(99, 102, 241, 0.25);
230
+ --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.4);
231
+ --shadow-none: none;
232
+ --shadow-hover: 0 14px 36px -10px rgba(99, 102, 241, 0.35);
233
+ --shadow-active: 0 2px 6px -2px rgba(0, 0, 0, 0.5);
234
+ --font-family-display: "Bricolage Grotesque", "IBM Plex Sans Arabic", system-ui, sans-serif;
235
+ --font-family-body: "Nunito", "IBM Plex Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
236
+ --font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
237
+ --heading-weight: 600;
238
+ --heading-transform: none;
239
+ --heading-tracking: -0.02em;
240
+ --heading-style: normal;
241
+ --heading-shadow: none;
242
+ --duration-instant: 0ms;
243
+ --duration-fast: 120ms;
244
+ --duration-normal: 200ms;
245
+ --duration-slow: 320ms;
246
+ --duration-dramatic: 640ms;
247
+ --easing-linear: linear;
248
+ --easing-standard: cubic-bezier(0.2, 0, 0, 1);
249
+ --easing-emphasized: cubic-bezier(0.22, 0.61, 0.36, 1);
250
+ --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
251
+ --motion-modal-enter-from-transform: translateY(12px) scale(0.98);
252
+ --motion-modal-exit-to-transform: scale(0.98);
253
+ --motion-popover-enter-from-transform: scale(0.97);
254
+ --motion-popover-exit-to-transform: scale(0.97);
255
+ --motion-toast-enter-from-transform: translateY(-12px);
256
+ --motion-toast-exit-to-transform: translateY(-12px);
257
+ --motion-page-enter-from-transform: translateY(10px);
258
+ --icon-family: lucide;
259
+ --icon-stroke-width: 1.75;
260
+ --icon-default-size: 16px;
261
+ --elevation-card: var(--shadow-main);
262
+ --elevation-popover: var(--shadow-lg);
263
+ --elevation-dialog: var(--shadow-lg);
264
+ --elevation-toast: var(--shadow-main);
265
+ --elevation-interactive: var(--shadow-sm);
266
+ --elevation-pressed: var(--shadow-inner);
267
+ --radius-container: 24px;
268
+ --radius-interactive: 16px;
269
+ --radius-pill: 9999px;
270
+ --border-hairline: 1px;
271
+ --border-standard: 1px;
272
+ --border-heavy: 2px;
273
+ --corner-shape: round;
274
+ --corner-shape-pill: round;
275
+ --border-style: solid;
276
+ --border-style-interactive: solid;
277
+ --surface-card-image: linear-gradient(135deg, rgba(129, 140, 248, 0.10) 0%, rgba(34, 211, 238, 0.06) 55%, rgba(52, 211, 153, 0.07) 100%);
278
+ --diagram-stroke-thin: 1px;
279
+ --diagram-stroke-normal: 2px;
280
+ --diagram-stroke-bold: 3px;
281
+ --diagram-line-cap: round;
282
+ --diagram-line-join: round;
283
+ --diagram-dash: 6 4;
284
+ --diagram-dot: 1 5;
285
+ --diagram-fill-style: tint;
286
+ --diagram-fill-opacity: 0.2;
287
+ --diagram-roughness: 0;
288
+ --diagram-glow: 2;
289
+ --diagram-shadow: 0 4px 14px rgba(79, 70, 229, 0.22);
290
+ --diagram-marker: triangle;
291
+ --diagram-label-font: body;
292
+ --diagram-label-size: sm;
293
+ --diagram-label-weight: 500;
294
+ --diagram-label-case: none;
295
+ --diagram-corner: 8px;
296
+ --material-roughness: 0.25;
297
+ --material-metalness: 0.15;
298
+ --material-flat: 0;
299
+ --material-outline: 0;
300
+ --light-ambient: 0.5;
301
+ --light-key: 1.15;
302
+ --light-key-color: #eef2ff;
303
+ --scene-fog: 0.05;
304
+ }
package/themes/retro.css CHANGED
@@ -195,6 +195,11 @@
195
195
  --surface-page-image: repeating-conic-gradient(from 0deg at 50% 100%, rgba(209,35,104,0.08) 0deg 9deg, transparent 9deg 18deg);
196
196
  --surface-page-image-size: 100% 100%;
197
197
  --surface-diagram: #1a0b2e;
198
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 100 L1440 0 V100 Z'/></svg>");
199
+ --surface-edge-height: clamp(24px, 6vw, 96px);
200
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='80'><path d='M0 20 C40 0 80 40 120 20 S160 0 160 20 M0 60 C40 40 80 80 120 60 S160 40 160 60' fill='none' stroke='black' stroke-width='1.5'/></svg>");
201
+ --surface-texture-size: 160px 80px;
202
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
198
203
  --diagram-stroke-thin: 1px;
199
204
  --diagram-stroke-normal: 2px;
200
205
  --diagram-stroke-bold: 4px;
@@ -413,6 +418,11 @@
413
418
  --border-style-interactive: solid;
414
419
  --surface-page-image: repeating-conic-gradient(from 0deg at 50% 100%, rgba(224,76,138,0.12) 0deg 9deg, transparent 9deg 18deg);
415
420
  --surface-page-image-size: 100% 100%;
421
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 100 L1440 0 V100 Z'/></svg>");
422
+ --surface-edge-height: clamp(24px, 6vw, 96px);
423
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='80'><path d='M0 20 C40 0 80 40 120 20 S160 0 160 20 M0 60 C40 40 80 80 120 60 S160 40 160 60' fill='none' stroke='black' stroke-width='1.5'/></svg>");
424
+ --surface-texture-size: 160px 80px;
425
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
416
426
  --diagram-stroke-thin: 1px;
417
427
  --diagram-stroke-normal: 2px;
418
428
  --diagram-stroke-bold: 4px;
@@ -200,6 +200,11 @@
200
200
  --border-style-interactive: solid;
201
201
  --surface-page-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
202
202
  --surface-page-image-size: 160px 160px;
203
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 60 C240 100 480 100 720 60 C960 20 1200 20 1440 60 V100 H0 Z'/></svg>");
204
+ --surface-edge-height: clamp(24px, 6vw, 96px);
205
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='3' cy='3' r='1.5'/></svg>");
206
+ --surface-texture-size: 24px 24px;
207
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
203
208
  --diagram-stroke-thin: 1px;
204
209
  --diagram-stroke-normal: 2px;
205
210
  --diagram-stroke-bold: 3px;
@@ -424,6 +429,11 @@
424
429
  --border-style-interactive: solid;
425
430
  --surface-page-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
426
431
  --surface-page-image-size: 160px 160px;
432
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 60 C240 100 480 100 720 60 C960 20 1200 20 1440 60 V100 H0 Z'/></svg>");
433
+ --surface-edge-height: clamp(24px, 6vw, 96px);
434
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='3' cy='3' r='1.5'/></svg>");
435
+ --surface-texture-size: 24px 24px;
436
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
427
437
  --diagram-stroke-thin: 1px;
428
438
  --diagram-stroke-normal: 2px;
429
439
  --diagram-stroke-bold: 3px;
package/themes/scandi.css CHANGED
@@ -203,6 +203,11 @@
203
203
  --surface-card-image: none;
204
204
  --surface-page-image: repeating-linear-gradient(0deg, rgba(60,50,30,0.025) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(60,50,30,0.025) 0 1px, transparent 1px 3px);
205
205
  --surface-page-image-size: auto;
206
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 100 Q720 0 1440 100 Z'/></svg>");
207
+ --surface-edge-height: clamp(16px, 4vw, 56px);
208
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M0 .5H40M.5 0V40' stroke='black' stroke-width='1' fill='none'/></svg>");
209
+ --surface-texture-size: 40px 40px;
210
+ --surface-accent-image: linear-gradient(180deg, color-mix(in oklab, var(--color-primary) 8%, var(--color-background)), var(--color-background));
206
211
  --diagram-stroke-thin: 1px;
207
212
  --diagram-stroke-normal: 1.5px;
208
213
  --diagram-stroke-bold: 2.5px;
@@ -430,6 +435,11 @@
430
435
  --surface-card-image: none;
431
436
  --surface-page-image: repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 3px);
432
437
  --surface-page-image-size: auto;
438
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 100 Q720 0 1440 100 Z'/></svg>");
439
+ --surface-edge-height: clamp(16px, 4vw, 56px);
440
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M0 .5H40M.5 0V40' stroke='black' stroke-width='1' fill='none'/></svg>");
441
+ --surface-texture-size: 40px 40px;
442
+ --surface-accent-image: linear-gradient(180deg, color-mix(in oklab, var(--color-primary) 8%, var(--color-background)), var(--color-background));
433
443
  --diagram-stroke-thin: 1px;
434
444
  --diagram-stroke-normal: 1.5px;
435
445
  --diagram-stroke-bold: 2.5px;
@@ -203,6 +203,11 @@
203
203
  --surface-card-image: none;
204
204
  --surface-page-image: conic-gradient(from 200deg at 100% 0%, rgba(242,193,78,0.16), transparent 22%, rgba(242,193,78,0.10) 34%, transparent 48%), radial-gradient(ellipse at 0% 100%, rgba(46,125,79,0.14), transparent 55%);
205
205
  --surface-page-image-size: 100% 100%, 100% 100%;
206
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 60 C240 100 480 100 720 60 C960 20 1200 20 1440 60 V100 H0 Z'/></svg>");
207
+ --surface-edge-height: clamp(24px, 6vw, 96px);
208
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='3' cy='3' r='1.5'/></svg>");
209
+ --surface-texture-size: 24px 24px;
210
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
206
211
  --diagram-stroke-thin: 1px;
207
212
  --diagram-stroke-normal: 2px;
208
213
  --diagram-stroke-bold: 3.5px;
@@ -430,6 +435,11 @@
430
435
  --surface-card-image: none;
431
436
  --surface-page-image: conic-gradient(from 200deg at 100% 0%, rgba(242,193,78,0.10), transparent 22%, rgba(242,193,78,0.06) 34%, transparent 48%), radial-gradient(ellipse at 0% 100%, rgba(127,217,154,0.10), transparent 55%);
432
437
  --surface-page-image-size: 100% 100%, 100% 100%;
438
+ --surface-edge-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'><path d='M0 60 C240 100 480 100 720 60 C960 20 1200 20 1440 60 V100 H0 Z'/></svg>");
439
+ --surface-edge-height: clamp(24px, 6vw, 96px);
440
+ --surface-texture-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='3' cy='3' r='1.5'/></svg>");
441
+ --surface-texture-size: 24px 24px;
442
+ --surface-accent-image: radial-gradient(60% 80% at 15% 20%, color-mix(in oklab, var(--color-primary) 22%, transparent), transparent 70%), radial-gradient(50% 70% at 85% 30%, color-mix(in oklab, var(--color-accent) 20%, transparent), transparent 70%);
433
443
  --diagram-stroke-thin: 1px;
434
444
  --diagram-stroke-normal: 2px;
435
445
  --diagram-stroke-bold: 3.5px;