ui-svelte 0.2.11 → 0.2.13
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/README.md +2 -2
- package/dist/charts/ArcChart.svelte +9 -14
- package/dist/charts/ArcChart.svelte.d.ts +3 -3
- package/dist/charts/AreaChart.svelte +347 -118
- package/dist/charts/AreaChart.svelte.d.ts +33 -4
- package/dist/charts/BarChart.svelte +288 -66
- package/dist/charts/BarChart.svelte.d.ts +26 -1
- package/dist/charts/Candlestick.svelte +53 -50
- package/dist/charts/Candlestick.svelte.d.ts +8 -8
- package/dist/charts/LineChart.svelte +391 -91
- package/dist/charts/LineChart.svelte.d.ts +26 -3
- package/dist/charts/PieChart.svelte +333 -92
- package/dist/charts/PieChart.svelte.d.ts +33 -5
- package/dist/charts/css/arc-chart.css +3 -3
- package/dist/charts/css/area-chart.css +127 -29
- package/dist/charts/css/bar-chart.css +114 -8
- package/dist/charts/css/candlestick.css +2 -0
- package/dist/charts/css/line-chart.css +111 -13
- package/dist/charts/css/pie-chart.css +92 -20
- package/dist/control/Audio.svelte +86 -44
- package/dist/control/Audio.svelte.d.ts +4 -1
- package/dist/control/Button.svelte +18 -27
- package/dist/control/Button.svelte.d.ts +3 -2
- package/dist/control/Fab.svelte +103 -0
- package/dist/control/Fab.svelte.d.ts +25 -0
- package/dist/control/IconButton.svelte +17 -27
- package/dist/control/IconButton.svelte.d.ts +3 -3
- package/dist/control/Image.svelte +123 -0
- package/dist/control/Image.svelte.d.ts +13 -0
- package/dist/control/Record.svelte +141 -98
- package/dist/control/Record.svelte.d.ts +2 -1
- package/dist/control/ToggleGroup.svelte +22 -8
- package/dist/control/ToggleGroup.svelte.d.ts +2 -1
- package/dist/control/ToggleTheme.svelte +13 -11
- package/dist/control/ToggleTheme.svelte.d.ts +3 -2
- package/dist/control/Video.svelte +57 -29
- package/dist/control/Video.svelte.d.ts +1 -0
- package/dist/control/css/btn.css +200 -152
- package/dist/control/css/fab.css +84 -0
- package/dist/control/css/image.css +56 -0
- package/dist/control/css/media.css +95 -30
- package/dist/control/css/toggle-group.css +253 -84
- package/dist/control/css/video.css +1 -14
- package/dist/css/animations.css +5 -9
- package/dist/css/base.css +13 -347
- package/dist/css/decorations.css +561 -0
- package/dist/css/rich-text.css +485 -0
- package/dist/css/transitions.css +158 -0
- package/dist/css/typography.css +291 -0
- package/dist/css/utilities.css +0 -4
- package/dist/display/Accordion.svelte +28 -4
- package/dist/display/Accordion.svelte.d.ts +2 -1
- package/dist/display/Alert.svelte +32 -12
- package/dist/display/Alert.svelte.d.ts +2 -3
- package/dist/display/Avatar.svelte +23 -18
- package/dist/display/Avatar.svelte.d.ts +4 -1
- package/dist/display/AvatarGroup.svelte +20 -18
- package/dist/display/AvatarGroup.svelte.d.ts +6 -3
- package/dist/display/Badge.svelte +11 -4
- package/dist/display/Badge.svelte.d.ts +2 -1
- package/dist/display/Card.svelte +15 -14
- package/dist/display/Card.svelte.d.ts +2 -3
- package/dist/display/Carousel.svelte +130 -99
- package/dist/display/Carousel.svelte.d.ts +6 -4
- package/dist/display/ChatBox.svelte +245 -106
- package/dist/display/ChatBox.svelte.d.ts +32 -5
- package/dist/display/Chip.svelte +31 -17
- package/dist/display/Chip.svelte.d.ts +3 -2
- package/dist/display/Code.svelte +7 -4
- package/dist/display/Code.svelte.d.ts +1 -0
- package/dist/display/Collapsible.svelte +30 -4
- package/dist/display/Collapsible.svelte.d.ts +2 -1
- package/dist/display/Countdown.svelte +169 -0
- package/dist/display/Countdown.svelte.d.ts +21 -0
- package/dist/display/Empty.svelte +37 -3
- package/dist/display/Empty.svelte.d.ts +3 -0
- package/dist/display/Item.svelte +42 -11
- package/dist/display/Item.svelte.d.ts +4 -2
- package/dist/display/Map.svelte +488 -0
- package/dist/display/Map.svelte.d.ts +44 -0
- package/dist/display/Marquee.svelte +0 -2
- package/dist/display/Section.svelte +14 -12
- package/dist/display/Section.svelte.d.ts +2 -3
- package/dist/display/Skeleton.svelte +32 -0
- package/dist/display/Skeleton.svelte.d.ts +10 -0
- package/dist/display/Table.svelte +94 -132
- package/dist/display/Table.svelte.d.ts +10 -1
- package/dist/display/css/accordion.css +349 -52
- package/dist/display/css/alert.css +38 -18
- package/dist/display/css/avatar-group.css +38 -75
- package/dist/display/css/avatar.css +139 -121
- package/dist/display/css/badge.css +50 -27
- package/dist/display/css/card.css +123 -71
- package/dist/display/css/carousel.css +25 -5
- package/dist/display/css/chat-box.css +158 -26
- package/dist/display/css/chip.css +142 -68
- package/dist/display/css/code.css +2 -6
- package/dist/display/css/collapsible.css +349 -45
- package/dist/display/css/countdown.css +206 -0
- package/dist/display/css/divider.css +8 -6
- package/dist/display/css/empty.css +7 -0
- package/dist/display/css/item.css +330 -84
- package/dist/display/css/map.css +164 -0
- package/dist/display/css/marquee.css +0 -3
- package/dist/display/css/section.css +89 -65
- package/dist/display/css/skeleton.css +58 -0
- package/dist/display/css/table.css +309 -193
- package/dist/form/Checkbox.svelte +11 -5
- package/dist/form/Checkbox.svelte.d.ts +2 -1
- package/dist/form/ColorField.svelte +601 -0
- package/dist/form/ColorField.svelte.d.ts +29 -0
- package/dist/form/ComboBox.svelte +24 -9
- package/dist/form/ComboBox.svelte.d.ts +2 -2
- package/dist/form/CsvField.svelte +62 -136
- package/dist/form/CsvField.svelte.d.ts +2 -2
- package/dist/form/DateField.svelte +33 -15
- package/dist/form/DateField.svelte.d.ts +2 -1
- package/dist/form/DateRange.svelte +436 -0
- package/dist/form/DateRange.svelte.d.ts +24 -0
- package/dist/form/DragDrop.svelte +578 -0
- package/dist/form/DragDrop.svelte.d.ts +33 -0
- package/dist/form/Dropzone.svelte +28 -8
- package/dist/form/Dropzone.svelte.d.ts +2 -2
- package/dist/form/Editor.svelte +626 -0
- package/dist/form/Editor.svelte.d.ts +50 -0
- package/dist/form/ImageCropper.svelte +422 -61
- package/dist/form/ImageCropper.svelte.d.ts +15 -1
- package/dist/form/{PasswordStrength.svelte → PasswordField.svelte} +58 -24
- package/dist/form/{PasswordStrength.svelte.d.ts → PasswordField.svelte.d.ts} +6 -5
- package/dist/form/PhoneField.svelte +26 -14
- package/dist/form/PhoneField.svelte.d.ts +4 -3
- package/dist/form/PinField.svelte +39 -31
- package/dist/form/PinField.svelte.d.ts +3 -3
- package/dist/form/RadioGroup.svelte +9 -5
- package/dist/form/RadioGroup.svelte.d.ts +1 -1
- package/dist/form/Select.svelte +20 -19
- package/dist/form/Select.svelte.d.ts +2 -2
- package/dist/form/Slider.svelte +10 -4
- package/dist/form/Slider.svelte.d.ts +2 -1
- package/dist/form/TextField.svelte +29 -11
- package/dist/form/TextField.svelte.d.ts +5 -4
- package/dist/form/Textarea.svelte +15 -6
- package/dist/form/Textarea.svelte.d.ts +2 -2
- package/dist/form/Toggle.svelte +7 -3
- package/dist/form/Toggle.svelte.d.ts +1 -1
- package/dist/form/css/checkbox.css +18 -2
- package/dist/form/css/color-field.css +141 -0
- package/dist/form/css/control.css +193 -82
- package/dist/form/css/csv-field.css +221 -0
- package/dist/form/css/date-range.css +122 -0
- package/dist/form/css/date.css +24 -2
- package/dist/form/css/drag-drop.css +234 -0
- package/dist/form/css/dropzone.css +153 -34
- package/dist/form/css/editor.css +367 -0
- package/dist/form/css/field.css +4 -0
- package/dist/form/css/image-cropper.css +242 -20
- package/dist/form/css/radio-group.css +26 -1
- package/dist/form/css/select.css +2 -2
- package/dist/form/css/slider.css +37 -0
- package/dist/form/css/textarea.css +178 -75
- package/dist/form/css/toggle.css +15 -3
- package/dist/hooks/use-chat.svelte.js +1 -1
- package/dist/hooks/use-form.svelte.js +3 -3
- package/dist/hooks/use-search.svelte.js +0 -3
- package/dist/hooks/use-table.svelte.d.ts +1 -0
- package/dist/hooks/use-table.svelte.js +6 -0
- package/dist/icons/index.d.ts +34 -2
- package/dist/icons/index.js +36 -4
- package/dist/index.css +44 -49
- package/dist/index.d.ts +14 -4
- package/dist/index.js +13 -3
- package/dist/layout/AppBar.svelte +22 -14
- package/dist/layout/AppBar.svelte.d.ts +2 -1
- package/dist/layout/Footer.svelte +19 -11
- package/dist/layout/Footer.svelte.d.ts +2 -1
- package/dist/layout/Provider.svelte +32 -9
- package/dist/layout/Provider.svelte.d.ts +3 -1
- package/dist/layout/Sidebar.svelte +17 -8
- package/dist/layout/Sidebar.svelte.d.ts +2 -1
- package/dist/layout/css/app-bar.css +63 -66
- package/dist/layout/css/footer.css +62 -65
- package/dist/layout/css/sidebar.css +120 -59
- package/dist/navigation/BottomNav.svelte +51 -14
- package/dist/navigation/FooterGroup.svelte +1 -1
- package/dist/navigation/NavMenu.svelte +47 -23
- package/dist/navigation/NavMenu.svelte.d.ts +29 -0
- package/dist/navigation/Pagination.svelte +158 -0
- package/dist/navigation/Pagination.svelte.d.ts +18 -0
- package/dist/navigation/SideNav.svelte +30 -25
- package/dist/navigation/SideNav.svelte.d.ts +2 -3
- package/dist/navigation/Tabs.svelte +17 -7
- package/dist/navigation/Tabs.svelte.d.ts +2 -2
- package/dist/navigation/css/bottom-nav.css +319 -257
- package/dist/navigation/css/footer-group.css +1 -1
- package/dist/navigation/css/footer-nav.css +1 -1
- package/dist/navigation/css/nav-menu.css +331 -106
- package/dist/navigation/css/pagination.css +74 -0
- package/dist/navigation/css/side-nav.css +514 -75
- package/dist/navigation/css/tabs.css +246 -52
- package/dist/overlay/AlertDialog.svelte +58 -0
- package/dist/overlay/AlertDialog.svelte.d.ts +14 -25
- package/dist/overlay/Command.svelte +347 -0
- package/dist/overlay/Command.svelte.d.ts +33 -25
- package/dist/overlay/Drawer.svelte +49 -21
- package/dist/overlay/Drawer.svelte.d.ts +2 -2
- package/dist/overlay/Dropdown.svelte +3 -3
- package/dist/overlay/Modal.svelte +51 -16
- package/dist/overlay/Modal.svelte.d.ts +3 -3
- package/dist/overlay/Toast.svelte +41 -17
- package/dist/overlay/Toast.svelte.d.ts +1 -1
- package/dist/overlay/Tooltip.svelte +36 -27
- package/dist/overlay/Tooltip.svelte.d.ts +2 -2
- package/dist/overlay/css/command.css +68 -0
- package/dist/overlay/css/drawer.css +63 -24
- package/dist/overlay/css/dropdown.css +1 -1
- package/dist/overlay/css/hovercard.css +1 -1
- package/dist/overlay/css/modal.css +79 -27
- package/dist/overlay/css/toast.css +40 -24
- package/dist/overlay/css/tooltip.css +110 -67
- package/dist/stores/theme.svelte.js +44 -12
- package/dist/stores/toast.svelte.d.ts +4 -4
- package/dist/stores/toast.svelte.js +2 -2
- package/package.json +1 -1
- package/dist/utils/charts.d.ts +0 -27
- package/dist/utils/charts.js +0 -140
package/dist/index.css
CHANGED
|
@@ -4,11 +4,17 @@
|
|
|
4
4
|
@import './css/utilities.css';
|
|
5
5
|
@import './css/animations.css';
|
|
6
6
|
@import './css/base.css';
|
|
7
|
+
@import './css/decorations.css';
|
|
8
|
+
@import './css/rich-text.css';
|
|
9
|
+
@import './css/transitions.css';
|
|
10
|
+
@import './css/typography.css';
|
|
7
11
|
|
|
8
12
|
@import './control/css/btn.css';
|
|
13
|
+
@import './control/css/image.css';
|
|
9
14
|
@import './control/css/media.css';
|
|
10
15
|
@import './control/css/video.css';
|
|
11
16
|
@import './control/css/toggle-group.css';
|
|
17
|
+
@import './control/css/fab.css';
|
|
12
18
|
|
|
13
19
|
@import './charts/css/arc-chart.css';
|
|
14
20
|
@import './charts/css/area-chart.css';
|
|
@@ -28,25 +34,32 @@
|
|
|
28
34
|
@import './display/css/chip.css';
|
|
29
35
|
@import './display/css/code.css';
|
|
30
36
|
@import './display/css/collapsible.css';
|
|
37
|
+
@import './display/css/countdown.css';
|
|
31
38
|
@import './display/css/divider.css';
|
|
32
39
|
@import './display/css/empty.css';
|
|
33
40
|
@import './display/css/item.css';
|
|
34
41
|
@import './display/css/marquee.css';
|
|
35
42
|
@import './display/css/section.css';
|
|
43
|
+
@import './display/css/skeleton.css';
|
|
36
44
|
@import './display/css/table.css';
|
|
45
|
+
@import './display/css/map.css';
|
|
37
46
|
|
|
38
47
|
@import './form/css/checkbox.css';
|
|
39
48
|
@import './form/css/combo-box.css';
|
|
40
49
|
@import './form/css/control.css';
|
|
41
50
|
@import './form/css/csv-field.css';
|
|
42
51
|
@import './form/css/date.css';
|
|
52
|
+
@import './form/css/date-range.css';
|
|
53
|
+
@import './form/css/drag-drop.css';
|
|
43
54
|
@import './form/css/dropzone.css';
|
|
55
|
+
@import './form/css/editor.css';
|
|
44
56
|
@import './form/css/field.css';
|
|
45
57
|
@import './form/css/image-cropper.css';
|
|
46
58
|
@import './form/css/password.css';
|
|
47
59
|
@import './form/css/radio-group.css';
|
|
48
60
|
@import './form/css/slider.css';
|
|
49
61
|
@import './form/css/select.css';
|
|
62
|
+
@import './form/css/color-field.css';
|
|
50
63
|
@import './form/css/textarea.css';
|
|
51
64
|
@import './form/css/toggle.css';
|
|
52
65
|
|
|
@@ -60,10 +73,12 @@
|
|
|
60
73
|
@import './navigation/css/nav-menu.css';
|
|
61
74
|
@import './navigation/css/footer-nav.css';
|
|
62
75
|
@import './navigation/css/footer-group.css';
|
|
76
|
+
@import './navigation/css/pagination.css';
|
|
63
77
|
@import './navigation/css/side-nav.css';
|
|
64
78
|
@import './navigation/css/tabs.css';
|
|
65
79
|
|
|
66
80
|
@import './overlay/css/modal.css';
|
|
81
|
+
@import './overlay/css/command.css';
|
|
67
82
|
@import './overlay/css/drawer.css';
|
|
68
83
|
@import './overlay/css/dropdown.css';
|
|
69
84
|
@import './overlay/css/hovercard.css';
|
|
@@ -71,68 +86,48 @@
|
|
|
71
86
|
@import './overlay/css/tooltip.css';
|
|
72
87
|
|
|
73
88
|
@theme {
|
|
74
|
-
--color-
|
|
75
|
-
|
|
76
|
-
--color-on-primary: var(--on-primary, oklch(93.2% 0.032 255.585));
|
|
77
|
-
/* blue-100 */
|
|
89
|
+
--color-on-dark: var(--on-dark, oklch(97% 0.01 90));
|
|
90
|
+
--color-on-light: var(--on-light, oklch(25% 0.01 30));
|
|
78
91
|
|
|
79
|
-
--color-
|
|
80
|
-
|
|
81
|
-
--color-on-
|
|
82
|
-
/* pink-100 */
|
|
92
|
+
--color-primary: var(--primary, oklch(75% 0.15 145));
|
|
93
|
+
--color-soft-primary: var(--soft-primary, oklch(95% 0.05 145));
|
|
94
|
+
--color-on-primary: var(--on-primary, var(--on-light));
|
|
83
95
|
|
|
84
|
-
--color-
|
|
85
|
-
|
|
86
|
-
--color-on-
|
|
87
|
-
/* gray-700 */
|
|
88
|
-
|
|
89
|
-
/* dark */
|
|
90
|
-
/*--color-muted: var(--muted, oklch(37.3% 0.034 259.733)); /* gray-700 */
|
|
91
|
-
/*--color-on-muted: var(--on-muted, oklch(87.2% 0.01 258.338)); /* gray-300 */
|
|
92
|
-
|
|
93
|
-
--color-background: var(--background, oklch(98.5% 0.002 247.839));
|
|
94
|
-
/* gray-50 */
|
|
95
|
-
--color-on-background: var(--on-background, oklch(21% 0.034 264.665));
|
|
96
|
-
/* gray-900 */
|
|
97
|
-
|
|
98
|
-
/* dark */
|
|
99
|
-
/*--color-background: var(--background, oklch(13% 0.028 261.692)); /* gray-950 */
|
|
100
|
-
/*--color-on-background: var(--on-background, oklch(96.7% 0.003 264.542)); /* gray-100 */
|
|
96
|
+
--color-secondary: var(--secondary, oklch(28.42% 0.0467 259.99));
|
|
97
|
+
--color-soft-secondary: var(--soft-secondary, oklch(92% 0.005 30));
|
|
98
|
+
--color-on-secondary: var(--on-secondary, var(--on-dark));
|
|
101
99
|
|
|
102
|
-
--color-
|
|
103
|
-
|
|
104
|
-
--color-on-
|
|
105
|
-
/* gray-800 */
|
|
100
|
+
--color-muted: var(--muted, oklch(87.2% 0.01 258.338));
|
|
101
|
+
--color-soft-muted: var(--soft-muted, oklch(92% 0.005 30));
|
|
102
|
+
--color-on-muted: var(--on-muted, var(--on-light));
|
|
106
103
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
/*--color-on-surface: var(--on-surface, oklch(92.8% 0.006 264.531)); /* gray-200 */
|
|
104
|
+
--color-background: var(--background, oklch(96% 0.005 85));
|
|
105
|
+
--color-on-background: var(--on-background, var(--on-light));
|
|
110
106
|
|
|
111
|
-
--color-
|
|
112
|
-
|
|
113
|
-
--color-on-overlay: var(--on-overlay, oklch(1 0 0));
|
|
114
|
-
/* white */
|
|
107
|
+
--color-surface: var(--surface, oklch(98% 0.003 85));
|
|
108
|
+
--color-on-surface: var(--on-surface, var(--on-light));
|
|
115
109
|
|
|
116
110
|
--color-success: var(--success, oklch(62.7% 0.194 149.214));
|
|
117
|
-
|
|
118
|
-
--color-on-success: var(--on-success,
|
|
119
|
-
/* green-100 */
|
|
111
|
+
--color-soft-success: var(--soft-success, oklch(95% 0.06 149.214));
|
|
112
|
+
--color-on-success: var(--on-success, var(--on-dark));
|
|
120
113
|
|
|
121
114
|
--color-info: var(--info, oklch(58.8% 0.158 241.966));
|
|
122
|
-
|
|
123
|
-
--color-on-info: var(--on-info,
|
|
124
|
-
/* sky-100 */
|
|
115
|
+
--color-soft-info: var(--soft-info, oklch(95% 0.05 241.966));
|
|
116
|
+
--color-on-info: var(--on-info, var(--on-dark));
|
|
125
117
|
|
|
126
118
|
--color-warning: var(--warning, oklch(68.1% 0.162 75.834));
|
|
127
|
-
|
|
128
|
-
--color-on-warning: var(--on-warning,
|
|
129
|
-
/* yellow-100 */
|
|
119
|
+
--color-soft-warning: var(--soft-warning, oklch(96% 0.05 75.834));
|
|
120
|
+
--color-on-warning: var(--on-warning, var(--on-dark));
|
|
130
121
|
|
|
131
122
|
--color-danger: var(--danger, oklch(57.7% 0.245 27.325));
|
|
132
|
-
|
|
133
|
-
--color-on-danger: var(--on-danger,
|
|
134
|
-
|
|
123
|
+
--color-soft-danger: var(--soft-danger, oklch(95% 0.07 27.325));
|
|
124
|
+
--color-on-danger: var(--on-danger, var(--on-dark));
|
|
125
|
+
|
|
126
|
+
--color-overlay: var(--overlay, oklch(0 0 0 / 60%));
|
|
127
|
+
--color-on-overlay: var(--on-overlay, var(--on-dark));
|
|
135
128
|
|
|
129
|
+
--radius-avatar: calc(infinity * 1px);
|
|
130
|
+
--radius-box: 0.75rem;
|
|
136
131
|
--radius-ui: 0.75rem;
|
|
137
132
|
--scrollbar-size: 6px;
|
|
138
|
-
}
|
|
133
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import LineChart from './charts/LineChart.svelte';
|
|
|
6
6
|
import PieChart from './charts/PieChart.svelte';
|
|
7
7
|
import Audio from './control/Audio.svelte';
|
|
8
8
|
import Button from './control/Button.svelte';
|
|
9
|
+
import Image from './control/Image.svelte';
|
|
10
|
+
import Fab, { type FabAction } from './control/Fab.svelte';
|
|
9
11
|
import IconButton from './control/IconButton.svelte';
|
|
10
12
|
import Record from './control/Record.svelte';
|
|
11
13
|
import ToggleTheme from './control/ToggleTheme.svelte';
|
|
@@ -18,25 +20,32 @@ import AvatarGroup from './display/AvatarGroup.svelte';
|
|
|
18
20
|
import Badge from './display/Badge.svelte';
|
|
19
21
|
import Carousel from './display/Carousel.svelte';
|
|
20
22
|
import Card from './display/Card.svelte';
|
|
21
|
-
import ChatBox from './display/ChatBox.svelte';
|
|
23
|
+
import ChatBox, { type PromptMessage, type PromptState } from './display/ChatBox.svelte';
|
|
22
24
|
import Chip from './display/Chip.svelte';
|
|
23
25
|
import Code from './display/Code.svelte';
|
|
24
26
|
import Collapsible from './display/Collapsible.svelte';
|
|
27
|
+
import Countdown from './display/Countdown.svelte';
|
|
25
28
|
import Divider from './display/Divider.svelte';
|
|
26
29
|
import Empty from './display/Empty.svelte';
|
|
27
30
|
import Icon, { type IconData } from './display/Icon.svelte';
|
|
28
31
|
import Item from './display/Item.svelte';
|
|
29
32
|
import Marquee from './display/Marquee.svelte';
|
|
30
33
|
import Section from './display/Section.svelte';
|
|
34
|
+
import Skeleton from './display/Skeleton.svelte';
|
|
35
|
+
import Map, { type LatLng, type MapMarker, type RouteInfo } from './display/Map.svelte';
|
|
31
36
|
import Table from './display/Table.svelte';
|
|
32
37
|
import Checkbox from './form/Checkbox.svelte';
|
|
38
|
+
import ColorField from './form/ColorField.svelte';
|
|
33
39
|
import ComboBox from './form/ComboBox.svelte';
|
|
34
40
|
import CsvField from './form/CsvField.svelte';
|
|
35
41
|
import DateField from './form/DateField.svelte';
|
|
42
|
+
import DateRange from './form/DateRange.svelte';
|
|
43
|
+
import DragDrop, { type DragDropItem, type DragDropGroup } from './form/DragDrop.svelte';
|
|
36
44
|
import Dropzone from './form/Dropzone.svelte';
|
|
45
|
+
import Editor from './form/Editor.svelte';
|
|
37
46
|
import ImageCropper from './form/ImageCropper.svelte';
|
|
38
47
|
import TextField from './form/TextField.svelte';
|
|
39
|
-
import
|
|
48
|
+
import PasswordField from './form/PasswordField.svelte';
|
|
40
49
|
import PinField from './form/PinField.svelte';
|
|
41
50
|
import RadioGroup from './form/RadioGroup.svelte';
|
|
42
51
|
import PhoneField from './form/PhoneField.svelte';
|
|
@@ -53,6 +62,7 @@ import NavMenu from './navigation/NavMenu.svelte';
|
|
|
53
62
|
import BottomNav from './navigation/BottomNav.svelte';
|
|
54
63
|
import FooterNav from './navigation/FooterNav.svelte';
|
|
55
64
|
import FooterGroup from './navigation/FooterGroup.svelte';
|
|
65
|
+
import Pagination from './navigation/Pagination.svelte';
|
|
56
66
|
import SideNav, { type SideNavItem, type SideNavSubItem } from './navigation/SideNav.svelte';
|
|
57
67
|
import Tabs from './navigation/Tabs.svelte';
|
|
58
68
|
import AlertDialog from './overlay/AlertDialog.svelte';
|
|
@@ -76,5 +86,5 @@ import { useAuth } from './hooks/use-auth.svelte.js';
|
|
|
76
86
|
import { theme } from './stores/theme.svelte.js';
|
|
77
87
|
import { useSearch } from './hooks/use-search.svelte.js';
|
|
78
88
|
import { useChat } from './hooks/use-chat.svelte.js';
|
|
79
|
-
export { AreaChart, ArcChart, BarChart, Candlestick, LineChart, PieChart, Alert, AlertDialog, AppBar, Accordion, Avatar, AvatarGroup, Audio, Badge, Button, BottomNav, Carousel, Card, ChatBox, Checkbox, Chip, Code, Collapsible, Command, ComboBox, CsvField, DateField, Drawer, Dropzone, Divider, Dropdown, Empty, Footer, FooterNav, FooterGroup, formatCurrency, formatDate, formatNumber, getWeekdays, i18n, Icon, IconButton, ImageCropper, Item, initLanguage, Modal, Marquee, NavMenu,
|
|
80
|
-
export type { IconData, SideNavItem, SideNavSubItem };
|
|
89
|
+
export { AreaChart, ArcChart, BarChart, Candlestick, LineChart, PieChart, Alert, AlertDialog, AppBar, Accordion, Avatar, AvatarGroup, Audio, Badge, Button, BottomNav, Carousel, Card, ChatBox, Checkbox, Chip, Code, Countdown, ColorField, Collapsible, Command, ComboBox, CsvField, DateField, DateRange, Drawer, Dropzone, Divider, DragDrop, Dropdown, Editor, Empty, Fab, Footer, FooterNav, FooterGroup, formatCurrency, formatDate, formatNumber, getWeekdays, i18n, Icon, IconButton, Image, ImageCropper, Item, initLanguage, Modal, Map, Marquee, NavMenu, Pagination, PasswordField, PhoneField, PinField, plural, PopoverStack, Provider, RadioGroup, Record, Scaffold, Section, Skeleton, Select, setLanguage, Sidebar, SideNav, Slider, t, Table, Tabs, TextField, Textarea, theme, Toast, toast, Toggle, ToggleGroup, ToggleTheme, Tooltip, useAuth, useChat, useClipboard, useFetch, useForm, useLocalStorage, useScroll, useSearch, useTable, useWebSocket, Video };
|
|
90
|
+
export type { IconData, SideNavItem, SideNavSubItem, DragDropItem, DragDropGroup, PromptMessage, PromptState, LatLng, MapMarker, RouteInfo, FabAction };
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,8 @@ import LineChart from './charts/LineChart.svelte';
|
|
|
6
6
|
import PieChart from './charts/PieChart.svelte';
|
|
7
7
|
import Audio from './control/Audio.svelte';
|
|
8
8
|
import Button from './control/Button.svelte';
|
|
9
|
+
import Image from './control/Image.svelte';
|
|
10
|
+
import Fab, {} from './control/Fab.svelte';
|
|
9
11
|
import IconButton from './control/IconButton.svelte';
|
|
10
12
|
import Record from './control/Record.svelte';
|
|
11
13
|
import ToggleTheme from './control/ToggleTheme.svelte';
|
|
@@ -18,25 +20,32 @@ import AvatarGroup from './display/AvatarGroup.svelte';
|
|
|
18
20
|
import Badge from './display/Badge.svelte';
|
|
19
21
|
import Carousel from './display/Carousel.svelte';
|
|
20
22
|
import Card from './display/Card.svelte';
|
|
21
|
-
import ChatBox from './display/ChatBox.svelte';
|
|
23
|
+
import ChatBox, {} from './display/ChatBox.svelte';
|
|
22
24
|
import Chip from './display/Chip.svelte';
|
|
23
25
|
import Code from './display/Code.svelte';
|
|
24
26
|
import Collapsible from './display/Collapsible.svelte';
|
|
27
|
+
import Countdown from './display/Countdown.svelte';
|
|
25
28
|
import Divider from './display/Divider.svelte';
|
|
26
29
|
import Empty from './display/Empty.svelte';
|
|
27
30
|
import Icon, {} from './display/Icon.svelte';
|
|
28
31
|
import Item from './display/Item.svelte';
|
|
29
32
|
import Marquee from './display/Marquee.svelte';
|
|
30
33
|
import Section from './display/Section.svelte';
|
|
34
|
+
import Skeleton from './display/Skeleton.svelte';
|
|
35
|
+
import Map, {} from './display/Map.svelte';
|
|
31
36
|
import Table from './display/Table.svelte';
|
|
32
37
|
import Checkbox from './form/Checkbox.svelte';
|
|
38
|
+
import ColorField from './form/ColorField.svelte';
|
|
33
39
|
import ComboBox from './form/ComboBox.svelte';
|
|
34
40
|
import CsvField from './form/CsvField.svelte';
|
|
35
41
|
import DateField from './form/DateField.svelte';
|
|
42
|
+
import DateRange from './form/DateRange.svelte';
|
|
43
|
+
import DragDrop, {} from './form/DragDrop.svelte';
|
|
36
44
|
import Dropzone from './form/Dropzone.svelte';
|
|
45
|
+
import Editor from './form/Editor.svelte';
|
|
37
46
|
import ImageCropper from './form/ImageCropper.svelte';
|
|
38
47
|
import TextField from './form/TextField.svelte';
|
|
39
|
-
import
|
|
48
|
+
import PasswordField from './form/PasswordField.svelte';
|
|
40
49
|
import PinField from './form/PinField.svelte';
|
|
41
50
|
import RadioGroup from './form/RadioGroup.svelte';
|
|
42
51
|
import PhoneField from './form/PhoneField.svelte';
|
|
@@ -53,6 +62,7 @@ import NavMenu from './navigation/NavMenu.svelte';
|
|
|
53
62
|
import BottomNav from './navigation/BottomNav.svelte';
|
|
54
63
|
import FooterNav from './navigation/FooterNav.svelte';
|
|
55
64
|
import FooterGroup from './navigation/FooterGroup.svelte';
|
|
65
|
+
import Pagination from './navigation/Pagination.svelte';
|
|
56
66
|
import SideNav, {} from './navigation/SideNav.svelte';
|
|
57
67
|
import Tabs from './navigation/Tabs.svelte';
|
|
58
68
|
import AlertDialog from './overlay/AlertDialog.svelte';
|
|
@@ -76,4 +86,4 @@ import { useAuth } from './hooks/use-auth.svelte.js';
|
|
|
76
86
|
import { theme } from './stores/theme.svelte.js';
|
|
77
87
|
import { useSearch } from './hooks/use-search.svelte.js';
|
|
78
88
|
import { useChat } from './hooks/use-chat.svelte.js';
|
|
79
|
-
export { AreaChart, ArcChart, BarChart, Candlestick, LineChart, PieChart, Alert, AlertDialog, AppBar, Accordion, Avatar, AvatarGroup, Audio, Badge, Button, BottomNav, Carousel, Card, ChatBox, Checkbox, Chip, Code, Collapsible, Command, ComboBox, CsvField, DateField, Drawer, Dropzone, Divider, Dropdown, Empty, Footer, FooterNav, FooterGroup, formatCurrency, formatDate, formatNumber, getWeekdays, i18n, Icon, IconButton, ImageCropper, Item, initLanguage, Modal, Marquee, NavMenu,
|
|
89
|
+
export { AreaChart, ArcChart, BarChart, Candlestick, LineChart, PieChart, Alert, AlertDialog, AppBar, Accordion, Avatar, AvatarGroup, Audio, Badge, Button, BottomNav, Carousel, Card, ChatBox, Checkbox, Chip, Code, Countdown, ColorField, Collapsible, Command, ComboBox, CsvField, DateField, DateRange, Drawer, Dropzone, Divider, DragDrop, Dropdown, Editor, Empty, Fab, Footer, FooterNav, FooterGroup, formatCurrency, formatDate, formatNumber, getWeekdays, i18n, Icon, IconButton, Image, ImageCropper, Item, initLanguage, Modal, Map, Marquee, NavMenu, Pagination, PasswordField, PhoneField, PinField, plural, PopoverStack, Provider, RadioGroup, Record, Scaffold, Section, Skeleton, Select, setLanguage, Sidebar, SideNav, Slider, t, Table, Tabs, TextField, Textarea, theme, Toast, toast, Toggle, ToggleGroup, ToggleTheme, Tooltip, useAuth, useChat, useClipboard, useFetch, useForm, useLocalStorage, useScroll, useSearch, useTable, useWebSocket, Video };
|
|
@@ -12,15 +12,7 @@
|
|
|
12
12
|
startClass?: string;
|
|
13
13
|
centerClass?: string;
|
|
14
14
|
endClass?: string;
|
|
15
|
-
|
|
16
|
-
isBordered?: boolean;
|
|
17
|
-
borderOnScrollOnly?: boolean;
|
|
18
|
-
hideOnScroll?: boolean;
|
|
19
|
-
solidOnScroll?: boolean;
|
|
20
|
-
isSticky?: boolean;
|
|
21
|
-
isFloating?: boolean;
|
|
22
|
-
isBoxed?: boolean;
|
|
23
|
-
variant?:
|
|
15
|
+
color?:
|
|
24
16
|
| 'primary'
|
|
25
17
|
| 'secondary'
|
|
26
18
|
| 'muted'
|
|
@@ -29,7 +21,16 @@
|
|
|
29
21
|
| 'warning'
|
|
30
22
|
| 'danger'
|
|
31
23
|
| 'surface'
|
|
32
|
-
| '
|
|
24
|
+
| 'default';
|
|
25
|
+
variant?: 'solid' | 'soft';
|
|
26
|
+
isBlurred?: boolean;
|
|
27
|
+
isBordered?: boolean;
|
|
28
|
+
borderOnScrollOnly?: boolean;
|
|
29
|
+
hideOnScroll?: boolean;
|
|
30
|
+
solidOnScroll?: boolean;
|
|
31
|
+
isSticky?: boolean;
|
|
32
|
+
isFloating?: boolean;
|
|
33
|
+
isBoxed?: boolean;
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
const {
|
|
@@ -41,12 +42,13 @@
|
|
|
41
42
|
startClass,
|
|
42
43
|
centerClass,
|
|
43
44
|
endClass,
|
|
45
|
+
color = 'default',
|
|
46
|
+
variant = 'soft',
|
|
44
47
|
isBordered,
|
|
45
48
|
borderOnScrollOnly = false,
|
|
46
49
|
isBlurred,
|
|
47
50
|
isSticky,
|
|
48
51
|
isBoxed,
|
|
49
|
-
variant = 'ghost',
|
|
50
52
|
hideOnScroll,
|
|
51
53
|
solidOnScroll = false,
|
|
52
54
|
isFloating = false
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
|
|
60
62
|
const scroll = useScroll();
|
|
61
63
|
|
|
62
|
-
const
|
|
64
|
+
const colors = {
|
|
63
65
|
primary: 'is-primary',
|
|
64
66
|
secondary: 'is-secondary',
|
|
65
67
|
muted: 'is-muted',
|
|
@@ -68,7 +70,12 @@
|
|
|
68
70
|
warning: 'is-warning',
|
|
69
71
|
danger: 'is-danger',
|
|
70
72
|
surface: 'is-surface',
|
|
71
|
-
|
|
73
|
+
default: 'is-default'
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const variants = {
|
|
77
|
+
solid: 'is-solid',
|
|
78
|
+
soft: 'is-soft'
|
|
72
79
|
};
|
|
73
80
|
|
|
74
81
|
$effect(() => {
|
|
@@ -108,7 +115,8 @@
|
|
|
108
115
|
bind:this={headerElement}
|
|
109
116
|
class={cn(
|
|
110
117
|
'appbar',
|
|
111
|
-
|
|
118
|
+
colors[color],
|
|
119
|
+
variants[variant],
|
|
112
120
|
shouldShowBorder && 'is-bordered',
|
|
113
121
|
shouldBlur && 'is-blurred',
|
|
114
122
|
isHidden && 'is-hidden',
|
|
@@ -8,6 +8,8 @@ type Props = {
|
|
|
8
8
|
startClass?: string;
|
|
9
9
|
centerClass?: string;
|
|
10
10
|
endClass?: string;
|
|
11
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
|
|
12
|
+
variant?: 'solid' | 'soft';
|
|
11
13
|
isBlurred?: boolean;
|
|
12
14
|
isBordered?: boolean;
|
|
13
15
|
borderOnScrollOnly?: boolean;
|
|
@@ -16,7 +18,6 @@ type Props = {
|
|
|
16
18
|
isSticky?: boolean;
|
|
17
19
|
isFloating?: boolean;
|
|
18
20
|
isBoxed?: boolean;
|
|
19
|
-
variant?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'ghost';
|
|
20
21
|
};
|
|
21
22
|
declare const AppBar: import("svelte").Component<Props, {}, "">;
|
|
22
23
|
type AppBar = ReturnType<typeof AppBar>;
|
|
@@ -12,11 +12,7 @@
|
|
|
12
12
|
startClass?: string;
|
|
13
13
|
centerClass?: string;
|
|
14
14
|
endClass?: string;
|
|
15
|
-
|
|
16
|
-
isBordered?: boolean;
|
|
17
|
-
isBoxed?: boolean;
|
|
18
|
-
hideOnScroll?: boolean;
|
|
19
|
-
variant?:
|
|
15
|
+
color?:
|
|
20
16
|
| 'primary'
|
|
21
17
|
| 'secondary'
|
|
22
18
|
| 'muted'
|
|
@@ -25,7 +21,12 @@
|
|
|
25
21
|
| 'warning'
|
|
26
22
|
| 'danger'
|
|
27
23
|
| 'surface'
|
|
28
|
-
| '
|
|
24
|
+
| 'default';
|
|
25
|
+
variant?: 'solid' | 'soft';
|
|
26
|
+
isBlurred?: boolean;
|
|
27
|
+
isBordered?: boolean;
|
|
28
|
+
isBoxed?: boolean;
|
|
29
|
+
hideOnScroll?: boolean;
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
const {
|
|
@@ -37,11 +38,12 @@
|
|
|
37
38
|
startClass,
|
|
38
39
|
centerClass,
|
|
39
40
|
endClass,
|
|
41
|
+
color = 'default',
|
|
42
|
+
variant = 'soft',
|
|
40
43
|
isBordered,
|
|
41
44
|
isBlurred,
|
|
42
45
|
isBoxed,
|
|
43
|
-
hideOnScroll
|
|
44
|
-
variant = 'ghost'
|
|
46
|
+
hideOnScroll
|
|
45
47
|
}: Props = $props();
|
|
46
48
|
|
|
47
49
|
let footerElement = $state<HTMLElement | null>(null);
|
|
@@ -51,7 +53,7 @@
|
|
|
51
53
|
|
|
52
54
|
const scroll = useScroll();
|
|
53
55
|
|
|
54
|
-
const
|
|
56
|
+
const colors = {
|
|
55
57
|
primary: 'is-primary',
|
|
56
58
|
secondary: 'is-secondary',
|
|
57
59
|
muted: 'is-muted',
|
|
@@ -60,7 +62,12 @@
|
|
|
60
62
|
warning: 'is-warning',
|
|
61
63
|
danger: 'is-danger',
|
|
62
64
|
surface: 'is-surface',
|
|
63
|
-
|
|
65
|
+
default: 'is-default'
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const variants = {
|
|
69
|
+
solid: 'is-solid',
|
|
70
|
+
soft: 'is-soft'
|
|
64
71
|
};
|
|
65
72
|
|
|
66
73
|
$effect(() => {
|
|
@@ -93,7 +100,8 @@
|
|
|
93
100
|
bind:this={footerElement}
|
|
94
101
|
class={cn(
|
|
95
102
|
'footer',
|
|
96
|
-
|
|
103
|
+
colors[color],
|
|
104
|
+
variants[variant],
|
|
97
105
|
isBordered && 'is-bordered',
|
|
98
106
|
shouldBlur && 'is-blurred',
|
|
99
107
|
isHidden && 'is-hidden',
|
|
@@ -8,11 +8,12 @@ type Props = {
|
|
|
8
8
|
startClass?: string;
|
|
9
9
|
centerClass?: string;
|
|
10
10
|
endClass?: string;
|
|
11
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
|
|
12
|
+
variant?: 'solid' | 'soft';
|
|
11
13
|
isBlurred?: boolean;
|
|
12
14
|
isBordered?: boolean;
|
|
13
15
|
isBoxed?: boolean;
|
|
14
16
|
hideOnScroll?: boolean;
|
|
15
|
-
variant?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'ghost';
|
|
16
17
|
};
|
|
17
18
|
declare const Footer: import("svelte").Component<Props, {}, "">;
|
|
18
19
|
type Footer = ReturnType<typeof Footer>;
|
|
@@ -5,22 +5,45 @@
|
|
|
5
5
|
|
|
6
6
|
type Props = {
|
|
7
7
|
children: Snippet;
|
|
8
|
-
|
|
8
|
+
toastVariant?: 'solid' | 'soft';
|
|
9
9
|
toastIcon?: boolean;
|
|
10
10
|
toastPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
11
|
+
themeTransition?: 'circle' | 'slide' | 'fade' | 'vertical' | 'none';
|
|
12
|
+
pageTransition?: 'fade' | 'slide' | 'scale' | 'none';
|
|
11
13
|
};
|
|
12
14
|
|
|
13
|
-
const {
|
|
15
|
+
const {
|
|
16
|
+
children,
|
|
17
|
+
toastVariant,
|
|
18
|
+
toastPosition,
|
|
19
|
+
toastIcon,
|
|
20
|
+
themeTransition = 'circle',
|
|
21
|
+
pageTransition = 'fade'
|
|
22
|
+
}: Props = $props();
|
|
14
23
|
|
|
15
24
|
onNavigate((navigation) => {
|
|
25
|
+
if (pageTransition === 'none') return;
|
|
16
26
|
if (!document.startViewTransition) return;
|
|
17
27
|
return new Promise((resolve) => {
|
|
18
|
-
document.
|
|
28
|
+
document.documentElement.classList.add('page-transitioning');
|
|
29
|
+
document.documentElement.setAttribute('data-page-transition', pageTransition);
|
|
30
|
+
|
|
31
|
+
const transition = document.startViewTransition(async () => {
|
|
19
32
|
resolve();
|
|
20
33
|
await navigation.complete;
|
|
21
34
|
});
|
|
35
|
+
|
|
36
|
+
transition.finished.finally(() => {
|
|
37
|
+
document.documentElement.classList.remove('page-transitioning');
|
|
38
|
+
document.documentElement.removeAttribute('data-page-transition');
|
|
39
|
+
});
|
|
22
40
|
});
|
|
23
41
|
});
|
|
42
|
+
$effect(() => {
|
|
43
|
+
if (typeof document !== 'undefined') {
|
|
44
|
+
document.documentElement.setAttribute('data-theme-transition', themeTransition);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
24
47
|
</script>
|
|
25
48
|
|
|
26
49
|
<svelte:head>
|
|
@@ -31,22 +54,22 @@
|
|
|
31
54
|
<script>
|
|
32
55
|
let themeState = 'light';
|
|
33
56
|
|
|
34
|
-
if (typeof window !== 'undefined' && localStorage) {
|
|
57
|
+
if (typeof window !== 'undefined' && typeof localStorage !== 'undefined') {
|
|
35
58
|
const storedTheme = localStorage.getItem('theme-preference');
|
|
36
59
|
if (storedTheme) {
|
|
37
60
|
themeState = storedTheme;
|
|
38
61
|
} else {
|
|
39
62
|
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
40
|
-
themeState = prefersDark ? '' : 'light';
|
|
63
|
+
themeState = prefersDark ? 'dark' : 'light';
|
|
41
64
|
localStorage.setItem('theme-preference', themeState);
|
|
42
65
|
}
|
|
43
|
-
}
|
|
44
66
|
|
|
45
|
-
|
|
46
|
-
|
|
67
|
+
if (themeState === 'dark' && typeof document !== 'undefined') {
|
|
68
|
+
document.documentElement.classList.add('dark');
|
|
69
|
+
}
|
|
47
70
|
}
|
|
48
71
|
</script>
|
|
49
72
|
</svelte:head>
|
|
50
73
|
|
|
51
74
|
{@render children()}
|
|
52
|
-
<Toast position={toastPosition} showIcon={toastIcon}
|
|
75
|
+
<Toast position={toastPosition} showIcon={toastIcon} variant={toastVariant} />
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
type Props = {
|
|
3
3
|
children: Snippet;
|
|
4
|
-
|
|
4
|
+
toastVariant?: 'solid' | 'soft';
|
|
5
5
|
toastIcon?: boolean;
|
|
6
6
|
toastPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
7
|
+
themeTransition?: 'circle' | 'slide' | 'fade' | 'vertical' | 'none';
|
|
8
|
+
pageTransition?: 'fade' | 'slide' | 'scale' | 'none';
|
|
7
9
|
};
|
|
8
10
|
declare const Provider: import("svelte").Component<Props, {}, "">;
|
|
9
11
|
type Provider = ReturnType<typeof Provider>;
|
|
@@ -6,11 +6,7 @@
|
|
|
6
6
|
children: Snippet;
|
|
7
7
|
header?: Snippet;
|
|
8
8
|
footer?: Snippet;
|
|
9
|
-
|
|
10
|
-
contentClass?: string;
|
|
11
|
-
headerClass?: string;
|
|
12
|
-
footerClass?: string;
|
|
13
|
-
variant?:
|
|
9
|
+
color?:
|
|
14
10
|
| 'primary'
|
|
15
11
|
| 'secondary'
|
|
16
12
|
| 'muted'
|
|
@@ -19,7 +15,12 @@
|
|
|
19
15
|
| 'warning'
|
|
20
16
|
| 'danger'
|
|
21
17
|
| 'surface'
|
|
22
|
-
| '
|
|
18
|
+
| 'background';
|
|
19
|
+
variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
|
|
20
|
+
rootClass?: string;
|
|
21
|
+
contentClass?: string;
|
|
22
|
+
headerClass?: string;
|
|
23
|
+
footerClass?: string;
|
|
23
24
|
};
|
|
24
25
|
|
|
25
26
|
const {
|
|
@@ -30,10 +31,11 @@
|
|
|
30
31
|
contentClass,
|
|
31
32
|
headerClass,
|
|
32
33
|
footerClass,
|
|
34
|
+
color = 'surface',
|
|
33
35
|
variant = 'ghost'
|
|
34
36
|
}: Props = $props();
|
|
35
37
|
|
|
36
|
-
const
|
|
38
|
+
const colors = {
|
|
37
39
|
primary: 'is-primary',
|
|
38
40
|
secondary: 'is-secondary',
|
|
39
41
|
muted: 'is-muted',
|
|
@@ -42,11 +44,18 @@
|
|
|
42
44
|
warning: 'is-warning',
|
|
43
45
|
danger: 'is-danger',
|
|
44
46
|
surface: 'is-surface',
|
|
47
|
+
background: 'is-background'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const variants = {
|
|
51
|
+
solid: 'is-solid',
|
|
52
|
+
soft: 'is-soft',
|
|
53
|
+
outlined: 'is-outlined',
|
|
45
54
|
ghost: 'is-ghost'
|
|
46
55
|
};
|
|
47
56
|
</script>
|
|
48
57
|
|
|
49
|
-
<aside class={cn('sidebar',
|
|
58
|
+
<aside class={cn('sidebar', colors[color], variants[variant], rootClass)}>
|
|
50
59
|
{#if header}
|
|
51
60
|
<div class={cn('sidebar-header', headerClass)}>
|
|
52
61
|
{@render header()}
|
|
@@ -3,11 +3,12 @@ type Props = {
|
|
|
3
3
|
children: Snippet;
|
|
4
4
|
header?: Snippet;
|
|
5
5
|
footer?: Snippet;
|
|
6
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
|
|
7
|
+
variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
|
|
6
8
|
rootClass?: string;
|
|
7
9
|
contentClass?: string;
|
|
8
10
|
headerClass?: string;
|
|
9
11
|
footerClass?: string;
|
|
10
|
-
variant?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'ghost';
|
|
11
12
|
};
|
|
12
13
|
declare const Sidebar: import("svelte").Component<Props, {}, "">;
|
|
13
14
|
type Sidebar = ReturnType<typeof Sidebar>;
|