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
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.display-2xl {
|
|
3
|
+
@apply font-bold tracking-tight leading-none;
|
|
4
|
+
font-size: clamp(3rem, 8vw, 6rem);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.display-xl {
|
|
8
|
+
@apply font-bold tracking-tight leading-none;
|
|
9
|
+
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.display-lg {
|
|
13
|
+
@apply font-bold tracking-tight leading-tight;
|
|
14
|
+
font-size: clamp(2rem, 5vw, 3.75rem);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.display-md {
|
|
18
|
+
@apply font-semibold tracking-tight leading-tight;
|
|
19
|
+
font-size: clamp(1.75rem, 4vw, 3rem);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.display-sm {
|
|
23
|
+
@apply font-semibold tracking-tight leading-tight;
|
|
24
|
+
font-size: clamp(1.5rem, 3vw, 2.25rem);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.heading-xl {
|
|
28
|
+
@apply font-bold tracking-tight leading-snug;
|
|
29
|
+
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.heading-lg {
|
|
33
|
+
@apply font-semibold tracking-tight leading-snug;
|
|
34
|
+
font-size: clamp(1.5rem, 3vw, 2rem);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.heading-md {
|
|
38
|
+
@apply font-semibold leading-snug;
|
|
39
|
+
font-size: clamp(1.25rem, 2.5vw, 1.5rem);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.heading-sm {
|
|
43
|
+
@apply font-medium leading-snug;
|
|
44
|
+
font-size: clamp(1.125rem, 2vw, 1.25rem);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.heading-xs {
|
|
48
|
+
@apply font-medium leading-snug;
|
|
49
|
+
font-size: clamp(1rem, 1.5vw, 1.125rem);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.body-xl {
|
|
53
|
+
@apply font-normal leading-relaxed;
|
|
54
|
+
font-size: clamp(1.125rem, 1.5vw, 1.25rem);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.body-lg {
|
|
58
|
+
@apply font-normal leading-relaxed;
|
|
59
|
+
font-size: clamp(1rem, 1.25vw, 1.125rem);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.body-md {
|
|
63
|
+
@apply font-normal leading-relaxed;
|
|
64
|
+
font-size: 1rem;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.body-sm {
|
|
68
|
+
@apply font-normal leading-relaxed;
|
|
69
|
+
font-size: 0.875rem;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.body-xs {
|
|
73
|
+
@apply font-normal leading-relaxed;
|
|
74
|
+
font-size: 0.75rem;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.label-lg {
|
|
78
|
+
@apply font-medium leading-normal truncate;
|
|
79
|
+
font-size: 1rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.label-md {
|
|
83
|
+
@apply font-medium leading-normal truncate;
|
|
84
|
+
font-size: 0.875rem;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.label-sm {
|
|
88
|
+
@apply font-medium leading-normal truncate;
|
|
89
|
+
font-size: 0.75rem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.caption-lg {
|
|
93
|
+
@apply font-normal leading-normal;
|
|
94
|
+
font-size: 0.875rem;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.caption-md {
|
|
98
|
+
@apply font-normal leading-normal;
|
|
99
|
+
font-size: 0.75rem;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.caption-sm {
|
|
103
|
+
@apply font-normal leading-normal ;
|
|
104
|
+
font-size: 0.625rem;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.hero-title {
|
|
108
|
+
@apply font-bold tracking-tight leading-none;
|
|
109
|
+
font-size: clamp(2.5rem, 8vw, 5rem);
|
|
110
|
+
text-wrap: balance;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.hero-subtitle {
|
|
114
|
+
@apply font-medium leading-relaxed;
|
|
115
|
+
font-size: clamp(1.125rem, 2vw, 1.5rem);
|
|
116
|
+
text-wrap: balance;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.hero-description {
|
|
120
|
+
@apply font-normal leading-relaxed;
|
|
121
|
+
font-size: clamp(1rem, 1.5vw, 1.25rem);
|
|
122
|
+
max-width: 65ch;
|
|
123
|
+
text-wrap: pretty;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.section-title {
|
|
127
|
+
@apply font-bold tracking-tight leading-tight;
|
|
128
|
+
font-size: clamp(1.75rem, 4vw, 2.5rem);
|
|
129
|
+
text-wrap: balance;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.section-subtitle {
|
|
133
|
+
@apply font-medium leading-relaxed;
|
|
134
|
+
font-size: clamp(1rem, 1.5vw, 1.25rem);
|
|
135
|
+
text-wrap: balance;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.section-description {
|
|
139
|
+
@apply font-normal leading-relaxed;
|
|
140
|
+
font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
|
|
141
|
+
max-width: 60ch;
|
|
142
|
+
text-wrap: pretty;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.cta-title {
|
|
146
|
+
@apply font-bold tracking-tight leading-tight;
|
|
147
|
+
font-size: clamp(1.5rem, 3.5vw, 2.25rem);
|
|
148
|
+
text-wrap: balance;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.cta-subtitle {
|
|
152
|
+
@apply font-medium leading-relaxed;
|
|
153
|
+
font-size: clamp(1rem, 1.5vw, 1.125rem);
|
|
154
|
+
text-wrap: balance;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.cta-description {
|
|
158
|
+
@apply font-normal leading-relaxed;
|
|
159
|
+
font-size: clamp(0.875rem, 1.25vw, 1rem);
|
|
160
|
+
max-width: 50ch;
|
|
161
|
+
text-wrap: pretty;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.subheading {
|
|
165
|
+
@apply font-semibold uppercase tracking-widest;
|
|
166
|
+
font-size: clamp(0.75rem, 1vw, 0.875rem);
|
|
167
|
+
color: var(--primary);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.subheading-muted {
|
|
171
|
+
@apply font-semibold uppercase tracking-widest;
|
|
172
|
+
font-size: clamp(0.75rem, 1vw, 0.875rem);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.lead {
|
|
176
|
+
@apply font-normal leading-relaxed;
|
|
177
|
+
font-size: clamp(1.125rem, 1.5vw, 1.375rem);
|
|
178
|
+
text-wrap: pretty;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.lead-lg {
|
|
182
|
+
@apply font-normal leading-relaxed;
|
|
183
|
+
font-size: clamp(1.25rem, 2vw, 1.5rem);
|
|
184
|
+
text-wrap: pretty;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.overline {
|
|
188
|
+
@apply font-semibold uppercase tracking-widest;
|
|
189
|
+
font-size: 0.75rem;
|
|
190
|
+
margin-bottom: 0.5rem;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.overline-primary {
|
|
194
|
+
@apply overline;
|
|
195
|
+
color: var(--primary);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.overline-secondary {
|
|
199
|
+
@apply overline;
|
|
200
|
+
color: var(--secondary);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.overline-muted {
|
|
204
|
+
@apply overline;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.quote {
|
|
208
|
+
@apply font-medium italic leading-relaxed;
|
|
209
|
+
font-size: clamp(1.125rem, 2vw, 1.5rem);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.quote-lg {
|
|
213
|
+
@apply font-medium italic leading-relaxed;
|
|
214
|
+
font-size: clamp(1.25rem, 2.5vw, 1.75rem);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.feature-title {
|
|
218
|
+
@apply font-semibold leading-snug;
|
|
219
|
+
font-size: clamp(1.125rem, 1.5vw, 1.25rem);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.feature-description {
|
|
223
|
+
@apply font-normal leading-relaxed;
|
|
224
|
+
font-size: clamp(0.875rem, 1.25vw, 1rem);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.card-title {
|
|
228
|
+
@apply font-semibold leading-snug;
|
|
229
|
+
font-size: clamp(1rem, 1.25vw, 1.125rem);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.card-description {
|
|
233
|
+
@apply font-normal leading-relaxed;
|
|
234
|
+
font-size: clamp(0.8125rem, 1vw, 0.875rem);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.nav-item {
|
|
238
|
+
@apply font-medium leading-normal;
|
|
239
|
+
font-size: 0.875rem;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.nav-item-lg {
|
|
243
|
+
@apply font-medium leading-normal;
|
|
244
|
+
font-size: 1rem;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.code-inline {
|
|
248
|
+
@apply font-mono bg-muted text-on-muted rounded;
|
|
249
|
+
@apply px-[0.3rem] py-[0.2rem];
|
|
250
|
+
font-size: 0.875em;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.code-block {
|
|
254
|
+
@apply font-mono leading-relaxed bg-muted text-on-muted rounded;
|
|
255
|
+
@apply px-[0.3rem] py-[0.2rem];
|
|
256
|
+
font-size: 0.875rem;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.text-balance {
|
|
260
|
+
text-wrap: balance;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.text-pretty {
|
|
264
|
+
text-wrap: pretty;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.truncate-lines-2 {
|
|
268
|
+
display: -webkit-box;
|
|
269
|
+
-webkit-line-clamp: 2;
|
|
270
|
+
-webkit-box-orient: vertical;
|
|
271
|
+
overflow: hidden;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.truncate-lines-3 {
|
|
275
|
+
display: -webkit-box;
|
|
276
|
+
-webkit-line-clamp: 3;
|
|
277
|
+
-webkit-box-orient: vertical;
|
|
278
|
+
overflow: hidden;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.truncate-lines-4 {
|
|
282
|
+
display: -webkit-box;
|
|
283
|
+
-webkit-line-clamp: 4;
|
|
284
|
+
-webkit-box-orient: vertical;
|
|
285
|
+
overflow: hidden;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.prose-narrow { max-width: 45ch; }
|
|
289
|
+
.prose-normal { max-width: 65ch; }
|
|
290
|
+
.prose-wide { max-width: 80ch; }
|
|
291
|
+
}
|
package/dist/css/utilities.css
CHANGED
|
@@ -104,7 +104,6 @@
|
|
|
104
104
|
@apply col-span-12;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
/* Grid auto-fit (responsive) */
|
|
108
107
|
@utility grid-auto-fit {
|
|
109
108
|
@apply grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))];
|
|
110
109
|
}
|
|
@@ -113,9 +112,6 @@
|
|
|
113
112
|
@apply grid grid-cols-[repeat(auto-fill,minmax(250px,1fr))];
|
|
114
113
|
}
|
|
115
114
|
|
|
116
|
-
/* Viewport Height Utilities */
|
|
117
|
-
/* These utilities set the height to 100vh minus a specified rem value */
|
|
118
|
-
|
|
119
115
|
@utility vh-8 {
|
|
120
116
|
height: calc(100vh - 2rem);
|
|
121
117
|
}
|
|
@@ -16,7 +16,17 @@
|
|
|
16
16
|
|
|
17
17
|
type Props = {
|
|
18
18
|
items: AccordionItem[];
|
|
19
|
-
variant?: '
|
|
19
|
+
variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
|
|
20
|
+
color?:
|
|
21
|
+
| 'primary'
|
|
22
|
+
| 'secondary'
|
|
23
|
+
| 'muted'
|
|
24
|
+
| 'success'
|
|
25
|
+
| 'info'
|
|
26
|
+
| 'warning'
|
|
27
|
+
| 'danger'
|
|
28
|
+
| 'surface'
|
|
29
|
+
| 'background';
|
|
20
30
|
multiple?: boolean;
|
|
21
31
|
rootClass?: string;
|
|
22
32
|
itemClass?: string;
|
|
@@ -26,7 +36,8 @@
|
|
|
26
36
|
|
|
27
37
|
const {
|
|
28
38
|
items = [],
|
|
29
|
-
variant = '
|
|
39
|
+
variant = 'ghost',
|
|
40
|
+
color = 'background',
|
|
30
41
|
multiple = false,
|
|
31
42
|
rootClass,
|
|
32
43
|
itemClass,
|
|
@@ -35,6 +46,7 @@
|
|
|
35
46
|
}: Props = $props();
|
|
36
47
|
|
|
37
48
|
let openItems = $state<Record<string, boolean>>(
|
|
49
|
+
// svelte-ignore state_referenced_locally
|
|
38
50
|
items.reduce(
|
|
39
51
|
(acc, item) => {
|
|
40
52
|
if (item.defaultOpen) {
|
|
@@ -47,10 +59,22 @@
|
|
|
47
59
|
);
|
|
48
60
|
|
|
49
61
|
const variants = {
|
|
62
|
+
solid: 'is-solid',
|
|
63
|
+
soft: 'is-soft',
|
|
64
|
+
outlined: 'is-outlined',
|
|
65
|
+
ghost: 'is-ghost'
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const colors = {
|
|
50
69
|
primary: 'is-primary',
|
|
51
70
|
secondary: 'is-secondary',
|
|
52
71
|
muted: 'is-muted',
|
|
53
|
-
|
|
72
|
+
success: 'is-success',
|
|
73
|
+
info: 'is-info',
|
|
74
|
+
warning: 'is-warning',
|
|
75
|
+
danger: 'is-danger',
|
|
76
|
+
surface: 'is-surface',
|
|
77
|
+
background: 'is-background'
|
|
54
78
|
};
|
|
55
79
|
|
|
56
80
|
function toggleItem(itemId: string, disabled?: boolean) {
|
|
@@ -65,7 +89,7 @@
|
|
|
65
89
|
}
|
|
66
90
|
</script>
|
|
67
91
|
|
|
68
|
-
<div class={cn('accordion', variants[variant], rootClass)}>
|
|
92
|
+
<div class={cn('accordion', variants[variant], colors[color], rootClass)}>
|
|
69
93
|
{#each items as item}
|
|
70
94
|
<div class={cn('accordion-item', itemClass, item.disabled && 'is-disabled')}>
|
|
71
95
|
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
@@ -8,7 +8,8 @@ type AccordionItem = {
|
|
|
8
8
|
};
|
|
9
9
|
type Props = {
|
|
10
10
|
items: AccordionItem[];
|
|
11
|
-
variant?: '
|
|
11
|
+
variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
|
|
12
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
|
|
12
13
|
multiple?: boolean;
|
|
13
14
|
rootClass?: string;
|
|
14
15
|
itemClass?: string;
|
|
@@ -10,39 +10,59 @@
|
|
|
10
10
|
import type { Snippet } from 'svelte';
|
|
11
11
|
import type { IconData } from './Icon.svelte';
|
|
12
12
|
|
|
13
|
-
type AlertStatus = 'info' | 'success' | 'warning' | 'danger';
|
|
14
|
-
|
|
15
13
|
type Props = {
|
|
16
14
|
title?: string;
|
|
17
15
|
description?: string;
|
|
18
16
|
children?: Snippet;
|
|
19
17
|
showIcon?: boolean;
|
|
20
18
|
icon?: IconData;
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
20
|
+
variant?: 'solid' | 'soft';
|
|
23
21
|
};
|
|
24
22
|
|
|
25
|
-
let {
|
|
23
|
+
let {
|
|
24
|
+
title,
|
|
25
|
+
description,
|
|
26
|
+
children,
|
|
27
|
+
showIcon,
|
|
28
|
+
icon,
|
|
29
|
+
color = 'info',
|
|
30
|
+
variant = 'soft'
|
|
31
|
+
}: Props = $props();
|
|
26
32
|
|
|
27
|
-
const
|
|
28
|
-
|
|
33
|
+
const colors = {
|
|
34
|
+
primary: 'is-primary',
|
|
35
|
+
secondary: 'is-secondary',
|
|
36
|
+
muted: 'is-muted',
|
|
29
37
|
success: 'is-success',
|
|
30
|
-
|
|
31
|
-
danger: 'is-danger'
|
|
38
|
+
info: 'is-info',
|
|
39
|
+
danger: 'is-danger',
|
|
40
|
+
warning: 'is-warning'
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const variants = {
|
|
44
|
+
solid: 'is-solid',
|
|
45
|
+
soft: 'is-soft'
|
|
32
46
|
};
|
|
33
47
|
|
|
34
|
-
const DEFAULT_ICONS: Record<
|
|
48
|
+
const DEFAULT_ICONS: Record<
|
|
49
|
+
'primary' | 'secondary' | 'muted' | 'info' | 'success' | 'warning' | 'danger',
|
|
50
|
+
IconData
|
|
51
|
+
> = {
|
|
52
|
+
primary: Info24RegularIcon,
|
|
53
|
+
secondary: Info24RegularIcon,
|
|
54
|
+
muted: Info24RegularIcon,
|
|
35
55
|
info: Info24RegularIcon,
|
|
36
56
|
success: CheckmarkCircle24RegularIcon,
|
|
37
57
|
warning: Warning24RegularIcon,
|
|
38
58
|
danger: DismissCircle24RegularIcon
|
|
39
59
|
};
|
|
40
60
|
|
|
41
|
-
const currentIcon = $derived(icon ?? DEFAULT_ICONS[
|
|
61
|
+
const currentIcon = $derived(icon ?? DEFAULT_ICONS[color as keyof typeof DEFAULT_ICONS]);
|
|
42
62
|
const hasContent = $derived(description || children);
|
|
43
63
|
</script>
|
|
44
64
|
|
|
45
|
-
<div class={cn('alert',
|
|
65
|
+
<div class={cn('alert', colors[color], variants[variant])}>
|
|
46
66
|
{#if showIcon}
|
|
47
67
|
<div class="alert-start">
|
|
48
68
|
<Icon icon={currentIcon} class="alert-icon" />
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
import type { IconData } from './Icon.svelte';
|
|
3
|
-
type AlertStatus = 'info' | 'success' | 'warning' | 'danger';
|
|
4
3
|
type Props = {
|
|
5
4
|
title?: string;
|
|
6
5
|
description?: string;
|
|
7
6
|
children?: Snippet;
|
|
8
7
|
showIcon?: boolean;
|
|
9
8
|
icon?: IconData;
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
10
|
+
variant?: 'solid' | 'soft';
|
|
12
11
|
};
|
|
13
12
|
declare const Alert: import("svelte").Component<Props, {}, "">;
|
|
14
13
|
type Alert = ReturnType<typeof Alert>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import type { IconData } from './Icon.svelte';
|
|
3
|
+
import { Icon } from '../index.js';
|
|
2
4
|
import { cn } from '../utils/class-names.js';
|
|
3
5
|
|
|
4
6
|
type Props = {
|
|
@@ -8,18 +10,12 @@
|
|
|
8
10
|
href?: string;
|
|
9
11
|
onclick?: () => void;
|
|
10
12
|
target?: '_self' | '_blank' | '_parent' | '_top';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
| 'secondary'
|
|
14
|
-
| 'muted'
|
|
15
|
-
| 'success'
|
|
16
|
-
| 'warning'
|
|
17
|
-
| 'danger'
|
|
18
|
-
| 'info'
|
|
19
|
-
| 'transparent';
|
|
13
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
14
|
+
variant?: 'solid' | 'soft';
|
|
20
15
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
21
16
|
status?: 'online' | 'offline' | 'busy' | 'away';
|
|
22
17
|
isBordered?: boolean;
|
|
18
|
+
icon?: IconData;
|
|
23
19
|
class?: string;
|
|
24
20
|
};
|
|
25
21
|
|
|
@@ -30,25 +26,31 @@
|
|
|
30
26
|
href,
|
|
31
27
|
onclick,
|
|
32
28
|
target,
|
|
33
|
-
|
|
34
|
-
variant = '
|
|
29
|
+
color = 'primary',
|
|
30
|
+
variant = 'solid',
|
|
31
|
+
size = 'md',
|
|
35
32
|
status,
|
|
36
33
|
isBordered,
|
|
34
|
+
icon,
|
|
37
35
|
class: className
|
|
38
36
|
}: Props = $props();
|
|
39
37
|
|
|
40
|
-
const
|
|
38
|
+
const colors = {
|
|
41
39
|
primary: 'is-primary',
|
|
42
40
|
secondary: 'is-secondary',
|
|
43
41
|
muted: 'is-muted',
|
|
44
42
|
success: 'is-success',
|
|
45
|
-
warning: 'is-warning',
|
|
46
|
-
danger: 'is-danger',
|
|
47
43
|
info: 'is-info',
|
|
48
|
-
|
|
44
|
+
danger: 'is-danger',
|
|
45
|
+
warning: 'is-warning'
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const variants = {
|
|
49
|
+
solid: 'is-solid',
|
|
50
|
+
soft: 'is-soft'
|
|
49
51
|
};
|
|
50
52
|
|
|
51
|
-
const
|
|
53
|
+
const sizes = {
|
|
52
54
|
xs: 'is-xs',
|
|
53
55
|
sm: 'is-sm',
|
|
54
56
|
md: 'is-md',
|
|
@@ -66,8 +68,9 @@
|
|
|
66
68
|
const baseClasses = $derived(
|
|
67
69
|
cn(
|
|
68
70
|
'avatar',
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
colors[color],
|
|
72
|
+
sizes[size],
|
|
73
|
+
variants[variant],
|
|
71
74
|
isBordered && 'is-bordered',
|
|
72
75
|
(href || onclick) && 'is-clickable',
|
|
73
76
|
className
|
|
@@ -83,6 +86,8 @@
|
|
|
83
86
|
{/if}
|
|
84
87
|
{#if src}
|
|
85
88
|
<img {src} {alt} class="avatar-image" />
|
|
89
|
+
{:else if icon}
|
|
90
|
+
<Icon {icon} class="avatar-icon" />
|
|
86
91
|
{:else}
|
|
87
92
|
<span class="avatar-name">{name?.charAt(0).toUpperCase() || alt.charAt(0).toUpperCase()}</span>
|
|
88
93
|
{/if}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IconData } from './Icon.svelte';
|
|
1
2
|
type Props = {
|
|
2
3
|
src?: string;
|
|
3
4
|
name?: string;
|
|
@@ -5,10 +6,12 @@ type Props = {
|
|
|
5
6
|
href?: string;
|
|
6
7
|
onclick?: () => void;
|
|
7
8
|
target?: '_self' | '_blank' | '_parent' | '_top';
|
|
8
|
-
|
|
9
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
10
|
+
variant?: 'solid' | 'soft';
|
|
9
11
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
10
12
|
status?: 'online' | 'offline' | 'busy' | 'away';
|
|
11
13
|
isBordered?: boolean;
|
|
14
|
+
icon?: IconData;
|
|
12
15
|
class?: string;
|
|
13
16
|
};
|
|
14
17
|
declare const Avatar: import("svelte").Component<Props, {}, "">;
|
|
@@ -13,37 +13,35 @@
|
|
|
13
13
|
|
|
14
14
|
type Props = {
|
|
15
15
|
items: AvatarItem[];
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
| 'secondary'
|
|
19
|
-
| 'muted'
|
|
20
|
-
| 'success'
|
|
21
|
-
| 'warning'
|
|
22
|
-
| 'danger'
|
|
23
|
-
| 'info'
|
|
24
|
-
| 'transparent';
|
|
16
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
17
|
+
variant?: 'solid' | 'soft';
|
|
25
18
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
26
19
|
max?: number;
|
|
27
|
-
|
|
20
|
+
isInline?: boolean;
|
|
28
21
|
isBordered?: boolean;
|
|
29
|
-
|
|
22
|
+
classRoot?: string;
|
|
23
|
+
classAvatar?: string;
|
|
24
|
+
classCounter?: string;
|
|
30
25
|
};
|
|
31
26
|
|
|
32
27
|
const {
|
|
33
28
|
items,
|
|
34
|
-
variant = '
|
|
35
|
-
|
|
29
|
+
variant = 'solid',
|
|
30
|
+
color = 'primary',
|
|
31
|
+
size = 'md',
|
|
36
32
|
max,
|
|
37
|
-
|
|
38
|
-
isBordered
|
|
39
|
-
|
|
33
|
+
isInline,
|
|
34
|
+
isBordered,
|
|
35
|
+
classRoot,
|
|
36
|
+
classAvatar,
|
|
37
|
+
classCounter
|
|
40
38
|
}: Props = $props();
|
|
41
39
|
|
|
42
40
|
const visibleItems = $derived(max && max < items.length ? items.slice(0, max) : items);
|
|
43
41
|
const remainingCount = $derived(max && max < items.length ? items.length - max : 0);
|
|
44
42
|
</script>
|
|
45
43
|
|
|
46
|
-
<div class={cn('avatar-group',
|
|
44
|
+
<div class={cn('avatar-group', !isInline && 'is-stacked', classRoot)}>
|
|
47
45
|
{#each visibleItems as item, i}
|
|
48
46
|
<Avatar
|
|
49
47
|
src={item.src}
|
|
@@ -54,11 +52,15 @@
|
|
|
54
52
|
target={item.target}
|
|
55
53
|
{variant}
|
|
56
54
|
{size}
|
|
55
|
+
{color}
|
|
57
56
|
{isBordered}
|
|
57
|
+
class={classAvatar}
|
|
58
58
|
/>
|
|
59
59
|
{/each}
|
|
60
60
|
{#if remainingCount > 0}
|
|
61
|
-
<div
|
|
61
|
+
<div
|
|
62
|
+
class={cn('avatar-group-counter', `is-${size}`, `is-${variant}`, `is-${color}`, classCounter)}
|
|
63
|
+
>
|
|
62
64
|
+{remainingCount}
|
|
63
65
|
</div>
|
|
64
66
|
{/if}
|
|
@@ -8,12 +8,15 @@ type AvatarItem = {
|
|
|
8
8
|
};
|
|
9
9
|
type Props = {
|
|
10
10
|
items: AvatarItem[];
|
|
11
|
-
|
|
11
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
12
|
+
variant?: 'solid' | 'soft';
|
|
12
13
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
13
14
|
max?: number;
|
|
14
|
-
|
|
15
|
+
isInline?: boolean;
|
|
15
16
|
isBordered?: boolean;
|
|
16
|
-
|
|
17
|
+
classRoot?: string;
|
|
18
|
+
classAvatar?: string;
|
|
19
|
+
classCounter?: string;
|
|
17
20
|
};
|
|
18
21
|
declare const AvatarGroup: import("svelte").Component<Props, {}, "">;
|
|
19
22
|
type AvatarGroup = ReturnType<typeof AvatarGroup>;
|