@pzerelles/headlessui-svelte 2.1.2-next.5 → 2.1.2-next.50
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 +16 -19
- package/dist/button/Button.svelte.d.ts +8 -36
- package/dist/button/index.d.ts +1 -1
- package/dist/button/index.js +1 -1
- package/dist/checkbox/Checkbox.svelte +31 -27
- package/dist/checkbox/Checkbox.svelte.d.ts +17 -38
- package/dist/checkbox/index.d.ts +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/close-button/CloseButton.svelte +4 -7
- package/dist/close-button/CloseButton.svelte.d.ts +3 -46
- package/dist/close-button/index.d.ts +1 -0
- package/dist/close-button/index.js +1 -0
- package/dist/data-interactive/DataInteractive.svelte +6 -22
- package/dist/data-interactive/DataInteractive.svelte.d.ts +9 -34
- package/dist/data-interactive/index.d.ts +1 -1
- package/dist/data-interactive/index.js +1 -1
- package/dist/description/Description.svelte +29 -24
- package/dist/description/Description.svelte.d.ts +9 -30
- package/dist/description/context.svelte.js +14 -16
- package/dist/description/index.d.ts +1 -1
- package/dist/dialog/Dialog.svelte +315 -31
- package/dist/dialog/Dialog.svelte.d.ts +7 -45
- package/dist/dialog/DialogBackdrop.svelte +11 -14
- package/dist/dialog/DialogBackdrop.svelte.d.ts +8 -33
- package/dist/dialog/DialogPanel.svelte +23 -19
- package/dist/dialog/DialogPanel.svelte.d.ts +8 -34
- package/dist/dialog/DialogTitle.svelte +17 -8
- package/dist/dialog/DialogTitle.svelte.d.ts +9 -30
- package/dist/dialog/context.svelte.js +2 -2
- package/dist/dialog/index.d.ts +4 -4
- package/dist/dialog/index.js +4 -4
- package/dist/disclosure/Disclosure.svelte +61 -0
- package/dist/disclosure/Disclosure.svelte.d.ts +14 -0
- package/dist/disclosure/DisclosureButton.svelte +191 -0
- package/dist/disclosure/DisclosureButton.svelte.d.ts +19 -0
- package/dist/disclosure/DisclosurePanel.svelte +98 -0
- package/dist/disclosure/DisclosurePanel.svelte.d.ts +16 -0
- package/dist/disclosure/context.svelte.d.ts +32 -0
- package/dist/disclosure/context.svelte.js +94 -0
- package/dist/disclosure/index.d.ts +3 -0
- package/dist/disclosure/index.js +3 -0
- package/dist/field/Field.svelte +27 -26
- package/dist/field/Field.svelte.d.ts +7 -34
- package/dist/field/index.d.ts +1 -1
- package/dist/fieldset/Fieldset.svelte +21 -20
- package/dist/fieldset/Fieldset.svelte.d.ts +8 -35
- package/dist/fieldset/index.d.ts +1 -1
- package/dist/focus-trap/FocusTrap.svelte +29 -36
- package/dist/focus-trap/FocusTrap.svelte.d.ts +8 -38
- package/dist/hooks/use-controllable.svelte.js +3 -2
- 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-element-size.svelte.js +1 -1
- 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-focus-ring.svelte.js +1 -1
- package/dist/hooks/use-inert-others.svelte.js +10 -10
- package/dist/hooks/use-is-top-layer.svelte.js +2 -2
- package/dist/hooks/use-resolve-button-type.svelte.js +0 -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/hooks/use-transition.svelte.js +2 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/input/Input.svelte +28 -21
- package/dist/input/Input.svelte.d.ts +16 -33
- package/dist/input/index.d.ts +1 -1
- package/dist/input/index.js +1 -1
- package/dist/internal/FloatingProvider.svelte +17 -0
- package/dist/internal/FloatingProvider.svelte.d.ts +8 -0
- package/dist/internal/FocusSentinel.svelte +33 -32
- package/dist/internal/FocusSentinel.svelte.d.ts +4 -18
- package/dist/internal/ForcePortalRoot.svelte.d.ts +4 -18
- package/dist/internal/FormFields.svelte +18 -13
- package/dist/internal/FormFields.svelte.d.ts +4 -18
- package/dist/internal/FormFieldsProvider.svelte +17 -0
- package/dist/internal/FormFieldsProvider.svelte.d.ts +7 -0
- package/dist/internal/FormResolver.svelte +6 -2
- package/dist/internal/FormResolver.svelte.d.ts +4 -18
- package/dist/internal/Hidden.svelte +10 -10
- package/dist/internal/Hidden.svelte.d.ts +6 -33
- package/dist/internal/MainTreeProvider.svelte +1 -1
- package/dist/internal/MainTreeProvider.svelte.d.ts +4 -18
- package/dist/internal/Portal.svelte.d.ts +4 -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 +46 -22
- package/dist/internal/floating.svelte.js +90 -272
- package/dist/internal/form-fields.svelte.d.ts +10 -0
- package/dist/internal/form-fields.svelte.js +23 -0
- package/dist/internal/frozen.svelte.js +1 -1
- package/dist/label/Label.svelte +17 -13
- package/dist/label/Label.svelte.d.ts +8 -33
- package/dist/label/context.svelte.js +1 -1
- package/dist/label/index.d.ts +1 -1
- package/dist/legend/Legend.svelte +22 -15
- package/dist/legend/Legend.svelte.d.ts +10 -34
- package/dist/listbox/Listbox.svelte +79 -151
- package/dist/listbox/Listbox.svelte.d.ts +16 -91
- package/dist/listbox/ListboxButton.svelte +31 -29
- package/dist/listbox/ListboxButton.svelte.d.ts +8 -38
- package/dist/listbox/ListboxOption.svelte +40 -27
- package/dist/listbox/ListboxOption.svelte.d.ts +16 -32
- package/dist/listbox/ListboxOptions.svelte +126 -72
- package/dist/listbox/ListboxOptions.svelte.d.ts +8 -43
- package/dist/listbox/ListboxSelectedOption.svelte +24 -26
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +14 -39
- package/dist/listbox/context.svelte.d.ts +76 -0
- package/dist/listbox/context.svelte.js +36 -0
- package/dist/listbox/index.d.ts +5 -5
- package/dist/listbox/index.js +4 -4
- package/dist/menu/Menu.svelte +22 -266
- package/dist/menu/Menu.svelte.d.ts +7 -37
- package/dist/menu/MenuButton.svelte +29 -24
- package/dist/menu/MenuButton.svelte.d.ts +8 -39
- package/dist/menu/MenuHeading.svelte +12 -16
- package/dist/menu/MenuHeading.svelte.d.ts +7 -36
- package/dist/menu/MenuItem.svelte +18 -23
- package/dist/menu/MenuItem.svelte.d.ts +9 -39
- package/dist/menu/MenuItems.svelte +33 -34
- package/dist/menu/MenuItems.svelte.d.ts +8 -43
- package/dist/menu/MenuSection.svelte +9 -12
- package/dist/menu/MenuSection.svelte.d.ts +7 -33
- package/dist/menu/MenuSeparator.svelte +9 -12
- package/dist/menu/MenuSeparator.svelte.d.ts +7 -33
- 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/menu/index.js +3 -3
- package/dist/popover/Popover.svelte +228 -0
- package/dist/popover/Popover.svelte.d.ts +15 -0
- package/dist/popover/PopoverBackdrop.svelte +83 -0
- package/dist/popover/PopoverBackdrop.svelte.d.ts +17 -0
- package/dist/popover/PopoverButton.svelte +324 -0
- package/dist/popover/PopoverButton.svelte.d.ts +21 -0
- package/dist/popover/PopoverGroup.svelte +66 -0
- package/dist/popover/PopoverGroup.svelte.d.ts +9 -0
- package/dist/popover/PopoverPanel.svelte +359 -0
- package/dist/popover/PopoverPanel.svelte.d.ts +22 -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 +17 -17
- package/dist/portal/InternalPortal.svelte.d.ts +6 -33
- package/dist/portal/Portal.svelte +7 -6
- package/dist/portal/Portal.svelte.d.ts +3 -22
- package/dist/portal/PortalGroup.svelte +6 -14
- package/dist/portal/PortalGroup.svelte.d.ts +5 -34
- package/dist/radio-group/Radio.svelte +142 -0
- package/dist/radio-group/Radio.svelte.d.ts +35 -0
- package/dist/radio-group/RadioGroup.svelte +222 -0
- package/dist/radio-group/RadioGroup.svelte.d.ts +34 -0
- package/dist/radio-group/RadioOption.svelte +145 -0
- package/dist/radio-group/RadioOption.svelte.d.ts +37 -0
- package/dist/radio-group/contest.svelte.d.ts +30 -0
- package/dist/radio-group/contest.svelte.js +40 -0
- package/dist/radio-group/index.d.ts +3 -0
- package/dist/radio-group/index.js +3 -0
- package/dist/select/Select.svelte +112 -0
- package/dist/select/Select.svelte.d.ts +21 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.js +1 -0
- package/dist/switch/Switch.svelte +27 -28
- package/dist/switch/Switch.svelte.d.ts +9 -42
- package/dist/switch/SwitchGroup.svelte +5 -5
- package/dist/switch/SwitchGroup.svelte.d.ts +8 -30
- package/dist/switch/index.d.ts +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/tabs/Tab.svelte +28 -31
- package/dist/tabs/Tab.svelte.d.ts +8 -36
- package/dist/tabs/TabGroup.svelte +42 -264
- package/dist/tabs/TabGroup.svelte.d.ts +7 -57
- package/dist/tabs/TabList.svelte +13 -16
- package/dist/tabs/TabList.svelte.d.ts +8 -31
- package/dist/tabs/TabPanel.svelte +20 -20
- package/dist/tabs/TabPanel.svelte.d.ts +8 -38
- package/dist/tabs/TabPanels.svelte +11 -9
- package/dist/tabs/TabPanels.svelte.d.ts +8 -30
- package/dist/tabs/context.svelte.d.ts +31 -0
- package/dist/tabs/context.svelte.js +134 -0
- package/dist/tabs/index.d.ts +5 -5
- package/dist/tabs/index.js +4 -4
- package/dist/textarea/Textarea.svelte +24 -20
- package/dist/textarea/Textarea.svelte.d.ts +18 -30
- package/dist/textarea/index.d.ts +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/transition/InternalTransitionChild.svelte +36 -22
- package/dist/transition/InternalTransitionChild.svelte.d.ts +6 -37
- package/dist/transition/Transition.svelte +16 -17
- package/dist/transition/Transition.svelte.d.ts +8 -38
- package/dist/transition/TransitionChild.svelte +13 -12
- package/dist/transition/TransitionChild.svelte.d.ts +11 -38
- package/dist/transition/context.svelte.js +11 -11
- package/dist/transition/index.d.ts +2 -2
- package/dist/transition/index.js +2 -2
- package/dist/utils/DisabledProvider.svelte +10 -0
- package/dist/utils/DisabledProvider.svelte.d.ts +8 -0
- package/dist/utils/ElementOrComponent.svelte +58 -17
- package/dist/utils/ElementOrComponent.svelte.d.ts +19 -30
- package/dist/utils/StableCollection.svelte.d.ts +4 -18
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +32 -0
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte.d.ts +8 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +94 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte.d.ts +26 -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/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 +183 -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/state.js +4 -4
- package/dist/utils/style.d.ts +2 -0
- package/dist/utils/style.js +6 -0
- package/dist/utils/types.d.ts +13 -19
- package/package.json +54 -53
- package/dist/combobox/Combobox.svelte +0 -53
- package/dist/combobox/Combobox.svelte.d.ts +0 -50
- package/dist/dialog/InternalDialog.svelte +0 -294
- package/dist/dialog/InternalDialog.svelte.d.ts +0 -42
- package/dist/internal/HoistFormFields.svelte +0 -14
- package/dist/internal/HoistFormFields.svelte.d.ts +0 -21
- package/dist/internal/id.d.ts +0 -8
- package/dist/internal/id.js +0 -11
- package/dist/listbox/ListboxStates.d.ts +0 -12
- package/dist/listbox/ListboxStates.js +0 -15
- package/dist/utils/Generic.svelte +0 -56
- package/dist/utils/Generic.svelte.d.ts +0 -35
- package/dist/utils/alternative-types.d.ts +0 -21
- /package/dist/utils/{alternative-types.js → floating-ui/svelte/types.js} +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { ElementType, EnsureArray, Props } from "../utils/types.js";
|
|
2
|
-
import type { ByComparator } from "../hooks/use-by-comparator.js";
|
|
3
|
-
declare const DEFAULT_COMBOBOX_TAG: "svelte:fragment";
|
|
4
|
-
type ComboboxRenderPropArg<TValue, TActive = TValue> = {
|
|
5
|
-
open: boolean;
|
|
6
|
-
disabled: boolean;
|
|
7
|
-
activeIndex: number | null;
|
|
8
|
-
activeOption: TActive | null;
|
|
9
|
-
value: TValue;
|
|
10
|
-
};
|
|
11
|
-
export type CheckboxProps<TValue, TMultiple extends boolean | undefined, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG> = Props<TTag, ComboboxRenderPropArg<NoInfer<TValue>>, "value" | "defaultValue" | "multiple" | "onChange" | "by", {
|
|
12
|
-
value?: TMultiple extends true ? EnsureArray<TValue> : TValue;
|
|
13
|
-
defaultValue?: TMultiple extends true ? EnsureArray<NoInfer<TValue>> : NoInfer<TValue>;
|
|
14
|
-
onChange?(value: TMultiple extends true ? EnsureArray<NoInfer<TValue>> : NoInfer<TValue> | null): void;
|
|
15
|
-
by?: ByComparator<TMultiple extends true ? EnsureArray<NoInfer<TValue>>[number] : NoInfer<TValue>>;
|
|
16
|
-
/** @deprecated The `<Combobox />` is now nullable default */
|
|
17
|
-
nullable?: boolean;
|
|
18
|
-
multiple?: TMultiple;
|
|
19
|
-
disabled?: boolean;
|
|
20
|
-
form?: string;
|
|
21
|
-
name?: string;
|
|
22
|
-
immediate?: boolean;
|
|
23
|
-
virtual?: {
|
|
24
|
-
options: NoInfer<TValue>[];
|
|
25
|
-
disabled?: (value: NoInfer<TValue>) => boolean;
|
|
26
|
-
} | null;
|
|
27
|
-
onclose?(): void;
|
|
28
|
-
__demoMode?: boolean;
|
|
29
|
-
}>;
|
|
30
|
-
declare class __sveltets_Render<TType, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG> {
|
|
31
|
-
props(): Record<string, never>;
|
|
32
|
-
events(): {} & {
|
|
33
|
-
[evt: string]: CustomEvent<any>;
|
|
34
|
-
};
|
|
35
|
-
slots(): {};
|
|
36
|
-
bindings(): string;
|
|
37
|
-
exports(): {};
|
|
38
|
-
}
|
|
39
|
-
interface $$IsomorphicComponent {
|
|
40
|
-
new <TType, TTag extends ElementType = typeof DEFAULT_COMBOBOX_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
|
-
$$bindings?: ReturnType<__sveltets_Render<TType, TTag>['bindings']>;
|
|
42
|
-
} & ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
43
|
-
<TType, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG>(internal: unknown, props: {
|
|
44
|
-
$$events?: ReturnType<__sveltets_Render<TType, TTag>['events']>;
|
|
45
|
-
}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
46
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
47
|
-
}
|
|
48
|
-
declare const Combobox: $$IsomorphicComponent;
|
|
49
|
-
type Combobox<TType, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG> = InstanceType<typeof Combobox<TType, TTag>>;
|
|
50
|
-
export default Combobox;
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DIALOG_TAG">
|
|
2
|
-
import { useId } from "../hooks/use-id.js"
|
|
3
|
-
import { useMainTreeNode, useRootContainers } from "../hooks/use-root-containers.svelte.js"
|
|
4
|
-
import { clearOpenClosedContext, State, useOpenClosed } from "../internal/open-closed.js"
|
|
5
|
-
import { useNestedPortals } from "../portal/InternalPortal.svelte"
|
|
6
|
-
import { getOwnerDocument } from "../utils/owner.js"
|
|
7
|
-
import { DEFAULT_DIALOG_TAG, DialogRenderFeatures, type DialogProps, type DialogRenderPropArg } from "./Dialog.svelte"
|
|
8
|
-
import { useInertOthers } from "../hooks/use-inert-others.svelte.js"
|
|
9
|
-
import { useOutsideClick } from "../hooks/use-outside-click.svelte.js"
|
|
10
|
-
import { useEscape } from "../hooks/use-escape.svelte.js"
|
|
11
|
-
import { useScrollLock } from "../hooks/use-scroll-lock.svelte.js"
|
|
12
|
-
import { useOnDisappear } from "../hooks/use-on-disappear.svelte.js"
|
|
13
|
-
import { setContext } from "svelte"
|
|
14
|
-
import { useIsTouchDevice } from "../hooks/use-is-touch-device.svelte.js"
|
|
15
|
-
import FocusTrap, { FocusTrapFeatures } from "../focus-trap/FocusTrap.svelte"
|
|
16
|
-
import Portal from "../portal/Portal.svelte"
|
|
17
|
-
import PortalGroup from "../portal/PortalGroup.svelte"
|
|
18
|
-
import ForcePortalRoot from "../internal/ForcePortalRoot.svelte"
|
|
19
|
-
import { createCloseContext } from "../internal/close-provider.js"
|
|
20
|
-
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
21
|
-
import type { ElementType } from "../utils/types.js"
|
|
22
|
-
import { DialogStates, type DialogContext, type StateDefinition } from "./context.svelte.js"
|
|
23
|
-
import { useDescriptions } from "../description/context.svelte.js"
|
|
24
|
-
|
|
25
|
-
const internalId = useId()
|
|
26
|
-
let {
|
|
27
|
-
ref = $bindable(),
|
|
28
|
-
id = `headlessui-dialog-${internalId}`,
|
|
29
|
-
open: theirOpen,
|
|
30
|
-
onclose,
|
|
31
|
-
initialFocus,
|
|
32
|
-
role: theirRole = "dialog",
|
|
33
|
-
autofocus = true,
|
|
34
|
-
__demoMode = false,
|
|
35
|
-
unmount = false,
|
|
36
|
-
...theirProps
|
|
37
|
-
}: { as?: TTag } & DialogProps<TTag> = $props()
|
|
38
|
-
|
|
39
|
-
let didWarnOnRole = $state(false)
|
|
40
|
-
|
|
41
|
-
const role = $derived.by(() => {
|
|
42
|
-
if (theirRole === "dialog" || theirRole === "alertdialog") {
|
|
43
|
-
return theirRole
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (!didWarnOnRole) {
|
|
47
|
-
didWarnOnRole = true
|
|
48
|
-
console.warn(
|
|
49
|
-
`Invalid role [${theirRole}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`
|
|
50
|
-
)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return "dialog"
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
const usesOpenClosedState = useOpenClosed()
|
|
57
|
-
// Update the `open` prop based on the open closed state
|
|
58
|
-
const open = $derived(
|
|
59
|
-
theirOpen === undefined && usesOpenClosedState !== null
|
|
60
|
-
? (usesOpenClosedState.value & State.Open) === State.Open
|
|
61
|
-
: theirOpen
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
const ownerDocument = $derived(getOwnerDocument(ref))
|
|
65
|
-
|
|
66
|
-
const dialogState = $derived(open ? DialogStates.Open : DialogStates.Closed)
|
|
67
|
-
|
|
68
|
-
let _state = $state({
|
|
69
|
-
titleId: null,
|
|
70
|
-
panelRef: null,
|
|
71
|
-
} as StateDefinition)
|
|
72
|
-
|
|
73
|
-
const close = $derived(() => onclose(false))
|
|
74
|
-
|
|
75
|
-
const setTitleId = (id: string | null) => (_state.titleId = id)
|
|
76
|
-
|
|
77
|
-
const enabled = $derived(dialogState === DialogStates.Open)
|
|
78
|
-
const nestedPortals = useNestedPortals()
|
|
79
|
-
const { portals } = $derived(nestedPortals)
|
|
80
|
-
|
|
81
|
-
// We use this because reading these values during initial render(s)
|
|
82
|
-
// can result in `null` rather then the actual elements
|
|
83
|
-
// This doesn't happen when using certain components like a
|
|
84
|
-
// `<Dialog.Title>` because they cause the parent to re-render
|
|
85
|
-
const defaultContainer: { readonly current: HTMLElement | undefined } = {
|
|
86
|
-
get current() {
|
|
87
|
-
return _state.panelRef ?? ref
|
|
88
|
-
},
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const mainTreeNode = useMainTreeNode()
|
|
92
|
-
let { resolvedContainers: resolvedRootContainers } = $derived(
|
|
93
|
-
useRootContainers({
|
|
94
|
-
get mainTreeNode() {
|
|
95
|
-
return mainTreeNode.node
|
|
96
|
-
},
|
|
97
|
-
get portals() {
|
|
98
|
-
return portals
|
|
99
|
-
},
|
|
100
|
-
get defaultContainers() {
|
|
101
|
-
return defaultContainer.current ? [defaultContainer.current] : []
|
|
102
|
-
},
|
|
103
|
-
})
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
// When the `Dialog` is wrapped in a `Transition` (or another Headless UI component that exposes
|
|
107
|
-
// the OpenClosed state) then we get some information via context about its state. When the
|
|
108
|
-
// `Transition` is about to close, then the `State.Closing` state will be exposed. This allows us
|
|
109
|
-
// to enable/disable certain functionality in the `Dialog` upfront instead of waiting until the
|
|
110
|
-
// `Transition` is done transitioning.
|
|
111
|
-
const isClosing = $derived(
|
|
112
|
-
usesOpenClosedState !== null ? (usesOpenClosedState.value & State.Closing) === State.Closing : false
|
|
113
|
-
)
|
|
114
|
-
|
|
115
|
-
// Ensure other elements can't be interacted with
|
|
116
|
-
const inertOthersEnabled = $derived(__demoMode ? false : isClosing ? false : enabled)
|
|
117
|
-
useInertOthers({
|
|
118
|
-
get enabled() {
|
|
119
|
-
return inertOthersEnabled
|
|
120
|
-
},
|
|
121
|
-
elements: {
|
|
122
|
-
get allowed() {
|
|
123
|
-
return [
|
|
124
|
-
// Allow the headlessui-portal of the Dialog to be interactive. This
|
|
125
|
-
// contains the current dialog and the necessary focus guard elements.
|
|
126
|
-
ref?.closest<HTMLElement>("[data-headlessui-portal]") ?? null,
|
|
127
|
-
]
|
|
128
|
-
},
|
|
129
|
-
get disallowed() {
|
|
130
|
-
return [
|
|
131
|
-
// Disallow the "main" tree root node
|
|
132
|
-
mainTreeNode.node?.closest<HTMLElement>("body > *:not(#headlessui-portal-root)") ?? null,
|
|
133
|
-
]
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
// Close Dialog on outside click
|
|
139
|
-
useOutsideClick({
|
|
140
|
-
get enabled() {
|
|
141
|
-
return enabled
|
|
142
|
-
},
|
|
143
|
-
get containers() {
|
|
144
|
-
return resolvedRootContainers
|
|
145
|
-
},
|
|
146
|
-
cb(event) {
|
|
147
|
-
event.preventDefault()
|
|
148
|
-
close()
|
|
149
|
-
},
|
|
150
|
-
})
|
|
151
|
-
|
|
152
|
-
// Handle `Escape` to close
|
|
153
|
-
useEscape({
|
|
154
|
-
get enabled() {
|
|
155
|
-
return enabled
|
|
156
|
-
},
|
|
157
|
-
get view() {
|
|
158
|
-
return ownerDocument?.defaultView ?? null
|
|
159
|
-
},
|
|
160
|
-
cb(event) {
|
|
161
|
-
event.preventDefault()
|
|
162
|
-
event.stopPropagation()
|
|
163
|
-
|
|
164
|
-
// Ensure that we blur the current activeElement to prevent maintaining
|
|
165
|
-
// focus and potentially scrolling the page to the end (because the Dialog
|
|
166
|
-
// is rendered in a Portal at the end of the document.body and the browser
|
|
167
|
-
// tries to keep the focused element in view)
|
|
168
|
-
//
|
|
169
|
-
// Typically only happens in Safari.
|
|
170
|
-
if (
|
|
171
|
-
document.activeElement &&
|
|
172
|
-
"blur" in document.activeElement &&
|
|
173
|
-
typeof document.activeElement.blur === "function"
|
|
174
|
-
) {
|
|
175
|
-
document.activeElement.blur()
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
close()
|
|
179
|
-
},
|
|
180
|
-
})
|
|
181
|
-
|
|
182
|
-
// Scroll lock
|
|
183
|
-
const scrollLockEnabled = $derived(__demoMode ? false : isClosing ? false : enabled)
|
|
184
|
-
useScrollLock({
|
|
185
|
-
get enabled() {
|
|
186
|
-
return scrollLockEnabled
|
|
187
|
-
},
|
|
188
|
-
get ownerDocument() {
|
|
189
|
-
return ownerDocument
|
|
190
|
-
},
|
|
191
|
-
resolveAllowedContainers() {
|
|
192
|
-
return resolvedRootContainers
|
|
193
|
-
},
|
|
194
|
-
})
|
|
195
|
-
|
|
196
|
-
// Ensure we close the dialog as soon as the dialog itself becomes hidden
|
|
197
|
-
useOnDisappear({
|
|
198
|
-
get enabled() {
|
|
199
|
-
return enabled
|
|
200
|
-
},
|
|
201
|
-
get ref() {
|
|
202
|
-
return ref
|
|
203
|
-
},
|
|
204
|
-
get ondisappear() {
|
|
205
|
-
return close
|
|
206
|
-
},
|
|
207
|
-
})
|
|
208
|
-
|
|
209
|
-
const describedby = useDescriptions()
|
|
210
|
-
|
|
211
|
-
setContext<DialogContext>("DialogContext", {
|
|
212
|
-
get titleId() {
|
|
213
|
-
return _state.titleId
|
|
214
|
-
},
|
|
215
|
-
get panelRef() {
|
|
216
|
-
return _state.panelRef
|
|
217
|
-
},
|
|
218
|
-
get dialogState() {
|
|
219
|
-
return dialogState
|
|
220
|
-
},
|
|
221
|
-
get close() {
|
|
222
|
-
return close
|
|
223
|
-
},
|
|
224
|
-
get unmount() {
|
|
225
|
-
return unmount
|
|
226
|
-
},
|
|
227
|
-
setTitleId,
|
|
228
|
-
})
|
|
229
|
-
|
|
230
|
-
const slot = $derived({ open: dialogState === DialogStates.Open } satisfies DialogRenderPropArg)
|
|
231
|
-
|
|
232
|
-
const ourProps = $derived({
|
|
233
|
-
id,
|
|
234
|
-
role,
|
|
235
|
-
tabIndex: -1,
|
|
236
|
-
"aria-modal": __demoMode ? undefined : dialogState === DialogStates.Open ? true : undefined,
|
|
237
|
-
"aria-labelledby": _state.titleId,
|
|
238
|
-
"aria-describedby": describedby.value,
|
|
239
|
-
unmount,
|
|
240
|
-
})
|
|
241
|
-
|
|
242
|
-
const shouldMoveFocusInside = !useIsTouchDevice().value
|
|
243
|
-
const focusTrapFeatures = $derived.by(() => {
|
|
244
|
-
let focusTrapFeatures = FocusTrapFeatures.None
|
|
245
|
-
|
|
246
|
-
if (enabled && !__demoMode) {
|
|
247
|
-
focusTrapFeatures |= FocusTrapFeatures.RestoreFocus
|
|
248
|
-
focusTrapFeatures |= FocusTrapFeatures.TabLock
|
|
249
|
-
|
|
250
|
-
if (autofocus) {
|
|
251
|
-
focusTrapFeatures |= FocusTrapFeatures.AutoFocus
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
if (shouldMoveFocusInside) {
|
|
255
|
-
focusTrapFeatures |= FocusTrapFeatures.InitialFocus
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
return focusTrapFeatures
|
|
260
|
-
})
|
|
261
|
-
|
|
262
|
-
clearOpenClosedContext()
|
|
263
|
-
createCloseContext({
|
|
264
|
-
get close() {
|
|
265
|
-
return close
|
|
266
|
-
},
|
|
267
|
-
})
|
|
268
|
-
</script>
|
|
269
|
-
|
|
270
|
-
<ForcePortalRoot force={true}>
|
|
271
|
-
<Portal>
|
|
272
|
-
<PortalGroup target={ref ?? null}>
|
|
273
|
-
<ForcePortalRoot force={false}>
|
|
274
|
-
<FocusTrap
|
|
275
|
-
{initialFocus}
|
|
276
|
-
initialFocusFallback={ref}
|
|
277
|
-
containers={resolvedRootContainers}
|
|
278
|
-
features={focusTrapFeatures}
|
|
279
|
-
>
|
|
280
|
-
<ElementOrComponent
|
|
281
|
-
{ourProps}
|
|
282
|
-
{theirProps}
|
|
283
|
-
slots={slot}
|
|
284
|
-
defaultTag={DEFAULT_DIALOG_TAG}
|
|
285
|
-
features={DialogRenderFeatures}
|
|
286
|
-
visible={dialogState === DialogStates.Open}
|
|
287
|
-
name="Dialog"
|
|
288
|
-
bind:ref
|
|
289
|
-
/>
|
|
290
|
-
</FocusTrap>
|
|
291
|
-
</ForcePortalRoot>
|
|
292
|
-
</PortalGroup>
|
|
293
|
-
</Portal>
|
|
294
|
-
</ForcePortalRoot>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_DIALOG_TAG, type DialogRenderPropArg } from "./Dialog.svelte";
|
|
2
|
-
import type { ElementType } from "../utils/types.js";
|
|
3
|
-
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG> {
|
|
4
|
-
props(): {
|
|
5
|
-
as?: TTag | undefined;
|
|
6
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "autofocus" | "unmount" | "static" | "id" | "role" | "onclose" | "initialFocus" | ("aria-describedby" | "aria-labelledby" | "aria-modal") | "open" | "transition" | "__demoMode"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
7
|
-
children?: import("../utils/types.js").Children<DialogRenderPropArg> | undefined;
|
|
8
|
-
ref?: HTMLElement;
|
|
9
|
-
} & (true extends (import("../utils/types.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("../utils/types.js").PropsOf<TTag> ? T_1 extends never ? never : "class" extends infer T_2 ? T_2 extends "class" ? T_2 extends keyof T_1 ? true : never : never : never : never : never) ? {
|
|
10
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: DialogRenderPropArg) => string) | undefined;
|
|
11
|
-
} : {}) & {
|
|
12
|
-
static?: boolean | undefined;
|
|
13
|
-
unmount?: boolean | undefined;
|
|
14
|
-
} & {
|
|
15
|
-
id?: string;
|
|
16
|
-
open?: boolean;
|
|
17
|
-
onclose(value: boolean): void;
|
|
18
|
-
initialFocus?: HTMLElement;
|
|
19
|
-
role?: "dialog" | "alertdialog";
|
|
20
|
-
autofocus?: boolean;
|
|
21
|
-
transition?: boolean;
|
|
22
|
-
__demoMode?: boolean;
|
|
23
|
-
};
|
|
24
|
-
events(): {} & {
|
|
25
|
-
[evt: string]: CustomEvent<any>;
|
|
26
|
-
};
|
|
27
|
-
slots(): {};
|
|
28
|
-
bindings(): "ref";
|
|
29
|
-
exports(): {};
|
|
30
|
-
}
|
|
31
|
-
interface $$IsomorphicComponent {
|
|
32
|
-
new <TTag extends ElementType = typeof DEFAULT_DIALOG_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']>> & {
|
|
33
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
34
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
35
|
-
<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
36
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
37
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
38
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
39
|
-
}
|
|
40
|
-
declare const InternalDialog: $$IsomorphicComponent;
|
|
41
|
-
type InternalDialog<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG> = InstanceType<typeof InternalDialog<TTag>>;
|
|
42
|
-
export default InternalDialog;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { getContext, type Snippet } from "svelte"
|
|
3
|
-
import Portal from "./Portal.svelte"
|
|
4
|
-
|
|
5
|
-
let { children }: { children: Snippet } = $props()
|
|
6
|
-
|
|
7
|
-
const formFieldsContext = getContext<{ target?: HTMLElement }>("FormFieldsContext")
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
{#if !formFieldsContext}
|
|
11
|
-
{@render children()}
|
|
12
|
-
{:else if formFieldsContext.target}
|
|
13
|
-
<Portal target={formFieldsContext.target}>{@render children()}</Portal>
|
|
14
|
-
{/if}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type Snippet } from "svelte";
|
|
2
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
-
$$bindings?: Bindings;
|
|
5
|
-
} & Exports;
|
|
6
|
-
(internal: unknown, props: Props & {
|
|
7
|
-
$$events?: Events;
|
|
8
|
-
$$slots?: Slots;
|
|
9
|
-
}): Exports & {
|
|
10
|
-
$set?: any;
|
|
11
|
-
$on?: any;
|
|
12
|
-
};
|
|
13
|
-
z_$$bindings?: Bindings;
|
|
14
|
-
}
|
|
15
|
-
declare const HoistFormFields: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
-
children: Snippet;
|
|
17
|
-
}, {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
}, {}, {}, "">;
|
|
20
|
-
type HoistFormFields = InstanceType<typeof HoistFormFields>;
|
|
21
|
-
export default HoistFormFields;
|
package/dist/internal/id.d.ts
DELETED
package/dist/internal/id.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export var ListboxStates;
|
|
2
|
-
(function (ListboxStates) {
|
|
3
|
-
ListboxStates[ListboxStates["Open"] = 0] = "Open";
|
|
4
|
-
ListboxStates[ListboxStates["Closed"] = 1] = "Closed";
|
|
5
|
-
})(ListboxStates || (ListboxStates = {}));
|
|
6
|
-
export var ValueMode;
|
|
7
|
-
(function (ValueMode) {
|
|
8
|
-
ValueMode[ValueMode["Single"] = 0] = "Single";
|
|
9
|
-
ValueMode[ValueMode["Multi"] = 1] = "Multi";
|
|
10
|
-
})(ValueMode || (ValueMode = {}));
|
|
11
|
-
export var ActivationTrigger;
|
|
12
|
-
(function (ActivationTrigger) {
|
|
13
|
-
ActivationTrigger[ActivationTrigger["Pointer"] = 0] = "Pointer";
|
|
14
|
-
ActivationTrigger[ActivationTrigger["Other"] = 1] = "Other";
|
|
15
|
-
})(ActivationTrigger || (ActivationTrigger = {}));
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TTag extends keyof SvelteHTMLProps, TSlot, TValue">
|
|
2
|
-
import { stateFromSlot } from "./state.js"
|
|
3
|
-
import type { ElementType, Props, SvelteHTMLProps } from "./types.js"
|
|
4
|
-
|
|
5
|
-
let {
|
|
6
|
-
slot = {} as TSlot,
|
|
7
|
-
tag,
|
|
8
|
-
name,
|
|
9
|
-
ref = $bindable(),
|
|
10
|
-
value = $bindable(),
|
|
11
|
-
checked = $bindable(),
|
|
12
|
-
children,
|
|
13
|
-
as = tag as TTag,
|
|
14
|
-
unmount,
|
|
15
|
-
static: isStatic,
|
|
16
|
-
...props
|
|
17
|
-
}: {
|
|
18
|
-
as?: TTag
|
|
19
|
-
slot: TSlot
|
|
20
|
-
tag: ElementType
|
|
21
|
-
name: string
|
|
22
|
-
ref?: HTMLElement
|
|
23
|
-
value?: TValue
|
|
24
|
-
checked?: boolean
|
|
25
|
-
} & Props<TTag, TSlot> = $props()
|
|
26
|
-
|
|
27
|
-
const resolvedClass = $derived(
|
|
28
|
-
typeof props.class === "function" ? props.class(slot) : (props.class as string | undefined)
|
|
29
|
-
)
|
|
30
|
-
</script>
|
|
31
|
-
|
|
32
|
-
{#if as === "svelte:fragment"}
|
|
33
|
-
{#if children}{@render children(slot, {
|
|
34
|
-
...props,
|
|
35
|
-
...(resolvedClass ? { class: resolvedClass } : {}),
|
|
36
|
-
...stateFromSlot(slot),
|
|
37
|
-
})}{/if}
|
|
38
|
-
{:else if children}
|
|
39
|
-
{#if as === "select"}
|
|
40
|
-
<select bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)} bind:value>
|
|
41
|
-
{@render children(slot, {})}
|
|
42
|
-
</select>
|
|
43
|
-
{:else}
|
|
44
|
-
<svelte:element this={as} bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)}>
|
|
45
|
-
{@render children(slot, {})}
|
|
46
|
-
</svelte:element>
|
|
47
|
-
{/if}
|
|
48
|
-
{:else if as === "input" && props.type === "checkbox"}
|
|
49
|
-
<input type="checkbox" bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)} bind:checked />
|
|
50
|
-
{:else if as === "input"}
|
|
51
|
-
<input bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)} bind:value />
|
|
52
|
-
{:else if as === "textarea"}
|
|
53
|
-
<textarea bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)} bind:value></textarea>
|
|
54
|
-
{:else}
|
|
55
|
-
<svelte:element this={as} bind:this={ref} {...props} class={resolvedClass} {...stateFromSlot(slot)} />
|
|
56
|
-
{/if}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { ElementType, SvelteHTMLProps } from "./types.js";
|
|
2
|
-
declare class __sveltets_Render<TTag extends keyof SvelteHTMLProps, TSlot, TValue> {
|
|
3
|
-
props(): {
|
|
4
|
-
as?: TTag | undefined;
|
|
5
|
-
slot: TSlot;
|
|
6
|
-
tag: ElementType;
|
|
7
|
-
name: string;
|
|
8
|
-
ref?: HTMLElement;
|
|
9
|
-
value?: TValue | undefined;
|
|
10
|
-
checked?: boolean;
|
|
11
|
-
} & (Exclude<keyof import("./types.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("./types.js").PropsOf<TTag> ? { [P in T]: import("./types.js").PropsOf<TTag>[P]; } : never) & {
|
|
12
|
-
children?: import("./types.js").Children<TSlot> | undefined;
|
|
13
|
-
ref?: HTMLElement;
|
|
14
|
-
} & (true extends (import("./types.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("./types.js").PropsOf<TTag> ? T_1 extends never ? never : "class" extends infer T_2 ? T_2 extends "class" ? T_2 extends keyof T_1 ? true : never : never : never : never : never) ? {
|
|
15
|
-
class?: import("./types.js").PropsOf<TTag>["class"] | ((bag: TSlot) => string) | undefined;
|
|
16
|
-
} : {});
|
|
17
|
-
events(): {} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots(): {};
|
|
21
|
-
bindings(): "ref" | "value" | "checked";
|
|
22
|
-
exports(): {};
|
|
23
|
-
}
|
|
24
|
-
interface $$IsomorphicComponent {
|
|
25
|
-
new <TTag extends keyof SvelteHTMLProps, TSlot, TValue>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag, TSlot, TValue>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag, TSlot, TValue>['props']>, ReturnType<__sveltets_Render<TTag, TSlot, TValue>['events']>, ReturnType<__sveltets_Render<TTag, TSlot, TValue>['slots']>> & {
|
|
26
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag, TSlot, TValue>['bindings']>;
|
|
27
|
-
} & ReturnType<__sveltets_Render<TTag, TSlot, TValue>['exports']>;
|
|
28
|
-
<TTag extends keyof SvelteHTMLProps, TSlot, TValue>(internal: unknown, props: ReturnType<__sveltets_Render<TTag, TSlot, TValue>['props']> & {
|
|
29
|
-
$$events?: ReturnType<__sveltets_Render<TTag, TSlot, TValue>['events']>;
|
|
30
|
-
}): ReturnType<__sveltets_Render<TTag, TSlot, TValue>['exports']>;
|
|
31
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
32
|
-
}
|
|
33
|
-
declare const Generic: $$IsomorphicComponent;
|
|
34
|
-
type Generic<TTag extends keyof SvelteHTMLProps, TSlot, TValue> = InstanceType<typeof Generic<TTag, TSlot, TValue>>;
|
|
35
|
-
export default Generic;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from "svelte";
|
|
2
|
-
import type { SvelteHTMLElements } from "svelte/elements";
|
|
3
|
-
export interface SvelteHTMLProps extends SvelteHTMLElements {
|
|
4
|
-
"svelte:fragment": {};
|
|
5
|
-
}
|
|
6
|
-
export type ElementType = keyof SvelteHTMLProps;
|
|
7
|
-
export type Expand<T> = T extends infer O ? {
|
|
8
|
-
[K in keyof O]: O[K];
|
|
9
|
-
} : never;
|
|
10
|
-
export type Children<TSlot> = Snippet | Snippet<[TSlot, Record<string, any>]>;
|
|
11
|
-
type OurProps<TSlot> = {
|
|
12
|
-
children?: Children<TSlot>;
|
|
13
|
-
ref?: HTMLElement;
|
|
14
|
-
class?: string | null | ((bag: TSlot) => string);
|
|
15
|
-
};
|
|
16
|
-
type MergeProps3<T, U, V> = {
|
|
17
|
-
[K in keyof T | keyof U | keyof V]?: K extends keyof V ? V[K] : K extends keyof U ? U[K] : K extends keyof T ? T[K] : never;
|
|
18
|
-
};
|
|
19
|
-
export type Props<TTag extends ElementType, TSlot = {}, TOmittableProps extends PropertyKey = never, Overrides = {}> = MergeProps3<SvelteHTMLProps[TTag], OurProps<TSlot>, Overrides>;
|
|
20
|
-
export type EnsureArray<T> = T extends any[] ? T : Expand<T>[];
|
|
21
|
-
export {};
|
|
File without changes
|