luaniverse 4.2.23 → 4.2.25
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.
- package/dist/index.cjs +226 -121
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.js +227 -122
- package/dist/index.js.map +1 -1
- package/dist/safelist.js +40 -2
- package/dist/safelist.txt +34 -2
- package/dist/theme.css +108 -15
- package/package.json +1 -1
package/dist/safelist.js
CHANGED
|
@@ -221,6 +221,7 @@ export const luaniverseSafelist = [
|
|
|
221
221
|
'lua:border-primary',
|
|
222
222
|
'lua:border-secondary',
|
|
223
223
|
'lua:border-destructive',
|
|
224
|
+
'lua:border-danger',
|
|
224
225
|
'lua:border-success',
|
|
225
226
|
'lua:border-warning',
|
|
226
227
|
'lua:border-info',
|
|
@@ -280,7 +281,14 @@ export const luaniverseSafelist = [
|
|
|
280
281
|
'lua:bg-accent',
|
|
281
282
|
'lua:text-accent-foreground',
|
|
282
283
|
|
|
283
|
-
// Semantic Color Tokens -
|
|
284
|
+
// Semantic Color Tokens - Danger (Error/Validation Indicators)
|
|
285
|
+
'lua:text-danger',
|
|
286
|
+
'lua:border-danger',
|
|
287
|
+
'lua:bg-danger',
|
|
288
|
+
'lua:text-danger-foreground',
|
|
289
|
+
'lua:hover:bg-danger-hover',
|
|
290
|
+
|
|
291
|
+
// Semantic Color Tokens - Destructive (Action - Dark Maroon)
|
|
284
292
|
'lua:bg-destructive',
|
|
285
293
|
'lua:text-destructive-foreground',
|
|
286
294
|
'lua:bg-destructive-hover',
|
|
@@ -464,6 +472,34 @@ export const luaniverseSafelist = [
|
|
|
464
472
|
'lua:before:min-w-[100px]',
|
|
465
473
|
'lua:md:before:content-none',
|
|
466
474
|
|
|
475
|
+
// Button loading state
|
|
476
|
+
'lua-btn-loading',
|
|
477
|
+
'lua-btn-loader-dot',
|
|
478
|
+
|
|
479
|
+
// Button
|
|
480
|
+
'lua:gap-1.5',
|
|
481
|
+
'lua:h-7',
|
|
482
|
+
'lua:h-9',
|
|
483
|
+
'lua:h-12',
|
|
484
|
+
'lua:leading-5',
|
|
485
|
+
'lua:leading-6',
|
|
486
|
+
'lua:size-4',
|
|
487
|
+
'lua:text-current',
|
|
488
|
+
'lua:pl-3',
|
|
489
|
+
'lua:pr-3',
|
|
490
|
+
'lua:disabled:bg-black/5',
|
|
491
|
+
'lua:disabled:text-black/15',
|
|
492
|
+
'lua:disabled:shadow-none',
|
|
493
|
+
'lua:disabled:border-transparent',
|
|
494
|
+
'lua:active:bg-primary-active',
|
|
495
|
+
'lua:active:text-primary-foreground',
|
|
496
|
+
'lua:active:bg-secondary-active',
|
|
497
|
+
'lua:active:bg-secondary-hover',
|
|
498
|
+
'lua:active:bg-secondary',
|
|
499
|
+
'lua:active:bg-default-active',
|
|
500
|
+
'lua:active:bg-destructive-active',
|
|
501
|
+
'lua:hover:bg-muted',
|
|
502
|
+
|
|
467
503
|
// IconButton
|
|
468
504
|
'lua:size-7',
|
|
469
505
|
'lua:size-10',
|
|
@@ -483,7 +519,7 @@ export const luaniverseSafelist = [
|
|
|
483
519
|
'lua:data-[state=checked]:bg-primary',
|
|
484
520
|
'lua:data-[state=checked]:text-primary-foreground',
|
|
485
521
|
'lua:data-[state=checked]:border-primary',
|
|
486
|
-
'lua:aria-[invalid=true]:border-
|
|
522
|
+
'lua:aria-[invalid=true]:border-danger',
|
|
487
523
|
'lua:disabled:opacity-50',
|
|
488
524
|
'lua:disabled:cursor-not-allowed',
|
|
489
525
|
'lua:focus-visible:ring-offset-2',
|
|
@@ -647,7 +683,9 @@ export const luaniverseSafelist = [
|
|
|
647
683
|
'lua:border-input',
|
|
648
684
|
'lua:focus-visible:ring-ring',
|
|
649
685
|
'lua:border-destructive',
|
|
686
|
+
'lua:border-danger',
|
|
650
687
|
'lua:focus-visible:ring-destructive',
|
|
688
|
+
'lua:focus-visible:ring-danger',
|
|
651
689
|
'lua:border-success',
|
|
652
690
|
'lua:focus-visible:ring-success',
|
|
653
691
|
'lua:opacity-50',
|
package/dist/safelist.txt
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# Usage in your CSS:
|
|
6
6
|
# @source "./node_modules/@lua-ai-global/luaniverse/dist/safelist.txt";
|
|
7
7
|
#
|
|
8
|
-
# Total classes:
|
|
8
|
+
# Total classes: 686
|
|
9
9
|
|
|
10
10
|
lua:bg-emphasis-base
|
|
11
11
|
lua:bg-emphasis-hover
|
|
@@ -185,6 +185,7 @@ lua:border-border
|
|
|
185
185
|
lua:border-primary
|
|
186
186
|
lua:border-secondary
|
|
187
187
|
lua:border-destructive
|
|
188
|
+
lua:border-danger
|
|
188
189
|
lua:border-success
|
|
189
190
|
lua:border-warning
|
|
190
191
|
lua:border-info
|
|
@@ -229,6 +230,11 @@ lua:bg-muted
|
|
|
229
230
|
lua:text-muted-foreground
|
|
230
231
|
lua:bg-accent
|
|
231
232
|
lua:text-accent-foreground
|
|
233
|
+
lua:text-danger
|
|
234
|
+
lua:border-danger
|
|
235
|
+
lua:bg-danger
|
|
236
|
+
lua:text-danger-foreground
|
|
237
|
+
lua:hover:bg-danger-hover
|
|
232
238
|
lua:bg-destructive
|
|
233
239
|
lua:text-destructive-foreground
|
|
234
240
|
lua:bg-destructive-hover
|
|
@@ -393,6 +399,30 @@ lua:before:font-normal
|
|
|
393
399
|
lua:before:mr-4
|
|
394
400
|
lua:before:min-w-[100px]
|
|
395
401
|
lua:md:before:content-none
|
|
402
|
+
lua-btn-loading
|
|
403
|
+
lua-btn-loader-dot
|
|
404
|
+
lua:gap-1.5
|
|
405
|
+
lua:h-7
|
|
406
|
+
lua:h-9
|
|
407
|
+
lua:h-12
|
|
408
|
+
lua:leading-5
|
|
409
|
+
lua:leading-6
|
|
410
|
+
lua:size-4
|
|
411
|
+
lua:text-current
|
|
412
|
+
lua:pl-3
|
|
413
|
+
lua:pr-3
|
|
414
|
+
lua:disabled:bg-black/5
|
|
415
|
+
lua:disabled:text-black/15
|
|
416
|
+
lua:disabled:shadow-none
|
|
417
|
+
lua:disabled:border-transparent
|
|
418
|
+
lua:active:bg-primary-active
|
|
419
|
+
lua:active:text-primary-foreground
|
|
420
|
+
lua:active:bg-secondary-active
|
|
421
|
+
lua:active:bg-secondary-hover
|
|
422
|
+
lua:active:bg-secondary
|
|
423
|
+
lua:active:bg-default-active
|
|
424
|
+
lua:active:bg-destructive-active
|
|
425
|
+
lua:hover:bg-muted
|
|
396
426
|
lua:size-7
|
|
397
427
|
lua:size-10
|
|
398
428
|
lua:size-12
|
|
@@ -409,7 +439,7 @@ lua:outline-hidden
|
|
|
409
439
|
lua:data-[state=checked]:bg-primary
|
|
410
440
|
lua:data-[state=checked]:text-primary-foreground
|
|
411
441
|
lua:data-[state=checked]:border-primary
|
|
412
|
-
lua:aria-[invalid=true]:border-
|
|
442
|
+
lua:aria-[invalid=true]:border-danger
|
|
413
443
|
lua:disabled:opacity-50
|
|
414
444
|
lua:disabled:cursor-not-allowed
|
|
415
445
|
lua:focus-visible:ring-offset-2
|
|
@@ -555,7 +585,9 @@ lua:focus-visible:ring-offset-background
|
|
|
555
585
|
lua:border-input
|
|
556
586
|
lua:focus-visible:ring-ring
|
|
557
587
|
lua:border-destructive
|
|
588
|
+
lua:border-danger
|
|
558
589
|
lua:focus-visible:ring-destructive
|
|
590
|
+
lua:focus-visible:ring-danger
|
|
559
591
|
lua:border-success
|
|
560
592
|
lua:focus-visible:ring-success
|
|
561
593
|
lua:opacity-50
|
package/dist/theme.css
CHANGED
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
/* Default (Emphasis - Black/Bold) */
|
|
30
30
|
--default: 0 0% 0%;
|
|
31
31
|
--default-foreground: 0 0% 100%;
|
|
32
|
-
--default-hover: 0 0%
|
|
33
|
-
--default-active: 0 0%
|
|
32
|
+
--default-hover: 0 0% 20%;
|
|
33
|
+
--default-active: 0 0% 30%;
|
|
34
34
|
|
|
35
35
|
/* Primary (Brand - Blue) */
|
|
36
|
-
--primary:
|
|
36
|
+
--primary: 218 100% 59%;
|
|
37
37
|
--primary-foreground: 0 0% 100%;
|
|
38
|
-
--primary-hover:
|
|
39
|
-
--primary-active:
|
|
38
|
+
--primary-hover: 218 74% 53%;
|
|
39
|
+
--primary-active: 218 66% 48%;
|
|
40
40
|
|
|
41
41
|
/* Secondary (Neutral) */
|
|
42
42
|
--secondary: 220 13% 95%;
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
--muted-foreground: 215 16% 47%;
|
|
50
50
|
|
|
51
51
|
/* Accent */
|
|
52
|
-
--accent:
|
|
52
|
+
--accent: 218 100% 59%;
|
|
53
53
|
--accent-foreground: 0 0% 100%;
|
|
54
54
|
|
|
55
55
|
/* Accent Subtle (for tabs, pills) */
|
|
@@ -57,11 +57,16 @@
|
|
|
57
57
|
--accent-subtle-foreground: 213 97% 27%;
|
|
58
58
|
--accent-subtle-hover: 214 100% 92%;
|
|
59
59
|
|
|
60
|
-
/* Destructive (
|
|
61
|
-
--destructive: 0
|
|
60
|
+
/* Destructive (Action - Dark Maroon for button fills) */
|
|
61
|
+
--destructive: 0 63% 31%;
|
|
62
62
|
--destructive-foreground: 0 0% 100%;
|
|
63
|
-
--destructive-hover: 0
|
|
64
|
-
--destructive-active: 0
|
|
63
|
+
--destructive-hover: 0 63% 36%;
|
|
64
|
+
--destructive-active: 0 63% 26%;
|
|
65
|
+
|
|
66
|
+
/* Danger (Indicator - Bright red for errors, alerts, validation) */
|
|
67
|
+
--danger: 0 84% 60%;
|
|
68
|
+
--danger-foreground: 0 0% 100%;
|
|
69
|
+
--danger-hover: 0 72% 51%;
|
|
65
70
|
|
|
66
71
|
/* Success */
|
|
67
72
|
--success: 142 71% 45%;
|
|
@@ -81,12 +86,13 @@
|
|
|
81
86
|
/* Border & Input */
|
|
82
87
|
--border: 220 13% 87%;
|
|
83
88
|
--input: 220 13% 87%;
|
|
84
|
-
--ring:
|
|
89
|
+
--ring: 218 100% 59%;
|
|
85
90
|
|
|
86
91
|
/* Semantic Border Tokens */
|
|
87
|
-
--border-primary:
|
|
92
|
+
--border-primary: 218 100% 59%;
|
|
88
93
|
--border-secondary: 220 13% 87%;
|
|
89
|
-
--border-destructive: 0
|
|
94
|
+
--border-destructive: 0 63% 31%;
|
|
95
|
+
--border-danger: 0 84% 60%;
|
|
90
96
|
--border-success: 142 71% 45%;
|
|
91
97
|
--border-warning: 38 92% 50%;
|
|
92
98
|
--border-info: 217 91% 60%;
|
|
@@ -137,12 +143,17 @@
|
|
|
137
143
|
--color-accent-subtle-foreground: hsl(var(--accent-subtle-foreground));
|
|
138
144
|
--color-accent-subtle-hover: hsl(var(--accent-subtle-hover));
|
|
139
145
|
|
|
140
|
-
/* Destructive Tokens (
|
|
146
|
+
/* Destructive Tokens (Action - Dark Maroon) */
|
|
141
147
|
--color-destructive: hsl(var(--destructive));
|
|
142
148
|
--color-destructive-foreground: hsl(var(--destructive-foreground));
|
|
143
149
|
--color-destructive-hover: hsl(var(--destructive-hover));
|
|
144
150
|
--color-destructive-active: hsl(var(--destructive-active));
|
|
145
151
|
|
|
152
|
+
/* Danger Tokens (Indicator - Bright Red) */
|
|
153
|
+
--color-danger: hsl(var(--danger));
|
|
154
|
+
--color-danger-foreground: hsl(var(--danger-foreground));
|
|
155
|
+
--color-danger-hover: hsl(var(--danger-hover));
|
|
156
|
+
|
|
146
157
|
/* Success Tokens (Green) */
|
|
147
158
|
--color-success: hsl(var(--success));
|
|
148
159
|
--color-success-foreground: hsl(var(--success-foreground));
|
|
@@ -167,6 +178,7 @@
|
|
|
167
178
|
--color-border-primary: hsl(var(--border-primary));
|
|
168
179
|
--color-border-secondary: hsl(var(--border-secondary));
|
|
169
180
|
--color-border-destructive: hsl(var(--border-destructive));
|
|
181
|
+
--color-border-danger: hsl(var(--border-danger));
|
|
170
182
|
--color-border-success: hsl(var(--border-success));
|
|
171
183
|
--color-border-warning: hsl(var(--border-warning));
|
|
172
184
|
--color-border-info: hsl(var(--border-info));
|
|
@@ -216,12 +228,17 @@
|
|
|
216
228
|
--accent-subtle-foreground: 213 94% 68%;
|
|
217
229
|
--accent-subtle-hover: 217 19% 35%;
|
|
218
230
|
|
|
219
|
-
/* Destructive (
|
|
231
|
+
/* Destructive (Action) - Inverted for dark mode */
|
|
220
232
|
--destructive: 0 84% 60%;
|
|
221
233
|
--destructive-foreground: 0 0% 98%;
|
|
222
234
|
--destructive-hover: 0 91% 71%;
|
|
223
235
|
--destructive-active: 0 72% 51%;
|
|
224
236
|
|
|
237
|
+
/* Danger (Indicator) - Bright red for errors on dark backgrounds */
|
|
238
|
+
--danger: 0 84% 60%;
|
|
239
|
+
--danger-foreground: 0 0% 98%;
|
|
240
|
+
--danger-hover: 0 91% 71%;
|
|
241
|
+
|
|
225
242
|
/* Success - Slightly lighter */
|
|
226
243
|
--success: 142 71% 45%;
|
|
227
244
|
--success-foreground: 0 0% 100%;
|
|
@@ -246,12 +263,88 @@
|
|
|
246
263
|
--border-primary: 217 91% 60%;
|
|
247
264
|
--border-secondary: 220 13% 24%;
|
|
248
265
|
--border-destructive: 0 84% 60%;
|
|
266
|
+
--border-danger: 0 84% 60%;
|
|
249
267
|
--border-success: 142 71% 45%;
|
|
250
268
|
--border-warning: 38 92% 50%;
|
|
251
269
|
--border-info: 213 97% 70%;
|
|
252
270
|
}
|
|
253
271
|
}
|
|
254
272
|
|
|
273
|
+
/* Button gradient shine overlay - subtle white-to-transparent highlight from Figma */
|
|
274
|
+
.lua-btn-shine {
|
|
275
|
+
position: relative;
|
|
276
|
+
overflow: hidden;
|
|
277
|
+
}
|
|
278
|
+
.lua-btn-shine::before {
|
|
279
|
+
content: '';
|
|
280
|
+
position: absolute;
|
|
281
|
+
inset: 0;
|
|
282
|
+
border-radius: inherit;
|
|
283
|
+
pointer-events: none;
|
|
284
|
+
z-index: 1;
|
|
285
|
+
}
|
|
286
|
+
.lua-btn-shine-brand::before {
|
|
287
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
|
|
288
|
+
}
|
|
289
|
+
.lua-btn-shine-destructive::before {
|
|
290
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
|
|
291
|
+
}
|
|
292
|
+
.lua-btn-shine:disabled::before {
|
|
293
|
+
display: none;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
@keyframes button-loader-pulse {
|
|
297
|
+
0%, 100% { opacity: 0.35; transform: scale(0.95); }
|
|
298
|
+
50% { opacity: 1; transform: scale(1); }
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.lua-btn-loader-dot {
|
|
302
|
+
animation: button-loader-pulse 1.4s ease-in-out infinite;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.lua-btn-loader-dot:nth-child(2) {
|
|
306
|
+
animation-delay: 0.2s;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.lua-btn-loader-dot:nth-child(3) {
|
|
310
|
+
animation-delay: 0.4s;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.lua-btn-loading[data-loading='true'] {
|
|
314
|
+
--lua-loading-bg: hsl(220 13% 95%);
|
|
315
|
+
--lua-loading-text: hsl(220 9% 46%);
|
|
316
|
+
background-color: var(--lua-loading-bg) !important;
|
|
317
|
+
color: var(--lua-loading-text) !important;
|
|
318
|
+
border-color: transparent !important;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.lua-btn-loading[data-loading='true'][data-variant='brand'] {
|
|
322
|
+
--lua-loading-bg: hsl(218 100% 59% / 0.15);
|
|
323
|
+
--lua-loading-text: hsl(218 100% 59%);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.lua-btn-loading[data-loading='true'][data-variant='destructive'] {
|
|
327
|
+
--lua-loading-bg: hsl(0 63% 31% / 0.12);
|
|
328
|
+
--lua-loading-text: hsl(0 63% 31%);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
@media (prefers-color-scheme: dark) {
|
|
332
|
+
.lua-btn-loading[data-loading='true'] {
|
|
333
|
+
--lua-loading-bg: hsl(220 13% 16%);
|
|
334
|
+
--lua-loading-text: hsl(220 9% 65%);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.lua-btn-loading[data-loading='true'][data-variant='brand'] {
|
|
338
|
+
--lua-loading-bg: hsl(217 91% 60% / 0.2);
|
|
339
|
+
--lua-loading-text: hsl(213 97% 70%);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.lua-btn-loading[data-loading='true'][data-variant='destructive'] {
|
|
343
|
+
--lua-loading-bg: hsl(0 84% 60% / 0.15);
|
|
344
|
+
--lua-loading-text: hsl(0 91% 71%);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
255
348
|
.rdp-root {
|
|
256
349
|
/* Calendar background */
|
|
257
350
|
--rdp-background-color: hsl(var(--surface));
|