ui-svelte 0.2.11 → 0.2.13

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 (225) hide show
  1. package/README.md +2 -2
  2. package/dist/charts/ArcChart.svelte +9 -14
  3. package/dist/charts/ArcChart.svelte.d.ts +3 -3
  4. package/dist/charts/AreaChart.svelte +347 -118
  5. package/dist/charts/AreaChart.svelte.d.ts +33 -4
  6. package/dist/charts/BarChart.svelte +288 -66
  7. package/dist/charts/BarChart.svelte.d.ts +26 -1
  8. package/dist/charts/Candlestick.svelte +53 -50
  9. package/dist/charts/Candlestick.svelte.d.ts +8 -8
  10. package/dist/charts/LineChart.svelte +391 -91
  11. package/dist/charts/LineChart.svelte.d.ts +26 -3
  12. package/dist/charts/PieChart.svelte +333 -92
  13. package/dist/charts/PieChart.svelte.d.ts +33 -5
  14. package/dist/charts/css/arc-chart.css +3 -3
  15. package/dist/charts/css/area-chart.css +127 -29
  16. package/dist/charts/css/bar-chart.css +114 -8
  17. package/dist/charts/css/candlestick.css +2 -0
  18. package/dist/charts/css/line-chart.css +111 -13
  19. package/dist/charts/css/pie-chart.css +92 -20
  20. package/dist/control/Audio.svelte +86 -44
  21. package/dist/control/Audio.svelte.d.ts +4 -1
  22. package/dist/control/Button.svelte +18 -27
  23. package/dist/control/Button.svelte.d.ts +3 -2
  24. package/dist/control/Fab.svelte +103 -0
  25. package/dist/control/Fab.svelte.d.ts +25 -0
  26. package/dist/control/IconButton.svelte +17 -27
  27. package/dist/control/IconButton.svelte.d.ts +3 -3
  28. package/dist/control/Image.svelte +123 -0
  29. package/dist/control/Image.svelte.d.ts +13 -0
  30. package/dist/control/Record.svelte +141 -98
  31. package/dist/control/Record.svelte.d.ts +2 -1
  32. package/dist/control/ToggleGroup.svelte +22 -8
  33. package/dist/control/ToggleGroup.svelte.d.ts +2 -1
  34. package/dist/control/ToggleTheme.svelte +13 -11
  35. package/dist/control/ToggleTheme.svelte.d.ts +3 -2
  36. package/dist/control/Video.svelte +57 -29
  37. package/dist/control/Video.svelte.d.ts +1 -0
  38. package/dist/control/css/btn.css +200 -152
  39. package/dist/control/css/fab.css +84 -0
  40. package/dist/control/css/image.css +56 -0
  41. package/dist/control/css/media.css +95 -30
  42. package/dist/control/css/toggle-group.css +253 -84
  43. package/dist/control/css/video.css +1 -14
  44. package/dist/css/animations.css +5 -9
  45. package/dist/css/base.css +13 -347
  46. package/dist/css/decorations.css +561 -0
  47. package/dist/css/rich-text.css +485 -0
  48. package/dist/css/transitions.css +158 -0
  49. package/dist/css/typography.css +291 -0
  50. package/dist/css/utilities.css +0 -4
  51. package/dist/display/Accordion.svelte +28 -4
  52. package/dist/display/Accordion.svelte.d.ts +2 -1
  53. package/dist/display/Alert.svelte +32 -12
  54. package/dist/display/Alert.svelte.d.ts +2 -3
  55. package/dist/display/Avatar.svelte +23 -18
  56. package/dist/display/Avatar.svelte.d.ts +4 -1
  57. package/dist/display/AvatarGroup.svelte +20 -18
  58. package/dist/display/AvatarGroup.svelte.d.ts +6 -3
  59. package/dist/display/Badge.svelte +11 -4
  60. package/dist/display/Badge.svelte.d.ts +2 -1
  61. package/dist/display/Card.svelte +15 -14
  62. package/dist/display/Card.svelte.d.ts +2 -3
  63. package/dist/display/Carousel.svelte +130 -99
  64. package/dist/display/Carousel.svelte.d.ts +6 -4
  65. package/dist/display/ChatBox.svelte +245 -106
  66. package/dist/display/ChatBox.svelte.d.ts +32 -5
  67. package/dist/display/Chip.svelte +31 -17
  68. package/dist/display/Chip.svelte.d.ts +3 -2
  69. package/dist/display/Code.svelte +7 -4
  70. package/dist/display/Code.svelte.d.ts +1 -0
  71. package/dist/display/Collapsible.svelte +30 -4
  72. package/dist/display/Collapsible.svelte.d.ts +2 -1
  73. package/dist/display/Countdown.svelte +169 -0
  74. package/dist/display/Countdown.svelte.d.ts +21 -0
  75. package/dist/display/Empty.svelte +37 -3
  76. package/dist/display/Empty.svelte.d.ts +3 -0
  77. package/dist/display/Item.svelte +42 -11
  78. package/dist/display/Item.svelte.d.ts +4 -2
  79. package/dist/display/Map.svelte +488 -0
  80. package/dist/display/Map.svelte.d.ts +44 -0
  81. package/dist/display/Marquee.svelte +0 -2
  82. package/dist/display/Section.svelte +14 -12
  83. package/dist/display/Section.svelte.d.ts +2 -3
  84. package/dist/display/Skeleton.svelte +32 -0
  85. package/dist/display/Skeleton.svelte.d.ts +10 -0
  86. package/dist/display/Table.svelte +94 -132
  87. package/dist/display/Table.svelte.d.ts +10 -1
  88. package/dist/display/css/accordion.css +349 -52
  89. package/dist/display/css/alert.css +38 -18
  90. package/dist/display/css/avatar-group.css +38 -75
  91. package/dist/display/css/avatar.css +139 -121
  92. package/dist/display/css/badge.css +50 -27
  93. package/dist/display/css/card.css +123 -71
  94. package/dist/display/css/carousel.css +25 -5
  95. package/dist/display/css/chat-box.css +158 -26
  96. package/dist/display/css/chip.css +142 -68
  97. package/dist/display/css/code.css +2 -6
  98. package/dist/display/css/collapsible.css +349 -45
  99. package/dist/display/css/countdown.css +206 -0
  100. package/dist/display/css/divider.css +8 -6
  101. package/dist/display/css/empty.css +7 -0
  102. package/dist/display/css/item.css +330 -84
  103. package/dist/display/css/map.css +164 -0
  104. package/dist/display/css/marquee.css +0 -3
  105. package/dist/display/css/section.css +89 -65
  106. package/dist/display/css/skeleton.css +58 -0
  107. package/dist/display/css/table.css +309 -193
  108. package/dist/form/Checkbox.svelte +11 -5
  109. package/dist/form/Checkbox.svelte.d.ts +2 -1
  110. package/dist/form/ColorField.svelte +601 -0
  111. package/dist/form/ColorField.svelte.d.ts +29 -0
  112. package/dist/form/ComboBox.svelte +24 -9
  113. package/dist/form/ComboBox.svelte.d.ts +2 -2
  114. package/dist/form/CsvField.svelte +62 -136
  115. package/dist/form/CsvField.svelte.d.ts +2 -2
  116. package/dist/form/DateField.svelte +33 -15
  117. package/dist/form/DateField.svelte.d.ts +2 -1
  118. package/dist/form/DateRange.svelte +436 -0
  119. package/dist/form/DateRange.svelte.d.ts +24 -0
  120. package/dist/form/DragDrop.svelte +578 -0
  121. package/dist/form/DragDrop.svelte.d.ts +33 -0
  122. package/dist/form/Dropzone.svelte +28 -8
  123. package/dist/form/Dropzone.svelte.d.ts +2 -2
  124. package/dist/form/Editor.svelte +626 -0
  125. package/dist/form/Editor.svelte.d.ts +50 -0
  126. package/dist/form/ImageCropper.svelte +422 -61
  127. package/dist/form/ImageCropper.svelte.d.ts +15 -1
  128. package/dist/form/{PasswordStrength.svelte → PasswordField.svelte} +58 -24
  129. package/dist/form/{PasswordStrength.svelte.d.ts → PasswordField.svelte.d.ts} +6 -5
  130. package/dist/form/PhoneField.svelte +26 -14
  131. package/dist/form/PhoneField.svelte.d.ts +4 -3
  132. package/dist/form/PinField.svelte +39 -31
  133. package/dist/form/PinField.svelte.d.ts +3 -3
  134. package/dist/form/RadioGroup.svelte +9 -5
  135. package/dist/form/RadioGroup.svelte.d.ts +1 -1
  136. package/dist/form/Select.svelte +20 -19
  137. package/dist/form/Select.svelte.d.ts +2 -2
  138. package/dist/form/Slider.svelte +10 -4
  139. package/dist/form/Slider.svelte.d.ts +2 -1
  140. package/dist/form/TextField.svelte +29 -11
  141. package/dist/form/TextField.svelte.d.ts +5 -4
  142. package/dist/form/Textarea.svelte +15 -6
  143. package/dist/form/Textarea.svelte.d.ts +2 -2
  144. package/dist/form/Toggle.svelte +7 -3
  145. package/dist/form/Toggle.svelte.d.ts +1 -1
  146. package/dist/form/css/checkbox.css +18 -2
  147. package/dist/form/css/color-field.css +141 -0
  148. package/dist/form/css/control.css +193 -82
  149. package/dist/form/css/csv-field.css +221 -0
  150. package/dist/form/css/date-range.css +122 -0
  151. package/dist/form/css/date.css +24 -2
  152. package/dist/form/css/drag-drop.css +234 -0
  153. package/dist/form/css/dropzone.css +153 -34
  154. package/dist/form/css/editor.css +367 -0
  155. package/dist/form/css/field.css +4 -0
  156. package/dist/form/css/image-cropper.css +242 -20
  157. package/dist/form/css/radio-group.css +26 -1
  158. package/dist/form/css/select.css +2 -2
  159. package/dist/form/css/slider.css +37 -0
  160. package/dist/form/css/textarea.css +178 -75
  161. package/dist/form/css/toggle.css +15 -3
  162. package/dist/hooks/use-chat.svelte.js +1 -1
  163. package/dist/hooks/use-form.svelte.js +3 -3
  164. package/dist/hooks/use-search.svelte.js +0 -3
  165. package/dist/hooks/use-table.svelte.d.ts +1 -0
  166. package/dist/hooks/use-table.svelte.js +6 -0
  167. package/dist/icons/index.d.ts +34 -2
  168. package/dist/icons/index.js +36 -4
  169. package/dist/index.css +44 -49
  170. package/dist/index.d.ts +14 -4
  171. package/dist/index.js +13 -3
  172. package/dist/layout/AppBar.svelte +22 -14
  173. package/dist/layout/AppBar.svelte.d.ts +2 -1
  174. package/dist/layout/Footer.svelte +19 -11
  175. package/dist/layout/Footer.svelte.d.ts +2 -1
  176. package/dist/layout/Provider.svelte +32 -9
  177. package/dist/layout/Provider.svelte.d.ts +3 -1
  178. package/dist/layout/Sidebar.svelte +17 -8
  179. package/dist/layout/Sidebar.svelte.d.ts +2 -1
  180. package/dist/layout/css/app-bar.css +63 -66
  181. package/dist/layout/css/footer.css +62 -65
  182. package/dist/layout/css/sidebar.css +120 -59
  183. package/dist/navigation/BottomNav.svelte +51 -14
  184. package/dist/navigation/FooterGroup.svelte +1 -1
  185. package/dist/navigation/NavMenu.svelte +47 -23
  186. package/dist/navigation/NavMenu.svelte.d.ts +29 -0
  187. package/dist/navigation/Pagination.svelte +158 -0
  188. package/dist/navigation/Pagination.svelte.d.ts +18 -0
  189. package/dist/navigation/SideNav.svelte +30 -25
  190. package/dist/navigation/SideNav.svelte.d.ts +2 -3
  191. package/dist/navigation/Tabs.svelte +17 -7
  192. package/dist/navigation/Tabs.svelte.d.ts +2 -2
  193. package/dist/navigation/css/bottom-nav.css +319 -257
  194. package/dist/navigation/css/footer-group.css +1 -1
  195. package/dist/navigation/css/footer-nav.css +1 -1
  196. package/dist/navigation/css/nav-menu.css +331 -106
  197. package/dist/navigation/css/pagination.css +74 -0
  198. package/dist/navigation/css/side-nav.css +514 -75
  199. package/dist/navigation/css/tabs.css +246 -52
  200. package/dist/overlay/AlertDialog.svelte +58 -0
  201. package/dist/overlay/AlertDialog.svelte.d.ts +14 -25
  202. package/dist/overlay/Command.svelte +347 -0
  203. package/dist/overlay/Command.svelte.d.ts +33 -25
  204. package/dist/overlay/Drawer.svelte +49 -21
  205. package/dist/overlay/Drawer.svelte.d.ts +2 -2
  206. package/dist/overlay/Dropdown.svelte +3 -3
  207. package/dist/overlay/Modal.svelte +51 -16
  208. package/dist/overlay/Modal.svelte.d.ts +3 -3
  209. package/dist/overlay/Toast.svelte +41 -17
  210. package/dist/overlay/Toast.svelte.d.ts +1 -1
  211. package/dist/overlay/Tooltip.svelte +36 -27
  212. package/dist/overlay/Tooltip.svelte.d.ts +2 -2
  213. package/dist/overlay/css/command.css +68 -0
  214. package/dist/overlay/css/drawer.css +63 -24
  215. package/dist/overlay/css/dropdown.css +1 -1
  216. package/dist/overlay/css/hovercard.css +1 -1
  217. package/dist/overlay/css/modal.css +79 -27
  218. package/dist/overlay/css/toast.css +40 -24
  219. package/dist/overlay/css/tooltip.css +110 -67
  220. package/dist/stores/theme.svelte.js +44 -12
  221. package/dist/stores/toast.svelte.d.ts +4 -4
  222. package/dist/stores/toast.svelte.js +2 -2
  223. package/package.json +1 -1
  224. package/dist/utils/charts.d.ts +0 -27
  225. package/dist/utils/charts.js +0 -140
@@ -0,0 +1,561 @@
1
+ @layer components {
2
+ .bd-glow {
3
+ position: relative;
4
+ border: 1px solid transparent;
5
+ box-shadow:
6
+ 0 0 8px var(--bd-color, var(--primary)),
7
+ 0 0 16px color-mix(in oklch, var(--bd-color, var(--primary)) 50%, transparent);
8
+ transition: box-shadow 0.3s ease;
9
+ }
10
+
11
+ .bd-glow:hover {
12
+ box-shadow:
13
+ 0 0 12px var(--bd-color, var(--primary)),
14
+ 0 0 24px var(--bd-color, var(--primary)),
15
+ 0 0 40px color-mix(in oklch, var(--bd-color, var(--primary)) 40%, transparent);
16
+ }
17
+
18
+ .bd-neon {
19
+ position: relative;
20
+ border: 2px solid var(--bd-color, var(--secondary));
21
+ box-shadow:
22
+ 0 0 5px var(--bd-color, var(--secondary)),
23
+ 0 0 10px var(--bd-color, var(--secondary)),
24
+ 0 0 20px var(--bd-color, var(--secondary)),
25
+ inset 0 0 10px color-mix(in oklch, var(--bd-color, var(--secondary)) 20%, transparent);
26
+ animation: neon-pulse 2s ease-in-out infinite;
27
+ }
28
+
29
+ @keyframes neon-pulse {
30
+ 0%,
31
+ 100% {
32
+ box-shadow:
33
+ 0 0 5px var(--bd-color, var(--secondary)),
34
+ 0 0 10px var(--bd-color, var(--secondary)),
35
+ 0 0 20px var(--bd-color, var(--secondary)),
36
+ inset 0 0 10px color-mix(in oklch, var(--bd-color, var(--secondary)) 20%, transparent);
37
+ }
38
+ 50% {
39
+ box-shadow:
40
+ 0 0 10px var(--bd-color, var(--secondary)),
41
+ 0 0 20px var(--bd-color, var(--secondary)),
42
+ 0 0 40px var(--bd-color, var(--secondary)),
43
+ inset 0 0 15px color-mix(in oklch, var(--bd-color, var(--secondary)) 30%, transparent);
44
+ }
45
+ }
46
+
47
+ .bd-grad {
48
+ position: relative;
49
+ border: 2px solid transparent;
50
+ background:
51
+ linear-gradient(var(--background), var(--background)) padding-box,
52
+ linear-gradient(135deg, var(--bd-from, var(--primary)), var(--bd-to, var(--secondary)))
53
+ border-box;
54
+ transition: all 0.3s ease;
55
+ }
56
+
57
+ .bd-grad:hover {
58
+ box-shadow: 0 4px 20px color-mix(in oklch, var(--bd-from, var(--primary)) 30%, transparent);
59
+ }
60
+
61
+ .bd-rainbow {
62
+ position: relative;
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
+ );
81
+ animation: rainbow-rotate 3s linear infinite;
82
+ z-index: -1;
83
+ border-radius: inherit;
84
+ }
85
+
86
+ .bd-rainbow::after {
87
+ content: '';
88
+ position: absolute;
89
+ inset: 2px;
90
+ background: var(--background);
91
+ border-radius: inherit;
92
+ z-index: -1;
93
+ }
94
+
95
+ @keyframes rainbow-rotate {
96
+ 0% {
97
+ transform: rotate(0deg);
98
+ }
99
+ 100% {
100
+ transform: rotate(360deg);
101
+ }
102
+ }
103
+
104
+ .bd-shimmer {
105
+ position: relative;
106
+ overflow: hidden;
107
+ border: 2px solid color-mix(in oklch, var(--bd-color, var(--primary)) 40%, transparent);
108
+ }
109
+
110
+ .bd-shimmer::before {
111
+ content: '';
112
+ position: absolute;
113
+ inset: -2px;
114
+ background: linear-gradient(
115
+ 90deg,
116
+ transparent 0%,
117
+ var(--bd-color, var(--primary)) 50%,
118
+ transparent 100%
119
+ );
120
+ background-size: 200% 100%;
121
+ animation: shimmer-slide 2s linear infinite;
122
+ pointer-events: none;
123
+ mask:
124
+ linear-gradient(#fff 0 0) content-box,
125
+ linear-gradient(#fff 0 0);
126
+ mask-composite: exclude;
127
+ -webkit-mask:
128
+ linear-gradient(#fff 0 0) content-box,
129
+ linear-gradient(#fff 0 0);
130
+ -webkit-mask-composite: xor;
131
+ padding: 2px;
132
+ border-radius: inherit;
133
+ }
134
+
135
+ @keyframes shimmer-slide {
136
+ 0% {
137
+ background-position: 200% 0;
138
+ }
139
+ 100% {
140
+ background-position: -200% 0;
141
+ }
142
+ }
143
+
144
+ .bd-pulse {
145
+ position: relative;
146
+ border: 2px solid var(--bd-color, var(--primary));
147
+ }
148
+
149
+ .bd-pulse::after {
150
+ content: '';
151
+ position: absolute;
152
+ inset: -4px;
153
+ border: 2px solid var(--bd-color, var(--primary));
154
+ border-radius: inherit;
155
+ opacity: 0;
156
+ animation: pulse-ring 1.5s ease-out infinite;
157
+ pointer-events: none;
158
+ }
159
+
160
+ @keyframes pulse-ring {
161
+ 0% {
162
+ opacity: 0.6;
163
+ inset: -2px;
164
+ }
165
+ 100% {
166
+ opacity: 0;
167
+ inset: -12px;
168
+ }
169
+ }
170
+
171
+ .bd-wave {
172
+ position: relative;
173
+ border: none;
174
+ overflow: hidden;
175
+ background: var(--background);
176
+ }
177
+
178
+ .bd-wave::before {
179
+ content: '';
180
+ position: absolute;
181
+ inset: -50%;
182
+ background: conic-gradient(
183
+ 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
188
+ );
189
+ animation: wave-spin 2s linear infinite;
190
+ z-index: -1;
191
+ border-radius: inherit;
192
+ }
193
+
194
+ .bd-wave::after {
195
+ content: '';
196
+ position: absolute;
197
+ inset: 2px;
198
+ background: var(--background);
199
+ border-radius: inherit;
200
+ z-index: -1;
201
+ }
202
+
203
+ @keyframes wave-spin {
204
+ 0% {
205
+ transform: rotate(0deg);
206
+ }
207
+ 100% {
208
+ transform: rotate(360deg);
209
+ }
210
+ }
211
+
212
+ .bd-frost {
213
+ position: relative;
214
+ border: 1px solid color-mix(in oklch, var(--bd-color, var(--info)) 50%, white);
215
+ box-shadow:
216
+ 0 0 10px color-mix(in oklch, var(--bd-color, var(--info)) 30%, white),
217
+ inset 0 0 20px color-mix(in oklch, var(--bd-color, var(--info)) 10%, white);
218
+ backdrop-filter: blur(4px);
219
+ transition: all 0.3s ease;
220
+ }
221
+
222
+ .bd-frost:hover {
223
+ box-shadow:
224
+ 0 0 15px color-mix(in oklch, var(--bd-color, var(--info)) 40%, white),
225
+ inset 0 0 30px color-mix(in oklch, var(--bd-color, var(--info)) 15%, white);
226
+ }
227
+
228
+ .bd-ember {
229
+ position: relative;
230
+ border: 2px solid var(--danger);
231
+ box-shadow:
232
+ 0 0 10px var(--warning),
233
+ 0 0 20px var(--danger),
234
+ inset 0 0 10px color-mix(in oklch, var(--warning) 20%, transparent);
235
+ animation: ember-flicker 0.5s ease-in-out infinite alternate;
236
+ }
237
+
238
+ @keyframes ember-flicker {
239
+ 0% {
240
+ box-shadow:
241
+ 0 0 10px var(--warning),
242
+ 0 0 20px var(--danger),
243
+ inset 0 0 10px color-mix(in oklch, var(--warning) 20%, transparent);
244
+ }
245
+ 100% {
246
+ box-shadow:
247
+ 0 0 15px var(--warning),
248
+ 0 0 30px var(--danger),
249
+ 0 0 40px color-mix(in oklch, var(--danger) 50%, transparent),
250
+ inset 0 0 15px color-mix(in oklch, var(--warning) 30%, transparent);
251
+ }
252
+ }
253
+
254
+ .bd-laser {
255
+ position: relative;
256
+ border: 1px solid color-mix(in oklch, var(--bd-color, var(--primary)) 30%, transparent);
257
+ overflow: hidden;
258
+ }
259
+
260
+ .bd-laser::before {
261
+ content: '';
262
+ position: absolute;
263
+ width: 20%;
264
+ height: 2px;
265
+ background: linear-gradient(90deg, transparent, var(--bd-color, var(--primary)), transparent);
266
+ box-shadow: 0 0 10px var(--bd-color, var(--primary));
267
+ animation: laser-scan 2s linear infinite;
268
+ pointer-events: none;
269
+ }
270
+
271
+ @keyframes laser-scan {
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
+
312
+ .bd-solid {
313
+ border: 2px solid var(--bd-color, var(--on-background));
314
+ transition: all 0.3s ease;
315
+ }
316
+
317
+ .bd-solid:hover {
318
+ box-shadow: 0 0 0 2px
319
+ color-mix(in oklch, var(--bd-color, var(--on-background)) 30%, transparent);
320
+ }
321
+
322
+ .bd-dash {
323
+ border: 2px dashed var(--bd-color, var(--primary));
324
+ animation: dash-march 1s linear infinite;
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;
334
+ border: none;
335
+ background-size:
336
+ 20px 2px,
337
+ 20px 2px,
338
+ 2px 20px,
339
+ 2px 20px;
340
+ animation: dash-march 0.5s linear infinite;
341
+ }
342
+
343
+ @keyframes dash-march {
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
+ }