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
@@ -49,7 +49,7 @@
49
49
  }
50
50
 
51
51
  .arc-chart-arc {
52
- @apply fill-none transition-all duration-200 ease-in-out cursor-pointer;
52
+ @apply fill-none transition-all duration-300 ease-in-out cursor-pointer;
53
53
  }
54
54
 
55
55
  .arc-chart-arc:hover,
@@ -106,7 +106,7 @@
106
106
  }
107
107
 
108
108
  .arc-chart-point {
109
- @apply transition-all duration-200 ease-in-out;
109
+ @apply transition-all duration-300 ease-in-out;
110
110
  stroke-width: 2;
111
111
  }
112
112
 
@@ -258,7 +258,7 @@
258
258
  }
259
259
 
260
260
  .arc-chart-legend-item {
261
- @apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
261
+ @apply flex items-center gap-2 cursor-pointer transition-opacity duration-300;
262
262
  }
263
263
 
264
264
  .arc-chart-legend-item:hover {
@@ -1,10 +1,42 @@
1
1
  @layer components {
2
2
  .area-chart-container {
3
- @apply relative w-full flex flex-col md:flex-row justify-center items-center gap-4;
3
+ @apply relative w-full flex justify-center items-center gap-4;
4
+ }
5
+
6
+ .area-chart-container.flex-row {
7
+ @apply flex-col md:flex-row;
8
+ }
9
+
10
+ .area-chart-container.flex-row-reverse {
11
+ @apply flex-col-reverse md:flex-row-reverse;
12
+ }
13
+
14
+ .area-chart-container.flex-col {
15
+ @apply flex-col;
16
+ }
17
+
18
+ .area-chart-container.flex-col-reverse {
19
+ @apply flex-col-reverse;
4
20
  }
5
21
 
6
22
  .area-chart {
7
- @apply relative flex items-center justify-center w-auto h-56 text-on-muted;
23
+ @apply relative flex items-center justify-center w-full text-on-muted;
24
+ }
25
+
26
+ .area-chart.is-sm {
27
+ @apply h-[150px];
28
+ }
29
+
30
+ .area-chart.is-md {
31
+ @apply h-56;
32
+ }
33
+
34
+ .area-chart.is-lg {
35
+ @apply h-[300px];
36
+ }
37
+
38
+ .area-chart.is-xl {
39
+ @apply h-[400px];
8
40
  }
9
41
 
10
42
  .area-chart-svg {
@@ -17,7 +49,7 @@
17
49
  }
18
50
 
19
51
  .area-chart-axis-label {
20
- @apply fill-on-muted text-xs;
52
+ @apply fill-on-muted;
21
53
  }
22
54
 
23
55
  .area-chart-grid-line {
@@ -27,6 +59,18 @@
27
59
  stroke-dasharray: 2, 2;
28
60
  }
29
61
 
62
+ .area-chart-area {
63
+ @apply transition-all duration-300 ease-in-out;
64
+ }
65
+
66
+ .area-chart-area.is-hovered {
67
+ opacity: 0.9;
68
+ }
69
+
70
+ .area-chart-area.has-glow {
71
+ filter: drop-shadow(0 0 6px currentColor);
72
+ }
73
+
30
74
  .area-chart-area.is-primary {
31
75
  @apply fill-primary;
32
76
  }
@@ -56,81 +100,75 @@
56
100
  }
57
101
 
58
102
  .area-chart-gradient-start.is-primary {
59
- @apply fill-primary;
60
103
  stop-color: var(--color-primary, #3b82f6);
61
104
  }
62
105
 
63
106
  .area-chart-gradient-start.is-secondary {
64
- @apply fill-secondary;
65
107
  stop-color: var(--color-secondary, #6366f1);
66
108
  }
67
109
 
68
110
  .area-chart-gradient-start.is-success {
69
- @apply fill-success;
70
111
  stop-color: var(--color-success, #22c55e);
71
112
  }
72
113
 
73
114
  .area-chart-gradient-start.is-info {
74
- @apply fill-info;
75
115
  stop-color: var(--color-info, #06b6d4);
76
116
  }
77
117
 
78
118
  .area-chart-gradient-start.is-warning {
79
- @apply fill-warning;
80
119
  stop-color: var(--color-warning, #f59e0b);
81
120
  }
82
121
 
83
122
  .area-chart-gradient-start.is-danger {
84
- @apply fill-danger;
85
123
  stop-color: var(--color-danger, #ef4444);
86
124
  }
87
125
 
88
126
  .area-chart-gradient-start.is-muted {
89
- @apply fill-muted;
90
127
  stop-color: var(--color-muted, #9ca3af);
91
128
  }
92
129
 
93
130
  .area-chart-gradient-end.is-primary {
94
- @apply fill-primary;
95
131
  stop-color: var(--color-primary, #3b82f6);
96
132
  }
97
133
 
98
134
  .area-chart-gradient-end.is-secondary {
99
- @apply fill-secondary;
100
135
  stop-color: var(--color-secondary, #6366f1);
101
136
  }
102
137
 
103
138
  .area-chart-gradient-end.is-success {
104
- @apply fill-success;
105
139
  stop-color: var(--color-success, #22c55e);
106
140
  }
107
141
 
108
142
  .area-chart-gradient-end.is-info {
109
- @apply fill-info;
110
143
  stop-color: var(--color-info, #06b6d4);
111
144
  }
112
145
 
113
146
  .area-chart-gradient-end.is-warning {
114
- @apply fill-warning;
115
147
  stop-color: var(--color-warning, #f59e0b);
116
148
  }
117
149
 
118
150
  .area-chart-gradient-end.is-danger {
119
- @apply fill-danger;
120
151
  stop-color: var(--color-danger, #ef4444);
121
152
  }
122
153
 
123
154
  .area-chart-gradient-end.is-muted {
124
- @apply fill-muted;
125
155
  stop-color: var(--color-muted, #9ca3af);
126
156
  }
127
157
 
128
158
  .area-chart-line {
129
- @apply fill-none;
159
+ @apply fill-none transition-all duration-300 ease-in-out;
130
160
  stroke-linecap: round;
131
161
  stroke-linejoin: round;
132
162
  }
133
163
 
164
+ .area-chart-line.is-hovered {
165
+ stroke-width: 3;
166
+ }
167
+
168
+ .area-chart-line.has-glow {
169
+ filter: drop-shadow(0 0 4px currentColor);
170
+ }
171
+
134
172
  .area-chart-line.is-primary {
135
173
  @apply stroke-primary;
136
174
  }
@@ -160,12 +198,17 @@
160
198
  }
161
199
 
162
200
  .area-chart-point {
163
- @apply cursor-pointer transition-all duration-200 ease-in-out;
201
+ @apply cursor-pointer transition-all duration-300 ease-in-out;
164
202
  stroke-width: 2;
165
203
  }
166
204
 
167
205
  .area-chart-point:hover {
168
- r: 5;
206
+ r: 6;
207
+ filter: brightness(1.1);
208
+ }
209
+
210
+ .area-chart-point.has-glow:hover {
211
+ filter: drop-shadow(0 0 6px currentColor) brightness(1.1);
169
212
  }
170
213
 
171
214
  .area-chart-point.is-primary {
@@ -197,38 +240,93 @@
197
240
  }
198
241
 
199
242
  .area-chart-tooltip {
200
- @apply fixed pointer-events-none z-50 bg-on-muted text-muted px-3 py-2 rounded-md shadow-sm text-xs font-medium whitespace-nowrap;
201
- transform: translateY(-50%);
243
+ position: fixed;
244
+ pointer-events: none;
245
+ z-index: 50;
246
+ background: var(--color-on-muted, #1f2937);
247
+ color: var(--color-muted, #f9fafb);
248
+ padding: 0.5rem 0.75rem;
249
+ border-radius: 0.375rem;
250
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
251
+ font-size: 0.75rem;
252
+ font-weight: 500;
253
+ white-space: nowrap;
254
+ transform: translate(-50%, -100%);
202
255
  }
203
256
 
204
257
  .area-chart-tooltip-title {
205
- @apply font-semibold mb-1;
258
+ font-weight: 600;
259
+ margin-bottom: 0.25rem;
206
260
  }
207
261
 
208
262
  .area-chart-tooltip-row {
209
- @apply flex items-center gap-2;
263
+ display: flex;
264
+ align-items: center;
265
+ gap: 0.5rem;
210
266
  }
211
267
 
212
- .area-chart-tooltip-label {
213
- @apply opacity-80;
268
+ .area-chart-tooltip-color {
269
+ width: 0.5rem;
270
+ height: 0.5rem;
271
+ border-radius: 50%;
272
+ }
273
+
274
+ .area-chart-tooltip-color.is-primary {
275
+ background: var(--color-primary, #3b82f6);
276
+ }
277
+
278
+ .area-chart-tooltip-color.is-secondary {
279
+ background: var(--color-secondary, #6366f1);
280
+ }
281
+
282
+ .area-chart-tooltip-color.is-success {
283
+ background: var(--color-success, #22c55e);
284
+ }
285
+
286
+ .area-chart-tooltip-color.is-info {
287
+ background: var(--color-info, #06b6d4);
288
+ }
289
+
290
+ .area-chart-tooltip-color.is-warning {
291
+ background: var(--color-warning, #f59e0b);
292
+ }
293
+
294
+ .area-chart-tooltip-color.is-danger {
295
+ background: var(--color-danger, #ef4444);
296
+ }
297
+
298
+ .area-chart-tooltip-color.is-muted {
299
+ background: var(--color-muted, #9ca3af);
214
300
  }
215
301
 
216
302
  .area-chart-tooltip-value {
217
- @apply font-semibold;
303
+ font-weight: 600;
218
304
  }
219
305
 
220
306
  .area-chart-legend {
221
- @apply flex flex-wrap md:flex-col gap-2 items-center justify-center text-sm text-on-muted text-nowrap;
307
+ @apply flex gap-3 items-center justify-center text-sm text-on-muted text-nowrap;
308
+ }
309
+
310
+ .area-chart-legend.flex-col {
311
+ @apply flex-wrap md:flex-col;
312
+ }
313
+
314
+ .area-chart-legend.flex-row {
315
+ @apply flex-row flex-wrap;
222
316
  }
223
317
 
224
318
  .area-chart-legend-item {
225
- @apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
319
+ @apply flex items-center gap-2 cursor-pointer transition-all duration-300;
226
320
  }
227
321
 
228
322
  .area-chart-legend-item:hover {
229
323
  @apply opacity-80;
230
324
  }
231
325
 
326
+ .area-chart-legend-item.is-selected {
327
+ @apply font-semibold;
328
+ }
329
+
232
330
  .area-chart-legend-color {
233
331
  @apply w-3 h-3 rounded-sm;
234
332
  }
@@ -1,10 +1,58 @@
1
1
  @layer components {
2
2
  .bar-chart-container {
3
- @apply relative w-full h-full;
3
+ @apply relative w-full flex justify-center items-center gap-4;
4
+ }
5
+
6
+ .bar-chart-container.flex-row {
7
+ @apply flex-col md:flex-row;
8
+ }
9
+
10
+ .bar-chart-container.flex-row-reverse {
11
+ @apply flex-col-reverse md:flex-row-reverse;
12
+ }
13
+
14
+ .bar-chart-container.flex-col {
15
+ @apply flex-col;
16
+ }
17
+
18
+ .bar-chart-container.flex-col-reverse {
19
+ @apply flex-col-reverse;
20
+ }
21
+
22
+ .bar-chart-container.is-sm {
23
+ @apply min-h-[200px];
24
+ }
25
+
26
+ .bar-chart-container.is-md {
27
+ @apply min-h-[300px];
28
+ }
29
+
30
+ .bar-chart-container.is-lg {
31
+ @apply min-h-[400px];
32
+ }
33
+
34
+ .bar-chart-container.is-xl {
35
+ @apply min-h-[500px];
4
36
  }
5
37
 
6
38
  .bar-chart {
7
- @apply relative w-full h-full text-on-muted;
39
+ @apply relative flex-1 w-full h-full text-on-muted;
40
+ }
41
+
42
+ .bar-chart.is-sm {
43
+ @apply h-[200px];
44
+ }
45
+
46
+ .bar-chart.is-md {
47
+ @apply h-[300px];
48
+ }
49
+
50
+ .bar-chart.is-lg {
51
+ @apply h-[400px];
52
+ }
53
+
54
+ .bar-chart.is-xl {
55
+ @apply h-[500px];
8
56
  }
9
57
 
10
58
  .bar-chart-svg {
@@ -20,6 +68,10 @@
20
68
  @apply fill-on-muted text-xs;
21
69
  }
22
70
 
71
+ .bar-chart-value-label {
72
+ @apply fill-on-muted text-xs font-medium;
73
+ }
74
+
23
75
  .bar-chart-grid-line {
24
76
  @apply stroke-muted;
25
77
  stroke-opacity: 0.3;
@@ -28,14 +80,24 @@
28
80
  }
29
81
 
30
82
  .bar-chart-bar {
31
- @apply transition-all duration-200 ease-in-out cursor-pointer;
83
+ @apply transition-all duration-300 ease-in-out cursor-pointer;
32
84
  }
33
85
 
34
- .bar-chart-bar:hover {
35
- opacity: 0.8;
86
+ .bar-chart-bar:hover,
87
+ .bar-chart-bar.is-hovered {
88
+ opacity: 0.85;
36
89
  filter: brightness(1.1);
37
90
  }
38
91
 
92
+ .bar-chart-bar.has-glow {
93
+ filter: drop-shadow(0 0 6px currentColor);
94
+ }
95
+
96
+ .bar-chart-bar.has-glow:hover,
97
+ .bar-chart-bar.has-glow.is-hovered {
98
+ filter: drop-shadow(0 0 10px currentColor) brightness(1.1);
99
+ }
100
+
39
101
  .bar-chart-bar.is-primary {
40
102
  @apply fill-primary;
41
103
  }
@@ -79,14 +141,50 @@
79
141
  transform: translateY(-50%);
80
142
  }
81
143
 
144
+ .bar-chart-tooltip-content {
145
+ @apply flex flex-col gap-1;
146
+ }
147
+
82
148
  .bar-chart-tooltip-title {
83
- @apply font-semibold mb-1;
149
+ @apply font-semibold mb-0.5;
84
150
  }
85
151
 
86
152
  .bar-chart-tooltip-row {
87
153
  @apply flex items-center gap-2;
88
154
  }
89
155
 
156
+ .bar-chart-tooltip-color {
157
+ @apply w-2 h-2 rounded-full shrink-0;
158
+ }
159
+
160
+ .bar-chart-tooltip-color.is-primary {
161
+ background: var(--color-primary, #3b82f6);
162
+ }
163
+
164
+ .bar-chart-tooltip-color.is-secondary {
165
+ background: var(--color-secondary, #6366f1);
166
+ }
167
+
168
+ .bar-chart-tooltip-color.is-success {
169
+ background: var(--color-success, #22c55e);
170
+ }
171
+
172
+ .bar-chart-tooltip-color.is-info {
173
+ background: var(--color-info, #06b6d4);
174
+ }
175
+
176
+ .bar-chart-tooltip-color.is-warning {
177
+ background: var(--color-warning, #f59e0b);
178
+ }
179
+
180
+ .bar-chart-tooltip-color.is-danger {
181
+ background: var(--color-danger, #ef4444);
182
+ }
183
+
184
+ .bar-chart-tooltip-color.is-muted {
185
+ background: var(--color-muted, #9ca3af);
186
+ }
187
+
90
188
  .bar-chart-tooltip-label {
91
189
  opacity: 0.8;
92
190
  }
@@ -96,11 +194,19 @@
96
194
  }
97
195
 
98
196
  .bar-chart-legend {
99
- @apply flex flex-wrap gap-4 items-center justify-center mt-4 text-sm text-on-muted;
197
+ @apply flex gap-3 items-center justify-center text-sm text-on-muted text-nowrap;
198
+ }
199
+
200
+ .bar-chart-legend.flex-col {
201
+ @apply flex-wrap md:flex-col;
202
+ }
203
+
204
+ .bar-chart-legend.flex-row {
205
+ @apply flex-row flex-wrap;
100
206
  }
101
207
 
102
208
  .bar-chart-legend-item {
103
- @apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
209
+ @apply flex items-center gap-2 cursor-pointer transition-opacity duration-300;
104
210
  }
105
211
 
106
212
  .bar-chart-legend-item:hover {
@@ -105,6 +105,7 @@
105
105
 
106
106
  .candlestick-chart-candle {
107
107
  @apply cursor-pointer transition-opacity duration-150;
108
+ rx: var(--candlestick-candle-radius, 2px);
108
109
  }
109
110
 
110
111
  .candlestick-chart-candle:hover {
@@ -174,6 +175,7 @@
174
175
 
175
176
  .candlestick-chart-volume {
176
177
  @apply opacity-30;
178
+ rx: var(--candlestick-volume-radius, 1px);
177
179
  }
178
180
 
179
181
  .candlestick-chart-volume.is-primary {
@@ -1,6 +1,38 @@
1
1
  @layer components {
2
2
  .line-chart-container {
3
- @apply relative w-full h-full;
3
+ @apply relative w-full flex justify-center items-center gap-4;
4
+ }
5
+
6
+ .line-chart-container.flex-row {
7
+ @apply flex-col md:flex-row;
8
+ }
9
+
10
+ .line-chart-container.flex-row-reverse {
11
+ @apply flex-col-reverse md:flex-row-reverse;
12
+ }
13
+
14
+ .line-chart-container.flex-col {
15
+ @apply flex-col;
16
+ }
17
+
18
+ .line-chart-container.flex-col-reverse {
19
+ @apply flex-col-reverse;
20
+ }
21
+
22
+ .line-chart.is-sm {
23
+ @apply h-[200px];
24
+ }
25
+
26
+ .line-chart.is-md {
27
+ @apply h-[300px];
28
+ }
29
+
30
+ .line-chart.is-lg {
31
+ @apply h-[400px];
32
+ }
33
+
34
+ .line-chart.is-xl {
35
+ @apply h-[500px];
4
36
  }
5
37
 
6
38
  .line-chart {
@@ -17,7 +49,7 @@
17
49
  }
18
50
 
19
51
  .line-chart-axis-label {
20
- @apply fill-on-muted text-xs;
52
+ @apply fill-on-muted;
21
53
  }
22
54
 
23
55
  .line-chart-grid-line {
@@ -31,7 +63,19 @@
31
63
  fill: none;
32
64
  stroke-linecap: round;
33
65
  stroke-linejoin: round;
34
- @apply transition-all duration-200 ease-in-out;
66
+ @apply transition-all duration-300 ease-in-out;
67
+ }
68
+
69
+ .line-chart-line.is-hovered {
70
+ stroke-width: 3;
71
+ }
72
+
73
+ .line-chart-line.has-glow {
74
+ filter: drop-shadow(0 0 6px currentColor);
75
+ }
76
+
77
+ .line-chart-line.has-glow.is-hovered {
78
+ filter: drop-shadow(0 0 10px currentColor);
35
79
  }
36
80
 
37
81
  .line-chart-line.is-primary {
@@ -62,13 +106,26 @@
62
106
  @apply stroke-muted;
63
107
  }
64
108
 
109
+ .line-chart-area {
110
+ @apply transition-all duration-300 ease-in-out;
111
+ pointer-events: none;
112
+ }
113
+
65
114
  .line-chart-point {
66
115
  stroke-width: 2;
67
- @apply cursor-pointer transition-all duration-200 ease-in-out;
116
+ @apply cursor-pointer transition-all duration-300 ease-in-out;
68
117
  }
69
118
 
70
- .line-chart-point:hover {
71
- r: 5;
119
+ .line-chart-point.is-hovered {
120
+ transform-origin: center;
121
+ }
122
+
123
+ .line-chart-point.has-glow {
124
+ filter: drop-shadow(0 0 4px currentColor);
125
+ }
126
+
127
+ .line-chart-point.has-glow.is-hovered {
128
+ filter: drop-shadow(0 0 8px currentColor);
72
129
  }
73
130
 
74
131
  .line-chart-point.is-primary {
@@ -111,19 +168,51 @@
111
168
  font-size: 0.75rem;
112
169
  font-weight: 500;
113
170
  white-space: nowrap;
114
- transform: translateY(-50%);
171
+ transform: translate(-50%, -100%);
172
+ }
173
+
174
+ .line-chart-tooltip-content {
175
+ @apply flex flex-col gap-1;
115
176
  }
116
177
 
117
178
  .line-chart-tooltip-title {
118
- @apply font-semibold mb-1;
179
+ @apply font-semibold;
119
180
  }
120
181
 
121
182
  .line-chart-tooltip-row {
122
183
  @apply flex items-center gap-2;
123
184
  }
124
185
 
125
- .line-chart-tooltip-label {
126
- opacity: 0.8;
186
+ .line-chart-tooltip-color {
187
+ @apply w-2 h-2 rounded-full;
188
+ }
189
+
190
+ .line-chart-tooltip-color.is-primary {
191
+ background: var(--color-primary, #3b82f6);
192
+ }
193
+
194
+ .line-chart-tooltip-color.is-secondary {
195
+ background: var(--color-secondary, #6366f1);
196
+ }
197
+
198
+ .line-chart-tooltip-color.is-success {
199
+ background: var(--color-success, #22c55e);
200
+ }
201
+
202
+ .line-chart-tooltip-color.is-info {
203
+ background: var(--color-info, #06b6d4);
204
+ }
205
+
206
+ .line-chart-tooltip-color.is-warning {
207
+ background: var(--color-warning, #f59e0b);
208
+ }
209
+
210
+ .line-chart-tooltip-color.is-danger {
211
+ background: var(--color-danger, #ef4444);
212
+ }
213
+
214
+ .line-chart-tooltip-color.is-muted {
215
+ background: var(--color-muted, #9ca3af);
127
216
  }
128
217
 
129
218
  .line-chart-tooltip-value {
@@ -131,14 +220,23 @@
131
220
  }
132
221
 
133
222
  .line-chart-legend {
134
- @apply flex flex-wrap gap-4 items-center justify-center mt-4 text-sm text-on-muted;
223
+ @apply flex gap-4 items-center justify-center text-sm text-on-muted text-nowrap;
224
+ }
225
+
226
+ .line-chart-legend.flex-col {
227
+ @apply flex-wrap md:flex-col;
228
+ }
229
+
230
+ .line-chart-legend.flex-row {
231
+ @apply flex-row flex-wrap;
135
232
  }
136
233
 
137
234
  .line-chart-legend-item {
138
- @apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
235
+ @apply flex items-center gap-2 cursor-pointer transition-opacity duration-300;
139
236
  }
140
237
 
141
- .line-chart-legend-item:hover {
238
+ .line-chart-legend-item:hover,
239
+ .line-chart-legend-item.is-active {
142
240
  @apply opacity-80;
143
241
  }
144
242