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,28 @@
|
|
|
1
|
+
type Color = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'muted';
|
|
2
|
+
type DataPoint = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: number;
|
|
5
|
+
color?: Color;
|
|
6
|
+
};
|
|
7
|
+
type Props = {
|
|
8
|
+
data?: DataPoint[];
|
|
9
|
+
colors?: Color[];
|
|
10
|
+
donut?: boolean;
|
|
11
|
+
donutWidth?: number;
|
|
12
|
+
showLabels?: boolean;
|
|
13
|
+
showValues?: boolean;
|
|
14
|
+
showLegend?: boolean;
|
|
15
|
+
showPercentages?: boolean;
|
|
16
|
+
centerLabel?: string;
|
|
17
|
+
centerValue?: string | number;
|
|
18
|
+
startAngle?: number;
|
|
19
|
+
padAngle?: number;
|
|
20
|
+
loading?: boolean;
|
|
21
|
+
empty?: boolean;
|
|
22
|
+
emptyText?: string;
|
|
23
|
+
class?: string;
|
|
24
|
+
chartClass?: string;
|
|
25
|
+
};
|
|
26
|
+
declare const PieChart: import("svelte").Component<Props, {}, "">;
|
|
27
|
+
type PieChart = ReturnType<typeof PieChart>;
|
|
28
|
+
export default PieChart;
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.arc-chart-container {
|
|
3
|
+
@apply relative w-full flex flex-col md:flex-row justify-center items-center gap-4;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.arc-chart {
|
|
7
|
+
@apply relative flex items-center justify-center w-auto h-56;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.arc-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.arc-chart-background {
|
|
15
|
+
@apply fill-none stroke-muted;
|
|
16
|
+
stroke-opacity: 0.2;
|
|
17
|
+
stroke-linecap: round;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arc-chart-arc {
|
|
21
|
+
@apply fill-none transition-all duration-200 ease-in-out cursor-pointer;
|
|
22
|
+
stroke-linecap: round;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.arc-chart-arc:hover {
|
|
26
|
+
opacity: 0.8;
|
|
27
|
+
transform: scale(1.02);
|
|
28
|
+
transform-origin: center;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.arc-chart-arc.is-primary {
|
|
32
|
+
@apply stroke-primary;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.arc-chart-arc.is-secondary {
|
|
36
|
+
@apply stroke-secondary;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.arc-chart-arc.is-success {
|
|
40
|
+
@apply stroke-success;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.arc-chart-arc.is-info {
|
|
44
|
+
@apply stroke-info;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.arc-chart-arc.is-warning {
|
|
48
|
+
@apply stroke-warning;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.arc-chart-arc.is-danger {
|
|
52
|
+
@apply stroke-danger;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.arc-chart-arc.is-muted {
|
|
56
|
+
@apply stroke-muted;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.arc-chart-point {
|
|
60
|
+
@apply transition-all duration-200 ease-in-out;
|
|
61
|
+
stroke-width: 2;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.arc-chart-point.is-primary {
|
|
65
|
+
@apply fill-primary stroke-on-primary;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.arc-chart-point.is-secondary {
|
|
69
|
+
@apply fill-secondary stroke-on-secondary;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.arc-chart-point.is-success {
|
|
73
|
+
@apply fill-success stroke-on-success;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.arc-chart-point.is-info {
|
|
77
|
+
@apply fill-info stroke-on-info;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.arc-chart-point.is-warning {
|
|
81
|
+
@apply fill-warning stroke-on-warning;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.arc-chart-point.is-danger {
|
|
85
|
+
@apply fill-danger stroke-on-danger;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.arc-chart-point.is-muted {
|
|
89
|
+
@apply fill-muted stroke-on-muted;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.arc-chart-value {
|
|
93
|
+
@apply fill-on-background font-bold;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.arc-chart-label {
|
|
97
|
+
@apply fill-on-background opacity-70;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.arc-chart-min-max {
|
|
101
|
+
@apply fill-on-background;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.arc-chart-tooltip {
|
|
105
|
+
position: fixed;
|
|
106
|
+
pointer-events: none;
|
|
107
|
+
z-index: 50;
|
|
108
|
+
background: var(--color-on-muted, #1f2937);
|
|
109
|
+
color: var(--color-muted, #f9fafb);
|
|
110
|
+
padding: 0.5rem 0.75rem;
|
|
111
|
+
border-radius: 0.375rem;
|
|
112
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
113
|
+
font-size: 0.75rem;
|
|
114
|
+
font-weight: 500;
|
|
115
|
+
white-space: nowrap;
|
|
116
|
+
transform: translateY(-50%);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.arc-chart-tooltip-title {
|
|
120
|
+
font-weight: 600;
|
|
121
|
+
margin-bottom: 0.25rem;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.arc-chart-tooltip-row {
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
gap: 0.5rem;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.arc-chart-tooltip-color {
|
|
131
|
+
width: 0.5rem;
|
|
132
|
+
height: 0.5rem;
|
|
133
|
+
border-radius: 50%;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.arc-chart-tooltip-color.is-primary {
|
|
137
|
+
background: var(--color-primary, #3b82f6);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.arc-chart-tooltip-color.is-secondary {
|
|
141
|
+
background: var(--color-secondary, #6366f1);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.arc-chart-tooltip-color.is-success {
|
|
145
|
+
background: var(--color-success, #22c55e);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.arc-chart-tooltip-color.is-info {
|
|
149
|
+
background: var(--color-info, #06b6d4);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.arc-chart-tooltip-color.is-warning {
|
|
153
|
+
background: var(--color-warning, #f59e0b);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.arc-chart-tooltip-color.is-danger {
|
|
157
|
+
background: var(--color-danger, #ef4444);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.arc-chart-tooltip-color.is-muted {
|
|
161
|
+
background: var(--color-muted, #9ca3af);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.arc-chart-tooltip-value {
|
|
165
|
+
font-weight: 600;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.arc-chart-loading {
|
|
169
|
+
@apply absolute inset-0 flex items-center justify-center bg-muted rounded-md;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.arc-chart-loading-spinner {
|
|
173
|
+
@apply w-8 h-8 text-primary;
|
|
174
|
+
animation: arc-chart-spin 1s linear infinite;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
@keyframes arc-chart-spin {
|
|
178
|
+
from {
|
|
179
|
+
transform: rotate(0deg);
|
|
180
|
+
}
|
|
181
|
+
to {
|
|
182
|
+
transform: rotate(360deg);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.arc-chart-empty {
|
|
187
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.arc-chart-legend {
|
|
191
|
+
@apply flex flex-wrap md:flex-col gap-2 items-center justify-center text-sm text-on-muted text-nowrap;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.arc-chart-legend-item {
|
|
195
|
+
@apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.arc-chart-legend-item:hover {
|
|
199
|
+
@apply opacity-80;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.arc-chart-legend-color {
|
|
203
|
+
@apply w-3 h-3 rounded-sm;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.arc-chart-legend-color.is-primary {
|
|
207
|
+
@apply bg-primary;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.arc-chart-legend-color.is-secondary {
|
|
211
|
+
@apply bg-secondary;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.arc-chart-legend-color.is-success {
|
|
215
|
+
@apply bg-success;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.arc-chart-legend-color.is-info {
|
|
219
|
+
@apply bg-info;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.arc-chart-legend-color.is-warning {
|
|
223
|
+
@apply bg-warning;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.arc-chart-legend-color.is-danger {
|
|
227
|
+
@apply bg-danger;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.arc-chart-legend-color.is-muted {
|
|
231
|
+
@apply bg-muted;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.arc-chart-legend-value {
|
|
235
|
+
@apply text-xs opacity-70;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.area-chart-container {
|
|
3
|
+
@apply relative w-full flex flex-col md:flex-row justify-center items-center gap-4;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.area-chart {
|
|
7
|
+
@apply relative flex items-center justify-center w-auto h-56 text-on-muted;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.area-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.area-chart-axis-line {
|
|
15
|
+
@apply stroke-muted;
|
|
16
|
+
stroke-width: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.area-chart-axis-label {
|
|
20
|
+
@apply fill-on-muted text-xs;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.area-chart-grid-line {
|
|
24
|
+
@apply stroke-muted;
|
|
25
|
+
stroke-opacity: 0.3;
|
|
26
|
+
stroke-width: 1;
|
|
27
|
+
stroke-dasharray: 2, 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.area-chart-area.is-primary {
|
|
31
|
+
@apply fill-primary;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.area-chart-area.is-secondary {
|
|
35
|
+
@apply fill-secondary;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.area-chart-area.is-success {
|
|
39
|
+
@apply fill-success;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.area-chart-area.is-info {
|
|
43
|
+
@apply fill-info;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.area-chart-area.is-warning {
|
|
47
|
+
@apply fill-warning;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.area-chart-area.is-danger {
|
|
51
|
+
@apply fill-danger;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.area-chart-area.is-muted {
|
|
55
|
+
@apply fill-muted;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.area-chart-gradient-start.is-primary {
|
|
59
|
+
@apply fill-primary;
|
|
60
|
+
stop-color: var(--color-primary, #3b82f6);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.area-chart-gradient-start.is-secondary {
|
|
64
|
+
@apply fill-secondary;
|
|
65
|
+
stop-color: var(--color-secondary, #6366f1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.area-chart-gradient-start.is-success {
|
|
69
|
+
@apply fill-success;
|
|
70
|
+
stop-color: var(--color-success, #22c55e);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.area-chart-gradient-start.is-info {
|
|
74
|
+
@apply fill-info;
|
|
75
|
+
stop-color: var(--color-info, #06b6d4);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.area-chart-gradient-start.is-warning {
|
|
79
|
+
@apply fill-warning;
|
|
80
|
+
stop-color: var(--color-warning, #f59e0b);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.area-chart-gradient-start.is-danger {
|
|
84
|
+
@apply fill-danger;
|
|
85
|
+
stop-color: var(--color-danger, #ef4444);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.area-chart-gradient-start.is-muted {
|
|
89
|
+
@apply fill-muted;
|
|
90
|
+
stop-color: var(--color-muted, #9ca3af);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.area-chart-gradient-end.is-primary {
|
|
94
|
+
@apply fill-primary;
|
|
95
|
+
stop-color: var(--color-primary, #3b82f6);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.area-chart-gradient-end.is-secondary {
|
|
99
|
+
@apply fill-secondary;
|
|
100
|
+
stop-color: var(--color-secondary, #6366f1);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.area-chart-gradient-end.is-success {
|
|
104
|
+
@apply fill-success;
|
|
105
|
+
stop-color: var(--color-success, #22c55e);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.area-chart-gradient-end.is-info {
|
|
109
|
+
@apply fill-info;
|
|
110
|
+
stop-color: var(--color-info, #06b6d4);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.area-chart-gradient-end.is-warning {
|
|
114
|
+
@apply fill-warning;
|
|
115
|
+
stop-color: var(--color-warning, #f59e0b);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.area-chart-gradient-end.is-danger {
|
|
119
|
+
@apply fill-danger;
|
|
120
|
+
stop-color: var(--color-danger, #ef4444);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.area-chart-gradient-end.is-muted {
|
|
124
|
+
@apply fill-muted;
|
|
125
|
+
stop-color: var(--color-muted, #9ca3af);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.area-chart-line {
|
|
129
|
+
@apply fill-none;
|
|
130
|
+
stroke-linecap: round;
|
|
131
|
+
stroke-linejoin: round;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.area-chart-line.is-primary {
|
|
135
|
+
@apply stroke-primary;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.area-chart-line.is-secondary {
|
|
139
|
+
@apply stroke-secondary;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.area-chart-line.is-success {
|
|
143
|
+
@apply stroke-success;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.area-chart-line.is-info {
|
|
147
|
+
@apply stroke-info;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.area-chart-line.is-warning {
|
|
151
|
+
@apply stroke-warning;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.area-chart-line.is-danger {
|
|
155
|
+
@apply stroke-danger;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.area-chart-line.is-muted {
|
|
159
|
+
@apply stroke-muted;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.area-chart-point {
|
|
163
|
+
@apply cursor-pointer transition-all duration-200 ease-in-out;
|
|
164
|
+
stroke-width: 2;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.area-chart-point:hover {
|
|
168
|
+
r: 5;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.area-chart-point.is-primary {
|
|
172
|
+
@apply fill-primary stroke-on-primary;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.area-chart-point.is-secondary {
|
|
176
|
+
@apply fill-secondary stroke-on-secondary;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.area-chart-point.is-success {
|
|
180
|
+
@apply fill-success stroke-on-success;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.area-chart-point.is-info {
|
|
184
|
+
@apply fill-info stroke-on-info;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.area-chart-point.is-warning {
|
|
188
|
+
@apply fill-warning stroke-on-warning;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.area-chart-point.is-danger {
|
|
192
|
+
@apply fill-danger stroke-on-danger;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.area-chart-point.is-muted {
|
|
196
|
+
@apply fill-muted stroke-on-muted;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.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%);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.area-chart-tooltip-title {
|
|
205
|
+
@apply font-semibold mb-1;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.area-chart-tooltip-row {
|
|
209
|
+
@apply flex items-center gap-2;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.area-chart-tooltip-label {
|
|
213
|
+
@apply opacity-80;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.area-chart-tooltip-value {
|
|
217
|
+
@apply font-semibold;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.area-chart-legend {
|
|
221
|
+
@apply flex flex-wrap md:flex-col gap-2 items-center justify-center text-sm text-on-muted text-nowrap;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.area-chart-legend-item {
|
|
225
|
+
@apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.area-chart-legend-item:hover {
|
|
229
|
+
@apply opacity-80;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.area-chart-legend-color {
|
|
233
|
+
@apply w-3 h-3 rounded-sm;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.area-chart-legend-color.is-primary {
|
|
237
|
+
@apply bg-primary;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.area-chart-legend-color.is-secondary {
|
|
241
|
+
@apply bg-secondary;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.area-chart-legend-color.is-success {
|
|
245
|
+
@apply bg-success;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.area-chart-legend-color.is-info {
|
|
249
|
+
@apply bg-info;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.area-chart-legend-color.is-warning {
|
|
253
|
+
@apply bg-warning;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.area-chart-legend-color.is-danger {
|
|
257
|
+
@apply bg-danger;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.area-chart-legend-color.is-muted {
|
|
261
|
+
@apply bg-muted;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.area-chart-loading {
|
|
265
|
+
@apply absolute inset-0 flex items-center justify-center bg-muted rounded-md;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.area-chart-loading-spinner {
|
|
269
|
+
@apply w-8 h-8 text-primary;
|
|
270
|
+
animation: area-chart-spin 1s linear infinite;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
@keyframes area-chart-spin {
|
|
274
|
+
from {
|
|
275
|
+
transform: rotate(0deg);
|
|
276
|
+
}
|
|
277
|
+
to {
|
|
278
|
+
transform: rotate(360deg);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.area-chart-empty {
|
|
283
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.area-chart-empty-icon {
|
|
287
|
+
@apply w-12 h-12 mb-2;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.bar-chart-container {
|
|
3
|
+
@apply relative w-full h-full;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.bar-chart {
|
|
7
|
+
@apply relative w-full h-full text-on-muted;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.bar-chart-svg {
|
|
11
|
+
@apply w-full h-full overflow-visible;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.bar-chart-axis-line {
|
|
15
|
+
@apply stroke-muted;
|
|
16
|
+
stroke-width: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.bar-chart-axis-label {
|
|
20
|
+
@apply fill-on-muted text-xs;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.bar-chart-grid-line {
|
|
24
|
+
@apply stroke-muted;
|
|
25
|
+
stroke-opacity: 0.3;
|
|
26
|
+
stroke-width: 1;
|
|
27
|
+
stroke-dasharray: 2, 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.bar-chart-bar {
|
|
31
|
+
@apply transition-all duration-200 ease-in-out cursor-pointer;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bar-chart-bar:hover {
|
|
35
|
+
opacity: 0.8;
|
|
36
|
+
filter: brightness(1.1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.bar-chart-bar.is-primary {
|
|
40
|
+
@apply fill-primary;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.bar-chart-bar.is-secondary {
|
|
44
|
+
@apply fill-secondary;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.bar-chart-bar.is-success {
|
|
48
|
+
@apply fill-success;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.bar-chart-bar.is-info {
|
|
52
|
+
@apply fill-info;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.bar-chart-bar.is-warning {
|
|
56
|
+
@apply fill-warning;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.bar-chart-bar.is-danger {
|
|
60
|
+
@apply fill-danger;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.bar-chart-bar.is-muted {
|
|
64
|
+
@apply fill-muted;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.bar-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
|
+
.bar-chart-tooltip-title {
|
|
83
|
+
@apply font-semibold mb-1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.bar-chart-tooltip-row {
|
|
87
|
+
@apply flex items-center gap-2;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.bar-chart-tooltip-label {
|
|
91
|
+
opacity: 0.8;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.bar-chart-tooltip-value {
|
|
95
|
+
@apply font-semibold;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.bar-chart-legend {
|
|
99
|
+
@apply flex flex-wrap gap-4 items-center justify-center mt-4 text-sm text-on-muted;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.bar-chart-legend-item {
|
|
103
|
+
@apply flex items-center gap-2 cursor-pointer transition-opacity duration-200;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.bar-chart-legend-item:hover {
|
|
107
|
+
@apply opacity-80;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bar-chart-legend-color {
|
|
111
|
+
@apply w-3 h-3 rounded-sm;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.bar-chart-legend-color.is-primary {
|
|
115
|
+
@apply bg-primary;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.bar-chart-legend-color.is-secondary {
|
|
119
|
+
@apply bg-secondary;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.bar-chart-legend-color.is-success {
|
|
123
|
+
@apply bg-success;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.bar-chart-legend-color.is-info {
|
|
127
|
+
@apply bg-info;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.bar-chart-legend-color.is-warning {
|
|
131
|
+
@apply bg-warning;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.bar-chart-legend-color.is-danger {
|
|
135
|
+
@apply bg-danger;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.bar-chart-legend-color.is-muted {
|
|
139
|
+
@apply bg-muted;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.bar-chart-loading {
|
|
143
|
+
@apply absolute inset-0 flex items-center justify-center bg-muted rounded-md;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.bar-chart-loading-spinner {
|
|
147
|
+
@apply w-8 h-8 text-primary;
|
|
148
|
+
animation: bar-chart-spin 1s linear infinite;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
@keyframes bar-chart-spin {
|
|
152
|
+
from {
|
|
153
|
+
transform: rotate(0deg);
|
|
154
|
+
}
|
|
155
|
+
to {
|
|
156
|
+
transform: rotate(360deg);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.bar-chart-empty {
|
|
161
|
+
@apply absolute inset-0 flex flex-col items-center justify-center text-on-muted opacity-50 text-sm;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.bar-chart-empty-icon {
|
|
165
|
+
@apply w-12 h-12 mb-2;
|
|
166
|
+
}
|
|
167
|
+
}
|