ui-svelte 0.2.12 → 0.2.14

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 (98) hide show
  1. package/README.md +2 -2
  2. package/dist/charts/ArcChart.svelte +0 -1
  3. package/dist/control/Fab.svelte +103 -0
  4. package/dist/control/Fab.svelte.d.ts +25 -0
  5. package/dist/control/Record.svelte +0 -3
  6. package/dist/control/ToggleTheme.svelte +1 -1
  7. package/dist/control/Video.svelte +2 -0
  8. package/dist/control/css/btn.css +17 -17
  9. package/dist/control/css/fab.css +84 -0
  10. package/dist/control/css/media.css +7 -7
  11. package/dist/control/css/toggle-group.css +1 -17
  12. package/dist/css/decorations.css +348 -189
  13. package/dist/css/utilities.css +0 -4
  14. package/dist/display/Accordion.svelte +3 -3
  15. package/dist/display/Accordion.svelte.d.ts +1 -1
  16. package/dist/display/Card.svelte +3 -3
  17. package/dist/display/Card.svelte.d.ts +1 -1
  18. package/dist/display/Code.svelte +1 -1
  19. package/dist/display/Collapsible.svelte +3 -3
  20. package/dist/display/Collapsible.svelte.d.ts +1 -1
  21. package/dist/display/Countdown.svelte +169 -0
  22. package/dist/display/Countdown.svelte.d.ts +21 -0
  23. package/dist/display/Item.svelte +12 -0
  24. package/dist/display/Item.svelte.d.ts +2 -0
  25. package/dist/display/Marquee.svelte +0 -2
  26. package/dist/display/Section.svelte +3 -3
  27. package/dist/display/Section.svelte.d.ts +1 -1
  28. package/dist/display/css/accordion.css +14 -14
  29. package/dist/display/css/alert.css +42 -15
  30. package/dist/display/css/avatar.css +36 -36
  31. package/dist/display/css/card.css +108 -36
  32. package/dist/display/css/chip.css +16 -16
  33. package/dist/display/css/collapsible.css +32 -32
  34. package/dist/display/css/countdown.css +206 -0
  35. package/dist/display/css/item.css +24 -0
  36. package/dist/display/css/marquee.css +0 -3
  37. package/dist/display/css/section.css +88 -109
  38. package/dist/display/css/table.css +1 -16
  39. package/dist/form/ColorField.svelte +60 -2
  40. package/dist/form/DragDrop.svelte +317 -87
  41. package/dist/form/DragDrop.svelte.d.ts +1 -0
  42. package/dist/form/Dropzone.svelte +3 -3
  43. package/dist/form/Dropzone.svelte.d.ts +1 -1
  44. package/dist/form/ImageCropper.svelte +135 -4
  45. package/dist/form/RadioGroup.svelte +6 -2
  46. package/dist/form/RadioGroup.svelte.d.ts +1 -1
  47. package/dist/form/Slider.svelte +6 -2
  48. package/dist/form/Slider.svelte.d.ts +1 -1
  49. package/dist/form/TextField.svelte +13 -4
  50. package/dist/form/TextField.svelte.d.ts +3 -2
  51. package/dist/form/Toggle.svelte +6 -2
  52. package/dist/form/Toggle.svelte.d.ts +1 -1
  53. package/dist/form/css/control.css +14 -14
  54. package/dist/form/css/csv-field.css +8 -13
  55. package/dist/form/css/drag-drop.css +90 -127
  56. package/dist/form/css/dropzone.css +8 -8
  57. package/dist/form/css/editor.css +14 -14
  58. package/dist/form/css/image-cropper.css +28 -7
  59. package/dist/form/css/radio-group.css +25 -0
  60. package/dist/form/css/slider.css +36 -0
  61. package/dist/form/css/textarea.css +14 -14
  62. package/dist/form/css/toggle.css +12 -0
  63. package/dist/hooks/use-chat.svelte.js +1 -1
  64. package/dist/hooks/use-form.svelte.js +3 -3
  65. package/dist/hooks/use-search.svelte.js +0 -3
  66. package/dist/icons/index.d.ts +4 -0
  67. package/dist/icons/index.js +4 -0
  68. package/dist/index.css +28 -48
  69. package/dist/index.d.ts +4 -2
  70. package/dist/index.js +3 -1
  71. package/dist/layout/Provider.svelte +5 -5
  72. package/dist/layout/Sidebar.svelte +17 -8
  73. package/dist/layout/Sidebar.svelte.d.ts +2 -1
  74. package/dist/layout/css/app-bar.css +8 -7
  75. package/dist/layout/css/footer.css +7 -7
  76. package/dist/layout/css/sidebar.css +120 -59
  77. package/dist/navigation/BottomNav.svelte +23 -14
  78. package/dist/navigation/css/bottom-nav.css +74 -34
  79. package/dist/navigation/css/nav-menu.css +14 -15
  80. package/dist/navigation/css/side-nav.css +14 -15
  81. package/dist/overlay/AlertDialog.svelte +58 -0
  82. package/dist/overlay/AlertDialog.svelte.d.ts +14 -25
  83. package/dist/overlay/Command.svelte +177 -170
  84. package/dist/overlay/Command.svelte.d.ts +12 -3
  85. package/dist/overlay/Drawer.svelte +4 -4
  86. package/dist/overlay/Drawer.svelte.d.ts +1 -1
  87. package/dist/overlay/Modal.svelte +4 -4
  88. package/dist/overlay/Modal.svelte.d.ts +1 -1
  89. package/dist/overlay/Tooltip.svelte +0 -5
  90. package/dist/overlay/css/command.css +30 -42
  91. package/dist/overlay/css/drawer.css +10 -10
  92. package/dist/overlay/css/modal.css +70 -18
  93. package/dist/overlay/css/toast.css +42 -14
  94. package/dist/overlay/css/tooltip.css +49 -23
  95. package/dist/stores/theme.svelte.js +19 -12
  96. package/package.json +3 -2
  97. package/dist/utils/charts.d.ts +0 -27
  98. package/dist/utils/charts.js +0 -140
@@ -1,12 +1,4 @@
1
1
  @layer components {
2
- /* ==============================================
3
- BORDER DECORATIONS
4
- Clases para decorar bordes de tarjetas y botones
5
- ============================================== */
6
-
7
- /* ------------------------------------------
8
- GLOW BORDERS - Bordes con efecto luminoso
9
- ------------------------------------------ */
10
2
  .bd-glow {
11
3
  position: relative;
12
4
  border: 1px solid transparent;
@@ -23,9 +15,6 @@
23
15
  0 0 40px color-mix(in oklch, var(--bd-color, var(--primary)) 40%, transparent);
24
16
  }
25
17
 
26
- /* ------------------------------------------
27
- NEON BORDERS - Bordes estilo neón intenso
28
- ------------------------------------------ */
29
18
  .bd-neon {
30
19
  position: relative;
31
20
  border: 2px solid var(--bd-color, var(--secondary));
@@ -38,14 +27,15 @@
38
27
  }
39
28
 
40
29
  @keyframes neon-pulse {
41
- 0%, 100% {
30
+ 0%,
31
+ 100% {
42
32
  box-shadow:
43
33
  0 0 5px var(--bd-color, var(--secondary)),
44
34
  0 0 10px var(--bd-color, var(--secondary)),
45
35
  0 0 20px var(--bd-color, var(--secondary)),
46
36
  inset 0 0 10px color-mix(in oklch, var(--bd-color, var(--secondary)) 20%, transparent);
47
37
  }
48
- 50% {
38
+ 50% {
49
39
  box-shadow:
50
40
  0 0 10px var(--bd-color, var(--secondary)),
51
41
  0 0 20px var(--bd-color, var(--secondary)),
@@ -54,15 +44,13 @@
54
44
  }
55
45
  }
56
46
 
57
- /* ------------------------------------------
58
- GRADIENT BORDERS - Bordes con gradiente
59
- ------------------------------------------ */
60
47
  .bd-grad {
61
48
  position: relative;
62
49
  border: 2px solid transparent;
63
- background:
50
+ background:
64
51
  linear-gradient(var(--background), var(--background)) padding-box,
65
- linear-gradient(135deg, var(--bd-from, var(--primary)), var(--bd-to, var(--secondary))) border-box;
52
+ linear-gradient(135deg, var(--bd-from, var(--primary)), var(--bd-to, var(--secondary)))
53
+ border-box;
66
54
  transition: all 0.3s ease;
67
55
  }
68
56
 
@@ -70,39 +58,49 @@
70
58
  box-shadow: 0 4px 20px color-mix(in oklch, var(--bd-from, var(--primary)) 30%, transparent);
71
59
  }
72
60
 
73
- /* ------------------------------------------
74
- RAINBOW BORDERS - Bordes multicolor animados
75
- ------------------------------------------ */
76
61
  .bd-rainbow {
77
62
  position: relative;
78
- border: 2px solid transparent;
79
- background:
80
- linear-gradient(var(--background), var(--background)) padding-box,
81
- linear-gradient(var(--rainbow-angle, 90deg),
82
- var(--danger) 0%,
83
- var(--warning) 20%,
84
- var(--success) 40%,
85
- var(--info) 60%,
86
- var(--primary) 80%,
87
- var(--secondary) 100%
88
- ) border-box;
63
+ border: none;
64
+ overflow: hidden;
65
+ background: var(--background);
66
+ }
67
+
68
+ .bd-rainbow::before {
69
+ content: '';
70
+ position: absolute;
71
+ inset: -50%;
72
+ background: conic-gradient(
73
+ var(--danger) 0deg,
74
+ var(--warning) 60deg,
75
+ var(--success) 120deg,
76
+ var(--info) 180deg,
77
+ var(--primary) 240deg,
78
+ var(--secondary) 300deg,
79
+ var(--danger) 360deg
80
+ );
89
81
  animation: rainbow-rotate 3s linear infinite;
82
+ z-index: -1;
83
+ border-radius: inherit;
90
84
  }
91
85
 
92
- @keyframes rainbow-rotate {
93
- 0% { --rainbow-angle: 0deg; }
94
- 100% { --rainbow-angle: 360deg; }
86
+ .bd-rainbow::after {
87
+ content: '';
88
+ position: absolute;
89
+ inset: 2px;
90
+ background: var(--background);
91
+ border-radius: inherit;
92
+ z-index: -1;
95
93
  }
96
94
 
97
- @property --rainbow-angle {
98
- syntax: '<angle>';
99
- initial-value: 0deg;
100
- inherits: false;
95
+ @keyframes rainbow-rotate {
96
+ 0% {
97
+ transform: rotate(0deg);
98
+ }
99
+ 100% {
100
+ transform: rotate(360deg);
101
+ }
101
102
  }
102
103
 
103
- /* ------------------------------------------
104
- SHIMMER BORDERS - Bordes con brillo desplazándose
105
- ------------------------------------------ */
106
104
  .bd-shimmer {
107
105
  position: relative;
108
106
  overflow: hidden;
@@ -122,22 +120,27 @@
122
120
  background-size: 200% 100%;
123
121
  animation: shimmer-slide 2s linear infinite;
124
122
  pointer-events: none;
125
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
123
+ mask:
124
+ linear-gradient(#fff 0 0) content-box,
125
+ linear-gradient(#fff 0 0);
126
126
  mask-composite: exclude;
127
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
127
+ -webkit-mask:
128
+ linear-gradient(#fff 0 0) content-box,
129
+ linear-gradient(#fff 0 0);
128
130
  -webkit-mask-composite: xor;
129
131
  padding: 2px;
130
132
  border-radius: inherit;
131
133
  }
132
134
 
133
135
  @keyframes shimmer-slide {
134
- 0% { background-position: 200% 0; }
135
- 100% { background-position: -200% 0; }
136
+ 0% {
137
+ background-position: 200% 0;
138
+ }
139
+ 100% {
140
+ background-position: -200% 0;
141
+ }
136
142
  }
137
143
 
138
- /* ------------------------------------------
139
- PULSE BORDERS - Bordes con pulso animado
140
- ------------------------------------------ */
141
144
  .bd-pulse {
142
145
  position: relative;
143
146
  border: 2px solid var(--bd-color, var(--primary));
@@ -165,49 +168,47 @@
165
168
  }
166
169
  }
167
170
 
168
- /* ------------------------------------------
169
- WAVE BORDERS - Bordes con onda animada
170
- ------------------------------------------ */
171
171
  .bd-wave {
172
172
  position: relative;
173
173
  border: none;
174
174
  overflow: hidden;
175
+ background: var(--background);
175
176
  }
176
177
 
177
178
  .bd-wave::before {
178
179
  content: '';
179
180
  position: absolute;
180
- inset: 0;
181
- padding: 2px;
181
+ inset: -50%;
182
182
  background: conic-gradient(
183
- from var(--wave-angle, 0deg),
184
183
  var(--bd-color, var(--primary)),
185
- transparent,
186
- var(--bd-color, var(--primary))
184
+ transparent 90deg,
185
+ var(--bd-color, var(--primary)) 180deg,
186
+ transparent 270deg,
187
+ var(--bd-color, var(--primary)) 360deg
187
188
  );
188
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
189
- mask-composite: exclude;
190
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
191
- -webkit-mask-composite: xor;
192
- border-radius: inherit;
193
189
  animation: wave-spin 2s linear infinite;
194
- pointer-events: none;
190
+ z-index: -1;
191
+ border-radius: inherit;
195
192
  }
196
193
 
197
- @keyframes wave-spin {
198
- 0% { --wave-angle: 0deg; }
199
- 100% { --wave-angle: 360deg; }
194
+ .bd-wave::after {
195
+ content: '';
196
+ position: absolute;
197
+ inset: 2px;
198
+ background: var(--background);
199
+ border-radius: inherit;
200
+ z-index: -1;
200
201
  }
201
202
 
202
- @property --wave-angle {
203
- syntax: '<angle>';
204
- initial-value: 0deg;
205
- inherits: false;
203
+ @keyframes wave-spin {
204
+ 0% {
205
+ transform: rotate(0deg);
206
+ }
207
+ 100% {
208
+ transform: rotate(360deg);
209
+ }
206
210
  }
207
211
 
208
- /* ------------------------------------------
209
- FROST BORDERS - Bordes con efecto escarcha
210
- ------------------------------------------ */
211
212
  .bd-frost {
212
213
  position: relative;
213
214
  border: 1px solid color-mix(in oklch, var(--bd-color, var(--info)) 50%, white);
@@ -224,9 +225,6 @@
224
225
  inset 0 0 30px color-mix(in oklch, var(--bd-color, var(--info)) 15%, white);
225
226
  }
226
227
 
227
- /* ------------------------------------------
228
- EMBER BORDERS - Bordes con efecto fuego
229
- ------------------------------------------ */
230
228
  .bd-ember {
231
229
  position: relative;
232
230
  border: 2px solid var(--danger);
@@ -253,9 +251,6 @@
253
251
  }
254
252
  }
255
253
 
256
- /* ------------------------------------------
257
- LASER BORDERS - Bordes con línea láser
258
- ------------------------------------------ */
259
254
  .bd-laser {
260
255
  position: relative;
261
256
  border: 1px solid color-mix(in oklch, var(--bd-color, var(--primary)) 30%, transparent);
@@ -274,129 +269,293 @@
274
269
  }
275
270
 
276
271
  @keyframes laser-scan {
277
- 0% { top: 0; left: -20%; }
278
- 25% { top: 0; left: 100%; }
279
- 25.01% { top: 0; left: 100%; transform: rotate(90deg); }
280
- 50% { top: 100%; left: 100%; transform: rotate(90deg); }
281
- 50.01% { top: 100%; left: 100%; transform: rotate(180deg); }
282
- 75% { top: 100%; left: -20%; transform: rotate(180deg); }
283
- 75.01% { top: 100%; left: -20%; transform: rotate(270deg); }
284
- 100% { top: 0; left: -20%; transform: rotate(270deg); }
285
- }
286
-
287
- /* ------------------------------------------
288
- SOLID BORDERS - Bordes sólidos simples
289
- ------------------------------------------ */
272
+ 0% {
273
+ top: 0;
274
+ left: -20%;
275
+ }
276
+ 25% {
277
+ top: 0;
278
+ left: 100%;
279
+ }
280
+ 25.01% {
281
+ top: 0;
282
+ left: 100%;
283
+ transform: rotate(90deg);
284
+ }
285
+ 50% {
286
+ top: 100%;
287
+ left: 100%;
288
+ transform: rotate(90deg);
289
+ }
290
+ 50.01% {
291
+ top: 100%;
292
+ left: 100%;
293
+ transform: rotate(180deg);
294
+ }
295
+ 75% {
296
+ top: 100%;
297
+ left: -20%;
298
+ transform: rotate(180deg);
299
+ }
300
+ 75.01% {
301
+ top: 100%;
302
+ left: -20%;
303
+ transform: rotate(270deg);
304
+ }
305
+ 100% {
306
+ top: 0;
307
+ left: -20%;
308
+ transform: rotate(270deg);
309
+ }
310
+ }
311
+
290
312
  .bd-solid {
291
313
  border: 2px solid var(--bd-color, var(--on-background));
292
314
  transition: all 0.3s ease;
293
315
  }
294
316
 
295
317
  .bd-solid:hover {
296
- box-shadow: 0 0 0 2px color-mix(in oklch, var(--bd-color, var(--on-background)) 30%, transparent);
318
+ box-shadow: 0 0 0 2px
319
+ color-mix(in oklch, var(--bd-color, var(--on-background)) 30%, transparent);
297
320
  }
298
321
 
299
- /* ------------------------------------------
300
- DASHED BORDERS - Bordes punteados animados
301
- ------------------------------------------ */
302
322
  .bd-dash {
303
323
  border: 2px dashed var(--bd-color, var(--primary));
304
324
  animation: dash-march 1s linear infinite;
305
- background:
306
- linear-gradient(90deg, var(--bd-color, var(--primary)) 50%, transparent 50%) top/10px 2px repeat-x,
307
- linear-gradient(90deg, var(--bd-color, var(--primary)) 50%, transparent 50%) bottom/10px 2px repeat-x,
308
- linear-gradient(0deg, var(--bd-color, var(--primary)) 50%, transparent 50%) left/2px 10px repeat-y,
309
- linear-gradient(0deg, var(--bd-color, var(--primary)) 50%, transparent 50%) right/2px 10px repeat-y;
325
+ background:
326
+ linear-gradient(90deg, var(--bd-color, var(--primary)) 50%, transparent 50%) top/10px 2px
327
+ repeat-x,
328
+ linear-gradient(90deg, var(--bd-color, var(--primary)) 50%, transparent 50%) bottom/10px 2px
329
+ repeat-x,
330
+ linear-gradient(0deg, var(--bd-color, var(--primary)) 50%, transparent 50%) left/2px 10px
331
+ repeat-y,
332
+ linear-gradient(0deg, var(--bd-color, var(--primary)) 50%, transparent 50%) right/2px 10px
333
+ repeat-y;
310
334
  border: none;
311
- background-size: 20px 2px, 20px 2px, 2px 20px, 2px 20px;
335
+ background-size:
336
+ 20px 2px,
337
+ 20px 2px,
338
+ 2px 20px,
339
+ 2px 20px;
312
340
  animation: dash-march 0.5s linear infinite;
313
341
  }
314
342
 
315
343
  @keyframes dash-march {
316
- 0% { background-position: 0 0, 0 100%, 0 0, 100% 0; }
317
- 100% { background-position: 20px 0, -20px 100%, 0 -20px, 100% 20px; }
318
- }
319
-
320
- /* ==============================================
321
- COLOR VARIANTS
322
- ============================================== */
323
-
324
- /* Primary */
325
- .bd-glow-primary { --bd-color: var(--primary); }
326
- .bd-neon-primary { --bd-color: var(--primary); }
327
- .bd-grad-primary { --bd-from: var(--primary); --bd-to: color-mix(in oklch, var(--primary) 60%, var(--secondary)); }
328
- .bd-shimmer-primary { --bd-color: var(--primary); }
329
- .bd-pulse-primary { --bd-color: var(--primary); }
330
- .bd-wave-primary { --bd-color: var(--primary); }
331
- .bd-frost-primary { --bd-color: var(--primary); }
332
- .bd-laser-primary { --bd-color: var(--primary); }
333
- .bd-solid-primary { --bd-color: var(--primary); }
334
- .bd-dash-primary { --bd-color: var(--primary); }
335
-
336
- /* Secondary */
337
- .bd-glow-secondary { --bd-color: var(--secondary); }
338
- .bd-neon-secondary { --bd-color: var(--secondary); }
339
- .bd-grad-secondary { --bd-from: var(--secondary); --bd-to: color-mix(in oklch, var(--secondary) 60%, var(--primary)); }
340
- .bd-shimmer-secondary { --bd-color: var(--secondary); }
341
- .bd-pulse-secondary { --bd-color: var(--secondary); }
342
- .bd-wave-secondary { --bd-color: var(--secondary); }
343
- .bd-frost-secondary { --bd-color: var(--secondary); }
344
- .bd-laser-secondary { --bd-color: var(--secondary); }
345
- .bd-solid-secondary { --bd-color: var(--secondary); }
346
- .bd-dash-secondary { --bd-color: var(--secondary); }
347
-
348
- /* Success */
349
- .bd-glow-success { --bd-color: var(--success); }
350
- .bd-neon-success { --bd-color: var(--success); }
351
- .bd-grad-success { --bd-from: var(--success); --bd-to: color-mix(in oklch, var(--success) 60%, var(--info)); }
352
- .bd-shimmer-success { --bd-color: var(--success); }
353
- .bd-pulse-success { --bd-color: var(--success); }
354
- .bd-wave-success { --bd-color: var(--success); }
355
- .bd-frost-success { --bd-color: var(--success); }
356
- .bd-laser-success { --bd-color: var(--success); }
357
- .bd-solid-success { --bd-color: var(--success); }
358
- .bd-dash-success { --bd-color: var(--success); }
359
-
360
- /* Warning */
361
- .bd-glow-warning { --bd-color: var(--warning); }
362
- .bd-neon-warning { --bd-color: var(--warning); }
363
- .bd-grad-warning { --bd-from: var(--warning); --bd-to: color-mix(in oklch, var(--warning) 60%, var(--danger)); }
364
- .bd-shimmer-warning { --bd-color: var(--warning); }
365
- .bd-pulse-warning { --bd-color: var(--warning); }
366
- .bd-wave-warning { --bd-color: var(--warning); }
367
- .bd-frost-warning { --bd-color: var(--warning); }
368
- .bd-laser-warning { --bd-color: var(--warning); }
369
- .bd-solid-warning { --bd-color: var(--warning); }
370
- .bd-dash-warning { --bd-color: var(--warning); }
371
-
372
- /* Danger */
373
- .bd-glow-danger { --bd-color: var(--danger); }
374
- .bd-neon-danger { --bd-color: var(--danger); }
375
- .bd-grad-danger { --bd-from: var(--danger); --bd-to: color-mix(in oklch, var(--danger) 60%, var(--warning)); }
376
- .bd-shimmer-danger { --bd-color: var(--danger); }
377
- .bd-pulse-danger { --bd-color: var(--danger); }
378
- .bd-wave-danger { --bd-color: var(--danger); }
379
- .bd-frost-danger { --bd-color: var(--danger); }
380
- .bd-laser-danger { --bd-color: var(--danger); }
381
- .bd-solid-danger { --bd-color: var(--danger); }
382
- .bd-dash-danger { --bd-color: var(--danger); }
383
-
384
- /* Info */
385
- .bd-glow-info { --bd-color: var(--info); }
386
- .bd-neon-info { --bd-color: var(--info); }
387
- .bd-grad-info { --bd-from: var(--info); --bd-to: color-mix(in oklch, var(--info) 60%, var(--primary)); }
388
- .bd-shimmer-info { --bd-color: var(--info); }
389
- .bd-pulse-info { --bd-color: var(--info); }
390
- .bd-wave-info { --bd-color: var(--info); }
391
- .bd-frost-info { --bd-color: var(--info); }
392
- .bd-laser-info { --bd-color: var(--info); }
393
- .bd-solid-info { --bd-color: var(--info); }
394
- .bd-dash-info { --bd-color: var(--info); }
395
-
396
- /* ==============================================
397
- BORDER WIDTH MODIFIERS
398
- ============================================== */
399
- .bd-thin { --bd-width: 1px; }
400
- .bd-thick { --bd-width: 3px; }
401
- .bd-bold { --bd-width: 4px; }
402
- }
344
+ 0% {
345
+ background-position:
346
+ 0 0,
347
+ 0 100%,
348
+ 0 0,
349
+ 100% 0;
350
+ }
351
+ 100% {
352
+ background-position:
353
+ 20px 0,
354
+ -20px 100%,
355
+ 0 -20px,
356
+ 100% 20px;
357
+ }
358
+ }
359
+
360
+ .bd-glow-primary {
361
+ --bd-color: var(--primary);
362
+ }
363
+ .bd-neon-primary {
364
+ --bd-color: var(--primary);
365
+ }
366
+ .bd-grad-primary {
367
+ --bd-from: var(--primary);
368
+ --bd-to: color-mix(in oklch, var(--primary) 60%, var(--secondary));
369
+ }
370
+ .bd-shimmer-primary {
371
+ --bd-color: var(--primary);
372
+ }
373
+ .bd-pulse-primary {
374
+ --bd-color: var(--primary);
375
+ }
376
+ .bd-wave-primary {
377
+ --bd-color: var(--primary);
378
+ }
379
+ .bd-frost-primary {
380
+ --bd-color: var(--primary);
381
+ }
382
+ .bd-laser-primary {
383
+ --bd-color: var(--primary);
384
+ }
385
+ .bd-solid-primary {
386
+ --bd-color: var(--primary);
387
+ }
388
+ .bd-dash-primary {
389
+ --bd-color: var(--primary);
390
+ }
391
+
392
+ .bd-glow-secondary {
393
+ --bd-color: var(--secondary);
394
+ }
395
+ .bd-neon-secondary {
396
+ --bd-color: var(--secondary);
397
+ }
398
+ .bd-grad-secondary {
399
+ --bd-from: var(--secondary);
400
+ --bd-to: color-mix(in oklch, var(--secondary) 60%, var(--primary));
401
+ }
402
+ .bd-shimmer-secondary {
403
+ --bd-color: var(--secondary);
404
+ }
405
+ .bd-pulse-secondary {
406
+ --bd-color: var(--secondary);
407
+ }
408
+ .bd-wave-secondary {
409
+ --bd-color: var(--secondary);
410
+ }
411
+ .bd-frost-secondary {
412
+ --bd-color: var(--secondary);
413
+ }
414
+ .bd-laser-secondary {
415
+ --bd-color: var(--secondary);
416
+ }
417
+ .bd-solid-secondary {
418
+ --bd-color: var(--secondary);
419
+ }
420
+ .bd-dash-secondary {
421
+ --bd-color: var(--secondary);
422
+ }
423
+
424
+ .bd-glow-success {
425
+ --bd-color: var(--success);
426
+ }
427
+ .bd-neon-success {
428
+ --bd-color: var(--success);
429
+ }
430
+ .bd-grad-success {
431
+ --bd-from: var(--success);
432
+ --bd-to: color-mix(in oklch, var(--success) 60%, var(--info));
433
+ }
434
+ .bd-shimmer-success {
435
+ --bd-color: var(--success);
436
+ }
437
+ .bd-pulse-success {
438
+ --bd-color: var(--success);
439
+ }
440
+ .bd-wave-success {
441
+ --bd-color: var(--success);
442
+ }
443
+ .bd-frost-success {
444
+ --bd-color: var(--success);
445
+ }
446
+ .bd-laser-success {
447
+ --bd-color: var(--success);
448
+ }
449
+ .bd-solid-success {
450
+ --bd-color: var(--success);
451
+ }
452
+ .bd-dash-success {
453
+ --bd-color: var(--success);
454
+ }
455
+
456
+ .bd-glow-warning {
457
+ --bd-color: var(--warning);
458
+ }
459
+ .bd-neon-warning {
460
+ --bd-color: var(--warning);
461
+ }
462
+ .bd-grad-warning {
463
+ --bd-from: var(--warning);
464
+ --bd-to: color-mix(in oklch, var(--warning) 60%, var(--danger));
465
+ }
466
+ .bd-shimmer-warning {
467
+ --bd-color: var(--warning);
468
+ }
469
+ .bd-pulse-warning {
470
+ --bd-color: var(--warning);
471
+ }
472
+ .bd-wave-warning {
473
+ --bd-color: var(--warning);
474
+ }
475
+ .bd-frost-warning {
476
+ --bd-color: var(--warning);
477
+ }
478
+ .bd-laser-warning {
479
+ --bd-color: var(--warning);
480
+ }
481
+ .bd-solid-warning {
482
+ --bd-color: var(--warning);
483
+ }
484
+ .bd-dash-warning {
485
+ --bd-color: var(--warning);
486
+ }
487
+
488
+ .bd-glow-danger {
489
+ --bd-color: var(--danger);
490
+ }
491
+ .bd-neon-danger {
492
+ --bd-color: var(--danger);
493
+ }
494
+ .bd-grad-danger {
495
+ --bd-from: var(--danger);
496
+ --bd-to: color-mix(in oklch, var(--danger) 60%, var(--warning));
497
+ }
498
+ .bd-shimmer-danger {
499
+ --bd-color: var(--danger);
500
+ }
501
+ .bd-pulse-danger {
502
+ --bd-color: var(--danger);
503
+ }
504
+ .bd-wave-danger {
505
+ --bd-color: var(--danger);
506
+ }
507
+ .bd-frost-danger {
508
+ --bd-color: var(--danger);
509
+ }
510
+ .bd-laser-danger {
511
+ --bd-color: var(--danger);
512
+ }
513
+ .bd-solid-danger {
514
+ --bd-color: var(--danger);
515
+ }
516
+ .bd-dash-danger {
517
+ --bd-color: var(--danger);
518
+ }
519
+
520
+ .bd-glow-info {
521
+ --bd-color: var(--info);
522
+ }
523
+ .bd-neon-info {
524
+ --bd-color: var(--info);
525
+ }
526
+ .bd-grad-info {
527
+ --bd-from: var(--info);
528
+ --bd-to: color-mix(in oklch, var(--info) 60%, var(--primary));
529
+ }
530
+ .bd-shimmer-info {
531
+ --bd-color: var(--info);
532
+ }
533
+ .bd-pulse-info {
534
+ --bd-color: var(--info);
535
+ }
536
+ .bd-wave-info {
537
+ --bd-color: var(--info);
538
+ }
539
+ .bd-frost-info {
540
+ --bd-color: var(--info);
541
+ }
542
+ .bd-laser-info {
543
+ --bd-color: var(--info);
544
+ }
545
+ .bd-solid-info {
546
+ --bd-color: var(--info);
547
+ }
548
+ .bd-dash-info {
549
+ --bd-color: var(--info);
550
+ }
551
+
552
+ .bd-thin {
553
+ --bd-width: 1px;
554
+ }
555
+ .bd-thick {
556
+ --bd-width: 3px;
557
+ }
558
+ .bd-bold {
559
+ --bd-width: 4px;
560
+ }
561
+ }
@@ -104,7 +104,6 @@
104
104
  @apply col-span-12;
105
105
  }
106
106
 
107
- /* Grid auto-fit (responsive) */
108
107
  @utility grid-auto-fit {
109
108
  @apply grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))];
110
109
  }
@@ -113,9 +112,6 @@
113
112
  @apply grid grid-cols-[repeat(auto-fill,minmax(250px,1fr))];
114
113
  }
115
114
 
116
- /* Viewport Height Utilities */
117
- /* These utilities set the height to 100vh minus a specified rem value */
118
-
119
115
  @utility vh-8 {
120
116
  height: calc(100vh - 2rem);
121
117
  }