@almadar/ui 6.29.0 → 6.30.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 (52) hide show
  1. package/dist/{EntityBindingContext-UyeCfEBS.d.cts → EntityBindingContext-ChCONv2W.d.cts} +1 -50
  2. package/dist/{EntityBindingContext-UyeCfEBS.d.ts → EntityBindingContext-ChCONv2W.d.ts} +1 -50
  3. package/dist/avl/index.cjs +5 -6
  4. package/dist/avl/index.js +5 -6
  5. package/dist/components/index.cjs +4 -5
  6. package/dist/components/index.js +4 -5
  7. package/dist/context/index.cjs +135 -105
  8. package/dist/context/index.d.cts +2 -60
  9. package/dist/context/index.d.ts +2 -60
  10. package/dist/context/index.js +135 -105
  11. package/dist/lib/index.cjs +455 -0
  12. package/dist/lib/index.d.cts +42 -1
  13. package/dist/lib/index.d.ts +42 -1
  14. package/dist/lib/index.js +438 -1
  15. package/dist/marketing/index.cjs +4 -5
  16. package/dist/marketing/index.js +4 -5
  17. package/dist/providers/index.cjs +143 -116
  18. package/dist/providers/index.d.cts +1 -1
  19. package/dist/providers/index.d.ts +1 -1
  20. package/dist/providers/index.js +143 -116
  21. package/dist/runtime/index.cjs +5 -6
  22. package/dist/runtime/index.d.cts +2 -2
  23. package/dist/runtime/index.d.ts +2 -2
  24. package/dist/runtime/index.js +5 -6
  25. package/dist/themeTokens-DVRwufw8.d.cts +112 -0
  26. package/dist/themeTokens-DVRwufw8.d.ts +112 -0
  27. package/package.json +6 -5
  28. package/scripts/audit-tailwind-safelist.ts +4 -0
  29. package/tailwind-preset.cjs +155 -28
  30. package/themes/almadar-website.css +37 -107
  31. package/themes/almadar.css +37 -108
  32. package/themes/atelier.css +145 -240
  33. package/themes/bloomberg-dense.css +145 -252
  34. package/themes/clay.css +39 -137
  35. package/themes/comic.css +39 -145
  36. package/themes/corporate.css +39 -131
  37. package/themes/game-adventure.css +22 -87
  38. package/themes/game-rpg.css +22 -84
  39. package/themes/game-sci-fi.css +22 -88
  40. package/themes/game-ui-pack.css +22 -85
  41. package/themes/gazette.css +43 -135
  42. package/themes/glass.css +39 -148
  43. package/themes/kiosk.css +51 -146
  44. package/themes/linear-clean.css +145 -215
  45. package/themes/minimalist.css +39 -125
  46. package/themes/neon.css +39 -132
  47. package/themes/notion-editorial.css +145 -215
  48. package/themes/prism.css +37 -100
  49. package/themes/retro.css +39 -130
  50. package/themes/terminal.css +61 -152
  51. package/themes/trait-wars.css +121 -285
  52. package/themes/wireframe.css +41 -128
@@ -1,52 +1,20 @@
1
1
  /**
2
- * Atelier Theme
3
- *
4
- * Display-heavy editorial feel — Apple Newsroom / Behance / fashion magazine.
5
- * Generous whitespace, dramatic type scale, hairline borders, no shadows;
6
- * monochrome warm-grey palette punctuated by a single cobalt accent.
2
+ * GENERATED — do not edit by hand.
3
+ * Source: packages/almadar-core/themes/atelier.json
4
+ * Regenerate: node tools/almadar-pattern-sync/dist/index.js themes (or `almadar-sync themes`)
7
5
  */
8
6
 
9
- /* ==========================================================================
10
- * LIGHT MODE
11
- * ========================================================================== */
12
7
  [data-theme="atelier-light"] {
13
- /* Shadows - None. Hairline borders carry all hierarchy. */
14
- --shadow-none: none;
15
- --shadow-sm: none;
16
- --shadow-main: none;
17
- --shadow-lg: none;
18
- --shadow-inner: none;
19
- --shadow-hover: none;
20
- --shadow-active: none;
21
-
22
- /* Border radius - Asymmetric: small on containers, chunky pill on interactive */
23
- --radius-none: 0px;
24
- --radius-sm: 4px;
25
- --radius-md: 8px;
26
- --radius-lg: 12px;
27
- --radius-xl: 16px;
28
- --radius-full: 9999px;
29
-
30
- /* Border width - Hairline throughout */
31
- --border-width: 1px;
32
- --border-width-thin: 1px;
33
- --border-width-thick: 1px;
34
-
35
- /* Colors - Warm off-white canvas, near-black ink, single cobalt accent */
36
8
  --color-primary: #1f51ff;
37
9
  --color-primary-hover: #1a45e0;
38
10
  --color-primary-foreground: #fafaf7;
39
-
40
11
  --color-secondary: #f2f1ec;
41
12
  --color-secondary-hover: #e8e7e1;
42
13
  --color-secondary-foreground: #0a0a0a;
43
-
44
14
  --color-accent: #0a0a0a;
45
15
  --color-accent-foreground: #fafaf7;
46
-
47
16
  --color-muted: #f2f1ec;
48
17
  --color-muted-foreground: #6b6b66;
49
-
50
18
  --color-background: #fafaf7;
51
19
  --color-foreground: #0a0a0a;
52
20
  --color-card: #ffffff;
@@ -55,15 +23,12 @@
55
23
  --color-border: #e5e4de;
56
24
  --color-input: #d6d5cf;
57
25
  --color-ring: #1f51ff;
58
-
59
26
  --color-table-header: #f2f1ec;
60
27
  --color-table-border: #e5e4de;
61
28
  --color-table-row-hover: #f6f5f0;
62
29
  --color-surface-hover: #e8e7e1;
63
30
  --color-border-hover: #c7c6c0;
64
31
  --color-placeholder: #9a998f;
65
-
66
- /* Semantic colors - Muted, editorial */
67
32
  --color-error: #b91c1c;
68
33
  --color-error-foreground: #fafaf7;
69
34
  --color-success: #15803d;
@@ -72,23 +37,72 @@
72
37
  --color-warning-foreground: #fafaf7;
73
38
  --color-info: #1f51ff;
74
39
  --color-info-foreground: #fafaf7;
75
-
76
- /* Typography - Display-heavy editorial */
77
- --font-family:
78
- "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
79
- --font-family-display:
80
- "Söhne", "Inter Display", -apple-system, BlinkMacSystemFont, sans-serif;
81
- --font-family-body:
82
- "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
83
- --font-family-mono:
84
- "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
40
+ --radius-none: 0px;
41
+ --radius-sm: 4px;
42
+ --radius-md: 8px;
43
+ --radius-lg: 12px;
44
+ --radius-xl: 16px;
45
+ --radius-full: 9999px;
46
+ --border-width: 1px;
47
+ --border-width-thin: 1px;
48
+ --border-width-thick: 1px;
49
+ --font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
85
50
  --font-weight-normal: 400;
86
51
  --font-weight-medium: 500;
87
52
  --font-weight-bold: 700;
88
53
  --letter-spacing: -0.02em;
89
54
  --line-height: 1.625;
90
-
91
- /* Type scale - Dramatic, editorial */
55
+ --intent-numeric-family: var(--font-family-display);
56
+ --icon-color: currentColor;
57
+ --transition-fast: 300ms;
58
+ --transition-normal: 500ms;
59
+ --transition-slow: 800ms;
60
+ --transition-timing: cubic-bezier(0.2, 0, 0, 1);
61
+ --hover-scale: 1;
62
+ --hover-translate-y: 0;
63
+ --hover-translate-x: 0;
64
+ --active-scale: 1;
65
+ --active-translate-y: 0;
66
+ --focus-ring-width: 2px;
67
+ --focus-ring-offset: 3px;
68
+ --focus-ring-color: #1f51ff;
69
+ --shadow-none: none;
70
+ --shadow-sm: none;
71
+ --shadow-main: none;
72
+ --shadow-lg: none;
73
+ --shadow-inner: none;
74
+ --shadow-hover: none;
75
+ --shadow-active: none;
76
+ --space-0: 0px;
77
+ --space-1: 4px;
78
+ --space-2: 6px;
79
+ --space-3: 10px;
80
+ --space-4: 14px;
81
+ --space-5: 20px;
82
+ --space-6: 28px;
83
+ --space-7: 36px;
84
+ --space-8: 44px;
85
+ --space-9: 52px;
86
+ --space-10: 60px;
87
+ --space-11: 68px;
88
+ --space-12: 80px;
89
+ --button-height-sm: 36px;
90
+ --button-height-md: 44px;
91
+ --button-height-lg: 56px;
92
+ --input-height-sm: 36px;
93
+ --input-height-md: 44px;
94
+ --input-height-lg: 56px;
95
+ --row-height-compact: 48px;
96
+ --row-height-normal: 64px;
97
+ --row-height-spacious: 80px;
98
+ --card-padding-sm: 20px;
99
+ --card-padding-md: 28px;
100
+ --card-padding-lg: 40px;
101
+ --dialog-padding: 40px;
102
+ --section-gap: 64px;
103
+ --font-family-display: "Söhne", "Inter Display", -apple-system, BlinkMacSystemFont, sans-serif;
104
+ --font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
105
+ --font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
92
106
  --text-xs: 12px;
93
107
  --leading-xs: 18px;
94
108
  --text-sm: 14px;
@@ -109,8 +123,6 @@
109
123
  --leading-display-1: 68px;
110
124
  --text-display-2: 80px;
111
125
  --leading-display-2: 84px;
112
-
113
- /* Intent mapping - heading-major HUGE, numeric uses display family */
114
126
  --intent-heading-major-size: var(--text-3xl);
115
127
  --intent-heading-major-weight: var(--font-weight-bold);
116
128
  --intent-heading-major-leading: var(--leading-3xl);
@@ -132,132 +144,41 @@
132
144
  --intent-numeric-size: var(--text-4xl);
133
145
  --intent-numeric-weight: var(--font-weight-bold);
134
146
  --intent-numeric-leading: var(--leading-4xl);
135
- --intent-numeric-family: var(--font-family-display);
136
-
137
- /* Density - Generous 10pt rhythm */
138
- --space-0: 0px;
139
- --space-1: 4px;
140
- --space-2: 6px;
141
- --space-3: 10px;
142
- --space-4: 14px;
143
- --space-5: 20px;
144
- --space-6: 28px;
145
- --space-7: 36px;
146
- --space-8: 44px;
147
- --space-9: 52px;
148
- --space-10: 60px;
149
- --space-11: 68px;
150
- --space-12: 80px;
151
-
152
- --button-height-sm: 36px;
153
- --button-height-md: 44px;
154
- --button-height-lg: 56px;
155
- --input-height-sm: 36px;
156
- --input-height-md: 44px;
157
- --input-height-lg: 56px;
158
- --row-height-compact: 48px;
159
- --row-height-normal: 64px;
160
- --row-height-spacious: 80px;
161
-
162
- --card-padding-sm: 20px;
163
- --card-padding-md: 28px;
164
- --card-padding-lg: 40px;
165
- --dialog-padding: 40px;
166
- --section-gap: 64px;
167
-
168
- /* Icon styling - Tabler outline, larger default. Architectural strokes
169
- distinct from lucide's friendly outline — fits atelier's editorial-display drama. */
147
+ --duration-instant: 0ms;
148
+ --duration-fast: 300ms;
149
+ --duration-normal: 500ms;
150
+ --duration-slow: 800ms;
151
+ --duration-dramatic: 1200ms;
152
+ --easing-linear: linear;
153
+ --easing-standard: cubic-bezier(0.2, 0, 0, 1);
154
+ --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
155
+ --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
170
156
  --icon-family: tabler;
171
- --icon-default-size: 22px;
172
157
  --icon-stroke-width: 1.25;
173
- --icon-color: currentColor;
174
-
175
- /* Elevation - All none, hairlines do the work */
158
+ --icon-default-size: 22px;
176
159
  --elevation-card: none;
177
160
  --elevation-popover: none;
178
161
  --elevation-dialog: none;
179
162
  --elevation-toast: none;
180
-
181
- /* Geometry - Asymmetric: small container radius, chunky interactive */
182
163
  --radius-container: 8px;
183
164
  --radius-interactive: 24px;
184
165
  --radius-pill: 9999px;
185
166
  --border-hairline: 1px;
186
167
  --border-standard: 1px;
187
168
  --border-heavy: 1px;
188
-
189
- /* Transitions - Dramatic, considered */
190
- --transition-fast: 300ms;
191
- --transition-normal: 500ms;
192
- --transition-slow: 800ms;
193
- --transition-timing: cubic-bezier(0.2, 0, 0, 1);
194
-
195
- /* Motion palette */
196
- --duration-instant: 0ms;
197
- --duration-fast: 300ms;
198
- --duration-normal: 500ms;
199
- --duration-slow: 800ms;
200
- --duration-dramatic: 1200ms;
201
- --easing-linear: linear;
202
- --easing-standard: cubic-bezier(0.2, 0, 0, 1);
203
- --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
204
- --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
205
-
206
- /* Hover/Active transforms - Subtle, no lift */
207
- --hover-scale: 1;
208
- --hover-translate-y: 0;
209
- --hover-translate-x: 0;
210
- --active-scale: 1;
211
- --active-translate-y: 0;
212
-
213
- /* Focus ring */
214
- --focus-ring-width: 2px;
215
- --focus-ring-offset: 3px;
216
- --focus-ring-color: #1f51ff;
217
-
218
169
  }
219
170
 
220
- /* ==========================================================================
221
- * DARK MODE
222
- * ========================================================================== */
223
171
  [data-theme="atelier-dark"] {
224
- /* Shadows - None */
225
- --shadow-none: none;
226
- --shadow-sm: none;
227
- --shadow-main: none;
228
- --shadow-lg: none;
229
- --shadow-inner: none;
230
- --shadow-hover: none;
231
- --shadow-active: none;
232
-
233
- /* Border radius */
234
- --radius-none: 0px;
235
- --radius-sm: 4px;
236
- --radius-md: 8px;
237
- --radius-lg: 12px;
238
- --radius-xl: 16px;
239
- --radius-full: 9999px;
240
-
241
- /* Border width - Hairline */
242
- --border-width: 1px;
243
- --border-width-thin: 1px;
244
- --border-width-thick: 1px;
245
-
246
- /* Colors - Very dark grey canvas, near-white ink, brighter cobalt */
247
172
  --color-primary: #5b7fff;
248
173
  --color-primary-hover: #7a96ff;
249
174
  --color-primary-foreground: #0d0d0d;
250
-
251
175
  --color-secondary: #1a1a1a;
252
176
  --color-secondary-hover: #242424;
253
177
  --color-secondary-foreground: #fafafa;
254
-
255
178
  --color-accent: #fafafa;
256
179
  --color-accent-foreground: #0d0d0d;
257
-
258
180
  --color-muted: #1a1a1a;
259
181
  --color-muted-foreground: #999999;
260
-
261
182
  --color-background: #0d0d0d;
262
183
  --color-foreground: #fafafa;
263
184
  --color-card: #141414;
@@ -266,15 +187,12 @@
266
187
  --color-border: #262626;
267
188
  --color-input: #333333;
268
189
  --color-ring: #5b7fff;
269
-
270
190
  --color-table-header: #1a1a1a;
271
191
  --color-table-border: #262626;
272
192
  --color-table-row-hover: #181818;
273
193
  --color-surface-hover: #242424;
274
194
  --color-border-hover: #3a3a3a;
275
195
  --color-placeholder: #666666;
276
-
277
- /* Semantic colors - Muted in dark mode, cobalt punches through */
278
196
  --color-error: #cf6679;
279
197
  --color-error-foreground: #0d0d0d;
280
198
  --color-success: #8aa899;
@@ -283,23 +201,72 @@
283
201
  --color-warning-foreground: #0d0d0d;
284
202
  --color-info: #5b7fff;
285
203
  --color-info-foreground: #0d0d0d;
286
-
287
- /* Typography */
288
- --font-family:
289
- "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
290
- --font-family-display:
291
- "Söhne", "Inter Display", -apple-system, BlinkMacSystemFont, sans-serif;
292
- --font-family-body:
293
- "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
294
- --font-family-mono:
295
- "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
204
+ --radius-none: 0px;
205
+ --radius-sm: 4px;
206
+ --radius-md: 8px;
207
+ --radius-lg: 12px;
208
+ --radius-xl: 16px;
209
+ --radius-full: 9999px;
210
+ --border-width: 1px;
211
+ --border-width-thin: 1px;
212
+ --border-width-thick: 1px;
213
+ --font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
296
214
  --font-weight-normal: 400;
297
215
  --font-weight-medium: 500;
298
216
  --font-weight-bold: 700;
299
217
  --letter-spacing: -0.02em;
300
218
  --line-height: 1.625;
301
-
302
- /* Type scale */
219
+ --intent-numeric-family: var(--font-family-display);
220
+ --icon-color: currentColor;
221
+ --transition-fast: 300ms;
222
+ --transition-normal: 500ms;
223
+ --transition-slow: 800ms;
224
+ --transition-timing: cubic-bezier(0.2, 0, 0, 1);
225
+ --hover-scale: 1;
226
+ --hover-translate-y: 0;
227
+ --hover-translate-x: 0;
228
+ --active-scale: 1;
229
+ --active-translate-y: 0;
230
+ --focus-ring-width: 2px;
231
+ --focus-ring-offset: 3px;
232
+ --focus-ring-color: #5b7fff;
233
+ --shadow-none: none;
234
+ --shadow-sm: none;
235
+ --shadow-main: none;
236
+ --shadow-lg: none;
237
+ --shadow-inner: none;
238
+ --shadow-hover: none;
239
+ --shadow-active: none;
240
+ --space-0: 0px;
241
+ --space-1: 4px;
242
+ --space-2: 6px;
243
+ --space-3: 10px;
244
+ --space-4: 14px;
245
+ --space-5: 20px;
246
+ --space-6: 28px;
247
+ --space-7: 36px;
248
+ --space-8: 44px;
249
+ --space-9: 52px;
250
+ --space-10: 60px;
251
+ --space-11: 68px;
252
+ --space-12: 80px;
253
+ --button-height-sm: 36px;
254
+ --button-height-md: 44px;
255
+ --button-height-lg: 56px;
256
+ --input-height-sm: 36px;
257
+ --input-height-md: 44px;
258
+ --input-height-lg: 56px;
259
+ --row-height-compact: 48px;
260
+ --row-height-normal: 64px;
261
+ --row-height-spacious: 80px;
262
+ --card-padding-sm: 20px;
263
+ --card-padding-md: 28px;
264
+ --card-padding-lg: 40px;
265
+ --dialog-padding: 40px;
266
+ --section-gap: 64px;
267
+ --font-family-display: "Söhne", "Inter Display", -apple-system, BlinkMacSystemFont, sans-serif;
268
+ --font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
269
+ --font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
303
270
  --text-xs: 12px;
304
271
  --leading-xs: 18px;
305
272
  --text-sm: 14px;
@@ -320,8 +287,6 @@
320
287
  --leading-display-1: 68px;
321
288
  --text-display-2: 80px;
322
289
  --leading-display-2: 84px;
323
-
324
- /* Intent mapping */
325
290
  --intent-heading-major-size: var(--text-3xl);
326
291
  --intent-heading-major-weight: var(--font-weight-bold);
327
292
  --intent-heading-major-leading: var(--leading-3xl);
@@ -343,86 +308,26 @@
343
308
  --intent-numeric-size: var(--text-4xl);
344
309
  --intent-numeric-weight: var(--font-weight-bold);
345
310
  --intent-numeric-leading: var(--leading-4xl);
346
- --intent-numeric-family: var(--font-family-display);
347
-
348
- /* Density */
349
- --space-0: 0px;
350
- --space-1: 4px;
351
- --space-2: 6px;
352
- --space-3: 10px;
353
- --space-4: 14px;
354
- --space-5: 20px;
355
- --space-6: 28px;
356
- --space-7: 36px;
357
- --space-8: 44px;
358
- --space-9: 52px;
359
- --space-10: 60px;
360
- --space-11: 68px;
361
- --space-12: 80px;
362
-
363
- --button-height-sm: 36px;
364
- --button-height-md: 44px;
365
- --button-height-lg: 56px;
366
- --input-height-sm: 36px;
367
- --input-height-md: 44px;
368
- --input-height-lg: 56px;
369
- --row-height-compact: 48px;
370
- --row-height-normal: 64px;
371
- --row-height-spacious: 80px;
372
-
373
- --card-padding-sm: 20px;
374
- --card-padding-md: 28px;
375
- --card-padding-lg: 40px;
376
- --dialog-padding: 40px;
377
- --section-gap: 64px;
378
-
379
- /* Icon styling — tabler outline, architectural strokes */
311
+ --duration-instant: 0ms;
312
+ --duration-fast: 300ms;
313
+ --duration-normal: 500ms;
314
+ --duration-slow: 800ms;
315
+ --duration-dramatic: 1200ms;
316
+ --easing-linear: linear;
317
+ --easing-standard: cubic-bezier(0.2, 0, 0, 1);
318
+ --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
319
+ --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
380
320
  --icon-family: tabler;
381
- --icon-default-size: 22px;
382
321
  --icon-stroke-width: 1.25;
383
- --icon-color: currentColor;
384
-
385
- /* Elevation */
322
+ --icon-default-size: 22px;
386
323
  --elevation-card: none;
387
324
  --elevation-popover: none;
388
325
  --elevation-dialog: none;
389
326
  --elevation-toast: none;
390
-
391
- /* Geometry */
392
327
  --radius-container: 8px;
393
328
  --radius-interactive: 24px;
394
329
  --radius-pill: 9999px;
395
330
  --border-hairline: 1px;
396
331
  --border-standard: 1px;
397
332
  --border-heavy: 1px;
398
-
399
- /* Transitions */
400
- --transition-fast: 300ms;
401
- --transition-normal: 500ms;
402
- --transition-slow: 800ms;
403
- --transition-timing: cubic-bezier(0.2, 0, 0, 1);
404
-
405
- /* Motion palette */
406
- --duration-instant: 0ms;
407
- --duration-fast: 300ms;
408
- --duration-normal: 500ms;
409
- --duration-slow: 800ms;
410
- --duration-dramatic: 1200ms;
411
- --easing-linear: linear;
412
- --easing-standard: cubic-bezier(0.2, 0, 0, 1);
413
- --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
414
- --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
415
-
416
- /* Hover/Active transforms - No lift */
417
- --hover-scale: 1;
418
- --hover-translate-y: 0;
419
- --hover-translate-x: 0;
420
- --active-scale: 1;
421
- --active-translate-y: 0;
422
-
423
- /* Focus ring */
424
- --focus-ring-width: 2px;
425
- --focus-ring-offset: 3px;
426
- --focus-ring-color: #5b7fff;
427
-
428
333
  }