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,206 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.btn {
|
|
3
|
+
@apply relative flex items-center justify-center w-fit flex-nowrap;
|
|
4
|
+
@appls font-medium whitespace-nowrap;
|
|
5
|
+
@apply rounded-ui outline-none;
|
|
6
|
+
@apply cursor-pointer select-none;
|
|
7
|
+
@apply transition-all duration-200 active:scale-[0.98];
|
|
8
|
+
@apply disabled:cursor-not-allowed disabled:opacity-50;
|
|
9
|
+
@apply disabled:transition-none disabled:active:scale-100;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.btn-loading {
|
|
13
|
+
@apply absolute inset-0 flex items-center justify-center;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.btn.is-xs:not(.is-icon) {
|
|
17
|
+
@apply h-6 gap-2 px-2 text-xs;
|
|
18
|
+
|
|
19
|
+
.icon {
|
|
20
|
+
@apply h-4 w-auto;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.loading-icon {
|
|
24
|
+
@apply h-6 w-auto;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.btn.is-sm:not(.is-icon) {
|
|
29
|
+
@apply h-8 gap-2 px-2 text-xs;
|
|
30
|
+
|
|
31
|
+
.icon {
|
|
32
|
+
@apply h-4 w-auto;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.loading-icon {
|
|
36
|
+
@apply h-8 w-auto;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.btn.is-md:not(.is-icon) {
|
|
41
|
+
@apply h-10 gap-3 px-3 text-sm;
|
|
42
|
+
|
|
43
|
+
.icon {
|
|
44
|
+
@apply h-5 w-auto;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.loading-icon {
|
|
48
|
+
@apply h-10 w-auto;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.btn.is-lg:not(.is-icon) {
|
|
53
|
+
@apply h-12 gap-3 px-4 text-lg;
|
|
54
|
+
|
|
55
|
+
.icon {
|
|
56
|
+
@apply h-6 w-auto;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.loading-icon {
|
|
60
|
+
@apply h-12 w-auto;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.btn.is-icon.is-xs {
|
|
65
|
+
@apply h-6 w-6;
|
|
66
|
+
|
|
67
|
+
.icon {
|
|
68
|
+
@apply h-4 w-4;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.loading-icon {
|
|
72
|
+
@apply h-5 w-5;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.btn.is-icon.is-sm {
|
|
77
|
+
@apply h-8 w-8;
|
|
78
|
+
|
|
79
|
+
.icon {
|
|
80
|
+
@apply h-5 w-5;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.loading-icon {
|
|
84
|
+
@apply h-6 w-6;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.btn.is-icon.is-md {
|
|
89
|
+
@apply h-10 w-10;
|
|
90
|
+
|
|
91
|
+
.icon {
|
|
92
|
+
@apply h-6 w-6;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.loading-icon {
|
|
96
|
+
@apply h-8 w-8;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.btn.is-icon.is-lg {
|
|
101
|
+
@apply h-12 w-12;
|
|
102
|
+
|
|
103
|
+
.icon {
|
|
104
|
+
@apply h-8 w-8;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.loading-icon {
|
|
108
|
+
@apply h-10 w-10;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.btn.is-icon.is-xl {
|
|
113
|
+
@apply h-14 w-14;
|
|
114
|
+
|
|
115
|
+
.icon {
|
|
116
|
+
@apply h-10 w-10;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.loading-icon {
|
|
120
|
+
@apply h-12 w-12;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.btn.is-wide {
|
|
125
|
+
@apply w-full;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.btn.has-shadow {
|
|
129
|
+
@apply shadow-sm shadow-muted;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.btn:disabled {
|
|
133
|
+
@apply opacity-50;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.btn.is-primary {
|
|
137
|
+
@apply bg-on-primary text-primary hover:bg-on-primary/90;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.btn.is-solid.is-primary {
|
|
141
|
+
@apply bg-primary text-on-primary hover:bg-primary/90;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.btn.is-secondary {
|
|
145
|
+
@apply bg-on-secondary text-secondary hover:bg-on-secondary/90;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.btn.is-solid.is-secondary {
|
|
149
|
+
@apply bg-secondary text-on-secondary hover:bg-secondary/90;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.btn.is-muted {
|
|
153
|
+
@apply bg-muted text-on-muted hover:bg-muted/90;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.btn.is-solid.is-muted {
|
|
157
|
+
@apply bg-on-muted text-muted hover:bg-on-muted/90;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.btn.is-success {
|
|
161
|
+
@apply bg-on-success text-success hover:bg-on-success/90;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.btn.is-solid.is-success {
|
|
165
|
+
@apply bg-success text-on-success hover:bg-success/90;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.btn.is-info {
|
|
169
|
+
@apply bg-on-info text-info hover:bg-on-info/90;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.btn.is-solid.is-info {
|
|
173
|
+
@apply bg-info text-on-info hover:bg-info/90;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.btn.is-warning {
|
|
177
|
+
@apply bg-on-warning text-warning hover:bg-on-warning/90;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.btn.is-solid.is-warning {
|
|
181
|
+
@apply bg-warning text-on-warning hover:bg-warning/90;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.btn.is-danger {
|
|
185
|
+
@apply bg-on-danger text-danger hover:bg-on-danger/90;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.btn.is-solid.is-danger {
|
|
189
|
+
@apply bg-danger text-on-danger hover:bg-danger/90;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.btn.is-outlined {
|
|
193
|
+
@apply inset-ring inset-ring-muted text-on-muted hover:bg-muted;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.btn.is-ghost {
|
|
197
|
+
@apply text-on-muted hover:bg-muted;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.btn-close {
|
|
201
|
+
@apply absolute right-1 top-1;
|
|
202
|
+
}
|
|
203
|
+
.btn-close-icon {
|
|
204
|
+
@apply h-4 w-4 cursor-pointer;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
/* Base styles compartidos */
|
|
3
|
+
.media {
|
|
4
|
+
@apply relative flex items-center gap-3 rounded-ui;
|
|
5
|
+
@apply transition-colors duration-300 ease-in-out;
|
|
6
|
+
@apply p-3 max-w-md select-none;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.media-waveform {
|
|
10
|
+
@apply flex-1 h-10 flex items-center relative;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.media-waveform.clickable {
|
|
14
|
+
@apply cursor-pointer;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.media-loading {
|
|
18
|
+
@apply text-xs opacity-50;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.media-bars {
|
|
22
|
+
@apply flex items-center gap-0.5 w-full h-full;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.media-bar {
|
|
26
|
+
@apply flex-1 rounded-sm transition-all duration-100;
|
|
27
|
+
@apply min-h-1 bg-current opacity-30;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.media-bar.active {
|
|
31
|
+
@apply opacity-100;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.media-bar.recording {
|
|
35
|
+
@apply opacity-100 animate-pulse;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.media-time {
|
|
39
|
+
@apply shrink-0 text-sm font-medium min-w-10 text-right;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Variantes */
|
|
43
|
+
.media.primary {
|
|
44
|
+
@apply bg-primary text-on-primary;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.media.secondary {
|
|
48
|
+
@apply bg-secondary text-on-secondary;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.media.soft {
|
|
52
|
+
@apply bg-on-primary text-primary;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.media.outlined {
|
|
56
|
+
@apply inset-ring inset-ring-muted bg-background text-on-background;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.media.ghost {
|
|
60
|
+
@apply bg-transparent text-on-background;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.media.success {
|
|
64
|
+
@apply bg-success text-on-success;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.media.warning {
|
|
68
|
+
@apply bg-warning text-on-warning;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.media.info {
|
|
72
|
+
@apply bg-info text-on-info;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.media.danger {
|
|
76
|
+
@apply bg-danger text-on-danger;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.video {
|
|
3
|
+
@apply relative aspect-video;
|
|
4
|
+
video {
|
|
5
|
+
@apply rounded-ui absolute z-0;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
.video.horizontal {
|
|
9
|
+
@apply aspect-video;
|
|
10
|
+
}
|
|
11
|
+
.video.vertical {
|
|
12
|
+
@apply aspect-9/16;
|
|
13
|
+
}
|
|
14
|
+
.video.square {
|
|
15
|
+
@apply aspect-square;
|
|
16
|
+
}
|
|
17
|
+
.video-poster {
|
|
18
|
+
@apply absolute inset-0 z-10 h-full w-full object-cover;
|
|
19
|
+
}
|
|
20
|
+
.video-controls {
|
|
21
|
+
@apply absolute inset-x-0 bottom-0 w-full z-20 flex flex-col;
|
|
22
|
+
}
|
|
23
|
+
.video-control-play {
|
|
24
|
+
@apply flex justify-center items-center flex-1;
|
|
25
|
+
}
|
|
26
|
+
.video-control-actions {
|
|
27
|
+
@apply flex justify-between items-center w-full px-2 md:px-3 py-2;
|
|
28
|
+
}
|
|
29
|
+
.video-actions-start {
|
|
30
|
+
@apply flex justify-start items-center w-full gap-2;
|
|
31
|
+
}
|
|
32
|
+
.video-actions-center {
|
|
33
|
+
@apply flex-1 flex justify-center items-center w-full gap-2;
|
|
34
|
+
}
|
|
35
|
+
.video-actions-end {
|
|
36
|
+
@apply flex justify-end items-center w-full gap-2;
|
|
37
|
+
}
|
|
38
|
+
.video-control-progress {
|
|
39
|
+
@apply px-2 md:px-3 pb-2 rounded-b-lg pt-2;
|
|
40
|
+
@apply flex justify-between items-center gap-2;
|
|
41
|
+
}
|
|
42
|
+
.video-duration-info {
|
|
43
|
+
@apply text-sm text-white;
|
|
44
|
+
}
|
|
45
|
+
.video-btn {
|
|
46
|
+
@apply flex items-center justify-center gap-1 p-1;
|
|
47
|
+
@apply bg-black/30 hover:bg-black/50 rounded-ui cursor-pointer;
|
|
48
|
+
}
|
|
49
|
+
.video-btn-icon {
|
|
50
|
+
@apply size-5 text-white;
|
|
51
|
+
}
|
|
52
|
+
.video-volume {
|
|
53
|
+
@apply max-w-28 flex items-center;
|
|
54
|
+
}
|
|
55
|
+
.video-volume-wrapper {
|
|
56
|
+
@apply flex items-center h-full gap-2;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@utility fade-in {
|
|
2
|
+
animation: fade-in 0.6s ease-out;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@keyframes fade-in {
|
|
6
|
+
from {
|
|
7
|
+
opacity: 0;
|
|
8
|
+
}
|
|
9
|
+
to {
|
|
10
|
+
opacity: 1;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@utility zoom-in {
|
|
15
|
+
animation: zoom-in 0.4s ease-out;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@keyframes zoom-in {
|
|
19
|
+
from {
|
|
20
|
+
opacity: 0;
|
|
21
|
+
transform: scale(0.8);
|
|
22
|
+
}
|
|
23
|
+
to {
|
|
24
|
+
opacity: 1;
|
|
25
|
+
transform: scale(1);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
@layer base {
|
|
2
|
+
body {
|
|
3
|
+
@apply h-dvh flex flex-col;
|
|
4
|
+
@apply bg-background text-on-background;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
body:has(#popover) {
|
|
8
|
+
overflow: hidden !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
body:has(#popover).had-scroll {
|
|
12
|
+
padding-right: var(--scrollbar-size, 6px) !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
::-webkit-scrollbar {
|
|
16
|
+
width: var(--scrollbar-size, 6px);
|
|
17
|
+
height: var(--scrollbar-size, 6px);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
::-webkit-scrollbar-track {
|
|
21
|
+
background: color-mix(in oklch, currentColor 20%, transparent);
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
::-webkit-scrollbar-thumb {
|
|
26
|
+
background: color-mix(in oklch, currentColor 80%, transparent);
|
|
27
|
+
border-radius: 15px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@supports not selector(::-webkit-scrollbar) {
|
|
31
|
+
* {
|
|
32
|
+
scrollbar-width: thin;
|
|
33
|
+
scrollbar-color: color-mix(in oklch, currentColor 80%, transparent)
|
|
34
|
+
color-mix(in oklch, currentColor 20%, transparent);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
body {
|
|
38
|
+
scrollbar-color: color-mix(in oklch, currentColor 80%, transparent)
|
|
39
|
+
color-mix(in oklch, currentColor 20%, transparent);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
h1 {
|
|
44
|
+
@apply text-4xl font-extrabold lg:text-5xl;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
h2 {
|
|
48
|
+
@apply text-3xl font-semibold;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
h3 {
|
|
52
|
+
@apply text-2xl font-semibold;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
h4 {
|
|
56
|
+
@apply text-xl font-semibold;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
h5 {
|
|
60
|
+
@apply text-lg font-semibold;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
h6 {
|
|
64
|
+
@apply text-base font-semibold;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
strong {
|
|
68
|
+
@apply font-semibold;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.snippet {
|
|
72
|
+
@apply relative rounded bg-muted text-on-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.link {
|
|
76
|
+
@apply hover:text-primary underline underline-offset-4;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.tiny {
|
|
80
|
+
@apply text-xs font-medium leading-none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.lead {
|
|
84
|
+
@apply text-lg;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.label {
|
|
88
|
+
@apply text-sm select-none font-medium;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.hero-title {
|
|
92
|
+
@apply text-4xl font-semibold leading-tight tracking-tight;
|
|
93
|
+
@apply md:text-5xl lg:text-6xl xl:text-7xl;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.hero-subtitle {
|
|
97
|
+
@apply text-lg font-light text-on-muted;
|
|
98
|
+
@apply md:text-xl lg:text-2xl;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
blockquote {
|
|
102
|
+
@apply mt-2 border-l-2 pl-6 italic;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.prose {
|
|
106
|
+
h1 {
|
|
107
|
+
@apply scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
h2 {
|
|
111
|
+
@apply scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
h3 {
|
|
115
|
+
@apply scroll-m-20 text-2xl font-semibold tracking-tight;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
h4 {
|
|
119
|
+
@apply scroll-m-20 text-xl font-semibold tracking-tight;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
h5 {
|
|
123
|
+
@apply scroll-m-20 text-lg font-semibold tracking-tight;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
h6 {
|
|
127
|
+
@apply scroll-m-20 text-base font-semibold tracking-tight;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
p {
|
|
131
|
+
@apply leading-7 text-on-muted;
|
|
132
|
+
&:not(:first-child) {
|
|
133
|
+
@apply mt-2 md:mt-3;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
ul {
|
|
138
|
+
@apply my-6 ml-6 list-disc space-y-2;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
ol {
|
|
142
|
+
@apply my-6 ml-6 list-decimal space-y-2;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
li {
|
|
146
|
+
@apply leading-7;
|
|
147
|
+
> ul,
|
|
148
|
+
> ol {
|
|
149
|
+
@apply my-2;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
a {
|
|
154
|
+
@apply font-medium text-primary underline underline-offset-4 hover:text-primary/80 transition-colors;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
code {
|
|
158
|
+
@apply relative rounded bg-muted text-on-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
pre {
|
|
162
|
+
@apply my-6 overflow-x-auto rounded-lg bg-muted text-on-muted p-4;
|
|
163
|
+
code {
|
|
164
|
+
@apply bg-transparent p-0;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
blockquote {
|
|
169
|
+
@apply my-6 border-l-4 border-muted pl-6 italic text-on-muted;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
hr {
|
|
173
|
+
@apply my-8 border-muted;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
img {
|
|
177
|
+
@apply my-6 rounded-ui;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
strong {
|
|
181
|
+
@apply font-semibold;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
em {
|
|
185
|
+
@apply italic;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.icon {
|
|
190
|
+
@apply h-full w-auto;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
@utility scrollbar-hide {
|
|
2
|
+
scrollbar-width: none;
|
|
3
|
+
&::-webkit-scrollbar {
|
|
4
|
+
display: none;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@utility boxed {
|
|
9
|
+
@apply container mx-auto;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@utility row {
|
|
13
|
+
@apply flex flex-row;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@utility row-reverse {
|
|
17
|
+
@apply flex flex-row-reverse;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@utility wrap {
|
|
21
|
+
@apply flex flex-wrap;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@utility column {
|
|
25
|
+
@apply flex flex-col;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@utility column-reverse {
|
|
29
|
+
@apply flex flex-col-reverse;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@utility center {
|
|
33
|
+
@apply items-center justify-center;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@utility grid-1 {
|
|
37
|
+
@apply grid grid-cols-1;
|
|
38
|
+
}
|
|
39
|
+
@utility grid-2 {
|
|
40
|
+
@apply grid grid-cols-2;
|
|
41
|
+
}
|
|
42
|
+
@utility grid-3 {
|
|
43
|
+
@apply grid grid-cols-3;
|
|
44
|
+
}
|
|
45
|
+
@utility grid-4 {
|
|
46
|
+
@apply grid grid-cols-4;
|
|
47
|
+
}
|
|
48
|
+
@utility grid-5 {
|
|
49
|
+
@apply grid grid-cols-5;
|
|
50
|
+
}
|
|
51
|
+
@utility grid-6 {
|
|
52
|
+
@apply grid grid-cols-6;
|
|
53
|
+
}
|
|
54
|
+
@utility grid-7 {
|
|
55
|
+
@apply grid grid-cols-7;
|
|
56
|
+
}
|
|
57
|
+
@utility grid-8 {
|
|
58
|
+
@apply grid grid-cols-8;
|
|
59
|
+
}
|
|
60
|
+
@utility grid-10 {
|
|
61
|
+
@apply grid grid-cols-10;
|
|
62
|
+
}
|
|
63
|
+
@utility grid-12 {
|
|
64
|
+
@apply grid grid-cols-12;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Grid auto-fit (responsive) */
|
|
68
|
+
@utility grid-auto-fit {
|
|
69
|
+
@apply grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))];
|
|
70
|
+
}
|
|
71
|
+
@utility grid-auto-fill {
|
|
72
|
+
@apply grid grid-cols-[repeat(auto-fill,minmax(250px,1fr))];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Viewport Height Utilities */
|
|
76
|
+
/* These utilities set the height to 100vh minus a specified rem value */
|
|
77
|
+
|
|
78
|
+
@utility vh-8 {
|
|
79
|
+
height: calc(100vh - 2rem);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@utility vh-10 {
|
|
83
|
+
height: calc(100vh - 2.5rem);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@utility vh-12 {
|
|
87
|
+
height: calc(100vh - 3rem);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@utility vh-14 {
|
|
91
|
+
height: calc(100vh - 3.5rem);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@utility vh-16 {
|
|
95
|
+
height: calc(100vh - 4rem);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@utility vh-18 {
|
|
99
|
+
height: calc(100vh - 4.5rem);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@utility vh-20 {
|
|
103
|
+
height: calc(100vh - 5rem);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@utility vh-24 {
|
|
107
|
+
height: calc(100vh - 6rem);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@utility vh-28 {
|
|
111
|
+
height: calc(100vh - 7rem);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@utility vh-32 {
|
|
115
|
+
height: calc(100vh - 8rem);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@utility vh-36 {
|
|
119
|
+
height: calc(100vh - 9rem);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@utility vh-40 {
|
|
123
|
+
height: calc(100vh - 10rem);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@utility vh-48 {
|
|
127
|
+
height: calc(100vh - 12rem);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@utility vh-56 {
|
|
131
|
+
height: calc(100vh - 14rem);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@utility vh-64 {
|
|
135
|
+
height: calc(100vh - 16rem);
|
|
136
|
+
}
|