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,32 @@
|
|
|
1
|
+
import type { TableState } from '../hooks/use-table.svelte.js';
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
type Props = {
|
|
4
|
+
table: TableState;
|
|
5
|
+
isStriped?: boolean;
|
|
6
|
+
isBordered?: boolean;
|
|
7
|
+
hasDividers?: boolean;
|
|
8
|
+
noDataTitle?: string;
|
|
9
|
+
noDataDescription?: string;
|
|
10
|
+
noDataType?: 'playlist' | 'result' | 'data' | 'template';
|
|
11
|
+
size?: 'sm' | 'md' | 'lg';
|
|
12
|
+
showPagination?: boolean;
|
|
13
|
+
paginationAlign?: 'start' | 'center' | 'end';
|
|
14
|
+
loadingRows?: number;
|
|
15
|
+
showSearch?: boolean;
|
|
16
|
+
searchPlaceholder?: string;
|
|
17
|
+
showRowsPerPage?: boolean;
|
|
18
|
+
rowsPerPageOptions?: number[];
|
|
19
|
+
rowsPerPageLabel?: string;
|
|
20
|
+
showTotal?: boolean;
|
|
21
|
+
totalLabel?: string;
|
|
22
|
+
showToolbar?: boolean;
|
|
23
|
+
toolbarClass?: string;
|
|
24
|
+
showSelectionCount?: boolean;
|
|
25
|
+
selectionCountLabel?: string;
|
|
26
|
+
toolbarStart?: Snippet;
|
|
27
|
+
toolbarEnd?: Snippet;
|
|
28
|
+
selectionActions?: Snippet<[any[]]>;
|
|
29
|
+
};
|
|
30
|
+
declare const Table: import("svelte").Component<Props, {}, "">;
|
|
31
|
+
type Table = ReturnType<typeof Table>;
|
|
32
|
+
export default Table;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
type Props = {
|
|
3
|
+
texts: string[];
|
|
4
|
+
typeSpeed?: number;
|
|
5
|
+
deleteSpeed?: number;
|
|
6
|
+
afterTyped?: number;
|
|
7
|
+
afterDeleted?: number;
|
|
8
|
+
repeat?: boolean;
|
|
9
|
+
};
|
|
10
|
+
let {
|
|
11
|
+
texts,
|
|
12
|
+
typeSpeed = 100,
|
|
13
|
+
deleteSpeed = 50,
|
|
14
|
+
afterTyped = 1000,
|
|
15
|
+
afterDeleted = 500,
|
|
16
|
+
repeat = true
|
|
17
|
+
}: Props = $props();
|
|
18
|
+
|
|
19
|
+
let caret: HTMLSpanElement;
|
|
20
|
+
let textDisplayed = $state(' ');
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<span>{textDisplayed}<span bind:this={caret}>|</span></span>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
texts: string[];
|
|
3
|
+
typeSpeed?: number;
|
|
4
|
+
deleteSpeed?: number;
|
|
5
|
+
afterTyped?: number;
|
|
6
|
+
afterDeleted?: number;
|
|
7
|
+
repeat?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const TypeWriter: import("svelte").Component<Props, {}, "">;
|
|
10
|
+
type TypeWriter = ReturnType<typeof TypeWriter>;
|
|
11
|
+
export default TypeWriter;
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default User;
|
|
2
|
+
type User = SvelteComponent<{
|
|
3
|
+
[x: string]: never;
|
|
4
|
+
}, {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
declare const User: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.accordion {
|
|
3
|
+
@apply flex flex-col gap-2 w-full;
|
|
4
|
+
|
|
5
|
+
&.is-primary {
|
|
6
|
+
.accordion-item {
|
|
7
|
+
@apply border border-primary/20 rounded-lg overflow-hidden;
|
|
8
|
+
.accordion-header {
|
|
9
|
+
@apply bg-primary/5 hover:bg-primary/10;
|
|
10
|
+
&.is-open {
|
|
11
|
+
@apply bg-primary/10 text-primary;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&.is-secondary {
|
|
18
|
+
.accordion-item {
|
|
19
|
+
@apply border border-secondary/20 rounded-lg overflow-hidden;
|
|
20
|
+
.accordion-header {
|
|
21
|
+
@apply bg-secondary/5 hover:bg-secondary/10;
|
|
22
|
+
&.is-open {
|
|
23
|
+
@apply bg-secondary/10 text-secondary;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.is-muted {
|
|
30
|
+
.accordion-item {
|
|
31
|
+
@apply border border-muted rounded-lg overflow-hidden;
|
|
32
|
+
.accordion-header {
|
|
33
|
+
@apply bg-muted/30 hover:bg-muted/50;
|
|
34
|
+
&.is-open {
|
|
35
|
+
@apply bg-muted text-on-muted;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&.is-outline {
|
|
42
|
+
.accordion-item {
|
|
43
|
+
@apply border border-muted rounded-lg overflow-hidden;
|
|
44
|
+
.accordion-header {
|
|
45
|
+
@apply hover:bg-muted/30;
|
|
46
|
+
&.is-open {
|
|
47
|
+
@apply bg-muted/20;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.accordion-item {
|
|
54
|
+
@apply transition-all duration-200;
|
|
55
|
+
|
|
56
|
+
&.is-disabled {
|
|
57
|
+
@apply opacity-50 pointer-events-none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.accordion-header {
|
|
61
|
+
@apply flex justify-between items-center gap-3 px-4 py-3 cursor-pointer select-none transition-all duration-200;
|
|
62
|
+
|
|
63
|
+
.accordion-start {
|
|
64
|
+
@apply flex items-center gap-3 flex-1;
|
|
65
|
+
|
|
66
|
+
.accordion-icon {
|
|
67
|
+
@apply h-5 w-auto shrink-0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.accordion-label {
|
|
71
|
+
@apply font-medium text-sm;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.accordion-end {
|
|
76
|
+
@apply flex items-center;
|
|
77
|
+
|
|
78
|
+
.accordion-arrow {
|
|
79
|
+
@apply size-5 transition-transform duration-200 text-on-muted;
|
|
80
|
+
&.is-active {
|
|
81
|
+
@apply rotate-180;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&:hover:not(.is-disabled) {
|
|
87
|
+
.accordion-arrow {
|
|
88
|
+
@apply text-on-surface;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.accordion-content {
|
|
94
|
+
@apply px-4 py-3 text-sm text-on-surface/80;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.alert {
|
|
3
|
+
@apply flex rounded-ui text-sm w-full p-2 gap-2;
|
|
4
|
+
|
|
5
|
+
&.is-solid {
|
|
6
|
+
&.is-success {
|
|
7
|
+
@apply bg-success text-on-success;
|
|
8
|
+
}
|
|
9
|
+
&.is-error {
|
|
10
|
+
@apply bg-danger text-on-danger;
|
|
11
|
+
}
|
|
12
|
+
&.is-warning {
|
|
13
|
+
@apply bg-warning text-on-warning;
|
|
14
|
+
}
|
|
15
|
+
&.is-info {
|
|
16
|
+
@apply bg-info text-on-info;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&.is-success {
|
|
21
|
+
@apply bg-on-success text-success;
|
|
22
|
+
}
|
|
23
|
+
&.is-danger {
|
|
24
|
+
@apply bg-on-danger text-danger;
|
|
25
|
+
}
|
|
26
|
+
&.is-warning {
|
|
27
|
+
@apply bg-on-warning text-warning;
|
|
28
|
+
}
|
|
29
|
+
&.is-info {
|
|
30
|
+
@apply bg-on-info text-info;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.alert-start {
|
|
34
|
+
@apply flex items-center justify-start;
|
|
35
|
+
|
|
36
|
+
.alert-icon {
|
|
37
|
+
@apply h-6 md:h-8 w-auto;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.alert-content {
|
|
42
|
+
@apply flex-1 flex flex-col gap-1 justify-center;
|
|
43
|
+
.alert-title {
|
|
44
|
+
@apply text-sm font-semibold leading-tight;
|
|
45
|
+
}
|
|
46
|
+
.alert-description {
|
|
47
|
+
@apply text-sm leading-relaxed opacity-90;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.avatar {
|
|
3
|
+
@apply relative flex items-center justify-center;
|
|
4
|
+
@apply rounded-ui;
|
|
5
|
+
@apply transition-all duration-200;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.avatar.is-primary {
|
|
9
|
+
@apply bg-primary text-on-primary;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.avatar.is-secondary {
|
|
13
|
+
@apply bg-secondary text-on-secondary;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.avatar.is-muted {
|
|
17
|
+
@apply bg-muted text-on-muted;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.avatar.is-success {
|
|
21
|
+
@apply bg-success text-on-success;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.avatar.is-warning {
|
|
25
|
+
@apply bg-warning text-on-warning;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.avatar.is-danger {
|
|
29
|
+
@apply bg-danger text-on-danger;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.avatar.is-info {
|
|
33
|
+
@apply bg-info text-on-info;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.avatar.is-bordered {
|
|
37
|
+
.avatar-image {
|
|
38
|
+
@apply ring-2 ring-muted;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.avatar.is-transparent {
|
|
43
|
+
@apply bg-transparent;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.avatar-status {
|
|
47
|
+
@apply absolute bottom-0 right-0 translate-x-[25%];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.avatar-indicator {
|
|
51
|
+
@apply ring ring-background rounded-full;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.avatar-indicator.is-online {
|
|
55
|
+
@apply bg-success;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.avatar-indicator.is-busy {
|
|
59
|
+
@apply bg-warning;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.avatar-indicator.is-away {
|
|
63
|
+
@apply bg-danger;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.avatar-indicator.is-offline {
|
|
67
|
+
@apply bg-muted;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.avatar.is-xs {
|
|
71
|
+
@apply size-5;
|
|
72
|
+
|
|
73
|
+
.avatar-image {
|
|
74
|
+
@apply size-5 object-cover rounded-ui;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.avatar-name {
|
|
78
|
+
@apply text-xs;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.avatar-indicator {
|
|
82
|
+
@apply size-1;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.avatar.is-sm {
|
|
87
|
+
@apply size-6;
|
|
88
|
+
|
|
89
|
+
.avatar-image {
|
|
90
|
+
@apply size-6 object-cover rounded-ui;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.avatar-name {
|
|
94
|
+
@apply text-base;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.avatar-indicator {
|
|
98
|
+
@apply size-2;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.avatar.is-md {
|
|
103
|
+
@apply size-7;
|
|
104
|
+
|
|
105
|
+
.avatar-image {
|
|
106
|
+
@apply size-7 object-cover rounded-ui;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.avatar-name {
|
|
110
|
+
@apply text-xl;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.avatar-indicator {
|
|
114
|
+
@apply size-2;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.avatar.is-lg {
|
|
119
|
+
@apply size-10;
|
|
120
|
+
|
|
121
|
+
.avatar-image {
|
|
122
|
+
@apply size-10 object-cover rounded-ui;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.avatar-name {
|
|
126
|
+
@apply text-3xl;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.avatar-indicator {
|
|
130
|
+
@apply size-3;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.avatar.is-xl {
|
|
135
|
+
@apply size-14;
|
|
136
|
+
|
|
137
|
+
.avatar-image {
|
|
138
|
+
@apply size-14 object-cover rounded-ui;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.avatar-name {
|
|
142
|
+
@apply text-5xl;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.avatar-indicator {
|
|
146
|
+
@apply size-3;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.avatar-group {
|
|
151
|
+
@apply inline-flex;
|
|
152
|
+
& > .avatar {
|
|
153
|
+
@apply -ml-2 first:ml-0;
|
|
154
|
+
@apply outline-2 outline-muted;
|
|
155
|
+
@apply transition-transform hover:z-10 hover:scale-110;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.badge {
|
|
3
|
+
@apply relative w-fit;
|
|
4
|
+
}
|
|
5
|
+
.badge-content {
|
|
6
|
+
@apply absolute flex items-center justify-center rounded-ui;
|
|
7
|
+
@apply inset-ring inset-ring-muted;
|
|
8
|
+
@apply h-5 min-w-5 px-1;
|
|
9
|
+
}
|
|
10
|
+
.badge-text {
|
|
11
|
+
@apply text-xs leading-none;
|
|
12
|
+
}
|
|
13
|
+
.is-top-left .badge-text {
|
|
14
|
+
@apply top-0 left-0 translate-x-[-50%] translate-y-[-50%];
|
|
15
|
+
}
|
|
16
|
+
.is-top-right .badge-text {
|
|
17
|
+
@apply top-0 right-0 translate-x-[50%] translate-y-[-50%];
|
|
18
|
+
}
|
|
19
|
+
.is-bottom-left .badge-text {
|
|
20
|
+
@apply bottom-0 left-0 translate-x-[-50%] translate-y-[50%];
|
|
21
|
+
}
|
|
22
|
+
.is-bottom-right .badge-text {
|
|
23
|
+
@apply bottom-0 right-0 translate-x-[50%] translate-y-[50%];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.is-primary .badge-text {
|
|
27
|
+
@apply bg-primary text-on-primary;
|
|
28
|
+
}
|
|
29
|
+
.is-secondary .badge-text {
|
|
30
|
+
@apply bg-secondary text-on-secondary;
|
|
31
|
+
}
|
|
32
|
+
.is-muted .badge-text {
|
|
33
|
+
@apply bg-muted text-on-muted;
|
|
34
|
+
}
|
|
35
|
+
.is-success .badge-text {
|
|
36
|
+
@apply bg-success text-on-success;
|
|
37
|
+
}
|
|
38
|
+
.is-warning .badge-text {
|
|
39
|
+
@apply bg-warning text-on-warning;
|
|
40
|
+
}
|
|
41
|
+
.is-danger .badge-text {
|
|
42
|
+
@apply bg-danger text-on-danger;
|
|
43
|
+
}
|
|
44
|
+
.is-info .badge-text {
|
|
45
|
+
@apply bg-info text-on-info;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.card {
|
|
3
|
+
@apply relative flex flex-col rounded-ui overflow-hidden;
|
|
4
|
+
@apply transition-colors duration-300 ease-in-out;
|
|
5
|
+
|
|
6
|
+
&:has(> .card-cover) {
|
|
7
|
+
@apply bg-transparent! text-white! text-shadow-sm! z-0;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.card.has-divider {
|
|
12
|
+
.card-header {
|
|
13
|
+
@apply border-b;
|
|
14
|
+
}
|
|
15
|
+
.card-footer {
|
|
16
|
+
@apply border-t;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.card.has-shadow {
|
|
21
|
+
@apply shadow-sm shadow-muted;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.card.is-primary {
|
|
25
|
+
@apply bg-on-primary text-primary;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.card.is-primary.has-divider {
|
|
29
|
+
.card-header {
|
|
30
|
+
@apply border-primary;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.card-footer {
|
|
34
|
+
@apply border-primary;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.card.is-primary.is-solid {
|
|
39
|
+
@apply bg-primary text-on-primary;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.card.is-primary.is-solid.has-divider {
|
|
43
|
+
.card-header {
|
|
44
|
+
@apply border-on-primary;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.card-footer {
|
|
48
|
+
@apply border-on-primary;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.card.is-secondary {
|
|
53
|
+
@apply bg-on-secondary text-secondary;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.card.is-secondary.has-divider {
|
|
57
|
+
.card-header {
|
|
58
|
+
@apply border-secondary;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.card-footer {
|
|
62
|
+
@apply border-secondary;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.card.is-secondary.is-solid {
|
|
67
|
+
@apply bg-secondary text-on-secondary;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.card.is-secondary.is-solid.has-divider {
|
|
71
|
+
.card-header {
|
|
72
|
+
@apply border-on-secondary;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.card-footer {
|
|
76
|
+
@apply border-on-secondary;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.card.is-success {
|
|
81
|
+
@apply bg-on-success text-success;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.card.is-success.is-solid {
|
|
85
|
+
@apply bg-success text-on-success;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.card.is-success.is-solid.has-divider {
|
|
89
|
+
.card-header {
|
|
90
|
+
@apply border-on-success;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.card-footer {
|
|
94
|
+
@apply border-on-success;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.card.is-info {
|
|
99
|
+
@apply bg-on-info text-info;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.card.is-info.is-solid {
|
|
103
|
+
@apply bg-info text-on-info;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.card.is-info.is-solid.has-divider {
|
|
107
|
+
.card-header {
|
|
108
|
+
@apply border-on-info;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.card-footer {
|
|
112
|
+
@apply border-on-info;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.card.is-warning {
|
|
117
|
+
@apply bg-on-warning text-warning;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.card.is-warning.is-solid {
|
|
121
|
+
@apply bg-warning text-on-warning;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.card.is-warning.is-solid.has-divider {
|
|
125
|
+
.card-header {
|
|
126
|
+
@apply border-on-warning;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.card-footer {
|
|
130
|
+
@apply border-on-warning;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.card.is-danger {
|
|
135
|
+
@apply bg-on-danger text-danger;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.card.is-danger.is-solid {
|
|
139
|
+
@apply bg-danger text-on-danger;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.card.is-danger.is-solid.has-divider {
|
|
143
|
+
.card-header {
|
|
144
|
+
@apply border-on-danger;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.card-footer {
|
|
148
|
+
@apply border-on-danger;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.card.is-muted {
|
|
153
|
+
@apply bg-muted text-on-muted;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.card.is-muted.has-divider {
|
|
157
|
+
.card-header {
|
|
158
|
+
@apply border-on-muted;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.card-footer {
|
|
162
|
+
@apply border-on-muted;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.card.is-muted.is-solid {
|
|
167
|
+
@apply bg-on-muted text-muted;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.card.is-muted.is-solid.has-divider {
|
|
171
|
+
.card-header {
|
|
172
|
+
@apply border-muted;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.card-footer {
|
|
176
|
+
@apply border-muted;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.card.is-outlined {
|
|
181
|
+
@apply border border-muted;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.card.is-outlined.has-divider {
|
|
185
|
+
.card-header {
|
|
186
|
+
@apply border-muted;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.card-footer {
|
|
190
|
+
@apply border-muted;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.card.is-surface {
|
|
195
|
+
@apply bg-surface text-on-surface;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.card.is-surface.has-divider {
|
|
199
|
+
.card-header {
|
|
200
|
+
@apply border-on-surface;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.card-footer {
|
|
204
|
+
@apply border-on-surface;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.card.is-ghost {
|
|
209
|
+
@apply bg-transparent;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.card-cover {
|
|
213
|
+
@apply absolute inset-0 object-cover size-full rounded-ui -z-10;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.card-overlay {
|
|
217
|
+
@apply absolute inset-0 bg-overlay size-full -z-10;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.card-body {
|
|
221
|
+
@apply flex-1 w-full column p-3 gap-3;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.card-header {
|
|
225
|
+
@apply w-full flex justify-between items-center p-3 gap-3;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.card-footer {
|
|
229
|
+
@apply w-full flex justify-between items-center p-3 gap-3;
|
|
230
|
+
}
|
|
231
|
+
}
|