ui-svelte 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +118 -0
- package/dist/charts/ArcChart.svelte +320 -0
- package/dist/charts/ArcChart.svelte.d.ts +26 -0
- package/dist/charts/AreaChart.svelte +495 -0
- package/dist/charts/AreaChart.svelte.d.ts +32 -0
- package/dist/charts/BarChart.svelte +504 -0
- package/dist/charts/BarChart.svelte.d.ts +38 -0
- package/dist/charts/Candlestick.svelte +527 -0
- package/dist/charts/Candlestick.svelte.d.ts +38 -0
- package/dist/charts/LineChart.svelte +365 -0
- package/dist/charts/LineChart.svelte.d.ts +36 -0
- package/dist/charts/PieChart.svelte +311 -0
- package/dist/charts/PieChart.svelte.d.ts +28 -0
- package/dist/charts/css/arc-chart.css +237 -0
- package/dist/charts/css/area-chart.css +289 -0
- package/dist/charts/css/bar-chart.css +167 -0
- package/dist/charts/css/candlestick.css +197 -0
- package/dist/charts/css/line-chart.css +202 -0
- package/dist/charts/css/pie-chart.css +199 -0
- package/dist/control/Audio.svelte +212 -0
- package/dist/control/Audio.svelte.d.ts +8 -0
- package/dist/control/Button.svelte +116 -0
- package/dist/control/Button.svelte.d.ts +22 -0
- package/dist/control/IconButton.svelte +104 -0
- package/dist/control/IconButton.svelte.d.ts +17 -0
- package/dist/control/Record.svelte +430 -0
- package/dist/control/Record.svelte.d.ts +11 -0
- package/dist/control/ToggleTheme.svelte +21 -0
- package/dist/control/ToggleTheme.svelte.d.ts +8 -0
- package/dist/control/Video.svelte +222 -0
- package/dist/control/Video.svelte.d.ts +10 -0
- package/dist/control/css/btn.css +206 -0
- package/dist/control/css/media.css +78 -0
- package/dist/control/css/video.css +58 -0
- package/dist/css/animations.css +27 -0
- package/dist/css/base.css +192 -0
- package/dist/css/utilities.css +136 -0
- package/dist/display/Accordion.svelte +98 -0
- package/dist/display/Accordion.svelte.d.ts +20 -0
- package/dist/display/Alert.svelte +65 -0
- package/dist/display/Alert.svelte.d.ts +15 -0
- package/dist/display/Avatar.svelte +80 -0
- package/dist/display/Avatar.svelte.d.ts +13 -0
- package/dist/display/Badge.svelte +46 -0
- package/dist/display/Badge.svelte.d.ts +11 -0
- package/dist/display/Card.svelte +94 -0
- package/dist/display/Card.svelte.d.ts +21 -0
- package/dist/display/Carousel.svelte +359 -0
- package/dist/display/Carousel.svelte.d.ts +25 -0
- package/dist/display/ChatBox.svelte +249 -0
- package/dist/display/ChatBox.svelte.d.ts +18 -0
- package/dist/display/Chip.svelte +67 -0
- package/dist/display/Chip.svelte.d.ts +17 -0
- package/dist/display/Code.svelte +56 -0
- package/dist/display/Code.svelte.d.ts +9 -0
- package/dist/display/Collapsible.svelte +71 -0
- package/dist/display/Collapsible.svelte.d.ts +15 -0
- package/dist/display/Divider.svelte +32 -0
- package/dist/display/Divider.svelte.d.ts +10 -0
- package/dist/display/Empty.svelte +462 -0
- package/dist/display/Empty.svelte.d.ts +11 -0
- package/dist/display/Icon.svelte +20 -0
- package/dist/display/Icon.svelte.d.ts +11 -0
- package/dist/display/Item.svelte +119 -0
- package/dist/display/Item.svelte.d.ts +24 -0
- package/dist/display/Loading.svelte +8 -0
- package/dist/display/Loading.svelte.d.ts +26 -0
- package/dist/display/Marquee.svelte +164 -0
- package/dist/display/Marquee.svelte.d.ts +21 -0
- package/dist/display/Section.svelte +63 -0
- package/dist/display/Section.svelte.d.ts +16 -0
- package/dist/display/Table.svelte +407 -0
- package/dist/display/Table.svelte.d.ts +32 -0
- package/dist/display/TypeWriter.svelte +23 -0
- package/dist/display/TypeWriter.svelte.d.ts +11 -0
- package/dist/display/User.svelte +0 -0
- package/dist/display/User.svelte.d.ts +26 -0
- package/dist/display/css/accordion.css +98 -0
- package/dist/display/css/alert.css +51 -0
- package/dist/display/css/avatar.css +158 -0
- package/dist/display/css/badge.css +47 -0
- package/dist/display/css/card.css +231 -0
- package/dist/display/css/carousel.css +156 -0
- package/dist/display/css/chat-box.css +188 -0
- package/dist/display/css/chip.css +91 -0
- package/dist/display/css/code.css +19 -0
- package/dist/display/css/collapsible.css +86 -0
- package/dist/display/css/divider.css +54 -0
- package/dist/display/css/empty.css +8 -0
- package/dist/display/css/item.css +149 -0
- package/dist/display/css/listbox.css +24 -0
- package/dist/display/css/marquee.css +138 -0
- package/dist/display/css/section.css +85 -0
- package/dist/display/css/table.css +361 -0
- package/dist/form/Checkbox.svelte +45 -0
- package/dist/form/Checkbox.svelte.d.ts +13 -0
- package/dist/form/ComboBox.svelte +448 -0
- package/dist/form/ComboBox.svelte.d.ts +29 -0
- package/dist/form/CsvField.svelte +389 -0
- package/dist/form/CsvField.svelte.d.ts +21 -0
- package/dist/form/DateField.svelte +292 -0
- package/dist/form/DateField.svelte.d.ts +18 -0
- package/dist/form/Dropzone.svelte +196 -0
- package/dist/form/Dropzone.svelte.d.ts +30 -0
- package/dist/form/ImageCropper.svelte +254 -0
- package/dist/form/ImageCropper.svelte.d.ts +14 -0
- package/dist/form/PasswordField.svelte +170 -0
- package/dist/form/PasswordField.svelte.d.ts +28 -0
- package/dist/form/PhoneField.svelte +485 -0
- package/dist/form/PhoneField.svelte.d.ts +25 -0
- package/dist/form/PinField.svelte +139 -0
- package/dist/form/PinField.svelte.d.ts +17 -0
- package/dist/form/RadioGroup.svelte +70 -0
- package/dist/form/RadioGroup.svelte.d.ts +19 -0
- package/dist/form/Select.svelte +350 -0
- package/dist/form/Select.svelte.d.ts +26 -0
- package/dist/form/Slider.svelte +60 -0
- package/dist/form/Slider.svelte.d.ts +15 -0
- package/dist/form/TextField.svelte +154 -0
- package/dist/form/TextField.svelte.d.ts +31 -0
- package/dist/form/Textarea.svelte +137 -0
- package/dist/form/Textarea.svelte.d.ts +27 -0
- package/dist/form/Toggle.svelte +45 -0
- package/dist/form/Toggle.svelte.d.ts +13 -0
- package/dist/form/css/checkbox.css +46 -0
- package/dist/form/css/combo-box.css +69 -0
- package/dist/form/css/control.css +177 -0
- package/dist/form/css/csv-field.css +0 -0
- package/dist/form/css/date.css +56 -0
- package/dist/form/css/dropzone.css +133 -0
- package/dist/form/css/field.css +17 -0
- package/dist/form/css/image-cropper.css +155 -0
- package/dist/form/css/password.css +35 -0
- package/dist/form/css/radio-group.css +57 -0
- package/dist/form/css/select.css +18 -0
- package/dist/form/css/slider.css +80 -0
- package/dist/form/css/textarea.css +130 -0
- package/dist/form/css/toggle.css +27 -0
- package/dist/form/js/countries.d.ts +13 -0
- package/dist/form/js/countries.js +307 -0
- package/dist/form/js/phone-examples.d.ts +248 -0
- package/dist/form/js/phone-examples.js +247 -0
- package/dist/hooks/use-auth.svelte.d.ts +11 -0
- package/dist/hooks/use-auth.svelte.js +59 -0
- package/dist/hooks/use-chat.svelte.d.ts +40 -0
- package/dist/hooks/use-chat.svelte.js +265 -0
- package/dist/hooks/use-clipboard.svelte.d.ts +9 -0
- package/dist/hooks/use-clipboard.svelte.js +52 -0
- package/dist/hooks/use-fetch.svelte.d.ts +11 -0
- package/dist/hooks/use-fetch.svelte.js +38 -0
- package/dist/hooks/use-form.svelte.d.ts +31 -0
- package/dist/hooks/use-form.svelte.js +110 -0
- package/dist/hooks/use-localstorage.svelte.d.ts +3 -0
- package/dist/hooks/use-localstorage.svelte.js +26 -0
- package/dist/hooks/use-scroll.svelte.d.ts +6 -0
- package/dist/hooks/use-scroll.svelte.js +34 -0
- package/dist/hooks/use-search.svelte.d.ts +49 -0
- package/dist/hooks/use-search.svelte.js +229 -0
- package/dist/hooks/use-table.svelte.d.ts +85 -0
- package/dist/hooks/use-table.svelte.js +362 -0
- package/dist/hooks/use-websocket.svelte.d.ts +18 -0
- package/dist/hooks/use-websocket.svelte.js +79 -0
- package/dist/icons/index.d.ts +132 -0
- package/dist/icons/index.js +132 -0
- package/dist/index.css +115 -0
- package/dist/index.d.ts +76 -0
- package/dist/index.js +76 -0
- package/dist/layout/AppBar.svelte +94 -0
- package/dist/layout/AppBar.svelte.d.ts +17 -0
- package/dist/layout/Footer.svelte +94 -0
- package/dist/layout/Footer.svelte.d.ts +17 -0
- package/dist/layout/FooterLinks.svelte +28 -0
- package/dist/layout/FooterLinks.svelte.d.ts +11 -0
- package/dist/layout/Provider.svelte +52 -0
- package/dist/layout/Provider.svelte.d.ts +10 -0
- package/dist/layout/Scaffold.svelte +46 -0
- package/dist/layout/Scaffold.svelte.d.ts +15 -0
- package/dist/layout/Sidebar.svelte +40 -0
- package/dist/layout/Sidebar.svelte.d.ts +13 -0
- package/dist/layout/css/app-bar.css +35 -0
- package/dist/layout/css/bottom-bar.css +12 -0
- package/dist/layout/css/footer-links.css +17 -0
- package/dist/layout/css/footer.css +35 -0
- package/dist/layout/css/scaffold.css +15 -0
- package/dist/layout/css/sidebar.css +17 -0
- package/dist/navigation/BottomNav.svelte +0 -0
- package/dist/navigation/BottomNav.svelte.d.ts +26 -0
- package/dist/navigation/NavMenu.svelte +254 -0
- package/dist/navigation/SideNav.svelte +249 -0
- package/dist/navigation/Tabs.svelte +79 -0
- package/dist/navigation/Tabs.svelte.d.ts +19 -0
- package/dist/navigation/css/bottom-nav.css +0 -0
- package/dist/navigation/css/nav-menu.css +168 -0
- package/dist/navigation/css/side-nav.css +244 -0
- package/dist/navigation/css/tabs.css +118 -0
- package/dist/overlay/AlertDialog.svelte +0 -0
- package/dist/overlay/AlertDialog.svelte.d.ts +26 -0
- package/dist/overlay/Command.svelte +0 -0
- package/dist/overlay/Command.svelte.d.ts +26 -0
- package/dist/overlay/Drawer.svelte +129 -0
- package/dist/overlay/Drawer.svelte.d.ts +20 -0
- package/dist/overlay/Dropdown.svelte +140 -0
- package/dist/overlay/Modal.svelte +102 -0
- package/dist/overlay/Modal.svelte.d.ts +19 -0
- package/dist/overlay/PopoverStack.svelte +0 -0
- package/dist/overlay/PopoverStack.svelte.d.ts +26 -0
- package/dist/overlay/Toast.svelte +83 -0
- package/dist/overlay/Toast.svelte.d.ts +9 -0
- package/dist/overlay/Tooltip.svelte +140 -0
- package/dist/overlay/Tooltip.svelte.d.ts +12 -0
- package/dist/overlay/css/drawer.css +75 -0
- package/dist/overlay/css/dropdown.css +24 -0
- package/dist/overlay/css/hovercard.css +11 -0
- package/dist/overlay/css/modal.css +51 -0
- package/dist/overlay/css/toast.css +80 -0
- package/dist/overlay/css/tooltip.css +89 -0
- package/dist/stores/i18n.svelte.d.ts +16 -0
- package/dist/stores/i18n.svelte.js +137 -0
- package/dist/stores/theme.svelte.d.ts +5 -0
- package/dist/stores/theme.svelte.js +55 -0
- package/dist/stores/toast.svelte.d.ts +19 -0
- package/dist/stores/toast.svelte.js +38 -0
- package/dist/types.d.ts +75 -0
- package/dist/types.js +1 -0
- package/dist/utils/charts.d.ts +27 -0
- package/dist/utils/charts.js +140 -0
- package/dist/utils/class-names.d.ts +1 -0
- package/dist/utils/class-names.js +3 -0
- package/dist/utils/click-outside.d.ts +3 -0
- package/dist/utils/click-outside.js +9 -0
- package/dist/utils/popover.d.ts +3 -0
- package/dist/utils/popover.js +17 -0
- package/dist/utils/ulid.d.ts +1 -0
- package/dist/utils/ulid.js +22 -0
- package/dist/utils/validate-schema.d.ts +2 -0
- package/dist/utils/validate-schema.js +97 -0
- package/package.json +69 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.candlestick-chart-container {
|
|
3
|
+
@apply relative w-full h-full;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.candlestick-chart {
|
|
7
|
+
@apply relative w-full h-56 text-on-muted;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.candlestick-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.candlestick-chart-axis-line {
|
|
15
|
+
@apply stroke-muted;
|
|
16
|
+
stroke-width: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.candlestick-chart-axis-label {
|
|
20
|
+
@apply fill-on-muted text-xs;
|
|
21
|
+
user-select: none;
|
|
22
|
+
-webkit-user-select: none;
|
|
23
|
+
-moz-user-select: none;
|
|
24
|
+
-ms-user-select: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.candlestick-chart-grid-line {
|
|
28
|
+
@apply stroke-muted;
|
|
29
|
+
stroke-opacity: 0.3;
|
|
30
|
+
stroke-width: 1;
|
|
31
|
+
stroke-dasharray: 2, 2;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.candlestick-chart-candle {
|
|
35
|
+
@apply cursor-pointer;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.candlestick-chart-candle:hover {
|
|
39
|
+
@apply opacity-80;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.candlestick-chart-candle.is-primary {
|
|
43
|
+
@apply fill-primary stroke-primary;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.candlestick-chart-candle.is-secondary {
|
|
47
|
+
@apply fill-secondary stroke-secondary;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.candlestick-chart-candle.is-success {
|
|
51
|
+
@apply fill-success stroke-success;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.candlestick-chart-candle.is-info {
|
|
55
|
+
@apply fill-info stroke-info;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.candlestick-chart-candle.is-warning {
|
|
59
|
+
@apply fill-warning stroke-warning;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.candlestick-chart-candle.is-danger {
|
|
63
|
+
@apply fill-danger stroke-danger;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.candlestick-chart-candle.is-muted {
|
|
67
|
+
@apply fill-muted stroke-muted;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.candlestick-chart-wick.is-primary {
|
|
71
|
+
@apply stroke-primary;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.candlestick-chart-wick.is-secondary {
|
|
75
|
+
@apply stroke-secondary;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.candlestick-chart-wick.is-success {
|
|
79
|
+
@apply stroke-success;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.candlestick-chart-wick.is-info {
|
|
83
|
+
@apply stroke-info;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.candlestick-chart-wick.is-warning {
|
|
87
|
+
@apply stroke-warning;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.candlestick-chart-wick.is-danger {
|
|
91
|
+
@apply stroke-danger;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.candlestick-chart-wick.is-muted {
|
|
95
|
+
@apply stroke-muted;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.candlestick-chart-volume {
|
|
99
|
+
@apply opacity-30;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.candlestick-chart-volume.is-primary {
|
|
103
|
+
@apply fill-primary;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.candlestick-chart-volume.is-secondary {
|
|
107
|
+
@apply fill-secondary;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.candlestick-chart-volume.is-success {
|
|
111
|
+
@apply fill-success;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.candlestick-chart-volume.is-info {
|
|
115
|
+
@apply fill-info;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.candlestick-chart-volume.is-warning {
|
|
119
|
+
@apply fill-warning;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.candlestick-chart-volume.is-danger {
|
|
123
|
+
@apply fill-danger;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.candlestick-chart-volume.is-muted {
|
|
127
|
+
@apply fill-muted;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.candlestick-chart-tooltip {
|
|
131
|
+
position: fixed;
|
|
132
|
+
pointer-events: none;
|
|
133
|
+
z-index: 50;
|
|
134
|
+
background: var(--color-on-muted, #1f2937);
|
|
135
|
+
color: var(--color-muted, #f9fafb);
|
|
136
|
+
padding: 0.5rem 0.75rem;
|
|
137
|
+
border-radius: 0.375rem;
|
|
138
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
139
|
+
font-size: 0.75rem;
|
|
140
|
+
font-weight: 500;
|
|
141
|
+
white-space: nowrap;
|
|
142
|
+
transform: translateY(-50%);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.candlestick-chart-tooltip-title {
|
|
146
|
+
@apply font-semibold text-sm mb-1.5;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.candlestick-chart-tooltip-rows {
|
|
150
|
+
@apply flex flex-col gap-0.5;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.candlestick-chart-tooltip-row {
|
|
154
|
+
@apply flex items-center justify-between gap-3;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.candlestick-chart-tooltip-label {
|
|
158
|
+
@apply opacity-80;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.candlestick-chart-tooltip-value {
|
|
162
|
+
@apply font-semibold;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.candlestick-chart-tooltip-volume {
|
|
166
|
+
@apply pt-1 mt-1;
|
|
167
|
+
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.candlestick-chart-loading {
|
|
171
|
+
@apply flex flex-col items-center justify-center h-full;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.candlestick-chart-loading-icon {
|
|
175
|
+
@apply h-12 w-auto text-primary;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.candlestick-chart-empty {
|
|
179
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.candlestick-chart-empty-icon {
|
|
183
|
+
@apply w-12 h-12 mb-2;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.candlestick-chart-dragging {
|
|
187
|
+
cursor: grabbing !important;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.candlestick-chart-svg {
|
|
191
|
+
cursor: grab;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.candlestick-chart-scrollbar {
|
|
195
|
+
@apply relative w-full h-2 bg-muted rounded-full mt-2;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.line-chart-container {
|
|
3
|
+
@apply relative w-full h-full;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.line-chart {
|
|
7
|
+
@apply relative w-full h-full text-on-muted;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.line-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.line-chart-axis-line {
|
|
15
|
+
@apply stroke-muted;
|
|
16
|
+
stroke-width: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.line-chart-axis-label {
|
|
20
|
+
@apply fill-on-muted text-xs;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.line-chart-grid-line {
|
|
24
|
+
@apply stroke-muted;
|
|
25
|
+
stroke-opacity: 0.3;
|
|
26
|
+
stroke-width: 1;
|
|
27
|
+
stroke-dasharray: 2, 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.line-chart-line {
|
|
31
|
+
fill: none;
|
|
32
|
+
stroke-linecap: round;
|
|
33
|
+
stroke-linejoin: round;
|
|
34
|
+
@apply transition-all duration-200 ease-in-out;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.line-chart-line.is-primary {
|
|
38
|
+
@apply stroke-primary;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.line-chart-line.is-secondary {
|
|
42
|
+
@apply stroke-secondary;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.line-chart-line.is-success {
|
|
46
|
+
@apply stroke-success;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.line-chart-line.is-info {
|
|
50
|
+
@apply stroke-info;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.line-chart-line.is-warning {
|
|
54
|
+
@apply stroke-warning;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.line-chart-line.is-danger {
|
|
58
|
+
@apply stroke-danger;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.line-chart-line.is-muted {
|
|
62
|
+
@apply stroke-muted;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.line-chart-point {
|
|
66
|
+
stroke-width: 2;
|
|
67
|
+
@apply cursor-pointer transition-all duration-200 ease-in-out;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.line-chart-point:hover {
|
|
71
|
+
r: 5;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.line-chart-point.is-primary {
|
|
75
|
+
@apply fill-primary stroke-on-primary;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.line-chart-point.is-secondary {
|
|
79
|
+
@apply fill-secondary stroke-on-secondary;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.line-chart-point.is-success {
|
|
83
|
+
@apply fill-success stroke-on-success;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.line-chart-point.is-info {
|
|
87
|
+
@apply fill-info stroke-on-info;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.line-chart-point.is-warning {
|
|
91
|
+
@apply fill-warning stroke-on-warning;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.line-chart-point.is-danger {
|
|
95
|
+
@apply fill-danger stroke-on-danger;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.line-chart-point.is-muted {
|
|
99
|
+
@apply fill-muted stroke-on-muted;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.line-chart-tooltip {
|
|
103
|
+
position: fixed;
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
z-index: 50;
|
|
106
|
+
background: var(--color-on-muted, #1f2937);
|
|
107
|
+
color: var(--color-muted, #f9fafb);
|
|
108
|
+
padding: 0.5rem 0.75rem;
|
|
109
|
+
border-radius: 0.375rem;
|
|
110
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
111
|
+
font-size: 0.75rem;
|
|
112
|
+
font-weight: 500;
|
|
113
|
+
white-space: nowrap;
|
|
114
|
+
transform: translateY(-50%);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.line-chart-tooltip-title {
|
|
118
|
+
@apply font-semibold mb-1;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.line-chart-tooltip-row {
|
|
122
|
+
@apply flex items-center gap-2;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.line-chart-tooltip-label {
|
|
126
|
+
opacity: 0.8;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.line-chart-tooltip-value {
|
|
130
|
+
@apply font-semibold;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.line-chart-legend {
|
|
134
|
+
@apply flex flex-wrap gap-4 items-center justify-center mt-4 text-sm text-on-muted;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.line-chart-legend-item {
|
|
138
|
+
@apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.line-chart-legend-item:hover {
|
|
142
|
+
@apply opacity-80;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.line-chart-legend-color {
|
|
146
|
+
@apply w-3 h-3 rounded-sm;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.line-chart-legend-color.is-primary {
|
|
150
|
+
@apply bg-primary;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.line-chart-legend-color.is-secondary {
|
|
154
|
+
@apply bg-secondary;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.line-chart-legend-color.is-success {
|
|
158
|
+
@apply bg-success;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.line-chart-legend-color.is-info {
|
|
162
|
+
@apply bg-info;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.line-chart-legend-color.is-warning {
|
|
166
|
+
@apply bg-warning;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.line-chart-legend-color.is-danger {
|
|
170
|
+
@apply bg-danger;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.line-chart-legend-color.is-muted {
|
|
174
|
+
@apply bg-muted;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.line-chart-loading {
|
|
178
|
+
@apply absolute inset-0 flex items-center justify-center bg-muted rounded-md;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.line-chart-loading-spinner {
|
|
182
|
+
@apply w-8 h-8 text-primary;
|
|
183
|
+
animation: line-chart-spin 1s linear infinite;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@keyframes line-chart-spin {
|
|
187
|
+
from {
|
|
188
|
+
transform: rotate(0deg);
|
|
189
|
+
}
|
|
190
|
+
to {
|
|
191
|
+
transform: rotate(360deg);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.line-chart-empty {
|
|
196
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.line-chart-empty-icon {
|
|
200
|
+
@apply w-12 h-12 mb-2;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.pie-chart-container {
|
|
3
|
+
@apply relative w-full flex flex-col md:flex-row justify-center items-center gap-4;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.pie-chart {
|
|
7
|
+
@apply relative flex items-center justify-center w-auto h-56 text-on-muted;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.pie-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.pie-chart-slice {
|
|
15
|
+
stroke-width: 2;
|
|
16
|
+
@apply cursor-pointer transition-all duration-200 ease-in-out;
|
|
17
|
+
transform-origin: center;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.pie-chart-slice:hover {
|
|
21
|
+
opacity: 0.8;
|
|
22
|
+
transform: scale(1.02);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.pie-chart-slice.is-primary {
|
|
26
|
+
@apply fill-primary stroke-on-primary;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.pie-chart-slice.is-secondary {
|
|
30
|
+
@apply fill-secondary stroke-on-secondary;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.pie-chart-slice.is-success {
|
|
34
|
+
@apply fill-success stroke-on-success;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.pie-chart-slice.is-info {
|
|
38
|
+
@apply fill-info stroke-on-info;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.pie-chart-slice.is-warning {
|
|
42
|
+
@apply fill-warning stroke-on-warning;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.pie-chart-slice.is-danger {
|
|
46
|
+
@apply fill-danger stroke-on-danger;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.pie-chart-slice.is-muted {
|
|
50
|
+
@apply fill-muted stroke-on-muted;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.pie-chart-slice-label {
|
|
54
|
+
fill: white;
|
|
55
|
+
pointer-events: none;
|
|
56
|
+
@apply text-xs font-medium;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.pie-chart-center-value {
|
|
60
|
+
@apply fill-on-muted text-2xl font-bold;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.pie-chart-center-label {
|
|
64
|
+
@apply fill-on-muted text-xs opacity-70;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.pie-chart-tooltip {
|
|
68
|
+
position: fixed;
|
|
69
|
+
pointer-events: none;
|
|
70
|
+
z-index: 50;
|
|
71
|
+
background: var(--color-on-muted, #1f2937);
|
|
72
|
+
color: var(--color-muted, #f9fafb);
|
|
73
|
+
padding: 0.5rem 0.75rem;
|
|
74
|
+
border-radius: 0.375rem;
|
|
75
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
76
|
+
font-size: 0.75rem;
|
|
77
|
+
font-weight: 500;
|
|
78
|
+
white-space: nowrap;
|
|
79
|
+
transform: translateY(-50%);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.pie-chart-tooltip-title {
|
|
83
|
+
@apply font-semibold mb-1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.pie-chart-tooltip-row {
|
|
87
|
+
@apply flex items-center gap-2;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.pie-chart-tooltip-color {
|
|
91
|
+
@apply w-2 h-2 rounded-full;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.pie-chart-tooltip-color.is-primary {
|
|
95
|
+
@apply bg-primary;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.pie-chart-tooltip-color.is-secondary {
|
|
99
|
+
@apply bg-secondary;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.pie-chart-tooltip-color.is-success {
|
|
103
|
+
@apply bg-success;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.pie-chart-tooltip-color.is-info {
|
|
107
|
+
@apply bg-info;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.pie-chart-tooltip-color.is-warning {
|
|
111
|
+
@apply bg-warning;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.pie-chart-tooltip-color.is-danger {
|
|
115
|
+
@apply bg-danger;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.pie-chart-tooltip-color.is-muted {
|
|
119
|
+
@apply bg-muted;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.pie-chart-tooltip-value {
|
|
123
|
+
@apply font-semibold;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.pie-chart-legend {
|
|
127
|
+
@apply flex flex-wrap md:flex-col gap-2 items-center justify-center text-sm text-on-muted text-nowrap;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.pie-chart-legend-item {
|
|
131
|
+
@apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.pie-chart-legend-item:hover {
|
|
135
|
+
@apply opacity-80;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.pie-chart-legend-color {
|
|
139
|
+
@apply w-3 h-3 rounded-sm;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.pie-chart-legend-color.is-primary {
|
|
143
|
+
@apply bg-primary;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.pie-chart-legend-color.is-secondary {
|
|
147
|
+
@apply bg-secondary;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.pie-chart-legend-color.is-success {
|
|
151
|
+
@apply bg-success;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.pie-chart-legend-color.is-info {
|
|
155
|
+
@apply bg-info;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.pie-chart-legend-color.is-warning {
|
|
159
|
+
@apply bg-warning;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.pie-chart-legend-color.is-danger {
|
|
163
|
+
@apply bg-danger;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.pie-chart-legend-color.is-muted {
|
|
167
|
+
@apply bg-muted;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.pie-chart-legend-value {
|
|
171
|
+
@apply text-xs opacity-70;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.pie-chart-loading {
|
|
175
|
+
@apply absolute inset-0 flex items-center justify-center bg-muted rounded-md;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.pie-chart-loading-spinner {
|
|
179
|
+
@apply w-8 h-8 text-primary;
|
|
180
|
+
animation: pie-chart-spin 1s linear infinite;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
@keyframes pie-chart-spin {
|
|
184
|
+
from {
|
|
185
|
+
transform: rotate(0deg);
|
|
186
|
+
}
|
|
187
|
+
to {
|
|
188
|
+
transform: rotate(360deg);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.pie-chart-empty {
|
|
193
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.pie-chart-empty-icon {
|
|
197
|
+
@apply w-12 h-12 mb-2;
|
|
198
|
+
}
|
|
199
|
+
}
|