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,98 +1,103 @@
1
1
  @layer components {
2
+ .table-wrapper {
3
+ @apply column gap-2 justify-between;
4
+ }
5
+
2
6
  .table-container {
3
7
  @apply relative w-full overflow-x-auto;
8
+ }
4
9
 
5
- .table {
6
- @apply relative w-full text-left rtl:text-right;
10
+ .table {
11
+ @apply relative w-full text-left rtl:text-right;
7
12
 
8
- .table-header {
9
- @apply bg-muted whitespace-nowrap text-sm font-semibold rounded-ui;
10
- th {
11
- &:first-child {
12
- @apply rounded-l-ui pl-6;
13
- }
14
-
15
- &:last-child {
16
- @apply rounded-r-ui;
17
- }
18
- }
13
+ .table-header {
14
+ @apply bg-muted whitespace-nowrap text-sm font-semibold rounded-box;
19
15
 
20
- .table-head {
21
- @apply py-3 px-4 text-left text-sm font-semibold text-on-muted;
16
+ th {
17
+ &:first-child {
18
+ @apply rounded-l-box pl-6;
19
+ }
20
+ &:last-child {
21
+ @apply rounded-r-box;
22
22
  }
23
23
  }
24
+ }
25
+
26
+ .table-head {
27
+ @apply py-3 px-4 text-left text-sm font-semibold;
24
28
 
25
- .table-body {
26
- tr {
27
- @apply transition-colors duration-150;
29
+ &.sortable {
30
+ @apply cursor-pointer select-none;
31
+
32
+ &:hover .table-sort-btn {
33
+ @apply opacity-80;
28
34
  }
35
+ }
36
+ }
37
+
38
+ .table-head-content {
39
+ @apply flex items-center gap-1;
40
+ }
41
+
42
+ .table-head-label {
43
+ @apply shrink-0;
44
+ }
29
45
 
30
- td {
31
- @apply px-4 py-4 text-sm whitespace-nowrap;
46
+ .table-body {
47
+ tr {
48
+ @apply transition-colors duration-150;
49
+ }
32
50
 
33
- &:first-child {
34
- @apply pl-6;
35
- }
51
+ td {
52
+ @apply px-4 py-4 text-sm whitespace-nowrap;
53
+
54
+ &:first-child {
55
+ @apply pl-6;
36
56
  }
37
57
  }
38
58
  }
39
59
  }
40
60
 
41
- .table.has-dividers {
42
- .table-body {
61
+ .table {
62
+ &.has-dividers .table-body {
43
63
  @apply divide-y divide-muted/40;
44
64
  }
45
- }
65
+ &.is-striped tbody tr {
66
+ &:nth-child(even) {
67
+ @apply bg-muted/50;
46
68
 
47
- .table.is-striped {
48
- tbody {
49
- tr {
50
- &:nth-child(even) {
51
- @apply bg-muted/50;
52
-
53
- td {
54
- &:first-child {
55
- @apply rounded-l-ui;
56
- }
57
-
58
- &:last-child {
59
- @apply rounded-r-ui;
60
- }
61
- }
69
+ td:first-child {
70
+ @apply rounded-l-box;
62
71
  }
63
-
64
- &:hover {
65
- @apply bg-muted/70;
72
+ td:last-child {
73
+ @apply rounded-r-box;
66
74
  }
67
75
  }
76
+
77
+ &:hover {
78
+ @apply bg-muted/70;
79
+ }
68
80
  }
69
- }
70
81
 
71
- .table.is-bordered {
72
- @apply border border-muted/40 rounded-lg overflow-hidden;
82
+ &.is-bordered {
83
+ @apply border border-muted/40 rounded-lg overflow-hidden;
73
84
 
74
- .table-body {
75
- tr {
76
- td {
77
- @apply border-r border-muted/40;
85
+ .table-body tr td {
86
+ @apply border-r border-muted/40;
78
87
 
79
- &:last-child {
80
- @apply border-r-0;
81
- }
88
+ &:last-child {
89
+ @apply border-r-0;
82
90
  }
83
91
  }
84
92
  }
85
93
  }
86
94
 
87
- .table.is-sm {
88
- .table-header {
95
+ .table {
96
+ &.is-sm {
89
97
  .table-head {
90
98
  @apply text-xs py-2 px-3;
91
99
  }
92
- }
93
-
94
- .table-body {
95
- td {
100
+ .table-body td {
96
101
  @apply text-xs py-2 px-3;
97
102
 
98
103
  &:first-child {
@@ -100,17 +105,12 @@
100
105
  }
101
106
  }
102
107
  }
103
- }
104
108
 
105
- .table.is-md {
106
- .table-header {
109
+ &.is-md {
107
110
  .table-head {
108
111
  @apply text-sm py-3 px-4;
109
112
  }
110
- }
111
-
112
- .table-body {
113
- td {
113
+ .table-body td {
114
114
  @apply text-sm py-4 px-4;
115
115
 
116
116
  &:first-child {
@@ -118,17 +118,12 @@
118
118
  }
119
119
  }
120
120
  }
121
- }
122
121
 
123
- .table.is-lg {
124
- .table-header {
122
+ &.is-lg {
125
123
  .table-head {
126
124
  @apply text-base py-4 px-5;
127
125
  }
128
- }
129
-
130
- .table-body {
131
- td {
126
+ .table-body td {
132
127
  @apply text-base py-5 px-5;
133
128
 
134
129
  &:first-child {
@@ -138,6 +133,208 @@
138
133
  }
139
134
  }
140
135
 
136
+ .table {
137
+ &.is-primary {
138
+ .table-header {
139
+ @apply bg-primary/10;
140
+ }
141
+ .table-head {
142
+ @apply text-primary;
143
+ }
144
+ .table-row-selected {
145
+ @apply bg-primary/10;
146
+ &:hover {
147
+ @apply bg-primary/15;
148
+ }
149
+ }
150
+ .table-head.sorted {
151
+ @apply text-primary;
152
+ }
153
+ .table-sort-btn.is-active {
154
+ @apply text-primary;
155
+ }
156
+ }
157
+
158
+ &.is-secondary {
159
+ .table-header {
160
+ @apply bg-secondary/10;
161
+ }
162
+ .table-head {
163
+ @apply text-secondary;
164
+ }
165
+ .table-row-selected {
166
+ @apply bg-secondary/10;
167
+ &:hover {
168
+ @apply bg-secondary/15;
169
+ }
170
+ }
171
+ .table-head.sorted {
172
+ @apply text-secondary;
173
+ }
174
+ .table-sort-btn.is-active {
175
+ @apply text-secondary;
176
+ }
177
+ }
178
+
179
+ &.is-muted {
180
+ .table-header {
181
+ @apply bg-muted/50;
182
+ }
183
+ .table-head {
184
+ @apply text-on-muted;
185
+ }
186
+ .table-row-selected {
187
+ @apply bg-muted/30;
188
+ &:hover {
189
+ @apply bg-muted/40;
190
+ }
191
+ }
192
+ }
193
+
194
+ &.is-success {
195
+ .table-header {
196
+ @apply bg-success/10;
197
+ }
198
+ .table-head {
199
+ @apply text-success;
200
+ }
201
+ .table-row-selected {
202
+ @apply bg-success/10;
203
+ &:hover {
204
+ @apply bg-success/15;
205
+ }
206
+ }
207
+ .table-head.sorted {
208
+ @apply text-success;
209
+ }
210
+ .table-sort-btn.is-active {
211
+ @apply text-success;
212
+ }
213
+ }
214
+
215
+ &.is-info {
216
+ .table-header {
217
+ @apply bg-info/10;
218
+ }
219
+ .table-head {
220
+ @apply text-info;
221
+ }
222
+ .table-row-selected {
223
+ @apply bg-info/10;
224
+ &:hover {
225
+ @apply bg-info/15;
226
+ }
227
+ }
228
+ .table-head.sorted {
229
+ @apply text-info;
230
+ }
231
+ .table-sort-btn.is-active {
232
+ @apply text-info;
233
+ }
234
+ }
235
+
236
+ &.is-danger {
237
+ .table-header {
238
+ @apply bg-danger/10;
239
+ }
240
+ .table-head {
241
+ @apply text-danger;
242
+ }
243
+ .table-row-selected {
244
+ @apply bg-danger/10;
245
+ &:hover {
246
+ @apply bg-danger/15;
247
+ }
248
+ }
249
+ .table-head.sorted {
250
+ @apply text-danger;
251
+ }
252
+ .table-sort-btn.is-active {
253
+ @apply text-danger;
254
+ }
255
+ }
256
+
257
+ &.is-warning {
258
+ .table-header {
259
+ @apply bg-warning/10;
260
+ }
261
+ .table-head {
262
+ @apply text-warning;
263
+ }
264
+ .table-row-selected {
265
+ @apply bg-warning/10;
266
+ &:hover {
267
+ @apply bg-warning/15;
268
+ }
269
+ }
270
+ .table-head.sorted {
271
+ @apply text-warning;
272
+ }
273
+ .table-sort-btn.is-active {
274
+ @apply text-warning;
275
+ }
276
+ }
277
+ }
278
+
279
+ .table-selection-bar {
280
+ &.is-primary {
281
+ @apply bg-primary/10 border-primary/20;
282
+ .table-selection-count {
283
+ @apply text-primary;
284
+ }
285
+ }
286
+
287
+ &.is-secondary {
288
+ @apply bg-secondary/10 border-secondary/20;
289
+ .table-selection-count {
290
+ @apply text-secondary;
291
+ }
292
+ }
293
+
294
+ &.is-muted {
295
+ @apply bg-muted/50 border-muted/30;
296
+ .table-selection-count {
297
+ @apply text-on-muted;
298
+ }
299
+ }
300
+
301
+ &.is-success {
302
+ @apply bg-success/10 border-success/20;
303
+ .table-selection-count {
304
+ @apply text-success;
305
+ }
306
+ }
307
+
308
+ &.is-info {
309
+ @apply bg-info/10 border-info/20;
310
+ .table-selection-count {
311
+ @apply text-info;
312
+ }
313
+ }
314
+
315
+ &.is-danger {
316
+ @apply bg-danger/10 border-danger/20;
317
+ .table-selection-count {
318
+ @apply text-danger;
319
+ }
320
+ }
321
+
322
+ &.is-warning {
323
+ @apply bg-warning/10 border-warning/20;
324
+ .table-selection-count {
325
+ @apply text-warning;
326
+ }
327
+ }
328
+ }
329
+
330
+ .table-body tr.is-clickable {
331
+ @apply cursor-pointer;
332
+
333
+ &:active {
334
+ @apply bg-muted/40;
335
+ }
336
+ }
337
+
141
338
  .table-loading-row {
142
339
  @apply animate-pulse;
143
340
  }
@@ -146,6 +343,10 @@
146
343
  @apply h-4 bg-muted/50 rounded-md animate-pulse;
147
344
  }
148
345
 
346
+ .skeleton-checkbox {
347
+ @apply w-4 h-4 rounded-sm;
348
+ }
349
+
149
350
  .table-empty-row {
150
351
  @apply border-0;
151
352
  }
@@ -178,47 +379,28 @@
178
379
  @apply text-sm text-on-muted;
179
380
  }
180
381
 
181
- .table-toolbar {
182
- @apply flex items-center justify-between gap-4 py-3 flex-wrap;
183
- }
184
-
185
- .table-toolbar-start {
186
- @apply flex items-center gap-3 flex-1 min-w-[200px];
187
- }
188
-
189
- .table-toolbar-end {
190
- @apply flex items-center gap-3;
191
- }
192
-
193
- .table-search {
194
- @apply min-w-full max-w-full md:min-w-xs md:max-w-xs;
195
- }
196
-
197
- .table-rows-per-page {
198
- @apply flex items-center gap-2;
382
+ .table-checkbox-cell {
383
+ @apply w-12 pl-4 pr-2;
199
384
  }
200
385
 
201
- .table-rows-per-page-label {
202
- @apply text-sm text-on-muted whitespace-nowrap;
203
- }
386
+ .table-checkbox {
387
+ @apply m-0;
204
388
 
205
- .table-rows-per-page-select {
206
- @apply min-w-[70px];
389
+ &.is-indeterminate input {
390
+ @apply opacity-60;
391
+ }
207
392
  }
208
393
 
209
- @media (max-width: 640px) {
210
- .table-toolbar {
211
- @apply flex-col items-stretch;
212
- }
394
+ .table-row-selected {
395
+ @apply bg-primary/10;
213
396
 
214
- .table-toolbar-start,
215
- .table-toolbar-end {
216
- @apply w-full justify-between;
397
+ &:hover {
398
+ @apply bg-primary/15;
217
399
  }
218
400
  }
219
401
 
220
402
  .table-selection-bar {
221
- @apply flex items-center justify-between gap-4 px-4 py-3 bg-primary/10 border border-primary/20 rounded-ui mb-3;
403
+ @apply flex items-center justify-between gap-4 px-4 py-3 bg-primary/10 border border-primary/20 rounded-box mb-3;
222
404
 
223
405
  @media (max-width: 640px) {
224
406
  @apply flex-col items-start gap-3;
@@ -233,14 +415,6 @@
233
415
  @apply text-sm font-medium text-primary;
234
416
  }
235
417
 
236
- .table-selection-clear {
237
- @apply text-sm text-primary bg-transparent border-0 cursor-pointer underline p-0;
238
-
239
- &:hover {
240
- @apply text-primary/80;
241
- }
242
- }
243
-
244
418
  .table-selection-actions {
245
419
  @apply flex items-center gap-2;
246
420
 
@@ -249,113 +423,55 @@
249
423
  }
250
424
  }
251
425
 
252
- .table-checkbox-cell {
253
- @apply w-12 pl-4 pr-2;
254
- }
255
-
256
- .table-checkbox {
257
- @apply m-0;
426
+ .table-toolbar {
427
+ @apply flex items-center justify-between gap-4 py-2 flex-wrap;
258
428
 
259
- &.is-indeterminate input {
260
- @apply opacity-60;
429
+ @media (max-width: 640px) {
430
+ @apply flex-col items-stretch;
261
431
  }
262
432
  }
263
433
 
264
- .skeleton-checkbox {
265
- @apply w-4 h-4 rounded-sm;
266
- }
267
-
268
- .table-row-selected {
269
- @apply bg-primary/10;
434
+ .table-toolbar-start {
435
+ @apply flex items-center gap-3 flex-1 min-w-[200px];
270
436
 
271
- &:hover {
272
- @apply bg-primary/15;
437
+ .table-toolbar-search {
438
+ @apply max-w-xs;
273
439
  }
274
- }
275
-
276
- .table-wrapper {
277
- @apply flex flex-col gap-2;
278
- }
279
-
280
- .table-footer-info {
281
- @apply flex items-center justify-between gap-4 px-2 py-3;
282
440
 
283
441
  @media (max-width: 640px) {
284
- @apply flex-col items-stretch gap-3;
442
+ @apply w-full justify-between;
285
443
  }
286
444
  }
287
445
 
288
- .pagination-container {
289
- @apply flex w-full py-2 items-center justify-between gap-4;
446
+ .table-toolbar-end {
447
+ @apply flex items-center gap-3;
290
448
 
291
449
  @media (max-width: 640px) {
292
- @apply flex-col items-stretch;
450
+ @apply w-full justify-between;
293
451
  }
294
452
  }
295
453
 
296
- .pagination {
297
- @apply flex items-center gap-1;
298
- }
299
-
300
- .pagination-btn {
301
- @apply flex items-center justify-center min-w-9 h-9 px-2 rounded-ui border border-transparent bg-transparent text-sm font-medium cursor-pointer transition-all duration-150;
302
-
303
- .icon {
304
- @apply h-5 w-auto;
305
- }
306
-
307
- &:hover:not(:disabled):not(.active) {
308
- @apply bg-muted;
309
- }
310
-
311
- &.active {
312
- @apply bg-primary text-on-primary;
313
- }
314
-
315
- &:disabled {
316
- @apply opacity-50 cursor-not-allowed;
317
- }
454
+ .table-search {
455
+ @apply min-w-full max-w-full md:min-w-xs md:max-w-xs;
318
456
  }
319
457
 
320
- .pagination-ellipsis {
321
- @apply flex items-center justify-center min-w-9 h-9 text-sm opacity-60;
458
+ .table-footer-info {
459
+ @apply flex items-center justify-between gap-4 px-2 py-3;
322
460
  }
323
461
 
324
462
  .table-total {
325
463
  @apply text-sm text-on-muted whitespace-nowrap;
326
464
  }
327
465
 
328
- .table-head-content {
329
- @apply flex items-center gap-1;
330
- }
331
-
332
- .table-head-label {
333
- @apply shrink-0;
334
- }
335
-
336
- .table-head.sortable {
337
- @apply cursor-pointer select-none;
338
-
339
- &:hover {
340
- .table-sort-btn {
341
- @apply opacity-80;
342
- }
343
- }
466
+ .table-rows-per-page {
467
+ @apply flex items-center gap-2;
344
468
  }
345
469
 
346
- .table-head.sorted {
347
- @apply text-primary;
470
+ .table-rows-per-page-label {
471
+ @apply text-sm text-on-muted whitespace-nowrap;
348
472
  }
349
473
 
350
- .table-sort-btn {
351
- @apply opacity-40 transition-opacity duration-150 shrink-0;
352
-
353
- &:hover {
354
- @apply opacity-80;
355
- }
356
-
357
- &.is-active {
358
- @apply opacity-100 text-primary;
359
- }
474
+ .table-rows-per-page-select {
475
+ @apply min-w-[70px];
360
476
  }
361
477
  }
@@ -9,7 +9,8 @@
9
9
  class?: string;
10
10
  label?: string;
11
11
  name?: string;
12
- color?: 'primary' | 'secondary' | 'muted';
12
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
13
+ isMuted?: boolean;
13
14
  };
14
15
  let {
15
16
  checked = $bindable(),
@@ -19,20 +20,25 @@
19
20
  class: className,
20
21
  label,
21
22
  name,
22
- color = 'primary'
23
+ color = 'primary',
24
+ isMuted
23
25
  }: Props = $props();
24
26
 
25
27
  const colors = {
26
28
  primary: 'is-primary',
27
29
  secondary: 'is-secondary',
28
- muted: 'is-muted'
30
+ muted: 'is-muted',
31
+ success: 'is-success',
32
+ info: 'is-info',
33
+ warning: 'is-warning',
34
+ danger: 'is-danger'
29
35
  };
30
36
  </script>
31
37
 
32
38
  <label class={cn('checkbox', className)}>
33
39
  <input
34
40
  type="checkbox"
35
- class={cn('checkbox-input', colors[color])}
41
+ class={cn('checkbox-input', colors[color], isMuted && 'is-muted')}
36
42
  {name}
37
43
  bind:checked
38
44
  {defaultChecked}
@@ -40,6 +46,6 @@
40
46
  onchange={() => onchange && onchange(checked!)}
41
47
  />
42
48
  {#if label}
43
- <span class="label">{label}</span>
49
+ <span class="label-md">{label}</span>
44
50
  {/if}
45
51
  </label>
@@ -6,7 +6,8 @@ type Props = {
6
6
  class?: string;
7
7
  label?: string;
8
8
  name?: string;
9
- color?: 'primary' | 'secondary' | 'muted';
9
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger';
10
+ isMuted?: boolean;
10
11
  };
11
12
  declare const Checkbox: import("svelte").Component<Props, {}, "checked">;
12
13
  type Checkbox = ReturnType<typeof Checkbox>;