@pzerelles/headlessui-svelte 2.1.2-next.3 → 2.1.2-next.30
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/dist/button/Button.svelte +1 -1
- package/dist/button/Button.svelte.d.ts +9 -11
- package/dist/checkbox/Checkbox.svelte +4 -4
- package/dist/checkbox/Checkbox.svelte.d.ts +10 -14
- package/dist/close-button/CloseButton.svelte.d.ts +16 -18
- package/dist/data-interactive/DataInteractive.svelte.d.ts +8 -11
- package/dist/description/Description.svelte +19 -14
- package/dist/description/Description.svelte.d.ts +9 -11
- package/dist/description/context.svelte.js +14 -16
- package/dist/dialog/Dialog.svelte +245 -17
- package/dist/dialog/Dialog.svelte.d.ts +12 -14
- package/dist/dialog/DialogBackdrop.svelte +1 -1
- package/dist/dialog/DialogBackdrop.svelte.d.ts +9 -11
- package/dist/dialog/DialogPanel.svelte +1 -2
- package/dist/dialog/DialogPanel.svelte.d.ts +9 -11
- package/dist/dialog/DialogTitle.svelte.d.ts +8 -10
- package/dist/dialog/context.svelte.js +1 -1
- package/dist/field/Field.svelte +24 -12
- package/dist/field/Field.svelte.d.ts +9 -11
- package/dist/fieldset/Fieldset.svelte +1 -1
- package/dist/fieldset/Fieldset.svelte.d.ts +9 -11
- package/dist/focus-trap/FocusTrap.svelte +7 -14
- package/dist/focus-trap/FocusTrap.svelte.d.ts +11 -25
- package/dist/focus-trap/FocusTrapFeatures.d.ts +14 -0
- package/dist/focus-trap/FocusTrapFeatures.js +15 -0
- package/dist/hooks/use-controllable.svelte.js +2 -1
- package/dist/hooks/use-did-element-move.svelte.js +5 -10
- package/dist/hooks/use-disabled.d.ts +6 -1
- package/dist/hooks/use-disabled.js +10 -5
- package/dist/hooks/use-event-listener.svelte.d.ts +1 -1
- package/dist/hooks/use-event-listener.svelte.js +3 -1
- package/dist/hooks/use-root-containers.svelte.d.ts +2 -2
- package/dist/hooks/use-root-containers.svelte.js +5 -5
- package/dist/hooks/use-tab-direction.svelte.js +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/input/Input.svelte +3 -3
- package/dist/input/Input.svelte.d.ts +10 -14
- package/dist/internal/FloatingProvider.svelte +12 -0
- package/dist/internal/FloatingProvider.svelte.d.ts +6 -0
- package/dist/internal/FocusSentinel.svelte.d.ts +2 -18
- package/dist/internal/ForcePortalRoot.svelte.d.ts +2 -18
- package/dist/internal/FormFields.svelte +22 -19
- package/dist/internal/FormFields.svelte.d.ts +2 -18
- package/dist/internal/FormFieldsProvider.svelte +13 -0
- package/dist/internal/FormFieldsProvider.svelte.d.ts +5 -0
- package/dist/internal/FormResolver.svelte.d.ts +2 -18
- package/dist/internal/Hidden.svelte +18 -8
- package/dist/internal/Hidden.svelte.d.ts +11 -16
- package/dist/internal/HiddenFeatures.d.ts +5 -0
- package/dist/internal/HiddenFeatures.js +9 -0
- package/dist/internal/MainTreeProvider.svelte.d.ts +2 -18
- package/dist/internal/Portal.svelte.d.ts +2 -18
- package/dist/internal/floating-provider.svelte.d.ts +3 -0
- package/dist/internal/floating-provider.svelte.js +206 -0
- package/dist/internal/floating.svelte.d.ts +48 -23
- package/dist/internal/floating.svelte.js +91 -272
- package/dist/internal/form-fields.svelte.d.ts +10 -0
- package/dist/internal/form-fields.svelte.js +23 -0
- package/dist/label/Label.svelte +6 -5
- package/dist/label/Label.svelte.d.ts +9 -11
- package/dist/label/context.svelte.js +1 -1
- package/dist/legend/Legend.svelte +2 -2
- package/dist/legend/Legend.svelte.d.ts +4 -32
- package/dist/listbox/Listbox.svelte +47 -68
- package/dist/listbox/Listbox.svelte.d.ts +18 -80
- package/dist/listbox/ListboxButton.svelte +10 -10
- package/dist/listbox/ListboxButton.svelte.d.ts +10 -15
- package/dist/listbox/ListboxOption.svelte +10 -6
- package/dist/listbox/ListboxOption.svelte.d.ts +9 -12
- package/dist/listbox/ListboxOptions.svelte +108 -54
- package/dist/listbox/ListboxOptions.svelte.d.ts +9 -12
- package/dist/listbox/ListboxSelectedOption.svelte +2 -4
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +14 -16
- package/dist/listbox/context.svelte.d.ts +76 -0
- package/dist/listbox/context.svelte.js +36 -0
- package/dist/listbox/index.d.ts +4 -4
- package/dist/listbox/index.js +1 -1
- package/dist/menu/Menu.svelte +9 -187
- package/dist/menu/Menu.svelte.d.ts +9 -12
- package/dist/menu/MenuButton.svelte +4 -2
- package/dist/menu/MenuButton.svelte.d.ts +9 -12
- package/dist/menu/MenuHeading.svelte.d.ts +9 -12
- package/dist/menu/MenuItem.svelte.d.ts +11 -16
- package/dist/menu/MenuItems.svelte +15 -11
- package/dist/menu/MenuItems.svelte.d.ts +9 -12
- package/dist/menu/MenuSection.svelte.d.ts +8 -11
- package/dist/menu/MenuSeparator.svelte.d.ts +8 -12
- package/dist/menu/context.svelte.d.ts +2 -1
- package/dist/menu/context.svelte.js +212 -2
- package/dist/menu/index.d.ts +7 -7
- package/dist/popover/Popover.svelte +161 -0
- package/dist/popover/Popover.svelte.d.ts +39 -0
- package/dist/popover/PopoverBackdrop.svelte +56 -0
- package/dist/popover/PopoverBackdrop.svelte.d.ts +43 -0
- package/dist/popover/PopoverButton.svelte +246 -0
- package/dist/popover/PopoverButton.svelte.d.ts +42 -0
- package/dist/popover/PopoverGroup.svelte +43 -0
- package/dist/popover/PopoverGroup.svelte.d.ts +31 -0
- package/dist/popover/PopoverPanel.svelte +274 -0
- package/dist/popover/PopoverPanel.svelte.d.ts +51 -0
- package/dist/popover/context.svelte.d.ts +51 -0
- package/dist/popover/context.svelte.js +108 -0
- package/dist/popover/index.d.ts +5 -0
- package/dist/popover/index.js +5 -0
- package/dist/portal/InternalPortal.svelte.d.ts +9 -11
- package/dist/portal/Portal.svelte.d.ts +2 -6
- package/dist/portal/PortalGroup.svelte.d.ts +9 -11
- package/dist/select/Select.svelte +74 -0
- package/dist/select/Select.svelte.d.ts +46 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.js +1 -0
- package/dist/switch/Switch.svelte +30 -20
- package/dist/switch/Switch.svelte.d.ts +10 -12
- package/dist/switch/SwitchGroup.svelte.d.ts +8 -10
- package/dist/tabs/Tab.svelte +8 -9
- package/dist/tabs/Tab.svelte.d.ts +9 -11
- package/dist/tabs/TabGroup.svelte +27 -190
- package/dist/tabs/TabGroup.svelte.d.ts +9 -31
- package/dist/tabs/TabList.svelte +4 -4
- package/dist/tabs/TabList.svelte.d.ts +8 -10
- package/dist/tabs/TabPanel.svelte +4 -5
- package/dist/tabs/TabPanel.svelte.d.ts +9 -11
- package/dist/tabs/TabPanels.svelte +3 -3
- package/dist/tabs/TabPanels.svelte.d.ts +8 -10
- package/dist/tabs/context.svelte.d.ts +31 -0
- package/dist/tabs/context.svelte.js +134 -0
- package/dist/textarea/Textarea.svelte +4 -4
- package/dist/textarea/Textarea.svelte.d.ts +21 -20
- package/dist/transition/InternalTransitionChild.svelte.d.ts +9 -11
- package/dist/transition/Transition.svelte.d.ts +9 -11
- package/dist/transition/TransitionChild.svelte.d.ts +9 -11
- package/dist/transition/context.svelte.js +2 -2
- package/dist/utils/DisabledProvider.svelte +6 -0
- package/dist/utils/DisabledProvider.svelte.d.ts +6 -0
- package/dist/utils/ElementOrComponent.svelte +2 -2
- package/dist/utils/ElementOrComponent.svelte.d.ts +12 -11
- package/dist/utils/Generic.svelte +10 -8
- package/dist/utils/Generic.svelte.d.ts +12 -15
- package/dist/utils/StableCollection.svelte.d.ts +2 -18
- package/dist/utils/alternative-types.d.ts +1 -2
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +17 -0
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte.d.ts +7 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +50 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte.d.ts +25 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloating.svelte.d.ts +6 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloating.svelte.js +158 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloatingRootContext.svelte.d.ts +11 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloatingRootContext.svelte.js +53 -0
- package/dist/utils/floating-ui/svelte/hooks/useId.svelte.d.ts +9 -0
- package/dist/utils/floating-ui/svelte/hooks/useId.svelte.js +28 -0
- package/dist/utils/floating-ui/svelte/hooks/useInteractions.svelte.d.ts +23 -0
- package/dist/utils/floating-ui/svelte/hooks/useInteractions.svelte.js +72 -0
- package/dist/utils/floating-ui/svelte/index.d.ts +5 -0
- package/dist/utils/floating-ui/svelte/index.js +5 -0
- package/dist/utils/floating-ui/svelte/inner.svelte.d.ts +83 -0
- package/dist/utils/floating-ui/svelte/inner.svelte.js +178 -0
- package/dist/utils/floating-ui/svelte/types.d.ts +114 -0
- package/dist/utils/floating-ui/svelte/types.js +1 -0
- package/dist/utils/floating-ui/svelte/utils/createPubSub.d.ts +5 -0
- package/dist/utils/floating-ui/svelte/utils/createPubSub.js +14 -0
- package/dist/utils/floating-ui/svelte/utils/getFloatingFocusElement.d.ts +2 -0
- package/dist/utils/floating-ui/svelte/utils/getFloatingFocusElement.js +13 -0
- package/dist/utils/floating-ui/svelte/utils/log.d.ts +2 -0
- package/dist/utils/floating-ui/svelte/utils/log.js +19 -0
- package/dist/utils/floating-ui/svelte/utils.d.ts +19 -0
- package/dist/utils/floating-ui/svelte/utils.js +136 -0
- package/dist/utils/floating-ui/svelte-dom/arrow.d.ts +22 -0
- package/dist/utils/floating-ui/svelte-dom/arrow.js +29 -0
- package/dist/utils/floating-ui/svelte-dom/index.d.ts +2 -0
- package/dist/utils/floating-ui/svelte-dom/index.js +2 -0
- package/dist/utils/floating-ui/svelte-dom/types.d.ts +80 -0
- package/dist/utils/floating-ui/svelte-dom/types.js +3 -0
- package/dist/utils/floating-ui/svelte-dom/useFloating.svelte.d.ts +6 -0
- package/dist/utils/floating-ui/svelte-dom/useFloating.svelte.js +182 -0
- package/dist/utils/floating-ui/svelte-dom/utils/deepEqual.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/deepEqual.js +50 -0
- package/dist/utils/floating-ui/svelte-dom/utils/getDPR.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/getDPR.js +7 -0
- package/dist/utils/floating-ui/svelte-dom/utils/roundByDPR.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/roundByDPR.js +5 -0
- package/dist/utils/floating-ui/svelte-dom/utils/useLatestRef.d.ts +4 -0
- package/dist/utils/floating-ui/svelte-dom/utils/useLatestRef.js +7 -0
- package/dist/utils/id.d.ts +1 -1
- package/dist/utils/id.js +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/style.d.ts +2 -0
- package/dist/utils/style.js +6 -0
- package/dist/utils/types.d.ts +9 -13
- package/package.json +27 -26
- package/dist/dialog/InternalDialog.svelte +0 -233
- package/dist/dialog/InternalDialog.svelte.d.ts +0 -42
- package/dist/internal/HoistFormFields.svelte +0 -11
- package/dist/internal/HoistFormFields.svelte.d.ts +0 -21
- package/dist/internal/id.d.ts +0 -8
- package/dist/internal/id.js +0 -11
|
@@ -4,51 +4,23 @@ import { useDisabled } from "../hooks/use-disabled.js";
|
|
|
4
4
|
import { calculateActiveIndex, Focus } from "../utils/calculate-active-index.js";
|
|
5
5
|
import { FocusableMode, isFocusableElement, sortByDomNode } from "../utils/focus-management.js";
|
|
6
6
|
import { match } from "../utils/match.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { setContext } from "svelte";
|
|
8
|
+
import { ActivationTrigger, ListboxStates, ValueMode } from "./context.svelte.js";
|
|
9
9
|
let DEFAULT_LISTBOX_TAG = "svelte:fragment";
|
|
10
|
-
export
|
|
11
|
-
ListboxStates2[ListboxStates2["Open"] = 0] = "Open";
|
|
12
|
-
ListboxStates2[ListboxStates2["Closed"] = 1] = "Closed";
|
|
13
|
-
return ListboxStates2;
|
|
14
|
-
})(ListboxStates || {});
|
|
15
|
-
export var ValueMode = /* @__PURE__ */ ((ValueMode2) => {
|
|
16
|
-
ValueMode2[ValueMode2["Single"] = 0] = "Single";
|
|
17
|
-
ValueMode2[ValueMode2["Multi"] = 1] = "Multi";
|
|
18
|
-
return ValueMode2;
|
|
19
|
-
})(ValueMode || {});
|
|
20
|
-
export var ActivationTrigger = /* @__PURE__ */ ((ActivationTrigger2) => {
|
|
21
|
-
ActivationTrigger2[ActivationTrigger2["Pointer"] = 0] = "Pointer";
|
|
22
|
-
ActivationTrigger2[ActivationTrigger2["Other"] = 1] = "Other";
|
|
23
|
-
return ActivationTrigger2;
|
|
24
|
-
})(ActivationTrigger || {});
|
|
25
|
-
export function useActions(component) {
|
|
26
|
-
const context = getContext("ListboxActionsContext");
|
|
27
|
-
if (!context) {
|
|
28
|
-
let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
|
|
29
|
-
if (Error.captureStackTrace) Error.captureStackTrace(err, useActions);
|
|
30
|
-
throw err;
|
|
31
|
-
}
|
|
32
|
-
return context;
|
|
33
|
-
}
|
|
34
|
-
export function useData(component) {
|
|
35
|
-
const context = getContext("ListboxData");
|
|
36
|
-
if (context === null) {
|
|
37
|
-
let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
|
|
38
|
-
if (Error.captureStackTrace) Error.captureStackTrace(err, useData);
|
|
39
|
-
throw err;
|
|
40
|
-
}
|
|
41
|
-
return context;
|
|
42
|
-
}
|
|
10
|
+
export * from "./context.svelte.js";
|
|
43
11
|
</script>
|
|
44
12
|
|
|
45
|
-
<script
|
|
13
|
+
<script
|
|
14
|
+
lang="ts"
|
|
15
|
+
generics="TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, TActualType = TType extends (infer U)[] ? U : TType"
|
|
16
|
+
>import { disposables } from "../utils/disposables.js";
|
|
46
17
|
import FormFields from "../internal/FormFields.svelte";
|
|
47
|
-
import {
|
|
18
|
+
import { useFloatingProvider } from "../internal/floating.svelte.js";
|
|
48
19
|
import { createOpenClosedContext, State } from "../internal/open-closed.js";
|
|
49
20
|
import { useLabels } from "../label/context.svelte.js";
|
|
50
21
|
import { useOutsideClick } from "../hooks/use-outside-click.svelte.js";
|
|
51
22
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
23
|
+
import { SvelteMap } from "svelte/reactivity";
|
|
52
24
|
function adjustOrderedState(state, adjustment = (i) => i) {
|
|
53
25
|
let currentActiveOption = state.activeOptionIndex !== null ? state.options[state.activeOptionIndex] : null;
|
|
54
26
|
let sortedOptions = sortByDomNode(
|
|
@@ -202,11 +174,11 @@ const stateReducer = (initialState) => {
|
|
|
202
174
|
_state2.searchQuery = "";
|
|
203
175
|
return _state2;
|
|
204
176
|
},
|
|
205
|
-
registerOption(
|
|
206
|
-
let option = { id
|
|
177
|
+
registerOption(id, dataRef) {
|
|
178
|
+
let option = { id, dataRef };
|
|
207
179
|
let adjustedState = adjustOrderedState(_state2, (options) => [...options, option]);
|
|
208
180
|
if (_state2.activeOptionIndex === null) {
|
|
209
|
-
if (isSelected(
|
|
181
|
+
if (isSelected(dataRef.current.value)) {
|
|
210
182
|
adjustedState.activeOptionIndex = adjustedState.options.indexOf(option);
|
|
211
183
|
}
|
|
212
184
|
}
|
|
@@ -214,9 +186,9 @@ const stateReducer = (initialState) => {
|
|
|
214
186
|
_state2.activeOptionIndex = adjustedState.activeOptionIndex;
|
|
215
187
|
return _state2;
|
|
216
188
|
},
|
|
217
|
-
unregisterOption(
|
|
189
|
+
unregisterOption(id) {
|
|
218
190
|
let adjustedState = adjustOrderedState(_state2, (options) => {
|
|
219
|
-
let idx = options.findIndex((a) => a.id ===
|
|
191
|
+
let idx = options.findIndex((a) => a.id === id);
|
|
220
192
|
if (idx !== -1) options.splice(idx, 1);
|
|
221
193
|
return options;
|
|
222
194
|
});
|
|
@@ -227,14 +199,9 @@ const stateReducer = (initialState) => {
|
|
|
227
199
|
}
|
|
228
200
|
};
|
|
229
201
|
};
|
|
230
|
-
const listboxActionsContext = null;
|
|
231
|
-
setContext("ListboxActionsContext", listboxActionsContext);
|
|
232
|
-
const listboxDataContext = null;
|
|
233
|
-
setContext("ListboxDataContext", listboxDataContext);
|
|
234
202
|
let {
|
|
235
203
|
ref = $bindable(),
|
|
236
|
-
|
|
237
|
-
value: controlledValue,
|
|
204
|
+
value: controlledValue = $bindable(),
|
|
238
205
|
defaultValue,
|
|
239
206
|
form,
|
|
240
207
|
name,
|
|
@@ -244,16 +211,20 @@ let {
|
|
|
244
211
|
disabled: ownDisabled = false,
|
|
245
212
|
horizontal = false,
|
|
246
213
|
multiple = false,
|
|
214
|
+
closeOnSelect,
|
|
247
215
|
__demoMode = false,
|
|
248
216
|
...theirProps
|
|
249
217
|
} = $props();
|
|
250
218
|
const providedDisabled = useDisabled();
|
|
251
|
-
const disabled = $derived(providedDisabled.
|
|
219
|
+
const disabled = $derived(providedDisabled.current || ownDisabled);
|
|
252
220
|
const orientation = horizontal ? "horizontal" : "vertical";
|
|
253
221
|
const controllable = useControllable(
|
|
254
222
|
{
|
|
255
223
|
get controlledValue() {
|
|
256
224
|
return controlledValue;
|
|
225
|
+
},
|
|
226
|
+
set controlledValue(value2) {
|
|
227
|
+
controlledValue = value2;
|
|
257
228
|
}
|
|
258
229
|
},
|
|
259
230
|
controlledOnChange,
|
|
@@ -269,10 +240,10 @@ const _state = stateReducer({
|
|
|
269
240
|
optionsVisible: false,
|
|
270
241
|
__demoMode
|
|
271
242
|
});
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
const
|
|
243
|
+
const optionsProps = $state({ static: false, hold: false });
|
|
244
|
+
let buttonElement = $state(null);
|
|
245
|
+
let optionsElement = $state(null);
|
|
246
|
+
const listElements = new SvelteMap();
|
|
276
247
|
const compare = useByComparator(by);
|
|
277
248
|
const isSelected = (compareValue) => match(data.mode, {
|
|
278
249
|
[ValueMode.Multi]: () => {
|
|
@@ -316,36 +287,44 @@ const data = {
|
|
|
316
287
|
get orientation() {
|
|
317
288
|
return orientation;
|
|
318
289
|
},
|
|
290
|
+
get closeOnSelect() {
|
|
291
|
+
return closeOnSelect;
|
|
292
|
+
},
|
|
319
293
|
compare,
|
|
320
294
|
isSelected,
|
|
321
|
-
get
|
|
322
|
-
return
|
|
295
|
+
get optionsProps() {
|
|
296
|
+
return optionsProps;
|
|
297
|
+
},
|
|
298
|
+
get buttonElement() {
|
|
299
|
+
return buttonElement;
|
|
300
|
+
},
|
|
301
|
+
set buttonElement(value2) {
|
|
302
|
+
buttonElement = value2;
|
|
323
303
|
},
|
|
324
|
-
get
|
|
325
|
-
return
|
|
304
|
+
get optionsElement() {
|
|
305
|
+
return optionsElement;
|
|
326
306
|
},
|
|
327
|
-
|
|
328
|
-
|
|
307
|
+
set optionsElement(value2) {
|
|
308
|
+
optionsElement = value2;
|
|
329
309
|
},
|
|
330
|
-
get
|
|
331
|
-
return
|
|
310
|
+
get listElements() {
|
|
311
|
+
return listElements;
|
|
332
312
|
}
|
|
333
313
|
};
|
|
334
314
|
setContext("ListboxDataContext", data);
|
|
335
|
-
setContext("ListboxData", data);
|
|
336
315
|
const outsideClickEnabled = $derived(data.listboxState === ListboxStates.Open);
|
|
337
316
|
useOutsideClick({
|
|
338
317
|
get enabled() {
|
|
339
318
|
return outsideClickEnabled;
|
|
340
319
|
},
|
|
341
320
|
get containers() {
|
|
342
|
-
return [data.
|
|
321
|
+
return [data.buttonElement, data.optionsElement];
|
|
343
322
|
},
|
|
344
323
|
cb: (event, target) => {
|
|
345
324
|
_state.closeListbox();
|
|
346
325
|
if (!isFocusableElement(target, FocusableMode.Loose)) {
|
|
347
326
|
event.preventDefault();
|
|
348
|
-
data.
|
|
327
|
+
data.buttonElement?.focus();
|
|
349
328
|
}
|
|
350
329
|
}
|
|
351
330
|
});
|
|
@@ -377,8 +356,8 @@ const goToOption = (focus, id, trigger) => {
|
|
|
377
356
|
});
|
|
378
357
|
};
|
|
379
358
|
const registerOption = (id, dataRef) => {
|
|
380
|
-
_state.registerOption(
|
|
381
|
-
return () => _state.unregisterOption(
|
|
359
|
+
_state.registerOption(id, dataRef);
|
|
360
|
+
return () => _state.unregisterOption(id);
|
|
382
361
|
};
|
|
383
362
|
const onChange = (value2) => {
|
|
384
363
|
return match(data.mode, {
|
|
@@ -408,7 +387,7 @@ setContext("ListboxActionsContext", {
|
|
|
408
387
|
search: _state.search,
|
|
409
388
|
clearSearch: _state.clearSearch
|
|
410
389
|
});
|
|
411
|
-
|
|
390
|
+
useFloatingProvider();
|
|
412
391
|
const openClosed = $derived(
|
|
413
392
|
match(data.listboxState, {
|
|
414
393
|
[ListboxStates.Open]: State.Open,
|
|
@@ -424,7 +403,7 @@ useLabels({
|
|
|
424
403
|
inherit: true,
|
|
425
404
|
props: {
|
|
426
405
|
get htmlFor() {
|
|
427
|
-
return data.
|
|
406
|
+
return data.buttonElement?.id;
|
|
428
407
|
}
|
|
429
408
|
},
|
|
430
409
|
slot: {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { type ByComparator } from "../hooks/use-by-comparator.js";
|
|
2
|
-
import { Focus } from "../utils/calculate-active-index.js";
|
|
3
|
-
import { type MutableRefObject } from "../utils/ref.svelte.js";
|
|
4
2
|
import type { ElementType, Props } from "../utils/types.js";
|
|
5
3
|
import { type Snippet } from "svelte";
|
|
6
4
|
declare let DEFAULT_LISTBOX_TAG: string;
|
|
@@ -21,78 +19,21 @@ export type ListboxProps<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG,
|
|
|
21
19
|
form?: string;
|
|
22
20
|
name?: string;
|
|
23
21
|
multiple?: boolean;
|
|
22
|
+
closeOnSelect?: boolean;
|
|
24
23
|
__demoMode?: boolean;
|
|
25
24
|
}>;
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
Open = 0,
|
|
29
|
-
Closed = 1
|
|
30
|
-
}
|
|
31
|
-
export declare enum ValueMode {
|
|
32
|
-
Single = 0,
|
|
33
|
-
Multi = 1
|
|
34
|
-
}
|
|
35
|
-
export declare enum ActivationTrigger {
|
|
36
|
-
Pointer = 0,
|
|
37
|
-
Other = 1
|
|
38
|
-
}
|
|
39
|
-
export type ListboxOptionDataRef<T> = MutableRefObject<{
|
|
40
|
-
textValue?: string;
|
|
41
|
-
disabled: boolean;
|
|
42
|
-
value: T;
|
|
43
|
-
domRef: MutableRefObject<HTMLElement | null>;
|
|
44
|
-
}>;
|
|
45
|
-
interface StateDefinition<T> {
|
|
46
|
-
listboxState: ListboxStates;
|
|
47
|
-
options: {
|
|
48
|
-
id: string;
|
|
49
|
-
dataRef: ListboxOptionDataRef<T>;
|
|
50
|
-
}[];
|
|
51
|
-
searchQuery: string;
|
|
52
|
-
activeOptionIndex: number | null;
|
|
53
|
-
activationTrigger: ActivationTrigger;
|
|
54
|
-
__demoMode: boolean;
|
|
55
|
-
}
|
|
56
|
-
type ListboxActionsContext = {
|
|
57
|
-
openListbox(): void;
|
|
58
|
-
closeListbox(): void;
|
|
59
|
-
registerOption(id: string, dataRef: ListboxOptionDataRef<unknown>): () => void;
|
|
60
|
-
goToOption(focus: Focus.Specific, id: string, trigger?: ActivationTrigger): void;
|
|
61
|
-
goToOption(focus: Focus, id?: string, trigger?: ActivationTrigger): void;
|
|
62
|
-
selectOption(id: string): void;
|
|
63
|
-
selectActiveOption(): void;
|
|
64
|
-
onChange(value: unknown): void;
|
|
65
|
-
search(query: string): void;
|
|
66
|
-
clearSearch(): void;
|
|
67
|
-
};
|
|
68
|
-
export declare function useActions(component: string): ListboxActionsContext;
|
|
69
|
-
export type ListboxDataContext = {
|
|
70
|
-
value: unknown;
|
|
71
|
-
disabled: boolean;
|
|
72
|
-
invalid: boolean;
|
|
73
|
-
mode: ValueMode;
|
|
74
|
-
orientation: "horizontal" | "vertical";
|
|
75
|
-
activeOptionIndex: number | null;
|
|
76
|
-
compare(a: unknown, z: unknown): boolean;
|
|
77
|
-
isSelected(value: unknown): boolean;
|
|
78
|
-
optionsPropsRef: MutableRefObject<{
|
|
79
|
-
static: boolean;
|
|
80
|
-
hold: boolean;
|
|
81
|
-
}>;
|
|
82
|
-
listRef: MutableRefObject<Map<string, HTMLElement | null>>;
|
|
83
|
-
buttonRef: MutableRefObject<HTMLElement | null>;
|
|
84
|
-
optionsRef: MutableRefObject<HTMLElement | null>;
|
|
85
|
-
} & Omit<StateDefinition<unknown>, "dataRef">;
|
|
86
|
-
export declare function useData(component: string): ListboxDataContext;
|
|
87
|
-
declare class __sveltets_Render<TType, TActualType, TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG> {
|
|
25
|
+
export * from "./context.svelte.js";
|
|
26
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, TActualType = TType extends (infer U)[] ? U : TType> {
|
|
88
27
|
props(): {
|
|
89
28
|
as?: TTag | undefined;
|
|
90
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "form" | ("as" | "children" | "
|
|
91
|
-
children?:
|
|
29
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "form" | ("slot" | "as" | "children" | "class" | "ref") | "invalid" | "disabled" | "value" | "name" | "onchange" | "multiple" | "__demoMode" | "horizontal" | "defaultValue" | "by" | "closeOnSelect"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
30
|
+
children?: Snippet<[{
|
|
31
|
+
slot: ListboxRenderPropArg<TType>;
|
|
32
|
+
props: Record<string, any>;
|
|
33
|
+
}]> | undefined;
|
|
34
|
+
class?: string | ((bag: ListboxRenderPropArg<TType>) => string) | null | undefined;
|
|
92
35
|
ref?: HTMLElement;
|
|
93
|
-
} &
|
|
94
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ListboxRenderPropArg<TType>) => string) | undefined;
|
|
95
|
-
} : {}) & {
|
|
36
|
+
} & {
|
|
96
37
|
value?: TType | undefined;
|
|
97
38
|
defaultValue?: TType | undefined;
|
|
98
39
|
onchange?: ((value: TType) => void) | undefined;
|
|
@@ -103,24 +44,21 @@ declare class __sveltets_Render<TType, TActualType, TTag extends ElementType = t
|
|
|
103
44
|
form?: string;
|
|
104
45
|
name?: string;
|
|
105
46
|
multiple?: boolean;
|
|
47
|
+
closeOnSelect?: boolean;
|
|
106
48
|
__demoMode?: boolean;
|
|
107
49
|
};
|
|
108
|
-
events(): {}
|
|
109
|
-
[evt: string]: CustomEvent<any>;
|
|
110
|
-
};
|
|
50
|
+
events(): {};
|
|
111
51
|
slots(): {};
|
|
112
|
-
bindings(): "ref";
|
|
52
|
+
bindings(): "ref" | "value";
|
|
113
53
|
exports(): {};
|
|
114
54
|
}
|
|
115
55
|
interface $$IsomorphicComponent {
|
|
116
|
-
new <TType, TActualType
|
|
117
|
-
$$bindings?: ReturnType<__sveltets_Render<TType, TActualType
|
|
118
|
-
} & ReturnType<__sveltets_Render<TType, TActualType
|
|
119
|
-
<TType, TActualType
|
|
120
|
-
$$events?: ReturnType<__sveltets_Render<TType, TActualType, TTag>['events']>;
|
|
121
|
-
}): ReturnType<__sveltets_Render<TType, TActualType, TTag>['exports']>;
|
|
56
|
+
new <TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, TActualType = TType extends (infer U)[] ? U : TType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag, TType, TActualType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag, TType, TActualType>['props']>, ReturnType<__sveltets_Render<TTag, TType, TActualType>['events']>, ReturnType<__sveltets_Render<TTag, TType, TActualType>['slots']>> & {
|
|
57
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag, TType, TActualType>['bindings']>;
|
|
58
|
+
} & ReturnType<__sveltets_Render<TTag, TType, TActualType>['exports']>;
|
|
59
|
+
<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, TActualType = TType extends (infer U)[] ? U : TType>(internal: unknown, props: ReturnType<__sveltets_Render<TTag, TType, TActualType>['props']> & {}): ReturnType<__sveltets_Render<TTag, TType, TActualType>['exports']>;
|
|
122
60
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
123
61
|
}
|
|
124
62
|
declare const Listbox: $$IsomorphicComponent;
|
|
125
|
-
type Listbox<TType, TActualType
|
|
63
|
+
type Listbox<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, TActualType = TType extends (infer U)[] ? U : TType> = InstanceType<typeof Listbox<TTag, TType, TActualType>>;
|
|
126
64
|
export default Listbox;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<script lang="ts" module>import { useId } from "../hooks/use-id.js";
|
|
2
|
-
import {
|
|
2
|
+
import { useProvidedId } from "../utils/id.js";
|
|
3
3
|
import { ListboxStates, useActions, useData } from "./Listbox.svelte";
|
|
4
4
|
import { attemptSubmit } from "../utils/form.js";
|
|
5
5
|
import { Focus } from "../utils/calculate-active-index.js";
|
|
6
6
|
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
7
7
|
import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
8
8
|
import { useResolveButtonType } from "../hooks/use-resolve-button-type.svelte.js";
|
|
9
|
-
import {
|
|
9
|
+
import { useFloatingReference, useFloatingReferenceProps } from "../internal/floating.svelte.js";
|
|
10
10
|
import { stateFromSlot } from "../utils/state.js";
|
|
11
11
|
import { useLabelledBy } from "../label/context.svelte.js";
|
|
12
12
|
import { useDescribedBy } from "../description/context.svelte.js";
|
|
@@ -19,18 +19,18 @@ const DEFAULT_BUTTON_TAG = "button";
|
|
|
19
19
|
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_BUTTON_TAG">const data = useData("ListboxButton");
|
|
20
20
|
const actions = useActions("ListboxButton");
|
|
21
21
|
const internalId = useId();
|
|
22
|
-
const providedId =
|
|
22
|
+
const providedId = useProvidedId();
|
|
23
23
|
let {
|
|
24
|
-
as = DEFAULT_BUTTON_TAG,
|
|
25
24
|
ref = $bindable(),
|
|
26
25
|
id = providedId || `headlessui-listbox-button-${internalId}`,
|
|
27
26
|
disabled: ownDisabled = false,
|
|
28
27
|
autofocus = false,
|
|
29
28
|
...theirProps
|
|
30
29
|
} = $props();
|
|
31
|
-
const { setReference
|
|
30
|
+
const { setReference } = useFloatingReference();
|
|
31
|
+
const { getReferenceProps: getFloatingReferenceProps } = useFloatingReferenceProps();
|
|
32
32
|
$effect(() => {
|
|
33
|
-
data.
|
|
33
|
+
data.buttonElement = ref || null;
|
|
34
34
|
setReference(ref);
|
|
35
35
|
});
|
|
36
36
|
const disabled = $derived(data.disabled || ownDisabled);
|
|
@@ -62,7 +62,7 @@ const handleKeyUp = (event) => {
|
|
|
62
62
|
const handleClick = (event) => {
|
|
63
63
|
if (data.listboxState === ListboxStates.Open) {
|
|
64
64
|
actions.closeListbox();
|
|
65
|
-
data.
|
|
65
|
+
data.buttonElement?.focus({ preventScroll: true });
|
|
66
66
|
} else {
|
|
67
67
|
event.preventDefault();
|
|
68
68
|
actions.openListbox();
|
|
@@ -104,10 +104,10 @@ const slot = $derived({
|
|
|
104
104
|
});
|
|
105
105
|
const buttonType = useResolveButtonType({
|
|
106
106
|
get props() {
|
|
107
|
-
return { type: theirProps.type, as };
|
|
107
|
+
return { type: theirProps.type, as: theirProps.as };
|
|
108
108
|
},
|
|
109
109
|
get ref() {
|
|
110
|
-
return data.
|
|
110
|
+
return { current: data.buttonElement };
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
const ourProps = $derived(
|
|
@@ -117,7 +117,7 @@ const ourProps = $derived(
|
|
|
117
117
|
id,
|
|
118
118
|
type: buttonType.type,
|
|
119
119
|
"aria-haspopup": "listbox",
|
|
120
|
-
"aria-controls": data.
|
|
120
|
+
"aria-controls": data.optionsElement?.id,
|
|
121
121
|
"aria-expanded": data.listboxState === ListboxStates.Open,
|
|
122
122
|
"aria-labelledby": labelledBy.value,
|
|
123
123
|
"aria-describedby": describedBy.value,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
1
|
+
import type { ElementType, Props, PropsOf } from "../utils/types.js";
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
3
|
declare const DEFAULT_BUTTON_TAG: "button";
|
|
4
4
|
type ButtonRenderPropArg = {
|
|
@@ -13,27 +13,24 @@ type ButtonRenderPropArg = {
|
|
|
13
13
|
};
|
|
14
14
|
type ButtonPropsWeControl = "aria-controls" | "aria-expanded" | "aria-haspopup" | "aria-labelledby" | "disabled";
|
|
15
15
|
export type ListboxButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = Props<TTag, ButtonRenderPropArg, ButtonPropsWeControl, {
|
|
16
|
-
id?: string;
|
|
17
16
|
autofocus?: boolean;
|
|
18
17
|
disabled?: boolean;
|
|
19
18
|
}>;
|
|
20
|
-
export type ListboxButtonChildren = Snippet<[ButtonRenderPropArg]>;
|
|
21
19
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> {
|
|
22
20
|
props(): {
|
|
23
21
|
as?: TTag | undefined;
|
|
24
|
-
} & (Exclude<keyof
|
|
25
|
-
children?:
|
|
22
|
+
} & (Exclude<keyof PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "autofocus" | ButtonPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
23
|
+
children?: Snippet<[{
|
|
24
|
+
slot: ButtonRenderPropArg;
|
|
25
|
+
props: Record<string, any>;
|
|
26
|
+
}]> | undefined;
|
|
27
|
+
class?: string | ((bag: ButtonRenderPropArg) => string) | null | undefined;
|
|
26
28
|
ref?: HTMLElement;
|
|
27
|
-
} &
|
|
28
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ButtonRenderPropArg) => string) | undefined;
|
|
29
|
-
} : {}) & {
|
|
30
|
-
id?: string;
|
|
29
|
+
} & {
|
|
31
30
|
autofocus?: boolean;
|
|
32
31
|
disabled?: boolean;
|
|
33
32
|
};
|
|
34
|
-
events(): {}
|
|
35
|
-
[evt: string]: CustomEvent<any>;
|
|
36
|
-
};
|
|
33
|
+
events(): {};
|
|
37
34
|
slots(): {};
|
|
38
35
|
bindings(): "ref";
|
|
39
36
|
exports(): {};
|
|
@@ -42,9 +39,7 @@ interface $$IsomorphicComponent {
|
|
|
42
39
|
new <TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag>['props']>, ReturnType<__sveltets_Render<TTag>['events']>, ReturnType<__sveltets_Render<TTag>['slots']>> & {
|
|
43
40
|
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
44
41
|
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
45
|
-
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
46
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
47
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
42
|
+
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
48
43
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
49
44
|
}
|
|
50
45
|
declare const ListboxButton: $$IsomorphicComponent;
|
|
@@ -18,7 +18,6 @@ import { stateFromSlot } from "../utils/state.js";
|
|
|
18
18
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
19
19
|
const internalId = useId();
|
|
20
20
|
let {
|
|
21
|
-
as = DEFAULT_OPTION_TAG,
|
|
22
21
|
ref = $bindable(),
|
|
23
22
|
id = `headlessui-listbox-option-${internalId}`,
|
|
24
23
|
disabled = false,
|
|
@@ -28,7 +27,8 @@ let {
|
|
|
28
27
|
const usedInSelectedOption = getContext("SelectedOptionContext") === true;
|
|
29
28
|
const data = useData("ListboxOption");
|
|
30
29
|
const actions = useActions("ListboxOption");
|
|
31
|
-
const
|
|
30
|
+
const { activeOptionIndex, options } = $derived(data);
|
|
31
|
+
const active = $derived(activeOptionIndex !== null ? options[activeOptionIndex].id === id : false);
|
|
32
32
|
const selected = $derived(data.isSelected(value));
|
|
33
33
|
const getTextValue = useTextValue({
|
|
34
34
|
get element() {
|
|
@@ -44,11 +44,15 @@ const bag = $derived({
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
$effect(() => {
|
|
47
|
+
if (usedInSelectedOption) return;
|
|
47
48
|
if (!ref) {
|
|
48
|
-
data.
|
|
49
|
+
data.listElements.delete(id);
|
|
49
50
|
} else {
|
|
50
|
-
data.
|
|
51
|
+
data.listElements.set(id, ref);
|
|
51
52
|
}
|
|
53
|
+
return () => {
|
|
54
|
+
if (ref) data.listElements.delete(id);
|
|
55
|
+
};
|
|
52
56
|
});
|
|
53
57
|
$effect(() => {
|
|
54
58
|
if (data.__demoMode) return;
|
|
@@ -71,9 +75,9 @@ onMount(() => {
|
|
|
71
75
|
const handleClick = (event) => {
|
|
72
76
|
if (disabled) return event.preventDefault();
|
|
73
77
|
actions.onChange(value);
|
|
74
|
-
if (data.mode === ValueMode.Single) {
|
|
78
|
+
if (data.closeOnSelect === true || data.closeOnSelect === void 0 && data.mode === ValueMode.Single) {
|
|
75
79
|
actions.closeListbox();
|
|
76
|
-
data.
|
|
80
|
+
data.buttonElement?.focus({ preventScroll: true });
|
|
77
81
|
}
|
|
78
82
|
};
|
|
79
83
|
const handleFocus = () => {
|
|
@@ -14,24 +14,23 @@ export type ListboxOptionProps<TTag extends ElementType = typeof DEFAULT_OPTION_
|
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
value: TType;
|
|
16
16
|
}>;
|
|
17
|
-
export type ListboxOptionChildren = Snippet<[OptionRenderPropArg]>;
|
|
18
17
|
import { type Snippet } from "svelte";
|
|
19
18
|
declare class __sveltets_Render<TType, TTag extends ElementType = typeof DEFAULT_OPTION_TAG> {
|
|
20
19
|
props(): {
|
|
21
20
|
as?: TTag | undefined;
|
|
22
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "
|
|
23
|
-
children?:
|
|
21
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "disabled" | "value" | "id" | OptionPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
22
|
+
children?: Snippet<[{
|
|
23
|
+
slot: OptionRenderPropArg;
|
|
24
|
+
props: Record<string, any>;
|
|
25
|
+
}]> | undefined;
|
|
26
|
+
class?: string | ((bag: OptionRenderPropArg) => string) | null | undefined;
|
|
24
27
|
ref?: HTMLElement;
|
|
25
|
-
} &
|
|
26
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: OptionRenderPropArg) => string) | undefined;
|
|
27
|
-
} : {}) & {
|
|
28
|
+
} & {
|
|
28
29
|
id?: string;
|
|
29
30
|
disabled?: boolean;
|
|
30
31
|
value: TType;
|
|
31
32
|
};
|
|
32
|
-
events(): {}
|
|
33
|
-
[evt: string]: CustomEvent<any>;
|
|
34
|
-
};
|
|
33
|
+
events(): {};
|
|
35
34
|
slots(): {};
|
|
36
35
|
bindings(): "ref";
|
|
37
36
|
exports(): {};
|
|
@@ -40,9 +39,7 @@ interface $$IsomorphicComponent {
|
|
|
40
39
|
new <TType, TTag extends ElementType = typeof DEFAULT_OPTION_TAG>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TType, TTag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TType, TTag>['props']>, ReturnType<__sveltets_Render<TType, TTag>['events']>, ReturnType<__sveltets_Render<TType, TTag>['slots']>> & {
|
|
41
40
|
$$bindings?: ReturnType<__sveltets_Render<TType, TTag>['bindings']>;
|
|
42
41
|
} & ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
43
|
-
<TType, TTag extends ElementType = typeof DEFAULT_OPTION_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TTag>['props']> & {
|
|
44
|
-
$$events?: ReturnType<__sveltets_Render<TType, TTag>['events']>;
|
|
45
|
-
}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
42
|
+
<TType, TTag extends ElementType = typeof DEFAULT_OPTION_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TTag>['props']> & {}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
46
43
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
47
44
|
}
|
|
48
45
|
declare const ListboxOption: $$IsomorphicComponent;
|