@almadar/ui 5.2.0 → 5.3.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.
@@ -0,0 +1,403 @@
1
+ /**
2
+ * Linear Clean Theme
3
+ *
4
+ * Personality: minimalist product-tool aesthetic — Linear/Stripe lineage. Warm-grey
5
+ * neutrals, a single confident blue accent, snappy linear motion, and outline icons.
6
+ * Tight 4pt rhythm and small button heights signal speed without being cramped.
7
+ *
8
+ * Spec axes (per docs/Almadar_Std_Variations.md §2.4):
9
+ * Color warm-grey + single blue accent
10
+ * Density compact (4pt rhythm, 28/32/36 buttons)
11
+ * Type tech (Inter everywhere, mono numerics, tight leading)
12
+ * Geometry soft (4/8/12 radius, hairline borders)
13
+ * Elevation flat (no shadows, borders only)
14
+ * Motion snappy (linear, 80/120/180ms)
15
+ * Iconography outline (lucide, stroke 1.5)
16
+ * Illustration minimal (icon+text empty states)
17
+ */
18
+
19
+ /* ==========================================================================
20
+ * LIGHT MODE
21
+ * ========================================================================== */
22
+ [data-theme="linear-clean-light"] {
23
+ --shadow-none: none;
24
+ --shadow-sm: none;
25
+ --shadow-main: none;
26
+ --shadow-lg: none;
27
+ --shadow-inner: none;
28
+ --shadow-hover: none;
29
+ --shadow-active: none;
30
+
31
+ --radius-none: 0px;
32
+ --radius-sm: 4px;
33
+ --radius-md: 8px;
34
+ --radius-lg: 12px;
35
+ --radius-xl: 12px;
36
+ --radius-full: 9999px;
37
+
38
+ --border-width: 1px;
39
+ --border-width-thin: 1px;
40
+ --border-width-thick: 1px;
41
+
42
+ --color-primary: #0066ff;
43
+ --color-primary-hover: #0052cc;
44
+ --color-primary-foreground: #ffffff;
45
+
46
+ --color-secondary: #f4f4f2;
47
+ --color-secondary-hover: #ececea;
48
+ --color-secondary-foreground: #0a0a0a;
49
+
50
+ --color-accent: #0066ff;
51
+ --color-accent-foreground: #ffffff;
52
+
53
+ --color-muted: #f4f4f2;
54
+ --color-muted-foreground: #6b6b66;
55
+
56
+ --color-background: #fafafa;
57
+ --color-foreground: #0a0a0a;
58
+ --color-card: #ffffff;
59
+ --color-card-foreground: #0a0a0a;
60
+ --color-surface: #f7f7f5;
61
+ --color-border: #e6e6e2;
62
+ --color-input: #d8d8d4;
63
+ --color-ring: #0066ff;
64
+
65
+ --color-table-header: #f7f7f5;
66
+ --color-table-border: #e6e6e2;
67
+ --color-table-row-hover: #f4f4f2;
68
+ --color-surface-hover: #ececea;
69
+ --color-border-hover: #c9c9c4;
70
+ --color-placeholder: #9a998f;
71
+
72
+ --color-error: #d92d20;
73
+ --color-error-foreground: #ffffff;
74
+ --color-success: #079455;
75
+ --color-success-foreground: #ffffff;
76
+ --color-warning: #b54708;
77
+ --color-warning-foreground: #ffffff;
78
+ --color-info: #0066ff;
79
+ --color-info-foreground: #ffffff;
80
+
81
+ --font-family:
82
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
83
+ --font-family-display:
84
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
85
+ --font-family-body:
86
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
87
+ --font-family-mono:
88
+ "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
89
+ --font-weight-normal: 400;
90
+ --font-weight-medium: 500;
91
+ --font-weight-bold: 600;
92
+ --letter-spacing: -0.01em;
93
+ --line-height: 1.4;
94
+
95
+ --text-xs: 11px;
96
+ --leading-xs: 14px;
97
+ --text-sm: 13px;
98
+ --leading-sm: 18px;
99
+ --text-base: 14px;
100
+ --leading-base: 20px;
101
+ --text-lg: 16px;
102
+ --leading-lg: 22px;
103
+ --text-xl: 18px;
104
+ --leading-xl: 24px;
105
+ --text-2xl: 22px;
106
+ --leading-2xl: 28px;
107
+ --text-3xl: 28px;
108
+ --leading-3xl: 34px;
109
+ --text-4xl: 34px;
110
+ --leading-4xl: 40px;
111
+ --text-display-1: 44px;
112
+ --leading-display-1: 48px;
113
+ --text-display-2: 56px;
114
+ --leading-display-2: 60px;
115
+
116
+ --intent-heading-major-size: var(--text-2xl);
117
+ --intent-heading-major-weight: var(--font-weight-bold);
118
+ --intent-heading-major-leading: var(--leading-2xl);
119
+ --intent-heading-minor-size: var(--text-lg);
120
+ --intent-heading-minor-weight: var(--font-weight-bold);
121
+ --intent-heading-minor-leading: var(--leading-lg);
122
+ --intent-body-emphasis-size: var(--text-sm);
123
+ --intent-body-emphasis-weight: var(--font-weight-medium);
124
+ --intent-body-emphasis-leading: var(--leading-sm);
125
+ --intent-body-default-size: var(--text-sm);
126
+ --intent-body-default-weight: var(--font-weight-normal);
127
+ --intent-body-default-leading: var(--leading-sm);
128
+ --intent-body-quiet-size: var(--text-xs);
129
+ --intent-body-quiet-weight: var(--font-weight-normal);
130
+ --intent-body-quiet-leading: var(--leading-xs);
131
+ --intent-caption-size: var(--text-xs);
132
+ --intent-caption-weight: var(--font-weight-medium);
133
+ --intent-caption-leading: var(--leading-xs);
134
+ --intent-numeric-size: var(--text-sm);
135
+ --intent-numeric-weight: var(--font-weight-medium);
136
+ --intent-numeric-leading: var(--leading-sm);
137
+ --intent-numeric-family: var(--font-family-mono);
138
+
139
+ --space-0: 0px;
140
+ --space-1: 4px;
141
+ --space-2: 8px;
142
+ --space-3: 12px;
143
+ --space-4: 16px;
144
+ --space-5: 20px;
145
+ --space-6: 24px;
146
+ --space-7: 28px;
147
+ --space-8: 32px;
148
+ --space-9: 36px;
149
+ --space-10: 40px;
150
+ --space-11: 44px;
151
+ --space-12: 48px;
152
+
153
+ --button-height-sm: 28px;
154
+ --button-height-md: 32px;
155
+ --button-height-lg: 36px;
156
+ --input-height-sm: 28px;
157
+ --input-height-md: 32px;
158
+ --input-height-lg: 36px;
159
+ --row-height-compact: 32px;
160
+ --row-height-normal: 36px;
161
+ --row-height-spacious: 44px;
162
+
163
+ --card-padding-sm: 12px;
164
+ --card-padding-md: 16px;
165
+ --card-padding-lg: 20px;
166
+ --dialog-padding: 24px;
167
+ --section-gap: 32px;
168
+
169
+ --icon-family: lucide;
170
+ --icon-default-size: 16px;
171
+ --icon-stroke-width: 1.5;
172
+ --icon-color: currentColor;
173
+
174
+ --elevation-card: none;
175
+ --elevation-popover: none;
176
+ --elevation-dialog: none;
177
+ --elevation-toast: none;
178
+
179
+ --radius-container: 8px;
180
+ --radius-interactive: 6px;
181
+ --radius-pill: 9999px;
182
+ --border-hairline: 1px;
183
+ --border-standard: 1px;
184
+ --border-heavy: 1px;
185
+
186
+ --transition-fast: 80ms;
187
+ --transition-normal: 120ms;
188
+ --transition-slow: 180ms;
189
+ --transition-timing: linear;
190
+
191
+ --duration-instant: 0ms;
192
+ --duration-fast: 80ms;
193
+ --duration-normal: 120ms;
194
+ --duration-slow: 180ms;
195
+ --duration-dramatic: 240ms;
196
+ --easing-linear: linear;
197
+ --easing-standard: linear;
198
+ --easing-emphasized: linear;
199
+ --easing-spring: linear;
200
+
201
+ --hover-scale: 1;
202
+ --hover-translate-y: 0;
203
+ --hover-translate-x: 0;
204
+ --active-scale: 1;
205
+ --active-translate-y: 0;
206
+
207
+ --focus-ring-width: 2px;
208
+ --focus-ring-offset: 2px;
209
+ --focus-ring-color: #0066ff;
210
+ }
211
+
212
+ /* ==========================================================================
213
+ * DARK MODE
214
+ * ========================================================================== */
215
+ [data-theme="linear-clean-dark"] {
216
+ --shadow-none: none;
217
+ --shadow-sm: none;
218
+ --shadow-main: none;
219
+ --shadow-lg: none;
220
+ --shadow-inner: none;
221
+ --shadow-hover: none;
222
+ --shadow-active: none;
223
+
224
+ --radius-none: 0px;
225
+ --radius-sm: 4px;
226
+ --radius-md: 8px;
227
+ --radius-lg: 12px;
228
+ --radius-xl: 12px;
229
+ --radius-full: 9999px;
230
+
231
+ --border-width: 1px;
232
+ --border-width-thin: 1px;
233
+ --border-width-thick: 1px;
234
+
235
+ --color-primary: #4d8bff;
236
+ --color-primary-hover: #6ea2ff;
237
+ --color-primary-foreground: #0a0a0c;
238
+
239
+ --color-secondary: #18181b;
240
+ --color-secondary-hover: #222226;
241
+ --color-secondary-foreground: #fafafa;
242
+
243
+ --color-accent: #4d8bff;
244
+ --color-accent-foreground: #0a0a0c;
245
+
246
+ --color-muted: #18181b;
247
+ --color-muted-foreground: #8b8b90;
248
+
249
+ --color-background: #0a0a0c;
250
+ --color-foreground: #fafafa;
251
+ --color-card: #121214;
252
+ --color-card-foreground: #fafafa;
253
+ --color-surface: #18181b;
254
+ --color-border: #26262b;
255
+ --color-input: #2e2e34;
256
+ --color-ring: #4d8bff;
257
+
258
+ --color-table-header: #18181b;
259
+ --color-table-border: #26262b;
260
+ --color-table-row-hover: #161618;
261
+ --color-surface-hover: #222226;
262
+ --color-border-hover: #3a3a40;
263
+ --color-placeholder: #6b6b70;
264
+
265
+ --color-error: #f97066;
266
+ --color-error-foreground: #0a0a0c;
267
+ --color-success: #47cd89;
268
+ --color-success-foreground: #0a0a0c;
269
+ --color-warning: #fdb022;
270
+ --color-warning-foreground: #0a0a0c;
271
+ --color-info: #4d8bff;
272
+ --color-info-foreground: #0a0a0c;
273
+
274
+ --font-family:
275
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
276
+ --font-family-display:
277
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
278
+ --font-family-body:
279
+ "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
280
+ --font-family-mono:
281
+ "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
282
+ --font-weight-normal: 400;
283
+ --font-weight-medium: 500;
284
+ --font-weight-bold: 600;
285
+ --letter-spacing: -0.01em;
286
+ --line-height: 1.4;
287
+
288
+ --text-xs: 11px;
289
+ --leading-xs: 14px;
290
+ --text-sm: 13px;
291
+ --leading-sm: 18px;
292
+ --text-base: 14px;
293
+ --leading-base: 20px;
294
+ --text-lg: 16px;
295
+ --leading-lg: 22px;
296
+ --text-xl: 18px;
297
+ --leading-xl: 24px;
298
+ --text-2xl: 22px;
299
+ --leading-2xl: 28px;
300
+ --text-3xl: 28px;
301
+ --leading-3xl: 34px;
302
+ --text-4xl: 34px;
303
+ --leading-4xl: 40px;
304
+ --text-display-1: 44px;
305
+ --leading-display-1: 48px;
306
+ --text-display-2: 56px;
307
+ --leading-display-2: 60px;
308
+
309
+ --intent-heading-major-size: var(--text-2xl);
310
+ --intent-heading-major-weight: var(--font-weight-bold);
311
+ --intent-heading-major-leading: var(--leading-2xl);
312
+ --intent-heading-minor-size: var(--text-lg);
313
+ --intent-heading-minor-weight: var(--font-weight-bold);
314
+ --intent-heading-minor-leading: var(--leading-lg);
315
+ --intent-body-emphasis-size: var(--text-sm);
316
+ --intent-body-emphasis-weight: var(--font-weight-medium);
317
+ --intent-body-emphasis-leading: var(--leading-sm);
318
+ --intent-body-default-size: var(--text-sm);
319
+ --intent-body-default-weight: var(--font-weight-normal);
320
+ --intent-body-default-leading: var(--leading-sm);
321
+ --intent-body-quiet-size: var(--text-xs);
322
+ --intent-body-quiet-weight: var(--font-weight-normal);
323
+ --intent-body-quiet-leading: var(--leading-xs);
324
+ --intent-caption-size: var(--text-xs);
325
+ --intent-caption-weight: var(--font-weight-medium);
326
+ --intent-caption-leading: var(--leading-xs);
327
+ --intent-numeric-size: var(--text-sm);
328
+ --intent-numeric-weight: var(--font-weight-medium);
329
+ --intent-numeric-leading: var(--leading-sm);
330
+ --intent-numeric-family: var(--font-family-mono);
331
+
332
+ --space-0: 0px;
333
+ --space-1: 4px;
334
+ --space-2: 8px;
335
+ --space-3: 12px;
336
+ --space-4: 16px;
337
+ --space-5: 20px;
338
+ --space-6: 24px;
339
+ --space-7: 28px;
340
+ --space-8: 32px;
341
+ --space-9: 36px;
342
+ --space-10: 40px;
343
+ --space-11: 44px;
344
+ --space-12: 48px;
345
+
346
+ --button-height-sm: 28px;
347
+ --button-height-md: 32px;
348
+ --button-height-lg: 36px;
349
+ --input-height-sm: 28px;
350
+ --input-height-md: 32px;
351
+ --input-height-lg: 36px;
352
+ --row-height-compact: 32px;
353
+ --row-height-normal: 36px;
354
+ --row-height-spacious: 44px;
355
+
356
+ --card-padding-sm: 12px;
357
+ --card-padding-md: 16px;
358
+ --card-padding-lg: 20px;
359
+ --dialog-padding: 24px;
360
+ --section-gap: 32px;
361
+
362
+ --icon-family: lucide;
363
+ --icon-default-size: 16px;
364
+ --icon-stroke-width: 1.5;
365
+ --icon-color: currentColor;
366
+
367
+ --elevation-card: none;
368
+ --elevation-popover: none;
369
+ --elevation-dialog: none;
370
+ --elevation-toast: none;
371
+
372
+ --radius-container: 8px;
373
+ --radius-interactive: 6px;
374
+ --radius-pill: 9999px;
375
+ --border-hairline: 1px;
376
+ --border-standard: 1px;
377
+ --border-heavy: 1px;
378
+
379
+ --transition-fast: 80ms;
380
+ --transition-normal: 120ms;
381
+ --transition-slow: 180ms;
382
+ --transition-timing: linear;
383
+
384
+ --duration-instant: 0ms;
385
+ --duration-fast: 80ms;
386
+ --duration-normal: 120ms;
387
+ --duration-slow: 180ms;
388
+ --duration-dramatic: 240ms;
389
+ --easing-linear: linear;
390
+ --easing-standard: linear;
391
+ --easing-emphasized: linear;
392
+ --easing-spring: linear;
393
+
394
+ --hover-scale: 1;
395
+ --hover-translate-y: 0;
396
+ --hover-translate-x: 0;
397
+ --active-scale: 1;
398
+ --active-translate-y: 0;
399
+
400
+ --focus-ring-width: 2px;
401
+ --focus-ring-offset: 2px;
402
+ --focus-ring-color: #4d8bff;
403
+ }