ui-svelte 0.2.10 → 0.2.12

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 (206) hide show
  1. package/dist/charts/ArcChart.svelte +9 -13
  2. package/dist/charts/ArcChart.svelte.d.ts +3 -3
  3. package/dist/charts/AreaChart.svelte +347 -118
  4. package/dist/charts/AreaChart.svelte.d.ts +33 -4
  5. package/dist/charts/BarChart.svelte +288 -66
  6. package/dist/charts/BarChart.svelte.d.ts +26 -1
  7. package/dist/charts/Candlestick.svelte +53 -50
  8. package/dist/charts/Candlestick.svelte.d.ts +8 -8
  9. package/dist/charts/LineChart.svelte +391 -91
  10. package/dist/charts/LineChart.svelte.d.ts +26 -3
  11. package/dist/charts/PieChart.svelte +333 -92
  12. package/dist/charts/PieChart.svelte.d.ts +33 -5
  13. package/dist/charts/css/arc-chart.css +3 -3
  14. package/dist/charts/css/area-chart.css +127 -29
  15. package/dist/charts/css/bar-chart.css +114 -8
  16. package/dist/charts/css/candlestick.css +2 -0
  17. package/dist/charts/css/line-chart.css +111 -13
  18. package/dist/charts/css/pie-chart.css +92 -20
  19. package/dist/control/Audio.svelte +86 -44
  20. package/dist/control/Audio.svelte.d.ts +4 -1
  21. package/dist/control/Button.svelte +18 -27
  22. package/dist/control/Button.svelte.d.ts +3 -2
  23. package/dist/control/IconButton.svelte +17 -27
  24. package/dist/control/IconButton.svelte.d.ts +3 -3
  25. package/dist/control/Image.svelte +123 -0
  26. package/dist/control/Image.svelte.d.ts +13 -0
  27. package/dist/control/Record.svelte +144 -98
  28. package/dist/control/Record.svelte.d.ts +2 -1
  29. package/dist/control/ToggleGroup.svelte +22 -8
  30. package/dist/control/ToggleGroup.svelte.d.ts +2 -1
  31. package/dist/control/ToggleTheme.svelte +13 -11
  32. package/dist/control/ToggleTheme.svelte.d.ts +3 -2
  33. package/dist/control/Video.svelte +55 -29
  34. package/dist/control/Video.svelte.d.ts +1 -0
  35. package/dist/control/css/btn.css +200 -152
  36. package/dist/control/css/image.css +56 -0
  37. package/dist/control/css/media.css +95 -30
  38. package/dist/control/css/toggle-group.css +269 -84
  39. package/dist/control/css/video.css +1 -14
  40. package/dist/css/animations.css +427 -2
  41. package/dist/css/base.css +13 -347
  42. package/dist/css/decorations.css +402 -0
  43. package/dist/css/rich-text.css +485 -0
  44. package/dist/css/transitions.css +158 -0
  45. package/dist/css/typography.css +291 -0
  46. package/dist/display/Accordion.svelte +28 -4
  47. package/dist/display/Accordion.svelte.d.ts +2 -1
  48. package/dist/display/Alert.svelte +32 -12
  49. package/dist/display/Alert.svelte.d.ts +2 -3
  50. package/dist/display/Avatar.svelte +54 -26
  51. package/dist/display/Avatar.svelte.d.ts +7 -1
  52. package/dist/display/AvatarGroup.svelte +26 -18
  53. package/dist/display/AvatarGroup.svelte.d.ts +9 -3
  54. package/dist/display/Badge.svelte +11 -4
  55. package/dist/display/Badge.svelte.d.ts +2 -1
  56. package/dist/display/Card.svelte +15 -14
  57. package/dist/display/Card.svelte.d.ts +2 -3
  58. package/dist/display/Carousel.svelte +130 -99
  59. package/dist/display/Carousel.svelte.d.ts +6 -4
  60. package/dist/display/ChatBox.svelte +245 -106
  61. package/dist/display/ChatBox.svelte.d.ts +32 -5
  62. package/dist/display/Chip.svelte +31 -17
  63. package/dist/display/Chip.svelte.d.ts +3 -2
  64. package/dist/display/Code.svelte +6 -3
  65. package/dist/display/Code.svelte.d.ts +1 -0
  66. package/dist/display/Collapsible.svelte +30 -4
  67. package/dist/display/Collapsible.svelte.d.ts +2 -1
  68. package/dist/display/Empty.svelte +37 -3
  69. package/dist/display/Empty.svelte.d.ts +3 -0
  70. package/dist/display/Item.svelte +31 -18
  71. package/dist/display/Item.svelte.d.ts +2 -2
  72. package/dist/display/Map.svelte +488 -0
  73. package/dist/display/Map.svelte.d.ts +44 -0
  74. package/dist/display/Section.svelte +14 -12
  75. package/dist/display/Section.svelte.d.ts +2 -3
  76. package/dist/display/Skeleton.svelte +32 -0
  77. package/dist/display/Skeleton.svelte.d.ts +10 -0
  78. package/dist/display/Table.svelte +94 -132
  79. package/dist/display/Table.svelte.d.ts +10 -1
  80. package/dist/display/css/accordion.css +349 -52
  81. package/dist/display/css/alert.css +18 -25
  82. package/dist/display/css/avatar-group.css +38 -44
  83. package/dist/display/css/avatar.css +152 -123
  84. package/dist/display/css/badge.css +50 -27
  85. package/dist/display/css/card.css +51 -71
  86. package/dist/display/css/carousel.css +25 -5
  87. package/dist/display/css/chat-box.css +158 -26
  88. package/dist/display/css/chip.css +142 -68
  89. package/dist/display/css/code.css +2 -6
  90. package/dist/display/css/collapsible.css +349 -45
  91. package/dist/display/css/divider.css +8 -6
  92. package/dist/display/css/empty.css +7 -0
  93. package/dist/display/css/item.css +311 -89
  94. package/dist/display/css/map.css +164 -0
  95. package/dist/display/css/section.css +78 -33
  96. package/dist/display/css/skeleton.css +58 -0
  97. package/dist/display/css/table.css +320 -189
  98. package/dist/form/Checkbox.svelte +11 -5
  99. package/dist/form/Checkbox.svelte.d.ts +2 -1
  100. package/dist/form/ColorField.svelte +543 -0
  101. package/dist/form/ColorField.svelte.d.ts +29 -0
  102. package/dist/form/ComboBox.svelte +24 -9
  103. package/dist/form/ComboBox.svelte.d.ts +2 -2
  104. package/dist/form/CsvField.svelte +62 -136
  105. package/dist/form/CsvField.svelte.d.ts +2 -2
  106. package/dist/form/DateField.svelte +33 -15
  107. package/dist/form/DateField.svelte.d.ts +2 -1
  108. package/dist/form/DateRange.svelte +436 -0
  109. package/dist/form/DateRange.svelte.d.ts +24 -0
  110. package/dist/form/DragDrop.svelte +348 -0
  111. package/dist/form/DragDrop.svelte.d.ts +32 -0
  112. package/dist/form/Dropzone.svelte +28 -8
  113. package/dist/form/Dropzone.svelte.d.ts +2 -2
  114. package/dist/form/Editor.svelte +626 -0
  115. package/dist/form/Editor.svelte.d.ts +50 -0
  116. package/dist/form/ImageCropper.svelte +291 -61
  117. package/dist/form/ImageCropper.svelte.d.ts +15 -1
  118. package/dist/form/PasswordField.svelte +120 -75
  119. package/dist/form/PasswordField.svelte.d.ts +9 -10
  120. package/dist/form/PhoneField.svelte +34 -16
  121. package/dist/form/PhoneField.svelte.d.ts +4 -3
  122. package/dist/form/PinField.svelte +39 -31
  123. package/dist/form/PinField.svelte.d.ts +3 -3
  124. package/dist/form/RadioGroup.svelte +4 -4
  125. package/dist/form/RadioGroup.svelte.d.ts +1 -1
  126. package/dist/form/Select.svelte +20 -19
  127. package/dist/form/Select.svelte.d.ts +2 -2
  128. package/dist/form/Slider.svelte +4 -2
  129. package/dist/form/Slider.svelte.d.ts +1 -0
  130. package/dist/form/TextField.svelte +16 -7
  131. package/dist/form/TextField.svelte.d.ts +2 -2
  132. package/dist/form/Textarea.svelte +15 -6
  133. package/dist/form/Textarea.svelte.d.ts +2 -2
  134. package/dist/form/Toggle.svelte +11 -1
  135. package/dist/form/Toggle.svelte.d.ts +2 -0
  136. package/dist/form/css/checkbox.css +18 -2
  137. package/dist/form/css/color-field.css +141 -0
  138. package/dist/form/css/control.css +193 -82
  139. package/dist/form/css/csv-field.css +226 -0
  140. package/dist/form/css/date-range.css +122 -0
  141. package/dist/form/css/date.css +24 -2
  142. package/dist/form/css/drag-drop.css +271 -0
  143. package/dist/form/css/dropzone.css +153 -34
  144. package/dist/form/css/editor.css +367 -0
  145. package/dist/form/css/field.css +4 -0
  146. package/dist/form/css/image-cropper.css +223 -22
  147. package/dist/form/css/password.css +1 -1
  148. package/dist/form/css/radio-group.css +1 -1
  149. package/dist/form/css/select.css +2 -2
  150. package/dist/form/css/slider.css +1 -0
  151. package/dist/form/css/textarea.css +178 -75
  152. package/dist/form/css/toggle.css +11 -2
  153. package/dist/hooks/use-table.svelte.d.ts +1 -0
  154. package/dist/hooks/use-table.svelte.js +6 -0
  155. package/dist/icons/index.d.ts +38 -2
  156. package/dist/icons/index.js +40 -4
  157. package/dist/index.css +16 -1
  158. package/dist/index.d.ts +11 -3
  159. package/dist/index.js +10 -2
  160. package/dist/layout/AppBar.svelte +22 -14
  161. package/dist/layout/AppBar.svelte.d.ts +2 -1
  162. package/dist/layout/Footer.svelte +19 -11
  163. package/dist/layout/Footer.svelte.d.ts +2 -1
  164. package/dist/layout/Provider.svelte +27 -4
  165. package/dist/layout/Provider.svelte.d.ts +3 -1
  166. package/dist/layout/css/app-bar.css +63 -66
  167. package/dist/layout/css/footer.css +62 -65
  168. package/dist/navigation/BottomNav.svelte +41 -13
  169. package/dist/navigation/FooterGroup.svelte +1 -1
  170. package/dist/navigation/NavMenu.svelte +47 -23
  171. package/dist/navigation/NavMenu.svelte.d.ts +29 -0
  172. package/dist/navigation/Pagination.svelte +158 -0
  173. package/dist/navigation/Pagination.svelte.d.ts +18 -0
  174. package/dist/navigation/SideNav.svelte +30 -25
  175. package/dist/navigation/SideNav.svelte.d.ts +2 -3
  176. package/dist/navigation/Tabs.svelte +17 -7
  177. package/dist/navigation/Tabs.svelte.d.ts +2 -2
  178. package/dist/navigation/css/bottom-nav.css +279 -257
  179. package/dist/navigation/css/footer-group.css +1 -1
  180. package/dist/navigation/css/footer-nav.css +1 -1
  181. package/dist/navigation/css/nav-menu.css +332 -106
  182. package/dist/navigation/css/pagination.css +74 -0
  183. package/dist/navigation/css/side-nav.css +515 -75
  184. package/dist/navigation/css/tabs.css +246 -52
  185. package/dist/overlay/Command.svelte +340 -0
  186. package/dist/overlay/Command.svelte.d.ts +24 -25
  187. package/dist/overlay/Drawer.svelte +49 -21
  188. package/dist/overlay/Drawer.svelte.d.ts +2 -2
  189. package/dist/overlay/Dropdown.svelte +4 -5
  190. package/dist/overlay/Modal.svelte +51 -16
  191. package/dist/overlay/Modal.svelte.d.ts +3 -3
  192. package/dist/overlay/Toast.svelte +41 -17
  193. package/dist/overlay/Toast.svelte.d.ts +1 -1
  194. package/dist/overlay/Tooltip.svelte +40 -26
  195. package/dist/overlay/Tooltip.svelte.d.ts +2 -2
  196. package/dist/overlay/css/command.css +80 -0
  197. package/dist/overlay/css/drawer.css +63 -24
  198. package/dist/overlay/css/dropdown.css +1 -1
  199. package/dist/overlay/css/hovercard.css +1 -1
  200. package/dist/overlay/css/modal.css +27 -27
  201. package/dist/overlay/css/toast.css +17 -29
  202. package/dist/overlay/css/tooltip.css +83 -66
  203. package/dist/stores/theme.svelte.js +26 -1
  204. package/dist/stores/toast.svelte.d.ts +4 -4
  205. package/dist/stores/toast.svelte.js +2 -2
  206. package/package.json +1 -1
@@ -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
10
  .table {
6
- @apply relative w-full text-left rtl:text-right;
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,220 @@
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
+ /* ==========================================
280
+ Selection Bar Color Variants
281
+ ========================================== */
282
+
283
+ .table-selection-bar {
284
+ &.is-primary {
285
+ @apply bg-primary/10 border-primary/20;
286
+ .table-selection-count {
287
+ @apply text-primary;
288
+ }
289
+
290
+ }
291
+
292
+ &.is-secondary {
293
+ @apply bg-secondary/10 border-secondary/20;
294
+ .table-selection-count {
295
+ @apply text-secondary;
296
+ }
297
+
298
+ }
299
+
300
+ &.is-muted {
301
+ @apply bg-muted/50 border-muted/30;
302
+ .table-selection-count {
303
+ @apply text-on-muted;
304
+ }
305
+
306
+ }
307
+
308
+ &.is-success {
309
+ @apply bg-success/10 border-success/20;
310
+ .table-selection-count {
311
+ @apply text-success;
312
+ }
313
+
314
+ }
315
+
316
+ &.is-info {
317
+ @apply bg-info/10 border-info/20;
318
+ .table-selection-count {
319
+ @apply text-info;
320
+ }
321
+
322
+ }
323
+
324
+ &.is-danger {
325
+ @apply bg-danger/10 border-danger/20;
326
+ .table-selection-count {
327
+ @apply text-danger;
328
+ }
329
+
330
+ }
331
+
332
+ &.is-warning {
333
+ @apply bg-warning/10 border-warning/20;
334
+ .table-selection-count {
335
+ @apply text-warning;
336
+ }
337
+
338
+ }
339
+ }
340
+
341
+ .table-body tr.is-clickable {
342
+ @apply cursor-pointer;
343
+
344
+ &:active {
345
+ @apply bg-muted/40;
346
+ }
347
+ }
348
+
349
+
141
350
  .table-loading-row {
142
351
  @apply animate-pulse;
143
352
  }
@@ -146,6 +355,10 @@
146
355
  @apply h-4 bg-muted/50 rounded-md animate-pulse;
147
356
  }
148
357
 
358
+ .skeleton-checkbox {
359
+ @apply w-4 h-4 rounded-sm;
360
+ }
361
+
149
362
  .table-empty-row {
150
363
  @apply border-0;
151
364
  }
@@ -178,47 +391,28 @@
178
391
  @apply text-sm text-on-muted;
179
392
  }
180
393
 
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;
394
+ .table-checkbox-cell {
395
+ @apply w-12 pl-4 pr-2;
199
396
  }
200
397
 
201
- .table-rows-per-page-label {
202
- @apply text-sm text-on-muted whitespace-nowrap;
203
- }
398
+ .table-checkbox {
399
+ @apply m-0;
204
400
 
205
- .table-rows-per-page-select {
206
- @apply min-w-[70px];
401
+ &.is-indeterminate input {
402
+ @apply opacity-60;
403
+ }
207
404
  }
208
405
 
209
- @media (max-width: 640px) {
210
- .table-toolbar {
211
- @apply flex-col items-stretch;
212
- }
406
+ .table-row-selected {
407
+ @apply bg-primary/10;
213
408
 
214
- .table-toolbar-start,
215
- .table-toolbar-end {
216
- @apply w-full justify-between;
409
+ &:hover {
410
+ @apply bg-primary/15;
217
411
  }
218
412
  }
219
413
 
220
414
  .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;
415
+ @apply flex items-center justify-between gap-4 px-4 py-3 bg-primary/10 border border-primary/20 rounded-box mb-3;
222
416
 
223
417
  @media (max-width: 640px) {
224
418
  @apply flex-col items-start gap-3;
@@ -233,13 +427,7 @@
233
427
  @apply text-sm font-medium text-primary;
234
428
  }
235
429
 
236
- .table-selection-clear {
237
- @apply text-sm text-primary bg-transparent border-0 cursor-pointer underline p-0;
238
430
 
239
- &:hover {
240
- @apply text-primary/80;
241
- }
242
- }
243
431
 
244
432
  .table-selection-actions {
245
433
  @apply flex items-center gap-2;
@@ -249,113 +437,56 @@
249
437
  }
250
438
  }
251
439
 
252
- .table-checkbox-cell {
253
- @apply w-12 pl-4 pr-2;
254
- }
255
-
256
- .table-checkbox {
257
- @apply m-0;
440
+ .table-toolbar {
441
+ @apply flex items-center justify-between gap-4 py-2 flex-wrap;
258
442
 
259
- &.is-indeterminate input {
260
- @apply opacity-60;
443
+ @media (max-width: 640px) {
444
+ @apply flex-col items-stretch;
261
445
  }
262
446
  }
263
447
 
264
- .skeleton-checkbox {
265
- @apply w-4 h-4 rounded-sm;
266
- }
267
-
268
- .table-row-selected {
269
- @apply bg-primary/10;
448
+ .table-toolbar-start {
449
+ @apply flex items-center gap-3 flex-1 min-w-[200px];
270
450
 
271
- &:hover {
272
- @apply bg-primary/15;
451
+ .table-toolbar-search {
452
+ @apply max-w-xs;
273
453
  }
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
454
 
283
455
  @media (max-width: 640px) {
284
- @apply flex-col items-stretch gap-3;
456
+ @apply w-full justify-between;
285
457
  }
286
458
  }
287
459
 
288
- .pagination-container {
289
- @apply flex w-full py-2 items-center justify-between gap-4;
460
+ .table-toolbar-end {
461
+ @apply flex items-center gap-3;
290
462
 
291
463
  @media (max-width: 640px) {
292
- @apply flex-col items-stretch;
464
+ @apply w-full justify-between;
293
465
  }
294
466
  }
295
467
 
296
- .pagination {
297
- @apply flex items-center gap-1;
468
+ .table-search {
469
+ @apply min-w-full max-w-full md:min-w-xs md:max-w-xs;
298
470
  }
299
471
 
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
- }
318
- }
472
+ .table-footer-info {
473
+ @apply flex items-center justify-between gap-4 px-2 py-3;
319
474
 
320
- .pagination-ellipsis {
321
- @apply flex items-center justify-center min-w-9 h-9 text-sm opacity-60;
322
475
  }
323
476
 
324
477
  .table-total {
325
478
  @apply text-sm text-on-muted whitespace-nowrap;
326
479
  }
327
480
 
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
- }
481
+ .table-rows-per-page {
482
+ @apply flex items-center gap-2;
344
483
  }
345
484
 
346
- .table-head.sorted {
347
- @apply text-primary;
485
+ .table-rows-per-page-label {
486
+ @apply text-sm text-on-muted whitespace-nowrap;
348
487
  }
349
488
 
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
- }
489
+ .table-rows-per-page-select {
490
+ @apply min-w-[70px];
360
491
  }
361
492
  }
@@ -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>;