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
@@ -19,95 +19,289 @@
19
19
  @apply flex-col;
20
20
  }
21
21
  }
22
+
22
23
  .tabs-list {
23
24
  @apply flex w-auto max-w-min overflow-x-auto scrollbar-hide gap-2 p-1 relative select-none;
25
+
26
+ .tab {
27
+ @apply flex flex-nowrap cursor-pointer px-4 py-1 relative transition-colors;
28
+ .tabs-icon {
29
+ @apply mr-2 shrink-0 h-6 w-auto;
30
+ }
31
+ .tabs-label {
32
+ @apply whitespace-nowrap;
33
+ }
34
+ }
35
+ }
36
+
37
+ .tabs-list.is-solid {
38
+ @apply rounded-xl py-1;
39
+ .tab {
40
+ @apply rounded-lg;
41
+ }
24
42
  &.is-primary {
25
- @apply bg-primary/10 text-on-surface rounded-xl py-1;
26
- .tab {
27
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative rounded-lg transition-colors;
28
- &.on-active {
29
- @apply bg-primary text-on-primary;
30
- }
43
+ @apply bg-primary/10 text-on-surface;
44
+ .tab.on-active {
45
+ @apply bg-primary text-on-primary;
31
46
  }
32
47
  }
33
48
  &.is-secondary {
34
- @apply bg-secondary/10 text-on-surface rounded-xl py-1;
35
- .tab {
36
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative rounded-lg transition-colors;
37
- &.on-active {
38
- @apply bg-secondary text-on-secondary;
39
- }
49
+ @apply bg-secondary/10 text-on-surface;
50
+ .tab.on-active {
51
+ @apply bg-secondary text-on-secondary;
40
52
  }
41
53
  }
42
54
  &.is-muted {
43
- @apply bg-muted text-on-muted rounded-xl py-1;
44
- .tab {
45
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative rounded-lg transition-colors;
46
- &.on-active {
47
- @apply bg-on-muted text-muted;
48
- }
55
+ @apply bg-muted text-on-muted;
56
+ .tab.on-active {
57
+ @apply bg-on-muted text-muted;
49
58
  }
50
59
  }
51
- &.is-outline {
52
- @apply border border-muted rounded-xl;
53
- .tab {
54
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative rounded-lg transition-colors;
55
- &.on-active {
56
- @apply bg-primary text-on-primary;
57
- }
60
+ &.is-success {
61
+ @apply bg-success/10 text-on-surface;
62
+ .tab.on-active {
63
+ @apply bg-success text-on-success;
58
64
  }
59
65
  }
60
- &.is-line {
61
- @apply gap-4;
62
- .tab {
63
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative;
64
- &.on-active {
65
- @apply text-primary border-b-2 border-primary;
66
- }
66
+ &.is-info {
67
+ @apply bg-info/10 text-on-surface;
68
+ .tab.on-active {
69
+ @apply bg-info text-on-info;
67
70
  }
68
71
  }
69
- &.is-ghost {
70
- .tab {
71
- @apply flex flex-nowrap cursor-pointer px-4 py-1 relative;
72
- &.on-active {
73
- @apply text-primary;
74
- }
72
+ &.is-warning {
73
+ @apply bg-warning/10 text-on-surface;
74
+ .tab.on-active {
75
+ @apply bg-warning text-on-warning;
75
76
  }
76
77
  }
78
+ &.is-danger {
79
+ @apply bg-danger/10 text-on-surface;
80
+ .tab.on-active {
81
+ @apply bg-danger text-on-danger;
82
+ }
83
+ }
84
+ }
85
+
86
+ .tabs-list.is-outline {
87
+ @apply border border-muted rounded-xl;
77
88
  .tab {
78
- .tabs-icon {
79
- @apply mr-2 shrink-0 h-6 w-auto;
89
+ @apply rounded-lg;
90
+ }
91
+ &.is-primary {
92
+ .tab.on-active {
93
+ @apply bg-primary text-on-primary;
80
94
  }
81
- .tabs-label {
82
- @apply whitespace-nowrap;
95
+ }
96
+ &.is-secondary {
97
+ .tab.on-active {
98
+ @apply bg-secondary text-on-secondary;
99
+ }
100
+ }
101
+ &.is-muted {
102
+ .tab.on-active {
103
+ @apply bg-on-muted text-muted;
104
+ }
105
+ }
106
+ &.is-success {
107
+ .tab.on-active {
108
+ @apply bg-success text-on-success;
109
+ }
110
+ }
111
+ &.is-info {
112
+ .tab.on-active {
113
+ @apply bg-info text-on-info;
114
+ }
115
+ }
116
+ &.is-warning {
117
+ .tab.on-active {
118
+ @apply bg-warning text-on-warning;
119
+ }
120
+ }
121
+ &.is-danger {
122
+ .tab.on-active {
123
+ @apply bg-danger text-on-danger;
83
124
  }
84
125
  }
85
126
  }
86
- &.is-top,
87
- &.is-bottom {
88
- .tabs-list {
89
- &.is-pill:not(.is-line) {
90
- @apply rounded-full;
91
- .tab {
92
- @apply rounded-full;
93
- }
127
+
128
+ .tabs-list.is-line {
129
+ @apply gap-4;
130
+ &.is-primary {
131
+ .tab.on-active {
132
+ @apply text-primary border-b-2 border-primary;
133
+ }
134
+ }
135
+ &.is-secondary {
136
+ .tab.on-active {
137
+ @apply text-secondary border-b-2 border-secondary;
138
+ }
139
+ }
140
+ &.is-muted {
141
+ .tab.on-active {
142
+ @apply text-on-muted border-b-2 border-on-muted;
143
+ }
144
+ }
145
+ &.is-success {
146
+ .tab.on-active {
147
+ @apply text-success border-b-2 border-success;
148
+ }
149
+ }
150
+ &.is-info {
151
+ .tab.on-active {
152
+ @apply text-info border-b-2 border-info;
153
+ }
154
+ }
155
+ &.is-warning {
156
+ .tab.on-active {
157
+ @apply text-warning border-b-2 border-warning;
158
+ }
159
+ }
160
+ &.is-danger {
161
+ .tab.on-active {
162
+ @apply text-danger border-b-2 border-danger;
163
+ }
164
+ }
165
+ }
166
+
167
+ .tabs-list.is-ghost {
168
+ &.is-primary {
169
+ .tab.on-active {
170
+ @apply text-primary;
171
+ }
172
+ }
173
+ &.is-secondary {
174
+ .tab.on-active {
175
+ @apply text-secondary;
176
+ }
177
+ }
178
+ &.is-muted {
179
+ .tab.on-active {
180
+ @apply text-on-muted;
181
+ }
182
+ }
183
+ &.is-success {
184
+ .tab.on-active {
185
+ @apply text-success;
186
+ }
187
+ }
188
+ &.is-info {
189
+ .tab.on-active {
190
+ @apply text-info;
191
+ }
192
+ }
193
+ &.is-warning {
194
+ .tab.on-active {
195
+ @apply text-warning;
196
+ }
197
+ }
198
+ &.is-danger {
199
+ .tab.on-active {
200
+ @apply text-danger;
201
+ }
202
+ }
203
+ }
204
+
205
+ .tabs-list.is-pills {
206
+ @apply rounded-full py-1;
207
+ .tab {
208
+ @apply rounded-full;
209
+ }
210
+ &.is-primary {
211
+ @apply bg-primary/10 text-on-surface;
212
+ .tab.on-active {
213
+ @apply bg-primary text-on-primary;
214
+ }
215
+ }
216
+ &.is-secondary {
217
+ @apply bg-secondary/10 text-on-surface;
218
+ .tab.on-active {
219
+ @apply bg-secondary text-on-secondary;
220
+ }
221
+ }
222
+ &.is-muted {
223
+ @apply bg-muted text-on-muted;
224
+ .tab.on-active {
225
+ @apply bg-on-muted text-muted;
226
+ }
227
+ }
228
+ &.is-success {
229
+ @apply bg-success/10 text-on-surface;
230
+ .tab.on-active {
231
+ @apply bg-success text-on-success;
232
+ }
233
+ }
234
+ &.is-info {
235
+ @apply bg-info/10 text-on-surface;
236
+ .tab.on-active {
237
+ @apply bg-info text-on-info;
238
+ }
239
+ }
240
+ &.is-warning {
241
+ @apply bg-warning/10 text-on-surface;
242
+ .tab.on-active {
243
+ @apply bg-warning text-on-warning;
244
+ }
245
+ }
246
+ &.is-danger {
247
+ @apply bg-danger/10 text-on-surface;
248
+ .tab.on-active {
249
+ @apply bg-danger text-on-danger;
94
250
  }
95
251
  }
96
252
  }
253
+
97
254
  &.is-start {
98
255
  .tabs-list.is-line {
99
- .tab.on-active {
256
+ &.is-primary .tab.on-active {
100
257
  @apply border-b-0 border-l-2 border-primary;
101
258
  }
259
+ &.is-secondary .tab.on-active {
260
+ @apply border-b-0 border-l-2 border-secondary;
261
+ }
262
+ &.is-muted .tab.on-active {
263
+ @apply border-b-0 border-l-2 border-on-muted;
264
+ }
265
+ &.is-success .tab.on-active {
266
+ @apply border-b-0 border-l-2 border-success;
267
+ }
268
+ &.is-info .tab.on-active {
269
+ @apply border-b-0 border-l-2 border-info;
270
+ }
271
+ &.is-warning .tab.on-active {
272
+ @apply border-b-0 border-l-2 border-warning;
273
+ }
274
+ &.is-danger .tab.on-active {
275
+ @apply border-b-0 border-l-2 border-danger;
276
+ }
102
277
  }
103
278
  }
104
279
  &.is-end {
105
280
  .tabs-list.is-line {
106
- .tab.on-active {
281
+ &.is-primary .tab.on-active {
107
282
  @apply border-b-0 border-r-2 border-primary;
108
283
  }
284
+ &.is-secondary .tab.on-active {
285
+ @apply border-b-0 border-r-2 border-secondary;
286
+ }
287
+ &.is-muted .tab.on-active {
288
+ @apply border-b-0 border-r-2 border-on-muted;
289
+ }
290
+ &.is-success .tab.on-active {
291
+ @apply border-b-0 border-r-2 border-success;
292
+ }
293
+ &.is-info .tab.on-active {
294
+ @apply border-b-0 border-r-2 border-info;
295
+ }
296
+ &.is-warning .tab.on-active {
297
+ @apply border-b-0 border-r-2 border-warning;
298
+ }
299
+ &.is-danger .tab.on-active {
300
+ @apply border-b-0 border-r-2 border-danger;
301
+ }
109
302
  }
110
303
  }
304
+
111
305
  .tabs-wrapper {
112
306
  @apply flex flex-1 overflow-hidden relative;
113
307
  .tabs-content {
@@ -0,0 +1,58 @@
1
+ <script lang="ts">
2
+ import Button from '../control/Button.svelte';
3
+ import Modal from './Modal.svelte';
4
+
5
+ type Props = {
6
+ open: boolean;
7
+ title?: string;
8
+ description?: string;
9
+ confirmText?: string;
10
+ cancelText?: string;
11
+ onconfirm?: () => void;
12
+ oncancel?: () => void;
13
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
14
+ isLoading?: boolean;
15
+ rootClass?: string;
16
+ };
17
+
18
+ let {
19
+ open = $bindable(false),
20
+ title = 'Are you sure?',
21
+ description = 'This action cannot be undone.',
22
+ confirmText = 'Confirm',
23
+ cancelText = 'Cancel',
24
+ onconfirm,
25
+ oncancel,
26
+ color = 'danger',
27
+ isLoading = false,
28
+ rootClass
29
+ }: Props = $props();
30
+
31
+ function handleConfirm() {
32
+ onconfirm?.();
33
+ }
34
+
35
+ function handleCancel() {
36
+ open = false;
37
+ oncancel?.();
38
+ }
39
+ </script>
40
+
41
+ <Modal bind:open hideCloseButton disableOverlayClose {rootClass}>
42
+ {#snippet header()}
43
+ <h3 class="alert-dialog-title">{title}</h3>
44
+ {/snippet}
45
+
46
+ <p class="alert-dialog-description">{description}</p>
47
+
48
+ {#snippet footer()}
49
+ <div class="alert-dialog-actions">
50
+ <Button variant="outlined" color="muted" onclick={handleCancel} isDisabled={isLoading}>
51
+ {cancelText}
52
+ </Button>
53
+ <Button {color} onclick={handleConfirm} {isLoading}>
54
+ {confirmText}
55
+ </Button>
56
+ </div>
57
+ {/snippet}
58
+ </Modal>
@@ -1,26 +1,15 @@
1
- export default AlertDialog;
2
- type AlertDialog = SvelteComponent<{
3
- [x: string]: never;
4
- }, {
5
- [evt: string]: CustomEvent<any>;
6
- }, {}> & {
7
- $$bindings?: string | undefined;
1
+ type Props = {
2
+ open: boolean;
3
+ title?: string;
4
+ description?: string;
5
+ confirmText?: string;
6
+ cancelText?: string;
7
+ onconfirm?: () => void;
8
+ oncancel?: () => void;
9
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
10
+ isLoading?: boolean;
11
+ rootClass?: string;
8
12
  };
9
- declare const AlertDialog: $$__sveltets_2_IsomorphicComponent<{
10
- [x: string]: never;
11
- }, {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}, {}, string>;
14
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
- $$bindings?: Bindings;
17
- } & Exports;
18
- (internal: unknown, props: {
19
- $$events?: Events;
20
- $$slots?: Slots;
21
- }): Exports & {
22
- $set?: any;
23
- $on?: any;
24
- };
25
- z_$$bindings?: Bindings;
26
- }
13
+ declare const AlertDialog: import("svelte").Component<Props, {}, "open">;
14
+ type AlertDialog = ReturnType<typeof AlertDialog>;
15
+ export default AlertDialog;