ui-svelte 0.2.11 → 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 (204) 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 +5 -9
  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 +23 -18
  51. package/dist/display/Avatar.svelte.d.ts +4 -1
  52. package/dist/display/AvatarGroup.svelte +20 -18
  53. package/dist/display/AvatarGroup.svelte.d.ts +6 -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 +30 -11
  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 -75
  83. package/dist/display/css/avatar.css +139 -121
  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/{PasswordStrength.svelte → PasswordField.svelte} +58 -24
  119. package/dist/form/{PasswordStrength.svelte.d.ts → PasswordField.svelte.d.ts} +6 -5
  120. package/dist/form/PhoneField.svelte +26 -14
  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 +1 -1
  135. package/dist/form/css/checkbox.css +18 -2
  136. package/dist/form/css/color-field.css +141 -0
  137. package/dist/form/css/control.css +193 -82
  138. package/dist/form/css/csv-field.css +226 -0
  139. package/dist/form/css/date-range.css +122 -0
  140. package/dist/form/css/date.css +24 -2
  141. package/dist/form/css/drag-drop.css +271 -0
  142. package/dist/form/css/dropzone.css +153 -34
  143. package/dist/form/css/editor.css +367 -0
  144. package/dist/form/css/field.css +4 -0
  145. package/dist/form/css/image-cropper.css +223 -22
  146. package/dist/form/css/radio-group.css +1 -1
  147. package/dist/form/css/select.css +2 -2
  148. package/dist/form/css/slider.css +1 -0
  149. package/dist/form/css/textarea.css +178 -75
  150. package/dist/form/css/toggle.css +3 -3
  151. package/dist/hooks/use-table.svelte.d.ts +1 -0
  152. package/dist/hooks/use-table.svelte.js +6 -0
  153. package/dist/icons/index.d.ts +30 -2
  154. package/dist/icons/index.js +32 -4
  155. package/dist/index.css +16 -1
  156. package/dist/index.d.ts +12 -4
  157. package/dist/index.js +11 -3
  158. package/dist/layout/AppBar.svelte +22 -14
  159. package/dist/layout/AppBar.svelte.d.ts +2 -1
  160. package/dist/layout/Footer.svelte +19 -11
  161. package/dist/layout/Footer.svelte.d.ts +2 -1
  162. package/dist/layout/Provider.svelte +27 -4
  163. package/dist/layout/Provider.svelte.d.ts +3 -1
  164. package/dist/layout/css/app-bar.css +63 -66
  165. package/dist/layout/css/footer.css +62 -65
  166. package/dist/navigation/BottomNav.svelte +41 -13
  167. package/dist/navigation/FooterGroup.svelte +1 -1
  168. package/dist/navigation/NavMenu.svelte +47 -23
  169. package/dist/navigation/NavMenu.svelte.d.ts +29 -0
  170. package/dist/navigation/Pagination.svelte +158 -0
  171. package/dist/navigation/Pagination.svelte.d.ts +18 -0
  172. package/dist/navigation/SideNav.svelte +30 -25
  173. package/dist/navigation/SideNav.svelte.d.ts +2 -3
  174. package/dist/navigation/Tabs.svelte +17 -7
  175. package/dist/navigation/Tabs.svelte.d.ts +2 -2
  176. package/dist/navigation/css/bottom-nav.css +279 -257
  177. package/dist/navigation/css/footer-group.css +1 -1
  178. package/dist/navigation/css/footer-nav.css +1 -1
  179. package/dist/navigation/css/nav-menu.css +332 -106
  180. package/dist/navigation/css/pagination.css +74 -0
  181. package/dist/navigation/css/side-nav.css +515 -75
  182. package/dist/navigation/css/tabs.css +246 -52
  183. package/dist/overlay/Command.svelte +340 -0
  184. package/dist/overlay/Command.svelte.d.ts +24 -25
  185. package/dist/overlay/Drawer.svelte +49 -21
  186. package/dist/overlay/Drawer.svelte.d.ts +2 -2
  187. package/dist/overlay/Dropdown.svelte +3 -3
  188. package/dist/overlay/Modal.svelte +51 -16
  189. package/dist/overlay/Modal.svelte.d.ts +3 -3
  190. package/dist/overlay/Toast.svelte +41 -17
  191. package/dist/overlay/Toast.svelte.d.ts +1 -1
  192. package/dist/overlay/Tooltip.svelte +40 -26
  193. package/dist/overlay/Tooltip.svelte.d.ts +2 -2
  194. package/dist/overlay/css/command.css +80 -0
  195. package/dist/overlay/css/drawer.css +63 -24
  196. package/dist/overlay/css/dropdown.css +1 -1
  197. package/dist/overlay/css/hovercard.css +1 -1
  198. package/dist/overlay/css/modal.css +27 -27
  199. package/dist/overlay/css/toast.css +17 -29
  200. package/dist/overlay/css/tooltip.css +83 -66
  201. package/dist/stores/theme.svelte.js +26 -1
  202. package/dist/stores/toast.svelte.d.ts +4 -4
  203. package/dist/stores/toast.svelte.js +2 -2
  204. package/package.json +1 -1
@@ -0,0 +1,226 @@
1
+ @layer components {
2
+ .csv-field {
3
+ @apply relative w-full;
4
+ }
5
+
6
+ .csv-field-input {
7
+ @apply hidden;
8
+ }
9
+
10
+ /* Error Message */
11
+ .csv-field-error {
12
+ @apply mt-2.5 p-2.5 rounded-ui text-sm;
13
+ }
14
+
15
+ .csv-field.is-soft .csv-field-error,
16
+ .csv-field.is-ghost .csv-field-error {
17
+ @apply bg-on-danger/20 text-danger;
18
+ }
19
+
20
+ .csv-field.is-solid .csv-field-error {
21
+ @apply bg-danger text-on-danger;
22
+ }
23
+
24
+ .csv-field.is-outlined .csv-field-error {
25
+ @apply border border-danger text-danger;
26
+ }
27
+
28
+ /* Modal Styles */
29
+ .csv-modal-title {
30
+ @apply m-0 text-xl font-semibold text-on-surface;
31
+ }
32
+
33
+ .csv-modal-body {
34
+ @apply flex flex-col gap-5;
35
+ }
36
+
37
+ .csv-instructions {
38
+ @apply m-0 text-on-surface/70 text-sm;
39
+ }
40
+
41
+ .csv-mapping-list {
42
+ @apply flex flex-col gap-6;
43
+ }
44
+
45
+ .csv-mapping-item {
46
+ @apply flex flex-col gap-3;
47
+ }
48
+
49
+ .csv-modal-footer {
50
+ @apply flex justify-end gap-3;
51
+ }
52
+
53
+ /* Preview Container */
54
+ .csv-preview-container {
55
+ @apply mt-6 p-5 rounded-ui;
56
+ }
57
+
58
+ .csv-field.is-soft .csv-preview-container {
59
+ &.is-primary {
60
+ @apply bg-on-primary/20;
61
+ }
62
+ &.is-secondary {
63
+ @apply bg-on-secondary/20;
64
+ }
65
+ &.is-muted {
66
+ @apply bg-muted/50;
67
+ }
68
+ &.is-success {
69
+ @apply bg-on-success/20;
70
+ }
71
+ &.is-info {
72
+ @apply bg-on-info/20;
73
+ }
74
+ &.is-danger {
75
+ @apply bg-on-danger/20;
76
+ }
77
+ &.is-warning {
78
+ @apply bg-on-warning/20;
79
+ }
80
+ }
81
+
82
+ .csv-field.is-soft.is-primary .csv-preview-container {
83
+ @apply bg-on-primary/20;
84
+ }
85
+ .csv-field.is-soft.is-secondary .csv-preview-container {
86
+ @apply bg-on-secondary/20;
87
+ }
88
+ .csv-field.is-soft.is-muted .csv-preview-container {
89
+ @apply bg-muted/50;
90
+ }
91
+ .csv-field.is-soft.is-success .csv-preview-container {
92
+ @apply bg-on-success/20;
93
+ }
94
+ .csv-field.is-soft.is-info .csv-preview-container {
95
+ @apply bg-on-info/20;
96
+ }
97
+ .csv-field.is-soft.is-danger .csv-preview-container {
98
+ @apply bg-on-danger/20;
99
+ }
100
+ .csv-field.is-soft.is-warning .csv-preview-container {
101
+ @apply bg-on-warning/20;
102
+ }
103
+
104
+ .csv-field.is-solid.is-primary .csv-preview-container {
105
+ @apply bg-primary/10;
106
+ }
107
+ .csv-field.is-solid.is-secondary .csv-preview-container {
108
+ @apply bg-secondary/10;
109
+ }
110
+ .csv-field.is-solid.is-muted .csv-preview-container {
111
+ @apply bg-on-muted/10;
112
+ }
113
+ .csv-field.is-solid.is-success .csv-preview-container {
114
+ @apply bg-success/10;
115
+ }
116
+ .csv-field.is-solid.is-info .csv-preview-container {
117
+ @apply bg-info/10;
118
+ }
119
+ .csv-field.is-solid.is-danger .csv-preview-container {
120
+ @apply bg-danger/10;
121
+ }
122
+ .csv-field.is-solid.is-warning .csv-preview-container {
123
+ @apply bg-warning/10;
124
+ }
125
+
126
+ .csv-field.is-outlined.is-primary .csv-preview-container {
127
+ @apply border border-primary/30;
128
+ }
129
+ .csv-field.is-outlined.is-secondary .csv-preview-container {
130
+ @apply border border-secondary/30;
131
+ }
132
+ .csv-field.is-outlined.is-muted .csv-preview-container {
133
+ @apply border border-muted;
134
+ }
135
+ .csv-field.is-outlined.is-success .csv-preview-container {
136
+ @apply border border-success/30;
137
+ }
138
+ .csv-field.is-outlined.is-info .csv-preview-container {
139
+ @apply border border-info/30;
140
+ }
141
+ .csv-field.is-outlined.is-danger .csv-preview-container {
142
+ @apply border border-danger/30;
143
+ }
144
+ .csv-field.is-outlined.is-warning .csv-preview-container {
145
+ @apply border border-warning/30;
146
+ }
147
+
148
+ .csv-field.is-ghost .csv-preview-container {
149
+ @apply bg-surface/50;
150
+ }
151
+
152
+ /* Preview Header */
153
+ .csv-preview-header {
154
+ @apply flex justify-between items-start mb-4 gap-4;
155
+ }
156
+
157
+ .csv-preview-info {
158
+ @apply flex-1 min-w-0;
159
+ }
160
+
161
+ .csv-preview-title {
162
+ @apply m-0 mb-3 text-base font-semibold text-on-surface;
163
+ @apply flex items-center gap-2;
164
+ }
165
+
166
+ .csv-preview-count {
167
+ @apply text-sm font-normal text-on-surface/60;
168
+ }
169
+
170
+ .csv-mapping-summary {
171
+ @apply flex flex-wrap gap-2;
172
+ }
173
+
174
+ .csv-clear-icon {
175
+ @apply text-lg leading-none;
176
+ }
177
+
178
+ /* Size Variants */
179
+ .csv-field.is-xs {
180
+ .csv-field-error {
181
+ @apply text-xs p-2;
182
+ }
183
+ .csv-preview-container {
184
+ @apply p-3 mt-4;
185
+ }
186
+ .csv-preview-title {
187
+ @apply text-sm;
188
+ }
189
+ }
190
+
191
+ .csv-field.is-sm {
192
+ .csv-field-error {
193
+ @apply text-xs p-2;
194
+ }
195
+ .csv-preview-container {
196
+ @apply p-4 mt-4;
197
+ }
198
+ .csv-preview-title {
199
+ @apply text-sm;
200
+ }
201
+ }
202
+
203
+ .csv-field.is-md {
204
+ .csv-field-error {
205
+ @apply text-sm p-2.5;
206
+ }
207
+ .csv-preview-container {
208
+ @apply p-5 mt-6;
209
+ }
210
+ .csv-preview-title {
211
+ @apply text-base;
212
+ }
213
+ }
214
+
215
+ .csv-field.is-lg {
216
+ .csv-field-error {
217
+ @apply text-base p-3;
218
+ }
219
+ .csv-preview-container {
220
+ @apply p-6 mt-8;
221
+ }
222
+ .csv-preview-title {
223
+ @apply text-lg;
224
+ }
225
+ }
226
+ }
@@ -0,0 +1,122 @@
1
+ @layer components {
2
+ .date-range-popover {
3
+ @apply h-auto overflow-y-auto drop-shadow-sm flex flex-col gap-2 p-3 my-1 scrollbar-hide;
4
+ @apply bg-background text-on-background rounded-box;
5
+ @apply invisible opacity-0 transition-opacity duration-300 ease-in-out;
6
+ position: fixed;
7
+ z-index: 9999;
8
+
9
+ &.is-active {
10
+ @apply visible opacity-100;
11
+ }
12
+ }
13
+
14
+ .date-range-calendars {
15
+ @apply flex gap-4;
16
+ }
17
+
18
+ .date-range-calendar {
19
+ @apply flex flex-col gap-1;
20
+ }
21
+
22
+ .date-range-spacer {
23
+ @apply w-8 h-8;
24
+ }
25
+
26
+ .date-range-day-button {
27
+ @apply outline-hidden rounded-ui;
28
+ @apply flex items-center justify-center w-8 h-8 text-sm transition-colors;
29
+
30
+ &:not(.is-start):not(.is-end):not(.is-in-range):not(.is-disabled) {
31
+ @apply hover:bg-muted hover:text-on-muted;
32
+ }
33
+
34
+ &.is-start,
35
+ &.is-end {
36
+ @apply rounded-ui;
37
+ }
38
+
39
+ &.is-start.is-primary,
40
+ &.is-end.is-primary {
41
+ @apply bg-primary text-on-primary;
42
+ }
43
+ &.is-start.is-secondary,
44
+ &.is-end.is-secondary {
45
+ @apply bg-secondary text-on-secondary;
46
+ }
47
+ &.is-start.is-muted,
48
+ &.is-end.is-muted {
49
+ @apply bg-muted text-on-muted;
50
+ }
51
+ &.is-start.is-success,
52
+ &.is-end.is-success {
53
+ @apply bg-success text-on-success;
54
+ }
55
+ &.is-start.is-info,
56
+ &.is-end.is-info {
57
+ @apply bg-info text-on-info;
58
+ }
59
+ &.is-start.is-danger,
60
+ &.is-end.is-danger {
61
+ @apply bg-danger text-on-danger;
62
+ }
63
+ &.is-start.is-warning,
64
+ &.is-end.is-warning {
65
+ @apply bg-warning text-on-warning;
66
+ }
67
+
68
+ &.is-in-range {
69
+ @apply rounded-none;
70
+ }
71
+
72
+ &.is-in-range.is-primary {
73
+ @apply bg-primary/20 text-primary;
74
+ }
75
+ &.is-in-range.is-secondary {
76
+ @apply bg-secondary/20 text-secondary;
77
+ }
78
+ &.is-in-range.is-muted {
79
+ @apply bg-muted/50 text-on-muted;
80
+ }
81
+ &.is-in-range.is-success {
82
+ @apply bg-success/20 text-success;
83
+ }
84
+ &.is-in-range.is-info {
85
+ @apply bg-info/20 text-info;
86
+ }
87
+ &.is-in-range.is-danger {
88
+ @apply bg-danger/20 text-danger;
89
+ }
90
+ &.is-in-range.is-warning {
91
+ @apply bg-warning/20 text-warning;
92
+ }
93
+
94
+ &.is-start {
95
+ @apply rounded-l-ui rounded-r-none;
96
+ }
97
+
98
+ &.is-end {
99
+ @apply rounded-r-ui rounded-l-none;
100
+ }
101
+
102
+ &.is-start.is-end {
103
+ @apply rounded-ui;
104
+ }
105
+
106
+ &.today {
107
+ @apply font-semibold;
108
+ }
109
+
110
+ &.is-disabled {
111
+ @apply opacity-50 cursor-not-allowed;
112
+ }
113
+ }
114
+
115
+ .date-range-footer {
116
+ @apply flex items-center justify-center pt-2 border-t border-muted;
117
+ }
118
+
119
+ .date-range-selection {
120
+ @apply text-sm text-on-muted;
121
+ }
122
+ }
@@ -1,7 +1,7 @@
1
1
  @layer components {
2
2
  .date-popover {
3
3
  @apply h-auto overflow-y-auto drop-shadow-sm flex flex-col gap-1 p-2 my-1 scrollbar-hide w-72;
4
- @apply bg-background text-on-background rounded-ui;
4
+ @apply bg-background text-on-background rounded-box;
5
5
  @apply invisible opacity-0 transition-opacity duration-300 ease-in-out;
6
6
  position: fixed;
7
7
  z-index: 9999;
@@ -46,7 +46,29 @@
46
46
  @apply flex items-center justify-center w-8 h-8 text-sm transition-colors;
47
47
 
48
48
  &.selected {
49
- @apply bg-primary text-on-primary rounded-ui;
49
+ @apply rounded-ui;
50
+ }
51
+
52
+ &.selected.is-primary {
53
+ @apply bg-primary text-on-primary;
54
+ }
55
+ &.selected.is-secondary {
56
+ @apply bg-secondary text-on-secondary;
57
+ }
58
+ &.selected.is-muted {
59
+ @apply bg-muted text-on-muted;
60
+ }
61
+ &.selected.is-success {
62
+ @apply bg-success text-on-success;
63
+ }
64
+ &.selected.is-info {
65
+ @apply bg-info text-on-info;
66
+ }
67
+ &.selected.is-danger {
68
+ @apply bg-danger text-on-danger;
69
+ }
70
+ &.selected.is-warning {
71
+ @apply bg-warning text-on-warning;
50
72
  }
51
73
 
52
74
  &.today {
@@ -0,0 +1,271 @@
1
+ @layer components {
2
+ .drag-drop {
3
+ @apply relative w-full;
4
+ }
5
+
6
+ .drag-drop.is-horizontal {
7
+ @apply flex gap-4 overflow-x-auto;
8
+ }
9
+
10
+ .drag-drop.is-vertical {
11
+ @apply flex flex-col gap-4;
12
+ }
13
+
14
+ .drag-drop.is-disabled {
15
+ @apply opacity-60 pointer-events-none;
16
+ }
17
+
18
+ .drag-drop.is-dragging {
19
+ @apply select-none;
20
+ }
21
+
22
+ .drag-drop-group {
23
+ @apply flex flex-col min-w-64 max-w-80;
24
+ }
25
+
26
+ .drag-drop.is-vertical .drag-drop-group {
27
+ @apply min-w-full max-w-full;
28
+ }
29
+
30
+ .drag-drop-group-header {
31
+ @apply flex items-center justify-between gap-2 px-3 py-2 mb-2;
32
+ @apply font-semibold;
33
+ }
34
+
35
+ .drag-drop-group-title {
36
+ @apply truncate;
37
+ }
38
+
39
+ .drag-drop-group-count {
40
+ @apply px-2 py-0.5 text-xs rounded-full;
41
+ @apply bg-current/10;
42
+ }
43
+
44
+ .drag-drop-list {
45
+ @apply flex flex-col gap-2 min-h-24 p-2 rounded-ui;
46
+ @apply transition-colors duration-200;
47
+ }
48
+ .drag-drop.is-soft {
49
+ .drag-drop-list {
50
+ @apply rounded-ui;
51
+ }
52
+
53
+ &.is-primary .drag-drop-list {
54
+ @apply bg-on-primary/50;
55
+ }
56
+ &.is-secondary .drag-drop-list {
57
+ @apply bg-on-secondary/50;
58
+ }
59
+ &.is-muted .drag-drop-list {
60
+ @apply bg-muted/50;
61
+ }
62
+ &.is-success .drag-drop-list {
63
+ @apply bg-on-success/50;
64
+ }
65
+ &.is-info .drag-drop-list {
66
+ @apply bg-on-info/50;
67
+ }
68
+ &.is-danger .drag-drop-list {
69
+ @apply bg-on-danger/50;
70
+ }
71
+ &.is-warning .drag-drop-list {
72
+ @apply bg-on-warning/50;
73
+ }
74
+ }
75
+
76
+ .drag-drop.is-solid {
77
+ .drag-drop-list {
78
+ @apply rounded-ui;
79
+ }
80
+
81
+ &.is-primary .drag-drop-list {
82
+ @apply bg-primary/20;
83
+ }
84
+ &.is-secondary .drag-drop-list {
85
+ @apply bg-secondary/20;
86
+ }
87
+ &.is-muted .drag-drop-list {
88
+ @apply bg-on-muted/10;
89
+ }
90
+ &.is-success .drag-drop-list {
91
+ @apply bg-success/20;
92
+ }
93
+ &.is-info .drag-drop-list {
94
+ @apply bg-info/20;
95
+ }
96
+ &.is-danger .drag-drop-list {
97
+ @apply bg-danger/20;
98
+ }
99
+ &.is-warning .drag-drop-list {
100
+ @apply bg-warning/20;
101
+ }
102
+ }
103
+
104
+ .drag-drop.is-outlined {
105
+ .drag-drop-list {
106
+ @apply rounded-ui border-2 border-dashed;
107
+ }
108
+
109
+ &.is-primary .drag-drop-list {
110
+ @apply border-primary/30;
111
+ }
112
+ &.is-secondary .drag-drop-list {
113
+ @apply border-secondary/30;
114
+ }
115
+ &.is-muted .drag-drop-list {
116
+ @apply border-muted;
117
+ }
118
+ &.is-success .drag-drop-list {
119
+ @apply border-success/30;
120
+ }
121
+ &.is-info .drag-drop-list {
122
+ @apply border-info/30;
123
+ }
124
+ &.is-danger .drag-drop-list {
125
+ @apply border-danger/30;
126
+ }
127
+ &.is-warning .drag-drop-list {
128
+ @apply border-warning/30;
129
+ }
130
+ }
131
+
132
+ .drag-drop.is-ghost {
133
+ .drag-drop-list {
134
+ @apply bg-transparent;
135
+ }
136
+ }
137
+
138
+ .drag-drop-item {
139
+ @apply relative flex items-center gap-3 p-3 rounded-ui cursor-grab;
140
+ @apply bg-surface border border-transparent;
141
+ @apply transition-all duration-200;
142
+ @apply hover:border-current/20 hover:shadow-sm;
143
+ }
144
+
145
+ .drag-drop-item.is-dragging {
146
+ @apply opacity-50 cursor-grabbing scale-[1.02];
147
+ @apply shadow-lg border-current/30;
148
+ }
149
+
150
+ .drag-drop-item.is-drag-over {
151
+ @apply border-current/50;
152
+ }
153
+
154
+ .drag-drop-item.is-drag-over::before {
155
+ content: '';
156
+ @apply absolute -top-1.5 left-0 right-0 h-0.5;
157
+ @apply bg-current rounded-full;
158
+ }
159
+
160
+ .drag-drop-item-content {
161
+ @apply flex-1 min-w-0 truncate;
162
+ }
163
+
164
+ .drag-drop-handle {
165
+ @apply shrink-0 opacity-30 cursor-grab;
166
+ @apply transition-opacity duration-200;
167
+ }
168
+
169
+ .drag-drop-item:hover .drag-drop-handle {
170
+ @apply opacity-60;
171
+ }
172
+
173
+ .drag-drop-handle svg {
174
+ @apply size-4;
175
+ }
176
+
177
+ .drag-drop-empty {
178
+ @apply flex items-center justify-center min-h-24 p-4;
179
+ @apply text-sm opacity-50 text-center;
180
+ @apply border-2 border-dashed border-current/20 rounded-ui;
181
+ @apply transition-all duration-200;
182
+ }
183
+
184
+ .drag-drop-empty.is-drag-over {
185
+ @apply border-current/50 bg-current/5;
186
+ }
187
+
188
+ .drag-drop.is-sm {
189
+ .drag-drop-item {
190
+ @apply p-2 gap-2 text-sm;
191
+ }
192
+
193
+ .drag-drop-handle svg {
194
+ @apply size-3;
195
+ }
196
+
197
+ .drag-drop-group-header {
198
+ @apply text-sm px-2 py-1;
199
+ }
200
+
201
+ .drag-drop-list {
202
+ @apply gap-1.5 p-1.5;
203
+ }
204
+
205
+ .drag-drop-empty {
206
+ @apply min-h-16 text-xs;
207
+ }
208
+ }
209
+
210
+ .drag-drop.is-md {
211
+ .drag-drop-item {
212
+ @apply p-3 gap-3 text-base;
213
+ }
214
+
215
+ .drag-drop-handle svg {
216
+ @apply size-4;
217
+ }
218
+
219
+ .drag-drop-group-header {
220
+ @apply text-base px-3 py-2;
221
+ }
222
+
223
+ .drag-drop-list {
224
+ @apply gap-2 p-2;
225
+ }
226
+ }
227
+
228
+ .drag-drop.is-lg {
229
+ .drag-drop-item {
230
+ @apply p-4 gap-4 text-lg;
231
+ }
232
+
233
+ .drag-drop-handle svg {
234
+ @apply size-5;
235
+ }
236
+
237
+ .drag-drop-group-header {
238
+ @apply text-lg px-4 py-3;
239
+ }
240
+
241
+ .drag-drop-list {
242
+ @apply gap-3 p-3;
243
+ }
244
+
245
+ .drag-drop-empty {
246
+ @apply min-h-32;
247
+ }
248
+ }
249
+
250
+ .drag-drop.is-primary .drag-drop-item.is-drag-over::before {
251
+ @apply bg-primary;
252
+ }
253
+ .drag-drop.is-secondary .drag-drop-item.is-drag-over::before {
254
+ @apply bg-secondary;
255
+ }
256
+ .drag-drop.is-muted .drag-drop-item.is-drag-over::before {
257
+ @apply bg-on-muted;
258
+ }
259
+ .drag-drop.is-success .drag-drop-item.is-drag-over::before {
260
+ @apply bg-success;
261
+ }
262
+ .drag-drop.is-info .drag-drop-item.is-drag-over::before {
263
+ @apply bg-info;
264
+ }
265
+ .drag-drop.is-danger .drag-drop-item.is-drag-over::before {
266
+ @apply bg-danger;
267
+ }
268
+ .drag-drop.is-warning .drag-drop-item.is-drag-over::before {
269
+ @apply bg-warning;
270
+ }
271
+ }