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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { slide } from 'svelte/transition';
|
|
3
3
|
|
|
4
|
-
import { Icon, toast } from '../index.js';
|
|
4
|
+
import { Icon, IconButton, toast } from '../index.js';
|
|
5
5
|
import { cn } from '../utils/class-names.js';
|
|
6
6
|
import { popover } from '../utils/popover.js';
|
|
7
7
|
import {
|
|
@@ -16,10 +16,15 @@
|
|
|
16
16
|
class?: string;
|
|
17
17
|
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
18
18
|
showIcon?: boolean;
|
|
19
|
-
|
|
19
|
+
variant?: 'solid' | 'soft';
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const {
|
|
22
|
+
const {
|
|
23
|
+
class: className,
|
|
24
|
+
position = 'bottom-left',
|
|
25
|
+
variant = 'soft',
|
|
26
|
+
showIcon
|
|
27
|
+
}: Props = $props();
|
|
23
28
|
|
|
24
29
|
const positionClasses = {
|
|
25
30
|
'top-left': 'is-top-left',
|
|
@@ -28,18 +33,29 @@
|
|
|
28
33
|
'bottom-right': 'is-bottom-right'
|
|
29
34
|
};
|
|
30
35
|
|
|
31
|
-
const
|
|
36
|
+
const colors = {
|
|
37
|
+
primary: 'is-primary',
|
|
38
|
+
secondary: 'is-secondary',
|
|
39
|
+
muted: 'is-muted',
|
|
32
40
|
info: 'is-info',
|
|
33
41
|
success: 'is-success',
|
|
34
42
|
warning: 'is-warning',
|
|
35
43
|
danger: 'is-danger'
|
|
36
44
|
};
|
|
37
45
|
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
const variants = {
|
|
47
|
+
solid: 'is-solid',
|
|
48
|
+
soft: 'is-soft'
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const closeColors = {
|
|
52
|
+
primary: 'primary',
|
|
53
|
+
secondary: 'secondary',
|
|
54
|
+
muted: 'muted',
|
|
55
|
+
success: 'success',
|
|
56
|
+
info: 'info',
|
|
57
|
+
warning: 'warning',
|
|
58
|
+
danger: 'danger'
|
|
43
59
|
};
|
|
44
60
|
</script>
|
|
45
61
|
|
|
@@ -52,17 +68,21 @@
|
|
|
52
68
|
{#each toast.messages as message, index (message.id)}
|
|
53
69
|
<div
|
|
54
70
|
transition:slide
|
|
55
|
-
class={cn(
|
|
71
|
+
class={cn(
|
|
72
|
+
'toast',
|
|
73
|
+
colors[message.color],
|
|
74
|
+
message.variant ? variants[message.variant] : variants[variant]
|
|
75
|
+
)}
|
|
56
76
|
style="--toast-index: {index}; --toast-total: {toast.messages.length}"
|
|
57
77
|
>
|
|
58
78
|
{#if showIcon}
|
|
59
|
-
{#if message.
|
|
79
|
+
{#if message.color === 'info'}
|
|
60
80
|
<Icon icon={Info24RegularIcon} class="toast-icon" />
|
|
61
|
-
{:else if message.
|
|
81
|
+
{:else if message.color === 'success'}
|
|
62
82
|
<Icon icon={CheckmarkCircle24RegularIcon} class="toast-icon" />
|
|
63
|
-
{:else if message.
|
|
83
|
+
{:else if message.color === 'warning'}
|
|
64
84
|
<Icon icon={Warning24RegularIcon} class="toast-icon" />
|
|
65
|
-
{:else if message.
|
|
85
|
+
{:else if message.color === 'danger'}
|
|
66
86
|
<Icon icon={DismissCircle24RegularIcon} class="toast-icon" />
|
|
67
87
|
{/if}
|
|
68
88
|
{/if}
|
|
@@ -73,9 +93,13 @@
|
|
|
73
93
|
<div class="toast-description">{message.description}</div>
|
|
74
94
|
</div>
|
|
75
95
|
<div class="btn-close">
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
96
|
+
<IconButton
|
|
97
|
+
icon={Dismiss24RegularIcon}
|
|
98
|
+
variant={variant === 'solid' ? 'soft' : 'solid'}
|
|
99
|
+
color={closeColors[message.color] as any}
|
|
100
|
+
size="xs"
|
|
101
|
+
onclick={() => toast.close(message.id)}
|
|
102
|
+
/>
|
|
79
103
|
</div>
|
|
80
104
|
</div>
|
|
81
105
|
{/each}
|
|
@@ -2,7 +2,7 @@ type Props = {
|
|
|
2
2
|
class?: string;
|
|
3
3
|
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
4
4
|
showIcon?: boolean;
|
|
5
|
-
|
|
5
|
+
variant?: 'solid' | 'soft';
|
|
6
6
|
};
|
|
7
7
|
declare const Toast: import("svelte").Component<Props, {}, "">;
|
|
8
8
|
type Toast = ReturnType<typeof Toast>;
|
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
type Props = {
|
|
7
7
|
label: string;
|
|
8
8
|
children: Snippet;
|
|
9
|
-
|
|
9
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
10
|
+
variant?: 'solid' | 'soft';
|
|
10
11
|
position?: 'top' | 'bottom' | 'start' | 'end';
|
|
11
|
-
isSolid?: boolean;
|
|
12
12
|
class?: string;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
let {
|
|
16
16
|
label,
|
|
17
17
|
children,
|
|
18
|
-
|
|
18
|
+
color = 'primary',
|
|
19
|
+
variant = 'soft',
|
|
19
20
|
position = 'top',
|
|
20
|
-
isSolid = false,
|
|
21
21
|
class: className
|
|
22
22
|
}: Props = $props();
|
|
23
23
|
|
|
@@ -31,10 +31,19 @@
|
|
|
31
31
|
|
|
32
32
|
const style = $derived(`top: ${tooltipPosition.top}px; left: ${tooltipPosition.left}px;`);
|
|
33
33
|
|
|
34
|
-
const
|
|
34
|
+
const colors = {
|
|
35
35
|
primary: 'is-primary',
|
|
36
36
|
secondary: 'is-secondary',
|
|
37
|
-
muted: 'is-muted'
|
|
37
|
+
muted: 'is-muted',
|
|
38
|
+
success: 'is-success',
|
|
39
|
+
info: 'is-info',
|
|
40
|
+
danger: 'is-danger',
|
|
41
|
+
warning: 'is-warning'
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const variants = {
|
|
45
|
+
solid: 'is-solid',
|
|
46
|
+
soft: 'is-soft'
|
|
38
47
|
};
|
|
39
48
|
|
|
40
49
|
const positionClasses = {
|
|
@@ -73,28 +82,29 @@
|
|
|
73
82
|
break;
|
|
74
83
|
}
|
|
75
84
|
|
|
76
|
-
top += window.scrollY;
|
|
77
|
-
left += window.scrollX;
|
|
78
|
-
|
|
79
85
|
const padding = 8;
|
|
80
86
|
if (left < padding) left = padding;
|
|
81
87
|
if (left + tooltipRect.width > window.innerWidth - padding) {
|
|
82
88
|
left = window.innerWidth - tooltipRect.width - padding;
|
|
83
89
|
}
|
|
84
90
|
if (top < padding) top = padding;
|
|
85
|
-
if (top + tooltipRect.height > window.innerHeight
|
|
86
|
-
top = window.innerHeight
|
|
91
|
+
if (top + tooltipRect.height > window.innerHeight - padding) {
|
|
92
|
+
top = window.innerHeight - tooltipRect.height - padding;
|
|
87
93
|
}
|
|
88
94
|
|
|
89
95
|
tooltipPosition = { top, left };
|
|
90
96
|
};
|
|
91
97
|
|
|
92
98
|
const handleMouseEnter = () => {
|
|
99
|
+
startEventListeners();
|
|
93
100
|
isOpen = true;
|
|
94
|
-
|
|
101
|
+
requestAnimationFrame(() => {
|
|
102
|
+
updatePosition();
|
|
103
|
+
});
|
|
95
104
|
};
|
|
96
105
|
|
|
97
106
|
const handleMouseLeave = () => {
|
|
107
|
+
stopEventListeners();
|
|
98
108
|
isOpen = false;
|
|
99
109
|
};
|
|
100
110
|
|
|
@@ -109,7 +119,6 @@
|
|
|
109
119
|
};
|
|
110
120
|
|
|
111
121
|
onMount(() => {
|
|
112
|
-
startEventListeners();
|
|
113
122
|
return () => stopEventListeners();
|
|
114
123
|
});
|
|
115
124
|
</script>
|
|
@@ -122,19 +131,19 @@
|
|
|
122
131
|
onmouseleave={handleMouseLeave}
|
|
123
132
|
>
|
|
124
133
|
{@render children()}
|
|
134
|
+
</div>
|
|
125
135
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
</div>
|
|
136
|
+
<div
|
|
137
|
+
bind:this={tooltipElement}
|
|
138
|
+
class={cn(
|
|
139
|
+
'tooltip-popover',
|
|
140
|
+
colors[color],
|
|
141
|
+
variants[variant],
|
|
142
|
+
positionClasses[position],
|
|
143
|
+
isOpen && 'is-active'
|
|
144
|
+
)}
|
|
145
|
+
{style}
|
|
146
|
+
>
|
|
147
|
+
<div class="tooltip-arrow"></div>
|
|
148
|
+
{label}
|
|
140
149
|
</div>
|
|
@@ -2,9 +2,9 @@ import type { Snippet } from 'svelte';
|
|
|
2
2
|
type Props = {
|
|
3
3
|
label: string;
|
|
4
4
|
children: Snippet;
|
|
5
|
-
|
|
5
|
+
color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
|
|
6
|
+
variant?: 'solid' | 'soft';
|
|
6
7
|
position?: 'top' | 'bottom' | 'start' | 'end';
|
|
7
|
-
isSolid?: boolean;
|
|
8
8
|
class?: string;
|
|
9
9
|
};
|
|
10
10
|
declare const Tooltip: import("svelte").Component<Props, {}, "">;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.command-kbd {
|
|
3
|
+
@apply hidden md:flex items-center gap-1.5 text-xs text-on-muted/70 shrink-0;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.command-kbd kbd {
|
|
7
|
+
@apply px-1.5 py-0.5 bg-muted/50 rounded text-[10px] font-mono uppercase;
|
|
8
|
+
@apply border border-muted/30;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.command-results {
|
|
12
|
+
@apply w-full flex flex-col min-w-md;
|
|
13
|
+
@apply max-h-80;
|
|
14
|
+
}
|
|
15
|
+
.command-group {
|
|
16
|
+
@apply flex flex-col;
|
|
17
|
+
|
|
18
|
+
&:not(:first-child) {
|
|
19
|
+
@apply mt-3 pt-3 border-t border-muted/15;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.command-group-label {
|
|
24
|
+
@apply flex items-center gap-2;
|
|
25
|
+
@apply px-2.5 py-1.5 mb-1;
|
|
26
|
+
@apply text-sm font-medium uppercase tracking-wide;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.command-group-icon {
|
|
30
|
+
@apply size-3.5 opacity-70;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.command-group-items {
|
|
34
|
+
@apply flex flex-col gap-0.5;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.command-empty {
|
|
38
|
+
@apply flex items-center justify-center;
|
|
39
|
+
@apply py-10 text-sm text-on-muted/50;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.command-loading {
|
|
43
|
+
@apply flex items-center justify-center gap-2;
|
|
44
|
+
@apply py-10 text-sm text-on-muted/50;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.command-loading-spinner {
|
|
48
|
+
@apply size-4 animate-spin;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.command-shortcuts {
|
|
52
|
+
@apply flex items-center justify-between w-full px-3 py-2;
|
|
53
|
+
@apply border-t border-muted/20 text-xs text-on-muted/60;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.command-shortcut {
|
|
57
|
+
@apply flex items-center gap-3;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.command-shortcut-item {
|
|
61
|
+
@apply flex items-center gap-1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.command-shortcut-item kbd {
|
|
65
|
+
@apply px-1 py-0.5 bg-muted/30 rounded text-[10px] font-mono;
|
|
66
|
+
@apply border border-muted/20;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
@apply absolute inset-0 bg-overlay;
|
|
8
8
|
}
|
|
9
9
|
.drawer {
|
|
10
|
-
@apply absolute
|
|
10
|
+
@apply absolute flex flex-col max-w-screen;
|
|
11
11
|
@apply transition-all duration-300 ease-in-out;
|
|
12
12
|
|
|
13
13
|
&.is-start {
|
|
@@ -34,33 +34,68 @@
|
|
|
34
34
|
@apply transform translate-x-0! translate-y-0!;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
&.is-
|
|
38
|
-
|
|
37
|
+
&.is-soft {
|
|
38
|
+
&.is-primary {
|
|
39
|
+
@apply bg-soft-primary text-primary;
|
|
40
|
+
}
|
|
41
|
+
&.is-secondary {
|
|
42
|
+
@apply bg-soft-secondary text-secondary;
|
|
43
|
+
}
|
|
44
|
+
&.is-muted {
|
|
45
|
+
@apply bg-soft-muted text-on-muted;
|
|
46
|
+
}
|
|
47
|
+
&.is-success {
|
|
48
|
+
@apply bg-soft-success text-success;
|
|
49
|
+
}
|
|
50
|
+
&.is-info {
|
|
51
|
+
@apply bg-soft-info text-info;
|
|
52
|
+
}
|
|
53
|
+
&.is-warning {
|
|
54
|
+
@apply bg-soft-warning text-warning;
|
|
55
|
+
}
|
|
56
|
+
&.is-danger {
|
|
57
|
+
@apply bg-soft-danger text-danger;
|
|
58
|
+
}
|
|
59
|
+
&.is-background {
|
|
60
|
+
@apply bg-background text-on-background;
|
|
61
|
+
}
|
|
62
|
+
&.is-surface {
|
|
63
|
+
@apply bg-surface text-on-surface;
|
|
64
|
+
}
|
|
39
65
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
66
|
+
|
|
67
|
+
&.is-solid {
|
|
68
|
+
&.is-primary {
|
|
69
|
+
@apply bg-primary text-on-primary;
|
|
70
|
+
}
|
|
71
|
+
&.is-secondary {
|
|
72
|
+
@apply bg-secondary text-on-secondary;
|
|
73
|
+
}
|
|
74
|
+
&.is-muted {
|
|
75
|
+
@apply bg-on-muted text-muted;
|
|
76
|
+
}
|
|
77
|
+
&.is-success {
|
|
78
|
+
@apply bg-success text-on-success;
|
|
79
|
+
}
|
|
80
|
+
&.is-info {
|
|
81
|
+
@apply bg-info text-on-info;
|
|
82
|
+
}
|
|
83
|
+
&.is-warning {
|
|
84
|
+
@apply bg-warning text-on-warning;
|
|
85
|
+
}
|
|
86
|
+
&.is-danger {
|
|
87
|
+
@apply bg-danger text-on-danger;
|
|
88
|
+
}
|
|
89
|
+
&.is-background {
|
|
90
|
+
@apply bg-background text-on-background;
|
|
91
|
+
}
|
|
92
|
+
&.is-surface {
|
|
93
|
+
@apply bg-surface text-on-surface;
|
|
94
|
+
}
|
|
60
95
|
}
|
|
61
96
|
|
|
62
97
|
.drawer-header {
|
|
63
|
-
@apply row gap-3 p-3;
|
|
98
|
+
@apply row gap-3 p-3 pr-12;
|
|
64
99
|
}
|
|
65
100
|
|
|
66
101
|
.drawer-footer {
|
|
@@ -70,6 +105,10 @@
|
|
|
70
105
|
.drawer-body {
|
|
71
106
|
@apply flex min-h-0 flex-1 flex-col gap-3 p-3 overflow-auto;
|
|
72
107
|
}
|
|
108
|
+
|
|
109
|
+
.drawer-btn-close {
|
|
110
|
+
@apply absolute right-2 top-2;
|
|
111
|
+
}
|
|
73
112
|
}
|
|
74
113
|
}
|
|
75
114
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
}
|
|
5
5
|
.dropdown-popover {
|
|
6
6
|
@apply overflow-y-auto flex flex-col gap-2 p-2 my-1;
|
|
7
|
-
@apply bg-background text-on-background rounded-
|
|
7
|
+
@apply bg-background text-on-background rounded-box;
|
|
8
8
|
@apply invisible opacity-0 transition-opacity duration-300 ease-in-out;
|
|
9
9
|
@apply shadow shadow-muted;
|
|
10
10
|
position: fixed;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
}
|
|
5
5
|
.hovercard-content {
|
|
6
6
|
@apply overflow-y-auto drop-shadow-sm flex flex-col gap-2 my-1;
|
|
7
|
-
@apply bg-background text-on-background border border-muted rounded-
|
|
7
|
+
@apply bg-background text-on-background border border-muted rounded-box;
|
|
8
8
|
position: fixed;
|
|
9
9
|
z-index: 9999;
|
|
10
10
|
}
|
|
@@ -6,46 +6,98 @@
|
|
|
6
6
|
@apply absolute inset-0 bg-overlay;
|
|
7
7
|
}
|
|
8
8
|
.modal {
|
|
9
|
-
@apply relative flex flex-col
|
|
9
|
+
@apply relative flex flex-col rounded-box max-w-[95vw] max-h-[95vh];
|
|
10
10
|
|
|
11
|
-
&.is-
|
|
12
|
-
|
|
11
|
+
&.is-soft {
|
|
12
|
+
&.is-primary {
|
|
13
|
+
@apply bg-soft-primary text-primary;
|
|
14
|
+
}
|
|
15
|
+
&.is-secondary {
|
|
16
|
+
@apply bg-soft-secondary text-secondary;
|
|
17
|
+
}
|
|
18
|
+
&.is-muted {
|
|
19
|
+
@apply bg-soft-muted text-on-muted;
|
|
20
|
+
}
|
|
21
|
+
&.is-success {
|
|
22
|
+
@apply bg-soft-success text-success;
|
|
23
|
+
}
|
|
24
|
+
&.is-info {
|
|
25
|
+
@apply bg-soft-info text-info;
|
|
26
|
+
}
|
|
27
|
+
&.is-warning {
|
|
28
|
+
@apply bg-soft-warning text-warning;
|
|
29
|
+
}
|
|
30
|
+
&.is-danger {
|
|
31
|
+
@apply bg-soft-danger text-danger;
|
|
32
|
+
}
|
|
33
|
+
&.is-background {
|
|
34
|
+
@apply bg-background text-on-background;
|
|
35
|
+
}
|
|
36
|
+
&.is-surface {
|
|
37
|
+
@apply bg-surface text-on-surface;
|
|
38
|
+
}
|
|
13
39
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
|
|
41
|
+
&.is-solid {
|
|
42
|
+
&.is-primary {
|
|
43
|
+
@apply bg-primary text-on-primary;
|
|
44
|
+
}
|
|
45
|
+
&.is-secondary {
|
|
46
|
+
@apply bg-secondary text-on-secondary;
|
|
47
|
+
}
|
|
48
|
+
&.is-muted {
|
|
49
|
+
@apply bg-on-muted text-muted;
|
|
50
|
+
}
|
|
51
|
+
&.is-success {
|
|
52
|
+
@apply bg-success text-on-success;
|
|
53
|
+
}
|
|
54
|
+
&.is-info {
|
|
55
|
+
@apply bg-info text-on-info;
|
|
56
|
+
}
|
|
57
|
+
&.is-warning {
|
|
58
|
+
@apply bg-warning text-on-warning;
|
|
59
|
+
}
|
|
60
|
+
&.is-danger {
|
|
61
|
+
@apply bg-danger text-on-danger;
|
|
62
|
+
}
|
|
63
|
+
&.is-background {
|
|
64
|
+
@apply bg-background text-on-background;
|
|
65
|
+
}
|
|
66
|
+
&.is-surface {
|
|
67
|
+
@apply bg-surface text-on-surface;
|
|
68
|
+
}
|
|
34
69
|
}
|
|
35
|
-
|
|
36
|
-
|
|
70
|
+
|
|
71
|
+
.modal-body {
|
|
72
|
+
@apply column gap-4 md:gap-6 p-4 md:p-6 overflow-hidden overflow-y-auto;
|
|
37
73
|
}
|
|
38
74
|
|
|
39
75
|
.modal-header {
|
|
40
|
-
@apply
|
|
76
|
+
@apply w-full flex justify-between items-center px-4 pt-4 gap-4 md:px-6 md:pt-6 md:gap-6;
|
|
41
77
|
}
|
|
42
78
|
|
|
43
79
|
.modal-footer {
|
|
44
|
-
@apply
|
|
80
|
+
@apply w-full flex justify-between items-center px-4 pb-4 gap-4 md:px-6 md:pb-6 md:gap-6;
|
|
45
81
|
}
|
|
46
82
|
}
|
|
47
83
|
.modal-btn-close {
|
|
48
84
|
@apply absolute top-1 right-1 float-right z-50 size-6 p-1 hover:bg-muted rounded-full flex items-center justify-center text-on-muted hover:text-danger cursor-pointer;
|
|
49
85
|
}
|
|
50
86
|
}
|
|
87
|
+
.alert-dialog-title {
|
|
88
|
+
font-size: 1.125rem;
|
|
89
|
+
font-weight: 600;
|
|
90
|
+
margin: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.alert-dialog-description {
|
|
94
|
+
color: var(--on-muted);
|
|
95
|
+
margin: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.alert-dialog-actions {
|
|
99
|
+
display: flex;
|
|
100
|
+
gap: 0.75rem;
|
|
101
|
+
justify-content: flex-end;
|
|
102
|
+
}
|
|
51
103
|
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.toast {
|
|
26
|
-
@apply absolute inset-x-0 flex items-center gap-3 p-4 pointer-events-auto rounded-
|
|
26
|
+
@apply absolute inset-x-0 flex items-center gap-3 p-4 pointer-events-auto rounded-box;
|
|
27
27
|
@apply transition-all duration-300 ease-out shadow-sm;
|
|
28
28
|
|
|
29
29
|
transform: translateY(calc((var(--toast-total) - var(--toast-index) - 1) * -8px))
|
|
@@ -31,36 +31,52 @@
|
|
|
31
31
|
opacity: calc(1 - (var(--toast-total) - var(--toast-index) - 1) * 0.2);
|
|
32
32
|
z-index: calc(50 + var(--toast-index));
|
|
33
33
|
|
|
34
|
-
&.is-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
&.is-solid {
|
|
38
|
-
@apply bg-success text-on-success;
|
|
34
|
+
&.is-soft {
|
|
35
|
+
&.is-primary {
|
|
36
|
+
@apply bg-soft-primary text-primary;
|
|
39
37
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
&.is-danger {
|
|
43
|
-
@apply bg-on-danger text-danger;
|
|
44
|
-
|
|
45
|
-
&.is-solid {
|
|
46
|
-
@apply bg-danger text-on-danger;
|
|
38
|
+
&.is-secondary {
|
|
39
|
+
@apply bg-soft-secondary text-secondary;
|
|
47
40
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
41
|
+
&.is-muted {
|
|
42
|
+
@apply bg-soft-muted text-on-muted;
|
|
43
|
+
}
|
|
44
|
+
&.is-success {
|
|
45
|
+
@apply bg-soft-success text-success;
|
|
46
|
+
}
|
|
47
|
+
&.is-info {
|
|
48
|
+
@apply bg-soft-info text-info;
|
|
49
|
+
}
|
|
50
|
+
&.is-warning {
|
|
51
|
+
@apply bg-soft-warning text-warning;
|
|
52
|
+
}
|
|
53
|
+
&.is-danger {
|
|
54
|
+
@apply bg-soft-danger text-danger;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
&.is-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
&.is-solid {
|
|
59
|
+
&.is-primary {
|
|
60
|
+
@apply bg-primary text-on-primary;
|
|
61
|
+
}
|
|
62
|
+
&.is-secondary {
|
|
63
|
+
@apply bg-secondary text-on-secondary;
|
|
64
|
+
}
|
|
65
|
+
&.is-muted {
|
|
66
|
+
@apply bg-on-muted text-muted;
|
|
67
|
+
}
|
|
68
|
+
&.is-success {
|
|
69
|
+
@apply bg-success text-on-success;
|
|
70
|
+
}
|
|
71
|
+
&.is-info {
|
|
62
72
|
@apply bg-info text-on-info;
|
|
63
73
|
}
|
|
74
|
+
&.is-warning {
|
|
75
|
+
@apply bg-warning text-on-warning;
|
|
76
|
+
}
|
|
77
|
+
&.is-danger {
|
|
78
|
+
@apply bg-danger text-on-danger;
|
|
79
|
+
}
|
|
64
80
|
}
|
|
65
81
|
|
|
66
82
|
.toast-icon {
|