@sewadah/selaras 0.3.0 → 0.3.2
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 +4 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +21 -6
- package/dist/runtime/components/AlertDialog.d.vue.ts +5 -3
- package/dist/runtime/components/AlertDialog.vue +17 -9
- package/dist/runtime/components/AlertDialog.vue.d.ts +5 -3
- package/dist/runtime/components/App.vue +2 -0
- package/dist/runtime/components/Autocomplete.d.vue.ts +2 -2
- package/dist/runtime/components/Autocomplete.vue +4 -2
- package/dist/runtime/components/Autocomplete.vue.d.ts +2 -2
- package/dist/runtime/components/Button.d.vue.ts +7 -5
- package/dist/runtime/components/Button.vue +14 -3
- package/dist/runtime/components/Button.vue.d.ts +7 -5
- package/dist/runtime/components/Calendar.d.vue.ts +69 -0
- package/dist/runtime/components/Calendar.vue +163 -0
- package/dist/runtime/components/Calendar.vue.d.ts +69 -0
- package/dist/runtime/components/Callout.vue +12 -1
- package/dist/runtime/components/CodeGroup.vue +13 -3
- package/dist/runtime/components/CodeTree.d.vue.ts +2 -0
- package/dist/runtime/components/CodeTree.vue +52 -1
- package/dist/runtime/components/CodeTree.vue.d.ts +2 -0
- package/dist/runtime/components/ColorModeSwitch.d.vue.ts +18 -0
- package/dist/runtime/components/ColorModeSwitch.vue +59 -0
- package/dist/runtime/components/ColorModeSwitch.vue.d.ts +18 -0
- package/dist/runtime/components/ColorPicker.d.vue.ts +8 -0
- package/dist/runtime/components/ColorPicker.vue +66 -45
- package/dist/runtime/components/ColorPicker.vue.d.ts +8 -0
- package/dist/runtime/components/Column.js +1 -1
- package/dist/runtime/components/CommandPalette.d.vue.ts +3 -1
- package/dist/runtime/components/CommandPalette.vue +5 -0
- package/dist/runtime/components/CommandPalette.vue.d.ts +3 -1
- package/dist/runtime/components/ConfirmRenderer.d.vue.ts +3 -0
- package/dist/runtime/components/ConfirmRenderer.vue +39 -0
- package/dist/runtime/components/ConfirmRenderer.vue.d.ts +3 -0
- package/dist/runtime/components/ContentNavigation.d.vue.ts +8 -1
- package/dist/runtime/components/ContentNavigation.vue +9 -2
- package/dist/runtime/components/ContentNavigation.vue.d.ts +8 -1
- package/dist/runtime/components/ContextMenu.d.vue.ts +8 -1
- package/dist/runtime/components/ContextMenu.vue +20 -6
- package/dist/runtime/components/ContextMenu.vue.d.ts +8 -1
- package/dist/runtime/components/DatePicker.d.vue.ts +10 -3
- package/dist/runtime/components/DatePicker.vue +24 -16
- package/dist/runtime/components/DatePicker.vue.d.ts +10 -3
- package/dist/runtime/components/Drawer.vue +3 -2
- package/dist/runtime/components/Dropdown.d.vue.ts +33 -6
- package/dist/runtime/components/Dropdown.vue +146 -12
- package/dist/runtime/components/Dropdown.vue.d.ts +33 -6
- package/dist/runtime/components/FileTree.d.vue.ts +2 -0
- package/dist/runtime/components/FileTree.vue +8 -4
- package/dist/runtime/components/FileTree.vue.d.ts +2 -0
- package/dist/runtime/components/FormField.d.vue.ts +4 -0
- package/dist/runtime/components/FormField.vue +19 -4
- package/dist/runtime/components/FormField.vue.d.ts +4 -0
- package/dist/runtime/components/Input.vue +3 -2
- package/dist/runtime/components/Kbd.vue +12 -2
- package/dist/runtime/components/Modal.vue +3 -2
- package/dist/runtime/components/NavigationMenu.d.vue.ts +10 -10
- package/dist/runtime/components/NavigationMenu.vue +13 -9
- package/dist/runtime/components/NavigationMenu.vue.d.ts +10 -10
- package/dist/runtime/components/NavigationMenuAccordionItem.vue +5 -1
- package/dist/runtime/components/NavigationMenuFlyoutList.vue +7 -4
- package/dist/runtime/components/Popover.d.vue.ts +8 -2
- package/dist/runtime/components/Popover.vue +13 -6
- package/dist/runtime/components/Popover.vue.d.ts +8 -2
- package/dist/runtime/components/ProsePre.d.vue.ts +2 -0
- package/dist/runtime/components/ProsePre.vue +2 -1
- package/dist/runtime/components/ProsePre.vue.d.ts +2 -0
- package/dist/runtime/components/Select.d.vue.ts +8 -4
- package/dist/runtime/components/Select.vue +4 -2
- package/dist/runtime/components/Select.vue.d.ts +8 -4
- package/dist/runtime/components/Slideover.vue +3 -2
- package/dist/runtime/components/SplitterPanel.d.vue.ts +2 -2
- package/dist/runtime/components/SplitterPanel.vue.d.ts +2 -2
- package/dist/runtime/components/Table.vue +95 -26
- package/dist/runtime/components/Tabs.d.vue.ts +44 -4
- package/dist/runtime/components/Tabs.vue +171 -18
- package/dist/runtime/components/Tabs.vue.d.ts +44 -4
- package/dist/runtime/components/Textarea.vue +3 -2
- package/dist/runtime/components/Timeline.d.vue.ts +19 -0
- package/dist/runtime/components/Timeline.vue +99 -0
- package/dist/runtime/components/Timeline.vue.d.ts +19 -0
- package/dist/runtime/components/Toast.d.vue.ts +10 -1
- package/dist/runtime/components/Toast.vue +94 -8
- package/dist/runtime/components/Toast.vue.d.ts +10 -1
- package/dist/runtime/components/Tooltip.d.vue.ts +8 -2
- package/dist/runtime/components/Tooltip.vue +13 -6
- package/dist/runtime/components/Tooltip.vue.d.ts +8 -2
- package/dist/runtime/composables/use-confirm.d.ts +14 -0
- package/dist/runtime/composables/use-confirm.js +28 -0
- package/dist/runtime/composables/use-form-field.d.ts +1 -0
- package/dist/runtime/composables/use-table.d.ts +3 -0
- package/dist/runtime/composables/use-table.js +10 -4
- package/dist/runtime/composables/use-toast.js +5 -1
- package/dist/runtime/directives/hotkey.d.ts +13 -0
- package/dist/runtime/directives/hotkey.js +107 -0
- package/dist/runtime/directives/index.d.ts +2 -0
- package/dist/runtime/directives/index.js +2 -0
- package/dist/runtime/directives/mask.d.ts +30 -0
- package/dist/runtime/directives/mask.js +165 -0
- package/dist/runtime/internal/ComboboxSelectBase.d.vue.ts +41 -36
- package/dist/runtime/internal/ComboboxSelectBase.vue +119 -26
- package/dist/runtime/internal/ComboboxSelectBase.vue.d.ts +41 -36
- package/dist/runtime/internal/ComboboxSelectBody.d.vue.ts +23 -17
- package/dist/runtime/internal/ComboboxSelectBody.vue +50 -11
- package/dist/runtime/internal/ComboboxSelectBody.vue.d.ts +23 -17
- package/dist/runtime/internal/DatePickerCalendarBody.vue +1 -1
- package/dist/runtime/internal/DatePickerRangeCalendarBody.vue +1 -1
- package/dist/runtime/internal/ShortcutHint.d.vue.ts +6 -0
- package/dist/runtime/internal/ShortcutHint.vue +13 -0
- package/dist/runtime/internal/ShortcutHint.vue.d.ts +6 -0
- package/dist/runtime/internal/ToastItemRenderer.d.vue.ts +9 -1
- package/dist/runtime/internal/ToastItemRenderer.vue +55 -8
- package/dist/runtime/internal/ToastItemRenderer.vue.d.ts +9 -1
- package/dist/runtime/internal/combobox-select.d.ts +19 -18
- package/dist/runtime/internal/combobox-select.js +38 -15
- package/dist/runtime/internal/programmatic-services.d.ts +13 -0
- package/dist/runtime/internal/programmatic-services.js +9 -0
- package/dist/runtime/internal/toast-stack.d.ts +36 -0
- package/dist/runtime/internal/toast-stack.js +36 -0
- package/dist/runtime/structural.css +1 -1
- package/dist/runtime/table.d.ts +1 -1
- package/dist/runtime/theme/alert-dialog.js +1 -1
- package/dist/runtime/theme/badge.d.ts +9 -0
- package/dist/runtime/theme/badge.js +2 -1
- package/dist/runtime/theme/button.d.ts +18 -0
- package/dist/runtime/theme/button.js +4 -1
- package/dist/runtime/theme/calendar.d.ts +86 -0
- package/dist/runtime/theme/calendar.js +19 -0
- package/dist/runtime/theme/callout.d.ts +0 -12
- package/dist/runtime/theme/callout.js +8 -8
- package/dist/runtime/theme/code-tree.js +1 -1
- package/dist/runtime/theme/command-palette.js +1 -1
- package/dist/runtime/theme/content-navigation.d.ts +3 -0
- package/dist/runtime/theme/content-navigation.js +1 -0
- package/dist/runtime/theme/drawer.js +1 -1
- package/dist/runtime/theme/dropdown.d.ts +21 -0
- package/dist/runtime/theme/dropdown.js +15 -2
- package/dist/runtime/theme/file-tree.js +1 -1
- package/dist/runtime/theme/form-field.d.ts +18 -0
- package/dist/runtime/theme/form-field.js +6 -1
- package/dist/runtime/theme/modal.js +1 -1
- package/dist/runtime/theme/slideover.js +1 -1
- package/dist/runtime/theme/table.d.ts +27 -0
- package/dist/runtime/theme/table.js +11 -2
- package/dist/runtime/theme/tabs.d.ts +87 -3
- package/dist/runtime/theme/tabs.js +46 -22
- package/dist/runtime/theme/timeline.d.ts +251 -0
- package/dist/runtime/theme/timeline.js +84 -0
- package/dist/runtime/theme/toast.d.ts +92 -0
- package/dist/runtime/theme/toast.js +29 -7
- package/dist/runtime/theme-config.d.ts +13 -2
- package/dist/runtime/types/index.d.ts +10 -2
- package/dist/runtime/utils/arrow.d.ts +21 -0
- package/dist/runtime/utils/arrow.js +10 -0
- package/dist/runtime/utils/autocomplete-contracts.d.ts +4 -4
- package/dist/runtime/utils/file-icons.js +3 -0
- package/dist/runtime/utils/icons.d.ts +2 -0
- package/dist/runtime/utils/icons.js +2 -0
- package/dist/runtime/utils/messages.d.ts +7 -0
- package/dist/runtime/utils/messages.js +7 -0
- package/dist/runtime/utils/navigation-menu.d.ts +7 -0
- package/dist/runtime/utils/navigation-menu.js +3 -0
- package/dist/runtime/utils/overlay.d.ts +17 -0
- package/dist/runtime/utils/overlay.js +7 -0
- package/dist/runtime/utils/select-contracts.d.ts +25 -11
- package/dist/runtime/utils/table-columns.js +1 -1
- package/dist/runtime/utils/table-contracts.d.ts +9 -1
- package/dist/runtime/utils/timeline-contracts.d.ts +42 -0
- package/dist/runtime/utils/timeline-contracts.js +0 -0
- package/dist/runtime/utils/ui.d.ts +11 -0
- package/dist/runtime/utils/ui.js +54 -1
- package/package.json +6 -5
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
export declare const timelineTheme: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
orientation: {
|
|
3
|
+
vertical: {
|
|
4
|
+
root: string;
|
|
5
|
+
item: string;
|
|
6
|
+
track: string;
|
|
7
|
+
connector: string;
|
|
8
|
+
content: string;
|
|
9
|
+
};
|
|
10
|
+
horizontal: {
|
|
11
|
+
root: string;
|
|
12
|
+
item: string;
|
|
13
|
+
track: string;
|
|
14
|
+
marker: string;
|
|
15
|
+
connector: string;
|
|
16
|
+
content: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
align: {
|
|
20
|
+
start: {
|
|
21
|
+
item: string;
|
|
22
|
+
track: string;
|
|
23
|
+
content: string;
|
|
24
|
+
};
|
|
25
|
+
end: {
|
|
26
|
+
item: string;
|
|
27
|
+
track: string;
|
|
28
|
+
content: string;
|
|
29
|
+
};
|
|
30
|
+
alternate: {
|
|
31
|
+
item: string;
|
|
32
|
+
track: string;
|
|
33
|
+
content: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
size: {
|
|
37
|
+
sm: {
|
|
38
|
+
marker: string;
|
|
39
|
+
title: string;
|
|
40
|
+
};
|
|
41
|
+
md: {
|
|
42
|
+
marker: string;
|
|
43
|
+
title: string;
|
|
44
|
+
};
|
|
45
|
+
lg: {
|
|
46
|
+
marker: string;
|
|
47
|
+
title: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
color: {
|
|
51
|
+
primary: {
|
|
52
|
+
marker: string;
|
|
53
|
+
};
|
|
54
|
+
neutral: {
|
|
55
|
+
marker: string;
|
|
56
|
+
};
|
|
57
|
+
secondary: {
|
|
58
|
+
marker: string;
|
|
59
|
+
};
|
|
60
|
+
success: {
|
|
61
|
+
marker: string;
|
|
62
|
+
};
|
|
63
|
+
danger: {
|
|
64
|
+
marker: string;
|
|
65
|
+
};
|
|
66
|
+
info: {
|
|
67
|
+
marker: string;
|
|
68
|
+
};
|
|
69
|
+
warning: {
|
|
70
|
+
marker: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
}, {
|
|
74
|
+
root: string;
|
|
75
|
+
item: string;
|
|
76
|
+
track: string;
|
|
77
|
+
marker: string;
|
|
78
|
+
icon: string;
|
|
79
|
+
connector: string;
|
|
80
|
+
content: string;
|
|
81
|
+
date: string;
|
|
82
|
+
title: string;
|
|
83
|
+
description: string;
|
|
84
|
+
}, undefined, {
|
|
85
|
+
orientation: {
|
|
86
|
+
vertical: {
|
|
87
|
+
root: string;
|
|
88
|
+
item: string;
|
|
89
|
+
track: string;
|
|
90
|
+
connector: string;
|
|
91
|
+
content: string;
|
|
92
|
+
};
|
|
93
|
+
horizontal: {
|
|
94
|
+
root: string;
|
|
95
|
+
item: string;
|
|
96
|
+
track: string;
|
|
97
|
+
marker: string;
|
|
98
|
+
connector: string;
|
|
99
|
+
content: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
align: {
|
|
103
|
+
start: {
|
|
104
|
+
item: string;
|
|
105
|
+
track: string;
|
|
106
|
+
content: string;
|
|
107
|
+
};
|
|
108
|
+
end: {
|
|
109
|
+
item: string;
|
|
110
|
+
track: string;
|
|
111
|
+
content: string;
|
|
112
|
+
};
|
|
113
|
+
alternate: {
|
|
114
|
+
item: string;
|
|
115
|
+
track: string;
|
|
116
|
+
content: string;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
size: {
|
|
120
|
+
sm: {
|
|
121
|
+
marker: string;
|
|
122
|
+
title: string;
|
|
123
|
+
};
|
|
124
|
+
md: {
|
|
125
|
+
marker: string;
|
|
126
|
+
title: string;
|
|
127
|
+
};
|
|
128
|
+
lg: {
|
|
129
|
+
marker: string;
|
|
130
|
+
title: string;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
color: {
|
|
134
|
+
primary: {
|
|
135
|
+
marker: string;
|
|
136
|
+
};
|
|
137
|
+
neutral: {
|
|
138
|
+
marker: string;
|
|
139
|
+
};
|
|
140
|
+
secondary: {
|
|
141
|
+
marker: string;
|
|
142
|
+
};
|
|
143
|
+
success: {
|
|
144
|
+
marker: string;
|
|
145
|
+
};
|
|
146
|
+
danger: {
|
|
147
|
+
marker: string;
|
|
148
|
+
};
|
|
149
|
+
info: {
|
|
150
|
+
marker: string;
|
|
151
|
+
};
|
|
152
|
+
warning: {
|
|
153
|
+
marker: string;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
}, {
|
|
157
|
+
root: string;
|
|
158
|
+
item: string;
|
|
159
|
+
track: string;
|
|
160
|
+
marker: string;
|
|
161
|
+
icon: string;
|
|
162
|
+
connector: string;
|
|
163
|
+
content: string;
|
|
164
|
+
date: string;
|
|
165
|
+
title: string;
|
|
166
|
+
description: string;
|
|
167
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
168
|
+
orientation: {
|
|
169
|
+
vertical: {
|
|
170
|
+
root: string;
|
|
171
|
+
item: string;
|
|
172
|
+
track: string;
|
|
173
|
+
connector: string;
|
|
174
|
+
content: string;
|
|
175
|
+
};
|
|
176
|
+
horizontal: {
|
|
177
|
+
root: string;
|
|
178
|
+
item: string;
|
|
179
|
+
track: string;
|
|
180
|
+
marker: string;
|
|
181
|
+
connector: string;
|
|
182
|
+
content: string;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
align: {
|
|
186
|
+
start: {
|
|
187
|
+
item: string;
|
|
188
|
+
track: string;
|
|
189
|
+
content: string;
|
|
190
|
+
};
|
|
191
|
+
end: {
|
|
192
|
+
item: string;
|
|
193
|
+
track: string;
|
|
194
|
+
content: string;
|
|
195
|
+
};
|
|
196
|
+
alternate: {
|
|
197
|
+
item: string;
|
|
198
|
+
track: string;
|
|
199
|
+
content: string;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
size: {
|
|
203
|
+
sm: {
|
|
204
|
+
marker: string;
|
|
205
|
+
title: string;
|
|
206
|
+
};
|
|
207
|
+
md: {
|
|
208
|
+
marker: string;
|
|
209
|
+
title: string;
|
|
210
|
+
};
|
|
211
|
+
lg: {
|
|
212
|
+
marker: string;
|
|
213
|
+
title: string;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
color: {
|
|
217
|
+
primary: {
|
|
218
|
+
marker: string;
|
|
219
|
+
};
|
|
220
|
+
neutral: {
|
|
221
|
+
marker: string;
|
|
222
|
+
};
|
|
223
|
+
secondary: {
|
|
224
|
+
marker: string;
|
|
225
|
+
};
|
|
226
|
+
success: {
|
|
227
|
+
marker: string;
|
|
228
|
+
};
|
|
229
|
+
danger: {
|
|
230
|
+
marker: string;
|
|
231
|
+
};
|
|
232
|
+
info: {
|
|
233
|
+
marker: string;
|
|
234
|
+
};
|
|
235
|
+
warning: {
|
|
236
|
+
marker: string;
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
}, {
|
|
240
|
+
root: string;
|
|
241
|
+
item: string;
|
|
242
|
+
track: string;
|
|
243
|
+
marker: string;
|
|
244
|
+
icon: string;
|
|
245
|
+
connector: string;
|
|
246
|
+
content: string;
|
|
247
|
+
date: string;
|
|
248
|
+
title: string;
|
|
249
|
+
description: string;
|
|
250
|
+
}>>;
|
|
251
|
+
export type TimelineThemeSlots = keyof (typeof timelineTheme)['slots'];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const timelineTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
root: "relative flex w-full min-w-0 text-[var(--selaras-resolved-text-default)]",
|
|
5
|
+
item: "relative min-w-0",
|
|
6
|
+
track: "relative",
|
|
7
|
+
marker: "relative z-10 flex shrink-0 items-center justify-center rounded-full border-2 border-[var(--_selaras-color-fill)] bg-[var(--selaras-resolved-surface-default)] text-[var(--_selaras-color-text)] data-[marker-type=dot]:size-3 data-[marker-type=dot]:border-0 data-[marker-type=dot]:bg-[var(--_selaras-color-fill)] data-[marker-type=custom]:border-0 data-[marker-type=custom]:bg-transparent",
|
|
8
|
+
icon: "size-4 shrink-0",
|
|
9
|
+
connector: "pointer-events-none bg-[var(--selaras-resolved-border-default)]",
|
|
10
|
+
content: "min-w-0",
|
|
11
|
+
date: "mb-1 text-xs text-[var(--selaras-resolved-text-muted)]",
|
|
12
|
+
title: "font-medium",
|
|
13
|
+
description: "mt-1 text-sm text-[var(--selaras-resolved-text-muted)]"
|
|
14
|
+
},
|
|
15
|
+
variants: {
|
|
16
|
+
orientation: {
|
|
17
|
+
vertical: {
|
|
18
|
+
root: "flex-col",
|
|
19
|
+
item: "grid grid-cols-[1rem_minmax(0,1fr)] gap-x-4 py-4 first:pt-0 last:pb-0",
|
|
20
|
+
track: "col-start-1 row-start-1 row-span-2 flex flex-col items-center",
|
|
21
|
+
connector: "absolute start-1/2 top-4 -bottom-8 w-px -translate-x-1/2 rtl:translate-x-1/2",
|
|
22
|
+
content: "row-start-1"
|
|
23
|
+
},
|
|
24
|
+
horizontal: {
|
|
25
|
+
root: "flex-row items-stretch",
|
|
26
|
+
item: "grid flex-1 grid-rows-[minmax(0,1fr)_2rem_minmax(0,1fr)]",
|
|
27
|
+
track: "relative row-start-2 h-8 w-full",
|
|
28
|
+
marker: "absolute start-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rtl:translate-x-1/2",
|
|
29
|
+
connector: "absolute start-1/2 top-1/2 h-px w-full -translate-y-1/2",
|
|
30
|
+
content: "min-w-0 px-3 text-center"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
align: {
|
|
34
|
+
start: {
|
|
35
|
+
item: "",
|
|
36
|
+
track: "",
|
|
37
|
+
content: ""
|
|
38
|
+
},
|
|
39
|
+
end: {
|
|
40
|
+
item: "",
|
|
41
|
+
track: "",
|
|
42
|
+
content: ""
|
|
43
|
+
},
|
|
44
|
+
alternate: {
|
|
45
|
+
item: "",
|
|
46
|
+
track: "",
|
|
47
|
+
content: ""
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
size: {
|
|
51
|
+
sm: { marker: "size-6 text-xs data-[marker-type=dot]:size-3", title: "text-sm" },
|
|
52
|
+
md: { marker: "size-8 text-sm data-[marker-type=dot]:size-4", title: "text-base" },
|
|
53
|
+
lg: { marker: "size-10 text-base data-[marker-type=dot]:size-5", title: "text-lg" }
|
|
54
|
+
},
|
|
55
|
+
color: {
|
|
56
|
+
primary: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
57
|
+
neutral: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
58
|
+
secondary: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
59
|
+
success: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
60
|
+
danger: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
61
|
+
info: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" },
|
|
62
|
+
warning: { marker: "border-[var(--_selaras-color-fill)] text-[var(--_selaras-color-text)]" }
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
compoundVariants: [
|
|
66
|
+
{ orientation: "vertical", align: "end", class: {
|
|
67
|
+
item: "grid-cols-[minmax(0,1fr)_1rem]",
|
|
68
|
+
track: "col-start-2",
|
|
69
|
+
content: "col-start-1 text-end"
|
|
70
|
+
} },
|
|
71
|
+
{ orientation: "vertical", align: "alternate", class: {
|
|
72
|
+
item: "grid-cols-[minmax(0,1fr)_1rem_minmax(0,1fr)]",
|
|
73
|
+
track: "col-start-2"
|
|
74
|
+
} },
|
|
75
|
+
{ orientation: "horizontal", align: "start", class: { content: "row-start-3" } },
|
|
76
|
+
{ orientation: "horizontal", align: "end", class: { content: "row-start-1" } }
|
|
77
|
+
],
|
|
78
|
+
defaultVariants: {
|
|
79
|
+
orientation: "vertical",
|
|
80
|
+
align: "start",
|
|
81
|
+
size: "md",
|
|
82
|
+
color: "primary"
|
|
83
|
+
}
|
|
84
|
+
});
|
|
@@ -1,4 +1,35 @@
|
|
|
1
|
+
import type { VariantProps } from 'tailwind-variants';
|
|
1
2
|
export declare const toastTheme: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
position: {
|
|
4
|
+
'top-left': {
|
|
5
|
+
viewport: string;
|
|
6
|
+
root: string;
|
|
7
|
+
};
|
|
8
|
+
'top-center': {
|
|
9
|
+
viewport: string;
|
|
10
|
+
root: string;
|
|
11
|
+
};
|
|
12
|
+
'top-right': {
|
|
13
|
+
viewport: string;
|
|
14
|
+
root: string;
|
|
15
|
+
};
|
|
16
|
+
'bottom-left': {
|
|
17
|
+
viewport: string;
|
|
18
|
+
root: string;
|
|
19
|
+
};
|
|
20
|
+
'bottom-center': {
|
|
21
|
+
viewport: string;
|
|
22
|
+
root: string;
|
|
23
|
+
};
|
|
24
|
+
'bottom-right': {
|
|
25
|
+
viewport: string;
|
|
26
|
+
root: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
expand: {
|
|
30
|
+
true: {};
|
|
31
|
+
false: {};
|
|
32
|
+
};
|
|
2
33
|
color: {
|
|
3
34
|
success: "";
|
|
4
35
|
danger: "";
|
|
@@ -13,6 +44,36 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
|
|
|
13
44
|
icon: string;
|
|
14
45
|
close: string;
|
|
15
46
|
}, undefined, {
|
|
47
|
+
position: {
|
|
48
|
+
'top-left': {
|
|
49
|
+
viewport: string;
|
|
50
|
+
root: string;
|
|
51
|
+
};
|
|
52
|
+
'top-center': {
|
|
53
|
+
viewport: string;
|
|
54
|
+
root: string;
|
|
55
|
+
};
|
|
56
|
+
'top-right': {
|
|
57
|
+
viewport: string;
|
|
58
|
+
root: string;
|
|
59
|
+
};
|
|
60
|
+
'bottom-left': {
|
|
61
|
+
viewport: string;
|
|
62
|
+
root: string;
|
|
63
|
+
};
|
|
64
|
+
'bottom-center': {
|
|
65
|
+
viewport: string;
|
|
66
|
+
root: string;
|
|
67
|
+
};
|
|
68
|
+
'bottom-right': {
|
|
69
|
+
viewport: string;
|
|
70
|
+
root: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
expand: {
|
|
74
|
+
true: {};
|
|
75
|
+
false: {};
|
|
76
|
+
};
|
|
16
77
|
color: {
|
|
17
78
|
success: "";
|
|
18
79
|
danger: "";
|
|
@@ -27,6 +88,36 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
|
|
|
27
88
|
icon: string;
|
|
28
89
|
close: string;
|
|
29
90
|
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
91
|
+
position: {
|
|
92
|
+
'top-left': {
|
|
93
|
+
viewport: string;
|
|
94
|
+
root: string;
|
|
95
|
+
};
|
|
96
|
+
'top-center': {
|
|
97
|
+
viewport: string;
|
|
98
|
+
root: string;
|
|
99
|
+
};
|
|
100
|
+
'top-right': {
|
|
101
|
+
viewport: string;
|
|
102
|
+
root: string;
|
|
103
|
+
};
|
|
104
|
+
'bottom-left': {
|
|
105
|
+
viewport: string;
|
|
106
|
+
root: string;
|
|
107
|
+
};
|
|
108
|
+
'bottom-center': {
|
|
109
|
+
viewport: string;
|
|
110
|
+
root: string;
|
|
111
|
+
};
|
|
112
|
+
'bottom-right': {
|
|
113
|
+
viewport: string;
|
|
114
|
+
root: string;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
expand: {
|
|
118
|
+
true: {};
|
|
119
|
+
false: {};
|
|
120
|
+
};
|
|
30
121
|
color: {
|
|
31
122
|
success: "";
|
|
32
123
|
danger: "";
|
|
@@ -42,3 +133,4 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
|
|
|
42
133
|
close: string;
|
|
43
134
|
}>>;
|
|
44
135
|
export type ToastThemeSlots = keyof (typeof toastTheme)['slots'];
|
|
136
|
+
export type ToastPosition = NonNullable<VariantProps<typeof toastTheme>['position']>;
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { tv } from "tailwind-variants";
|
|
2
2
|
export const toastTheme = tv({
|
|
3
3
|
slots: {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
// The cards are absolutely positioned inside it and moved with transforms
|
|
5
|
+
// (see internal/toast-stack.ts); Toast.vue sizes it to fit the stack.
|
|
6
|
+
viewport: "fixed z-[var(--selaras-resolved-z-toast)] w-full max-w-sm p-4 outline-none",
|
|
7
|
+
// Registered roles tint the surface softly; an uncolored toast falls
|
|
8
|
+
// back to the regular surface. Text stays neutral for readability.
|
|
9
|
+
//
|
|
10
|
+
// Cards behind the front one cover their own content with an overlay
|
|
11
|
+
// of the card surface (after:), so they read as a clean pile and fade
|
|
12
|
+
// their content back in when they move to the front or fan out.
|
|
13
|
+
root: "absolute inset-x-4 flex items-start gap-3 rounded-[var(--selaras-resolved-radius-md)] bg-[var(--_selaras-color-subtle,var(--selaras-resolved-surface-default))] p-4 pe-10 shadow-[var(--selaras-resolved-shadow-lg)] ring-1 ring-[var(--selaras-resolved-border-default)] transition-[transform,opacity,height] duration-400 ease-[cubic-bezier(0.22,1,0.36,1)] after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit] after:[background:inherit] after:opacity-0 after:transition-opacity after:duration-400 data-[stack=behind]:overflow-hidden data-[stack=behind]:after:opacity-100 data-[stack=hidden]:pointer-events-none data-[stack=hidden]:overflow-hidden data-[stack=hidden]:opacity-0 data-[stack=hidden]:after:opacity-100 data-[state=open]:animate-[selaras-toast-in_400ms_cubic-bezier(0.22,1,0.36,1)] data-[state=closed]:animate-[selaras-toast-out_200ms_ease-in_forwards] data-[stack=behind]:[--_selaras-toast-exit:-25%] data-[stack=hidden]:[--_selaras-toast-exit:-25%] motion-reduce:transition-none motion-reduce:animate-none motion-reduce:after:transition-none",
|
|
6
14
|
title: "text-sm font-medium text-[var(--selaras-resolved-text-default)]",
|
|
7
15
|
description: "mt-1 text-sm text-[var(--selaras-resolved-text-muted)]",
|
|
8
16
|
// Base (no color set) is a plain neutral glyph - only shown at all when
|
|
9
17
|
// `icon` is set without a `color`, since a colorless toast otherwise
|
|
10
18
|
// has nothing to render here.
|
|
11
|
-
icon: "size-5 shrink-0 text-[var(--_selaras-color-
|
|
19
|
+
icon: "size-5 shrink-0 text-[var(--_selaras-color-text,var(--selaras-resolved-text-muted))]",
|
|
12
20
|
// Rendered as an <SButton> (ghost/neutral) - real chrome, focus ring and
|
|
13
21
|
// touch target now come from Button's own theme; rounded-full overrides
|
|
14
22
|
// its default rounded-md just for this dismiss-glyph family (close/clear).
|
|
@@ -17,15 +25,29 @@ export const toastTheme = tv({
|
|
|
17
25
|
close: "absolute end-1.5 top-1.5 shrink-0 rounded-full"
|
|
18
26
|
},
|
|
19
27
|
variants: {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
position: {
|
|
29
|
+
"top-left": { viewport: "top-0 start-0", root: "top-4 origin-top [--_selaras-toast-lift:1]" },
|
|
30
|
+
"top-center": { viewport: "top-0 left-1/2 -translate-x-1/2", root: "top-4 origin-top [--_selaras-toast-lift:1]" },
|
|
31
|
+
"top-right": { viewport: "top-0 end-0", root: "top-4 origin-top [--_selaras-toast-lift:1]" },
|
|
32
|
+
"bottom-left": { viewport: "bottom-0 start-0", root: "bottom-4 origin-bottom [--_selaras-toast-lift:-1]" },
|
|
33
|
+
"bottom-center": { viewport: "bottom-0 left-1/2 -translate-x-1/2", root: "bottom-4 origin-bottom [--_selaras-toast-lift:-1]" },
|
|
34
|
+
"bottom-right": { viewport: "bottom-0 end-0", root: "bottom-4 origin-bottom [--_selaras-toast-lift:-1]" }
|
|
35
|
+
},
|
|
36
|
+
expand: {
|
|
37
|
+
true: {},
|
|
38
|
+
false: {}
|
|
39
|
+
},
|
|
40
|
+
// Kept as pass-through variants so consumer recipe conditions can match
|
|
41
|
+
// every registered role, including custom roles beyond this built-in set.
|
|
24
42
|
color: {
|
|
25
43
|
success: "",
|
|
26
44
|
danger: "",
|
|
27
45
|
warning: "",
|
|
28
46
|
info: ""
|
|
29
47
|
}
|
|
48
|
+
},
|
|
49
|
+
defaultVariants: {
|
|
50
|
+
position: "bottom-right",
|
|
51
|
+
expand: false
|
|
30
52
|
}
|
|
31
53
|
});
|
|
@@ -8,6 +8,7 @@ import type { badgeTheme, BadgeThemeSlots } from './theme/badge.js';
|
|
|
8
8
|
import type { breadcrumbTheme, BreadcrumbThemeSlots } from './theme/breadcrumb.js';
|
|
9
9
|
import type { buttonTheme, ButtonThemeSlots } from './theme/button.js';
|
|
10
10
|
import type { buttonGroupTheme, ButtonGroupThemeSlots } from './theme/button-group.js';
|
|
11
|
+
import type { calendarTheme, CalendarThemeSlots } from './theme/calendar.js';
|
|
11
12
|
import type { calloutTheme, CalloutThemeSlots } from './theme/callout.js';
|
|
12
13
|
import type { cardTheme, CardThemeSlots } from './theme/card.js';
|
|
13
14
|
import type { cardGroupTheme, CardGroupThemeSlots } from './theme/card-group.js';
|
|
@@ -66,6 +67,7 @@ import type { switchTheme, SwitchThemeSlots } from './theme/switch.js';
|
|
|
66
67
|
import type { tableTheme, TableThemeSlots } from './theme/table.js';
|
|
67
68
|
import type { tabsTheme, TabsThemeSlots } from './theme/tabs.js';
|
|
68
69
|
import type { textareaTheme, TextareaThemeSlots } from './theme/textarea.js';
|
|
70
|
+
import type { timelineTheme, TimelineThemeSlots } from './theme/timeline.js';
|
|
69
71
|
import type { toastTheme, ToastThemeSlots } from './theme/toast.js';
|
|
70
72
|
import type { toggleTheme, ToggleThemeSlots } from './theme/toggle.js';
|
|
71
73
|
import type { toggleGroupTheme, ToggleGroupThemeSlots } from './theme/toggle-group.js';
|
|
@@ -116,6 +118,7 @@ type SkeletonVariants = VariantProps<typeof skeletonTheme>;
|
|
|
116
118
|
type SliderVariants = VariantProps<typeof sliderTheme>;
|
|
117
119
|
type SwitchVariants = VariantProps<typeof switchTheme>;
|
|
118
120
|
type StepperVariants = VariantProps<typeof stepperTheme>;
|
|
121
|
+
type TimelineVariants = VariantProps<typeof timelineTheme>;
|
|
119
122
|
type TabsVariants = VariantProps<typeof tabsTheme>;
|
|
120
123
|
type TextareaVariants = VariantProps<typeof textareaTheme>;
|
|
121
124
|
type ToastVariants = VariantProps<typeof toastTheme>;
|
|
@@ -143,6 +146,10 @@ export interface ThemeComponentRegistry {
|
|
|
143
146
|
slots: AlertDialogThemeSlots;
|
|
144
147
|
conditions: Pick<VariantProps<typeof alertDialogTheme>, 'transition'>;
|
|
145
148
|
};
|
|
149
|
+
calendar: {
|
|
150
|
+
slots: CalendarThemeSlots;
|
|
151
|
+
conditions: Pick<VariantProps<typeof calendarTheme>, never>;
|
|
152
|
+
};
|
|
146
153
|
codeButton: {
|
|
147
154
|
slots: CodeButtonThemeSlots;
|
|
148
155
|
conditions: Pick<VariantProps<typeof codeButtonTheme>, never>;
|
|
@@ -258,7 +265,7 @@ export interface ThemeComponentRegistry {
|
|
|
258
265
|
};
|
|
259
266
|
chip: {
|
|
260
267
|
slots: ChipThemeSlots;
|
|
261
|
-
conditions: WithRegisteredColor<Pick<ChipVariants, 'color' | 'size'>>;
|
|
268
|
+
conditions: WithRegisteredColor<Pick<ChipVariants, 'color' | 'variant' | 'size'>>;
|
|
262
269
|
defaults: WithRegisteredColor<Pick<ChipVariants, 'color' | 'size'>>;
|
|
263
270
|
};
|
|
264
271
|
collapsible: {
|
|
@@ -305,7 +312,7 @@ export interface ThemeComponentRegistry {
|
|
|
305
312
|
};
|
|
306
313
|
formField: {
|
|
307
314
|
slots: FormFieldThemeSlots;
|
|
308
|
-
conditions: Pick<FormFieldVariants, 'size' | 'orientation'>;
|
|
315
|
+
conditions: Pick<FormFieldVariants, 'size' | 'orientation' | 'labelMode'>;
|
|
309
316
|
};
|
|
310
317
|
header: {
|
|
311
318
|
slots: HeaderThemeSlots;
|
|
@@ -392,6 +399,10 @@ export interface ThemeComponentRegistry {
|
|
|
392
399
|
slots: StepperThemeSlots;
|
|
393
400
|
conditions: WithRegisteredColor<Pick<StepperVariants, 'color' | 'size' | 'orientation'>>;
|
|
394
401
|
};
|
|
402
|
+
timeline: {
|
|
403
|
+
slots: TimelineThemeSlots;
|
|
404
|
+
conditions: WithRegisteredColor<Pick<TimelineVariants, 'color' | 'size' | 'orientation' | 'align'>>;
|
|
405
|
+
};
|
|
395
406
|
tabs: {
|
|
396
407
|
slots: TabsThemeSlots;
|
|
397
408
|
conditions: WithRegisteredColor<Pick<TabsVariants, 'color' | 'variant'>>;
|
|
@@ -9,6 +9,7 @@ export type * from '../components/Badge.vue';
|
|
|
9
9
|
export type * from '../components/Breadcrumb.vue';
|
|
10
10
|
export type * from '../components/Button.vue';
|
|
11
11
|
export type * from '../components/ButtonGroup.vue';
|
|
12
|
+
export type * from '../components/Calendar.vue';
|
|
12
13
|
export type * from '../components/Callout.vue';
|
|
13
14
|
export type * from '../components/Card.vue';
|
|
14
15
|
export type * from '../components/CardGroup.vue';
|
|
@@ -18,6 +19,7 @@ export type * from '../components/CodeButton.vue';
|
|
|
18
19
|
export type * from '../components/CodeGroup.vue';
|
|
19
20
|
export type * from '../components/CodeTree.vue';
|
|
20
21
|
export type * from '../components/Collapsible.vue';
|
|
22
|
+
export type * from '../components/ColorModeSwitch.vue';
|
|
21
23
|
export type * from '../components/ColorModeToggle.vue';
|
|
22
24
|
export type * from '../components/ColorPicker.vue';
|
|
23
25
|
export type * from '../components/CommandPalette.vue';
|
|
@@ -76,18 +78,21 @@ export type * from '../components/Switch.vue';
|
|
|
76
78
|
export type * from '../components/Tabs.vue';
|
|
77
79
|
export type * from '../components/Textarea.vue';
|
|
78
80
|
export type * from '../components/Theme.vue';
|
|
81
|
+
export type * from '../components/Timeline.vue';
|
|
79
82
|
export type * from '../components/Toast.vue';
|
|
80
83
|
export type * from '../components/Toggle.vue';
|
|
81
84
|
export type * from '../components/ToggleGroup.vue';
|
|
82
85
|
export type * from '../components/Tooltip.vue';
|
|
83
86
|
export type * from '../components/Tree.vue';
|
|
84
87
|
export type { UseCommandPaletteReturn } from '../composables/use-command-palette.js';
|
|
88
|
+
export type { UseConfirmOptions, UseConfirmReturn } from '../composables/use-confirm.js';
|
|
85
89
|
export type { UseDrawerOpenOptions, UseDrawerReturn } from '../composables/use-drawer.js';
|
|
86
90
|
export type { UseModalOpenOptions, UseModalReturn } from '../composables/use-modal.js';
|
|
87
91
|
export type { UseSlideoverOpenOptions, UseSlideoverReturn } from '../composables/use-slideover.js';
|
|
88
|
-
export type { TableColumnDef, TableColumnVisibilityState, TableExpandedState, TableGetRowId, TableRowSelectionState, TableSortingState } from '../composables/use-table.js';
|
|
92
|
+
export type { TableColumnDef, TableColumnVisibilityState, TableExpandedState, TableGetRowId, TableGetSubRows, TableRowSelectionState, TableSortingState } from '../composables/use-table.js';
|
|
89
93
|
export type { ToastOptions, UseToastReturn } from '../composables/use-toast.js';
|
|
90
94
|
export type { ThemeComponentRegistry, ThemeConfiguration, ThemeDefaults, ThemeUiOverrides } from '../theme-config.js';
|
|
95
|
+
export type { ArrowConfig, RoundedArrowConfig } from '../utils/arrow.js';
|
|
91
96
|
export type { AutocompleteValue } from '../utils/autocomplete-contracts.js';
|
|
92
97
|
export type { BuiltinColorName, ColorRecipe, ColorRecipeInput, ColorRole, RuntimeColorOverrides, RuntimeThemeMode, RuntimeTokenOverrides } from '../utils/color-registry.js';
|
|
93
98
|
export type { FunctionalTokenOverrides, GeometryTokenOverrides, ThemeTokenOverrides } from '../utils/functional-tokens.js';
|
|
@@ -95,6 +100,9 @@ export type { IconRegistry } from '../utils/icons.js';
|
|
|
95
100
|
export { defaultIcons } from '../utils/icons.js';
|
|
96
101
|
export type { MessageRegistry } from '../utils/messages.js';
|
|
97
102
|
export { defaultMessages } from '../utils/messages.js';
|
|
98
|
-
export type {
|
|
103
|
+
export type { NavigationMenuItem } from '../utils/navigation-menu.js';
|
|
104
|
+
export type { ContextMenuPositioning, OverlayPortal, OverlayPositioning } from '../utils/overlay.js';
|
|
105
|
+
export type { SelectGroup, SelectIdentity, SelectModel, SelectModelValue, SelectResolvedOption, SelectValue } from '../utils/select-contracts.js';
|
|
99
106
|
export type { TableEmits, TableProps, TableSlots } from '../utils/table-contracts.js';
|
|
107
|
+
export type { TimelineItem, TimelineProps, TimelineSlotProps, TimelineSlots } from '../utils/timeline-contracts.js';
|
|
100
108
|
export type { SelarasRuntimeConfig } from './app-config.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Dimensions and edge clearance for a positioned pointer arrow. */
|
|
2
|
+
export interface ArrowConfig {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
/** Minimum distance between the arrow and the content's corners, in pixels. */
|
|
6
|
+
padding?: number;
|
|
7
|
+
}
|
|
8
|
+
/** Reka's positioned SVG arrows also support a rounded tip. */
|
|
9
|
+
export interface RoundedArrowConfig extends ArrowConfig {
|
|
10
|
+
rounded?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function arrowElementProps(arrow: boolean | RoundedArrowConfig | undefined): {
|
|
13
|
+
rounded?: boolean;
|
|
14
|
+
width?: number;
|
|
15
|
+
height?: number;
|
|
16
|
+
};
|
|
17
|
+
export declare function arrowContentProps(arrow: boolean | ArrowConfig | undefined): {
|
|
18
|
+
arrowPadding?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
arrowPadding: number;
|
|
21
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function arrowElementProps(arrow) {
|
|
2
|
+
if (typeof arrow !== "object")
|
|
3
|
+
return {};
|
|
4
|
+
const { padding: _padding, ...props } = arrow;
|
|
5
|
+
return props;
|
|
6
|
+
}
|
|
7
|
+
export function arrowContentProps(arrow) {
|
|
8
|
+
const padding = typeof arrow === "object" ? arrow.padding : void 0;
|
|
9
|
+
return padding === void 0 ? {} : { arrowPadding: padding };
|
|
10
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SelectIdentity, SelectModel, SelectProps, SelectSlots, SelectValue } from './select-contracts.js';
|
|
1
|
+
import type { SelectEntry, SelectIdentity, SelectModel, SelectProps, SelectSlots, SelectValue } from './select-contracts.js';
|
|
2
2
|
export type AutocompleteValue<Entry, Key extends string = 'value', Forced extends boolean = false> = Forced extends true ? SelectIdentity<Entry, Key> : SelectIdentity<Entry, Key> | string;
|
|
3
|
-
export interface AutocompleteProps<Entry extends
|
|
3
|
+
export interface AutocompleteProps<Entry extends SelectEntry = {
|
|
4
4
|
value: SelectValue;
|
|
5
5
|
label?: string;
|
|
6
6
|
disabled?: boolean;
|
|
@@ -13,7 +13,7 @@ export interface AutocompleteProps<Entry extends object = {
|
|
|
13
13
|
/** Blocks unmatched free-text commits; does not require async option membership. */
|
|
14
14
|
forceSelection?: Forced;
|
|
15
15
|
}
|
|
16
|
-
export interface AutocompleteEmits<Entry extends
|
|
16
|
+
export interface AutocompleteEmits<Entry extends SelectEntry = {
|
|
17
17
|
value: SelectValue;
|
|
18
18
|
}, Key extends string = 'value', Multiple extends boolean = false, Forced extends boolean = false> {
|
|
19
19
|
'update:open': [value: boolean];
|
|
@@ -21,4 +21,4 @@ export interface AutocompleteEmits<Entry extends object = {
|
|
|
21
21
|
'update:searchTerm': [value: string];
|
|
22
22
|
}
|
|
23
23
|
/** Autocomplete's editable input has no value or filter-icon slot. */
|
|
24
|
-
export type AutocompleteSlots<Entry extends
|
|
24
|
+
export type AutocompleteSlots<Entry extends SelectEntry> = Omit<SelectSlots<Entry>, 'value' | 'filter-icon'>;
|