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
@@ -1,115 +1,336 @@
1
1
  @layer components {
2
2
  .item {
3
3
  @apply relative flex items-center gap-3 w-full;
4
- @apply rounded-ui outline-none;
5
- @apply transition-all duration-200;
4
+ @apply rounded-box outline-none;
5
+ @apply transition-all duration-300;
6
6
  @apply cursor-default select-none;
7
+
8
+ &.is-interactive {
9
+ @apply cursor-pointer;
10
+ @apply focus-visible:outline-none;
11
+ @apply active:scale-[0.98];
12
+ @apply disabled:cursor-not-allowed disabled:opacity-50;
13
+ @apply disabled:hover:bg-transparent disabled:active:scale-100;
14
+ }
7
15
  }
8
16
 
9
- .is-interactive {
10
- @apply cursor-pointer;
11
- @apply focus-visible:outline-none;
12
- @apply active:scale-[0.98];
13
- @apply disabled:cursor-not-allowed disabled:opacity-50;
14
- @apply disabled:hover:bg-transparent disabled:active:scale-100;
17
+ .item {
18
+ &.is-sm {
19
+ @apply p-2 gap-2;
20
+
21
+ .icon {
22
+ @apply w-4 h-4;
23
+ }
24
+ .item-label {
25
+ @apply text-sm;
26
+ }
27
+ .item-description {
28
+ @apply text-xs;
29
+ }
30
+ }
31
+
32
+ &.is-md {
33
+ @apply p-3 gap-3;
34
+
35
+ .icon {
36
+ @apply w-5 h-5;
37
+ }
38
+ .item-label {
39
+ @apply text-base;
40
+ }
41
+ .item-description {
42
+ @apply text-sm;
43
+ }
44
+ }
45
+
46
+ &.is-lg {
47
+ @apply p-4 gap-4;
48
+
49
+ .icon {
50
+ @apply w-6 h-6;
51
+ }
52
+ .item-label {
53
+ @apply text-lg;
54
+ }
55
+ .item-description {
56
+ @apply text-base;
57
+ }
58
+ }
15
59
  }
16
60
 
17
- .item.is-sm {
18
- @apply p-2 gap-2;
61
+ .item {
62
+ &.is-ghost {
63
+ @apply bg-transparent;
19
64
 
20
- .icon {
21
- @apply w-4 h-4;
65
+ &.is-interactive {
66
+ @apply hover:bg-muted/50;
67
+ }
22
68
  }
23
69
 
24
- .item-label {
25
- @apply text-sm;
70
+ &.is-soft {
71
+ @apply bg-muted/30;
72
+
73
+ &.is-interactive {
74
+ @apply hover:bg-muted/50;
75
+ }
26
76
  }
27
77
 
28
- .item-description {
29
- @apply text-xs;
78
+ &.is-outlined {
79
+ @apply border border-muted bg-transparent;
80
+
81
+ &.is-interactive {
82
+ @apply hover:bg-muted/30;
83
+ }
30
84
  }
31
- }
32
85
 
33
- .item.is-md {
34
- @apply p-3 gap-3;
86
+ &.is-solid {
87
+ @apply bg-muted text-on-muted;
35
88
 
36
- .icon {
37
- @apply w-5 h-5;
89
+ &.is-interactive {
90
+ @apply hover:bg-muted/80;
91
+ }
38
92
  }
93
+ }
39
94
 
40
- .item-label {
41
- @apply text-base;
95
+ .item {
96
+ &.is-default {
97
+ &.is-interactive {
98
+ @apply hover:bg-muted hover:text-on-muted;
99
+ @apply focus-visible:bg-muted;
100
+ }
101
+
102
+ &.is-active {
103
+ @apply bg-muted text-on-muted;
104
+ }
42
105
  }
43
106
 
44
- .item-description {
45
- @apply text-sm;
107
+ &.is-surface {
108
+ @apply bg-surface text-on-surface;
109
+
110
+ &.is-interactive {
111
+ @apply hover:bg-surface/80;
112
+ }
46
113
  }
47
114
  }
48
115
 
49
- .item.is-lg {
50
- @apply p-4 gap-4;
116
+ .item {
117
+ &.is-primary.is-ghost,
118
+ &.is-primary.is-soft {
119
+ &.is-active {
120
+ @apply bg-primary/20 text-primary;
121
+ }
122
+ &.is-interactive {
123
+ @apply hover:bg-primary/20 hover:text-primary;
124
+ }
125
+ }
51
126
 
52
- .icon {
53
- @apply w-6 h-6;
127
+ &.is-secondary.is-ghost,
128
+ &.is-secondary.is-soft {
129
+ &.is-active {
130
+ @apply bg-secondary/20 text-secondary;
131
+ }
132
+ &.is-interactive {
133
+ @apply hover:bg-secondary/20 hover:text-secondary;
134
+ }
54
135
  }
55
136
 
56
- .item-label {
57
- @apply text-lg;
137
+ &.is-muted.is-ghost,
138
+ &.is-muted.is-soft {
139
+ &.is-active {
140
+ @apply bg-muted text-on-muted;
141
+ }
142
+ &.is-interactive {
143
+ @apply hover:bg-muted hover:text-on-muted;
144
+ }
58
145
  }
59
146
 
60
- .item-description {
61
- @apply text-base;
147
+ &.is-success.is-ghost,
148
+ &.is-success.is-soft {
149
+ &.is-active {
150
+ @apply bg-success/20 text-success;
151
+ }
152
+ &.is-interactive {
153
+ @apply hover:bg-success/20 hover:text-success;
154
+ }
62
155
  }
63
- }
64
156
 
65
- .item.is-ghost {
66
- @apply bg-transparent;
67
- }
157
+ &.is-info.is-ghost,
158
+ &.is-info.is-soft {
159
+ &.is-active {
160
+ @apply bg-info/20 text-info;
161
+ }
162
+ &.is-interactive {
163
+ @apply hover:bg-info/20 hover:text-info;
164
+ }
165
+ }
68
166
 
69
- .item.is-interactive {
70
- @apply hover:bg-muted hover:text-on-muted;
71
- @apply focus-visible:bg-muted;
72
- }
167
+ &.is-warning.is-ghost,
168
+ &.is-warning.is-soft {
169
+ &.is-active {
170
+ @apply bg-warning/20 text-warning;
171
+ }
172
+ &.is-interactive {
173
+ @apply hover:bg-warning/20 hover:text-warning;
174
+ }
175
+ }
73
176
 
74
- .item.is-outlined {
75
- @apply border border-muted bg-transparent;
177
+ &.is-danger.is-ghost,
178
+ &.is-danger.is-soft {
179
+ &.is-active {
180
+ @apply bg-danger/20 text-danger;
181
+ }
182
+ &.is-interactive {
183
+ @apply hover:bg-danger/20 hover:text-danger;
184
+ }
185
+ }
76
186
  }
77
187
 
78
- .item.is-surface {
79
- @apply bg-surface text-on-surface;
80
- }
188
+ .item {
189
+ &.is-primary.is-outlined {
190
+ @apply border-primary/50;
191
+
192
+ &.is-active {
193
+ @apply bg-primary/20 text-primary border-primary;
194
+ }
195
+ &.is-interactive {
196
+ @apply hover:bg-primary/20 hover:text-primary hover:border-primary;
197
+ }
198
+ }
81
199
 
82
- .item.is-primary.is-active {
83
- @apply bg-on-primary text-primary;
84
- }
200
+ &.is-secondary.is-outlined {
201
+ @apply border-secondary/50;
85
202
 
86
- .item.is-primary.is-solid.is-active {
87
- @apply bg-primary text-on-primary;
88
- }
203
+ &.is-active {
204
+ @apply bg-secondary/20 text-secondary border-secondary;
205
+ }
206
+ &.is-interactive {
207
+ @apply hover:bg-secondary/20 hover:text-secondary hover:border-secondary;
208
+ }
209
+ }
89
210
 
90
- .item.is-secondary.is-active {
91
- @apply bg-on-secondary text-secondary;
92
- }
211
+ &.is-muted.is-outlined {
212
+ @apply border-muted;
93
213
 
94
- .item.is-secondary.is-solid.is-active {
95
- @apply bg-secondary text-on-secondary;
96
- }
214
+ &.is-active {
215
+ @apply bg-muted text-on-muted;
216
+ }
217
+ &.is-interactive {
218
+ @apply hover:bg-muted hover:text-on-muted;
219
+ }
220
+ }
97
221
 
98
- .item.is-muted.is-active {
99
- @apply bg-muted text-on-muted;
100
- }
222
+ &.is-success.is-outlined {
223
+ @apply border-success/50;
224
+
225
+ &.is-active {
226
+ @apply bg-success/20 text-success border-success;
227
+ }
228
+ &.is-interactive {
229
+ @apply hover:bg-success/20 hover:text-success hover:border-success;
230
+ }
231
+ }
232
+
233
+ &.is-info.is-outlined {
234
+ @apply border-info/50;
235
+
236
+ &.is-active {
237
+ @apply bg-info/20 text-info border-info;
238
+ }
239
+ &.is-interactive {
240
+ @apply hover:bg-info/20 hover:text-info hover:border-info;
241
+ }
242
+ }
243
+
244
+ &.is-warning.is-outlined {
245
+ @apply border-warning/50;
246
+
247
+ &.is-active {
248
+ @apply bg-warning/20 text-warning border-warning;
249
+ }
250
+ &.is-interactive {
251
+ @apply hover:bg-warning/20 hover:text-warning hover:border-warning;
252
+ }
253
+ }
254
+
255
+ &.is-danger.is-outlined {
256
+ @apply border-danger/50;
101
257
 
102
- .item.is-muted.is-solid.is-active {
103
- @apply bg-on-muted text-muted;
258
+ &.is-active {
259
+ @apply bg-danger/20 text-danger border-danger;
260
+ }
261
+ &.is-interactive {
262
+ @apply hover:bg-danger/20 hover:text-danger hover:border-danger;
263
+ }
264
+ }
104
265
  }
105
266
 
106
- .item.is-focused {
107
- @apply bg-muted text-on-muted;
267
+ .item {
268
+ &.is-primary.is-solid {
269
+ @apply bg-primary text-on-primary;
270
+
271
+ &.is-interactive {
272
+ @apply hover:bg-primary/80;
273
+ }
274
+ }
275
+
276
+ &.is-secondary.is-solid {
277
+ @apply bg-secondary text-on-secondary;
278
+
279
+ &.is-interactive {
280
+ @apply hover:bg-secondary/80;
281
+ }
282
+ }
283
+
284
+ &.is-muted.is-solid {
285
+ @apply bg-on-muted text-muted;
286
+
287
+ &.is-interactive {
288
+ @apply hover:bg-on-muted/80;
289
+ }
290
+ }
291
+
292
+ &.is-success.is-solid {
293
+ @apply bg-success text-on-success;
294
+
295
+ &.is-interactive {
296
+ @apply hover:bg-success/80;
297
+ }
298
+ }
299
+
300
+ &.is-info.is-solid {
301
+ @apply bg-info text-on-info;
302
+
303
+ &.is-interactive {
304
+ @apply hover:bg-info/80;
305
+ }
306
+ }
307
+
308
+ &.is-warning.is-solid {
309
+ @apply bg-warning text-on-warning;
310
+
311
+ &.is-interactive {
312
+ @apply hover:bg-warning/80;
313
+ }
314
+ }
315
+
316
+ &.is-danger.is-solid {
317
+ @apply bg-danger text-on-danger;
318
+
319
+ &.is-interactive {
320
+ @apply hover:bg-danger/80;
321
+ }
322
+ }
108
323
  }
109
324
 
110
- .item.is-disabled {
111
- @apply opacity-50 cursor-not-allowed;
112
- @apply pointer-events-none;
325
+ .item {
326
+ &.is-focused {
327
+ @apply bg-muted text-on-muted;
328
+ }
329
+
330
+ &.is-disabled {
331
+ @apply opacity-50 cursor-not-allowed;
332
+ @apply pointer-events-none;
333
+ }
113
334
  }
114
335
 
115
336
  .item-body {
@@ -131,31 +352,56 @@
131
352
  @apply shrink-0;
132
353
  }
133
354
 
134
- .item.has-divider {
135
- @apply border-b border-muted rounded-none;
355
+ .item-bullet {
356
+ @apply w-1.5 h-1.5 rounded-full bg-current opacity-30;
357
+ @apply shrink-0 transition-all duration-200;
136
358
  }
137
359
 
138
- .item.has-shadow {
139
- @apply shadow-md shadow-muted;
360
+ .item.is-interactive:hover .item-bullet,
361
+ .item.is-focused .item-bullet {
362
+ @apply opacity-60 scale-110;
140
363
  }
141
364
 
142
- .item.is-compact {
143
- @apply py-1.5 px-2;
144
- }
365
+ .item-indicator {
366
+ @apply shrink-0 opacity-0 -translate-x-1;
367
+ @apply transition-all duration-200;
145
368
 
146
- .item.is-compact .item-label {
147
- @apply text-sm;
369
+ svg {
370
+ @apply w-3.5 h-3.5;
371
+ }
148
372
  }
149
373
 
150
- .item.is-compact .item-description {
151
- @apply text-xs;
374
+ .item.is-interactive:hover .item-indicator,
375
+ .item.is-focused .item-indicator {
376
+ @apply opacity-50 translate-x-0;
152
377
  }
153
378
 
154
- .item.has-icon-only {
155
- @apply justify-center p-2;
156
- }
379
+ .item {
380
+ &.has-divider {
381
+ @apply border-b border-muted rounded-none;
382
+ }
383
+
384
+ &.has-shadow {
385
+ @apply shadow-md shadow-muted;
386
+ }
157
387
 
158
- .item.has-icon-only .item-body {
159
- @apply hidden;
388
+ &.is-compact {
389
+ @apply py-1.5 px-2;
390
+
391
+ .item-label {
392
+ @apply text-sm;
393
+ }
394
+ .item-description {
395
+ @apply text-xs;
396
+ }
397
+ }
398
+
399
+ &.has-icon-only {
400
+ @apply justify-center p-2;
401
+
402
+ .item-body {
403
+ @apply hidden;
404
+ }
405
+ }
160
406
  }
161
407
  }
@@ -0,0 +1,164 @@
1
+ @layer components {
2
+ .map {
3
+ @apply relative overflow-hidden;
4
+ border-radius: var(--radius-box);
5
+ width: var(--map-width, 100%);
6
+ height: var(--map-height, 400px);
7
+ min-height: var(--map-height, 400px);
8
+
9
+ &.is-primary {
10
+ --map-color: theme('colors.primary');
11
+ }
12
+ &.is-secondary {
13
+ --map-color: theme('colors.secondary');
14
+ }
15
+ &.is-muted {
16
+ --map-color: theme('colors.muted');
17
+ }
18
+ &.is-success {
19
+ --map-color: theme('colors.success');
20
+ }
21
+ &.is-info {
22
+ --map-color: theme('colors.info');
23
+ }
24
+ &.is-warning {
25
+ --map-color: theme('colors.warning');
26
+ }
27
+ &.is-danger {
28
+ --map-color: theme('colors.danger');
29
+ }
30
+ }
31
+
32
+ .map-container {
33
+ position: absolute !important;
34
+ top: 0 !important;
35
+ left: 0 !important;
36
+ right: 0 !important;
37
+ bottom: 0 !important;
38
+ width: 100% !important;
39
+ height: 100% !important;
40
+ }
41
+
42
+ .map-loading {
43
+ @apply absolute inset-0 z-50 flex items-center justify-center bg-surface/80;
44
+ }
45
+
46
+ .map-spinner {
47
+ @apply size-10 rounded-full border-4 border-muted border-t-primary animate-spin;
48
+ }
49
+
50
+ .map :global(.leaflet-container) {
51
+ @apply size-full;
52
+ }
53
+
54
+ .map :global(.leaflet-control-zoom) {
55
+ @apply border-none shadow-md rounded-ui overflow-hidden;
56
+ }
57
+
58
+ .map :global(.leaflet-control-zoom a) {
59
+ @apply bg-surface text-on-surface border-none;
60
+ @apply hover:bg-muted transition-colors duration-200;
61
+ }
62
+
63
+ .map :global(.leaflet-control-zoom-in) {
64
+ @apply border-b border-muted!;
65
+ }
66
+
67
+ .map :global(.leaflet-control-attribution) {
68
+ @apply hidden;
69
+ }
70
+
71
+ .map :global(.leaflet-control-scale-line) {
72
+ @apply bg-surface/80 border-on-surface/50 text-on-surface text-xs;
73
+ }
74
+
75
+ .map :global(.leaflet-popup-content-wrapper) {
76
+ @apply bg-surface text-on-surface rounded-ui shadow-lg;
77
+ }
78
+
79
+ .map :global(.leaflet-popup-tip) {
80
+ @apply bg-surface;
81
+ }
82
+
83
+ .map :global(.leaflet-popup-close-button) {
84
+ @apply text-on-surface/60 hover:text-on-surface;
85
+ }
86
+
87
+ .map :global(.leaflet-tooltip) {
88
+ @apply bg-surface text-on-surface border-none shadow-md rounded-ui px-2 py-1 text-sm;
89
+ }
90
+
91
+ .map :global(.leaflet-tooltip::before) {
92
+ @apply border-t-surface;
93
+ }
94
+
95
+ .map-location-btn {
96
+ @apply absolute z-1000 flex items-center justify-center;
97
+ @apply size-10 rounded-ui bg-surface shadow-md;
98
+ @apply border-none cursor-pointer;
99
+ @apply text-on-surface/70 hover:text-on-surface;
100
+ @apply transition-all duration-200;
101
+ bottom: 1rem;
102
+ right: 1rem;
103
+
104
+ svg {
105
+ @apply size-5;
106
+ }
107
+
108
+ &:hover {
109
+ @apply bg-surface shadow-lg;
110
+ }
111
+
112
+ &:disabled {
113
+ @apply cursor-wait;
114
+ }
115
+
116
+ &.is-locating {
117
+ @apply text-primary;
118
+ }
119
+ }
120
+
121
+ .map-location-spinner {
122
+ @apply animate-spin;
123
+ }
124
+
125
+ .map :global(.map-location-marker) {
126
+ background: transparent !important;
127
+ border: none !important;
128
+ width: 24px !important;
129
+ height: 24px !important;
130
+ display: flex !important;
131
+ align-items: center !important;
132
+ justify-content: center !important;
133
+ }
134
+
135
+ .map :global(.map-location-dot) {
136
+ width: 16px;
137
+ height: 16px;
138
+ border-radius: 50%;
139
+ background-color: var(--location-color, theme('colors.primary'));
140
+ border: 3px solid white;
141
+ box-shadow:
142
+ 0 0 0 2px var(--location-color, theme('colors.primary')),
143
+ 0 2px 8px rgba(0, 0, 0, 0.4);
144
+ animation: location-pulse 2s ease-out infinite;
145
+ }
146
+
147
+ @keyframes location-pulse {
148
+ 0% {
149
+ box-shadow:
150
+ 0 0 0 2px var(--location-color, theme('colors.primary')),
151
+ 0 2px 8px rgba(0, 0, 0, 0.3);
152
+ }
153
+ 50% {
154
+ box-shadow:
155
+ 0 0 0 6px transparent,
156
+ 0 2px 8px rgba(0, 0, 0, 0.3);
157
+ }
158
+ 100% {
159
+ box-shadow:
160
+ 0 0 0 2px var(--location-color, theme('colors.primary')),
161
+ 0 2px 8px rgba(0, 0, 0, 0.3);
162
+ }
163
+ }
164
+ }
@@ -61,7 +61,6 @@
61
61
  }
62
62
  }
63
63
 
64
- /* Animaciones */
65
64
  @keyframes marquee-scroll {
66
65
  0% {
67
66
  transform: translateX(0);
@@ -80,7 +79,6 @@
80
79
  }
81
80
  }
82
81
 
83
- /* Variantes de velocidad */
84
82
  .marquee-container {
85
83
  &.is-slow {
86
84
  --marquee-duration: 40s;
@@ -95,7 +93,6 @@
95
93
  }
96
94
  }
97
95
 
98
- /* Efecto de fade en los bordes */
99
96
  .marquee {
100
97
  &.has-fade {
101
98
  &::before,