@pzerelles/headlessui-svelte 2.0.0-next.1 → 2.1.2-next.10
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 +61 -0
- package/dist/button/Button.svelte.d.ts +47 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +1 -0
- package/dist/checkbox/Checkbox.svelte +95 -63
- package/dist/checkbox/Checkbox.svelte.d.ts +43 -29
- package/dist/close-button/CloseButton.svelte +11 -0
- package/dist/close-button/CloseButton.svelte.d.ts +48 -0
- package/dist/close-button/index.d.ts +1 -0
- package/dist/close-button/index.js +1 -0
- package/dist/combobox/Combobox.svelte +6 -0
- package/dist/combobox/Combobox.svelte.d.ts +50 -0
- package/dist/data-interactive/DataInteractive.svelte +41 -0
- package/dist/data-interactive/DataInteractive.svelte.d.ts +39 -0
- package/dist/data-interactive/index.d.ts +1 -0
- package/dist/data-interactive/index.js +1 -0
- package/dist/description/Description.svelte +16 -41
- package/dist/description/Description.svelte.d.ts +15 -23
- package/dist/description/context.svelte.d.ts +17 -0
- package/dist/description/context.svelte.js +51 -0
- package/dist/dialog/Dialog.svelte +51 -0
- package/dist/dialog/Dialog.svelte.d.ts +60 -0
- package/dist/dialog/DialogBackdrop.svelte +39 -0
- package/dist/dialog/DialogBackdrop.svelte.d.ts +38 -0
- package/dist/dialog/DialogPanel.svelte +46 -0
- package/dist/dialog/DialogPanel.svelte.d.ts +40 -0
- package/dist/dialog/DialogTitle.svelte +29 -0
- package/dist/dialog/DialogTitle.svelte.d.ts +34 -0
- package/dist/dialog/InternalDialog.svelte +233 -0
- package/dist/dialog/InternalDialog.svelte.d.ts +42 -0
- package/dist/dialog/context.svelte.d.ts +15 -0
- package/dist/dialog/context.svelte.js +16 -0
- package/dist/dialog/index.d.ts +4 -0
- package/dist/dialog/index.js +4 -0
- package/dist/field/Field.svelte +14 -17
- package/dist/field/Field.svelte.d.ts +21 -17
- package/dist/fieldset/Fieldset.svelte +19 -17
- package/dist/fieldset/Fieldset.svelte.d.ts +21 -17
- package/dist/focus-trap/FocusTrap.svelte +325 -0
- package/dist/focus-trap/FocusTrap.svelte.d.ts +46 -0
- package/dist/focus-trap/FocusTrapFeatures.d.ts +14 -0
- package/dist/focus-trap/FocusTrapFeatures.js +15 -0
- package/dist/hooks/document-overflow/adjust-scrollbar-padding.d.ts +2 -0
- package/dist/hooks/document-overflow/adjust-scrollbar-padding.js +18 -0
- package/dist/hooks/document-overflow/handle-ios-locking.d.ts +6 -0
- package/dist/hooks/document-overflow/handle-ios-locking.js +134 -0
- package/dist/hooks/document-overflow/overflow-store.d.ts +19 -0
- package/dist/hooks/document-overflow/overflow-store.js +76 -0
- package/dist/hooks/document-overflow/prevent-scroll.d.ts +2 -0
- package/dist/hooks/document-overflow/prevent-scroll.js +7 -0
- package/dist/hooks/document-overflow/use-document-overflow.svelte.d.ts +7 -0
- package/dist/hooks/document-overflow/use-document-overflow.svelte.js +27 -0
- package/dist/hooks/use-active-press.svelte.d.ts +14 -0
- package/dist/{actions/activePress.svelte.js → hooks/use-active-press.svelte.js} +33 -39
- package/dist/hooks/use-by-comparator.d.ts +2 -0
- package/dist/hooks/use-by-comparator.js +15 -0
- package/dist/hooks/use-controllable.svelte.d.ts +6 -0
- package/dist/hooks/use-controllable.svelte.js +34 -0
- package/dist/hooks/use-did-element-move.svelte.d.ts +6 -0
- package/dist/hooks/use-did-element-move.svelte.js +27 -0
- package/dist/hooks/use-disabled.d.ts +3 -0
- package/dist/hooks/use-disabled.js +9 -0
- package/dist/hooks/use-element-size.svelte.d.ts +7 -0
- package/dist/hooks/use-element-size.svelte.js +36 -0
- package/dist/hooks/use-escape.svelte.d.ts +5 -0
- package/dist/hooks/use-escape.svelte.js +26 -0
- package/dist/hooks/use-event-listener.svelte.d.ts +6 -0
- package/dist/hooks/use-event-listener.svelte.js +12 -0
- package/dist/hooks/use-flags.svelte.d.ts +8 -0
- package/dist/hooks/use-flags.svelte.js +18 -0
- package/dist/hooks/use-focus-ring.svelte.d.ts +10 -0
- package/dist/hooks/use-focus-ring.svelte.js +24 -0
- package/dist/hooks/use-hover.svelte.d.ts +26 -0
- package/dist/hooks/use-hover.svelte.js +124 -0
- package/dist/hooks/use-id.d.ts +1 -0
- package/dist/hooks/use-id.js +1 -0
- package/dist/hooks/use-inert-others.svelte.d.ts +32 -0
- package/dist/hooks/use-inert-others.svelte.js +114 -0
- package/dist/hooks/use-is-mounted.svelte.d.ts +3 -0
- package/dist/hooks/use-is-mounted.svelte.js +14 -0
- package/dist/hooks/use-is-top-layer.svelte.d.ts +29 -0
- package/dist/hooks/use-is-top-layer.svelte.js +82 -0
- package/dist/hooks/use-is-touch-device.svelte.d.ts +3 -0
- package/dist/hooks/use-is-touch-device.svelte.js +20 -0
- package/dist/hooks/use-on-disappear.svelte.d.ts +12 -0
- package/dist/hooks/use-on-disappear.svelte.js +38 -0
- package/dist/hooks/use-outside-click.svelte.d.ts +10 -0
- package/dist/hooks/use-outside-click.svelte.js +150 -0
- package/dist/hooks/use-reducer.d.ts +4 -0
- package/dist/hooks/use-reducer.js +11 -0
- package/dist/hooks/use-resolve-button-type.svelte.d.ts +10 -0
- package/dist/hooks/use-resolve-button-type.svelte.js +19 -0
- package/dist/hooks/use-root-containers.svelte.d.ts +9 -0
- package/dist/hooks/use-root-containers.svelte.js +50 -0
- package/dist/hooks/use-scroll-lock.svelte.d.ts +5 -0
- package/dist/hooks/use-scroll-lock.svelte.js +24 -0
- package/dist/hooks/use-sync-refs.d.ts +7 -0
- package/dist/hooks/use-sync-refs.js +22 -0
- package/dist/hooks/use-tab-direction.svelte.d.ts +7 -0
- package/dist/hooks/use-tab-direction.svelte.js +25 -0
- package/dist/hooks/use-text-value.svelte.d.ts +3 -0
- package/dist/hooks/use-text-value.svelte.js +20 -0
- package/dist/hooks/use-tracked-pointer.d.ts +4 -0
- package/dist/hooks/use-tracked-pointer.js +26 -0
- package/dist/hooks/use-transition.svelte.d.ts +20 -0
- package/dist/hooks/use-transition.svelte.js +253 -0
- package/dist/hooks/use-tree-walker.svelte.d.ts +8 -0
- package/dist/hooks/use-tree-walker.svelte.js +19 -0
- package/dist/hooks/use-watch.svelte.d.ts +4 -0
- package/dist/hooks/use-watch.svelte.js +16 -0
- package/dist/hooks/use-window-event.svelte.d.ts +6 -0
- package/dist/hooks/use-window-event.svelte.js +12 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +14 -0
- package/dist/input/Input.svelte +59 -0
- package/dist/input/Input.svelte.d.ts +50 -0
- package/dist/input/index.d.ts +1 -0
- package/dist/input/index.js +1 -0
- package/dist/internal/FocusSentinel.svelte +45 -0
- package/dist/internal/FocusSentinel.svelte.d.ts +20 -0
- package/dist/internal/ForcePortalRoot.svelte +6 -0
- package/dist/internal/ForcePortalRoot.svelte.d.ts +22 -0
- package/dist/internal/FormFields.svelte +2 -4
- package/dist/internal/FormFields.svelte.d.ts +9 -7
- package/dist/internal/FormResolver.svelte +11 -16
- package/dist/internal/FormResolver.svelte.d.ts +6 -4
- package/dist/internal/Hidden.svelte +6 -14
- package/dist/internal/Hidden.svelte.d.ts +36 -23
- package/dist/internal/HiddenFeatures.d.ts +5 -0
- package/dist/internal/HiddenFeatures.js +9 -0
- package/dist/internal/HoistFormFields.svelte.d.ts +5 -2
- package/dist/internal/MainTreeProvider.svelte +45 -0
- package/dist/internal/MainTreeProvider.svelte.d.ts +31 -0
- package/dist/internal/Portal.svelte.d.ts +5 -2
- package/dist/internal/close-provider.d.ts +7 -0
- package/dist/internal/close-provider.js +7 -0
- package/dist/internal/floating.svelte.d.ts +62 -0
- package/dist/internal/floating.svelte.js +488 -0
- package/dist/internal/frozen.svelte.d.ts +6 -0
- package/dist/internal/frozen.svelte.js +18 -0
- package/dist/internal/open-closed.d.ts +14 -0
- package/dist/internal/open-closed.js +17 -0
- package/dist/internal/portal-force-root.svelte.d.ts +6 -0
- package/dist/internal/portal-force-root.svelte.js +11 -0
- package/dist/label/Label.svelte +22 -49
- package/dist/label/Label.svelte.d.ts +19 -23
- package/dist/label/context.svelte.d.ts +17 -0
- package/dist/label/context.svelte.js +56 -0
- package/dist/legend/Legend.svelte +4 -3
- package/dist/legend/Legend.svelte.d.ts +33 -16
- package/dist/listbox/Listbox.svelte +434 -0
- package/dist/listbox/Listbox.svelte.d.ts +116 -0
- package/dist/listbox/ListboxButton.svelte +138 -0
- package/dist/listbox/ListboxButton.svelte.d.ts +50 -0
- package/dist/listbox/ListboxOption.svelte +135 -0
- package/dist/listbox/ListboxOption.svelte.d.ts +50 -0
- package/dist/listbox/ListboxOptions.svelte +268 -0
- package/dist/listbox/ListboxOptions.svelte.d.ts +55 -0
- package/dist/listbox/ListboxSelectedOption.svelte +33 -0
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +40 -0
- package/dist/listbox/ListboxStates.d.ts +12 -0
- package/dist/listbox/ListboxStates.js +15 -0
- package/dist/listbox/index.d.ts +5 -0
- package/dist/listbox/index.js +5 -0
- package/dist/menu/Menu.svelte +235 -0
- package/dist/menu/Menu.svelte.d.ts +42 -0
- package/dist/menu/MenuButton.svelte +127 -0
- package/dist/menu/MenuButton.svelte.d.ts +52 -0
- package/dist/menu/MenuHeading.svelte +19 -0
- package/dist/menu/MenuHeading.svelte.d.ts +39 -0
- package/dist/menu/MenuItem.svelte +114 -0
- package/dist/menu/MenuItem.svelte.d.ts +49 -0
- package/dist/menu/MenuItems.svelte +244 -0
- package/dist/menu/MenuItems.svelte.d.ts +55 -0
- package/dist/menu/MenuSection.svelte +14 -0
- package/dist/menu/MenuSection.svelte.d.ts +35 -0
- package/dist/menu/MenuSeparator.svelte +9 -0
- package/dist/menu/MenuSeparator.svelte.d.ts +35 -0
- package/dist/menu/context.svelte.d.ts +47 -0
- package/dist/menu/context.svelte.js +21 -0
- package/dist/menu/index.d.ts +7 -0
- package/dist/menu/index.js +7 -0
- package/dist/portal/InternalPortal.svelte +97 -0
- package/dist/portal/InternalPortal.svelte.d.ts +43 -0
- package/dist/portal/Portal.svelte +7 -0
- package/dist/portal/Portal.svelte.d.ts +23 -0
- package/dist/portal/PortalGroup.svelte +14 -0
- package/dist/portal/PortalGroup.svelte.d.ts +40 -0
- package/dist/switch/Switch.svelte +153 -0
- package/dist/switch/Switch.svelte.d.ts +61 -0
- package/dist/switch/SwitchGroup.svelte +37 -0
- package/dist/switch/SwitchGroup.svelte.d.ts +34 -0
- package/dist/switch/index.d.ts +2 -0
- package/dist/switch/index.js +2 -0
- package/dist/tabs/Tab.svelte +156 -0
- package/dist/tabs/Tab.svelte.d.ts +48 -0
- package/dist/tabs/TabGroup.svelte +241 -0
- package/dist/tabs/TabGroup.svelte.d.ts +67 -0
- package/dist/tabs/TabList.svelte +16 -0
- package/dist/tabs/TabList.svelte.d.ts +35 -0
- package/dist/tabs/TabPanel.svelte +61 -0
- package/dist/tabs/TabPanel.svelte.d.ts +47 -0
- package/dist/tabs/TabPanels.svelte +12 -0
- package/dist/tabs/TabPanels.svelte.d.ts +34 -0
- package/dist/tabs/index.d.ts +5 -0
- package/dist/tabs/index.js +5 -0
- package/dist/test-utils/accessability-assertions.d.ts +271 -0
- package/dist/test-utils/accessability-assertions.js +1572 -0
- package/dist/test-utils/fake-pointer.d.ts +24 -0
- package/dist/test-utils/fake-pointer.js +48 -0
- package/dist/test-utils/interactions.d.ts +61 -0
- package/dist/test-utils/interactions.js +453 -0
- package/dist/test-utils/suppress-console-logs.d.ts +7 -0
- package/dist/test-utils/suppress-console-logs.js +17 -0
- package/dist/textarea/Textarea.svelte +67 -0
- package/dist/textarea/Textarea.svelte.d.ts +50 -0
- package/dist/textarea/index.d.ts +1 -0
- package/dist/textarea/index.js +1 -0
- package/dist/transition/InternalTransitionChild.svelte +178 -0
- package/dist/transition/InternalTransitionChild.svelte.d.ts +55 -0
- package/dist/transition/Transition.svelte +89 -0
- package/dist/transition/Transition.svelte.d.ts +42 -0
- package/dist/transition/TransitionChild.svelte +16 -0
- package/dist/transition/TransitionChild.svelte.d.ts +44 -0
- package/dist/transition/context.svelte.d.ts +64 -0
- package/dist/transition/context.svelte.js +120 -0
- package/dist/transition/index.d.ts +2 -0
- package/dist/transition/index.js +2 -0
- package/dist/utils/ElementOrComponent.svelte +26 -0
- package/dist/utils/ElementOrComponent.svelte.d.ts +56 -0
- package/dist/utils/Generic.svelte +44 -0
- package/dist/utils/Generic.svelte.d.ts +35 -0
- package/dist/utils/StableCollection.svelte +43 -0
- package/dist/utils/StableCollection.svelte.d.ts +22 -0
- package/dist/utils/active-element-history.d.ts +1 -0
- package/dist/utils/active-element-history.js +35 -0
- package/dist/utils/alternative-types.d.ts +21 -0
- package/dist/utils/alternative-types.js +1 -0
- package/dist/utils/calculate-active-index.d.ts +25 -0
- package/dist/utils/calculate-active-index.js +74 -0
- package/dist/utils/class-names.d.ts +1 -0
- package/dist/utils/class-names.js +10 -0
- package/dist/utils/default-map.d.ts +5 -0
- package/dist/utils/default-map.js +15 -0
- package/dist/utils/disposables.d.ts +14 -12
- package/dist/utils/disposables.js +13 -10
- package/dist/utils/dom.d.ts +0 -2
- package/dist/utils/dom.js +2 -4
- package/dist/utils/env.d.ts +17 -0
- package/dist/utils/env.js +39 -0
- package/dist/utils/focus-management.d.ts +45 -0
- package/dist/utils/focus-management.js +242 -0
- package/dist/utils/focusVisible.svelte.d.ts +3 -3
- package/dist/utils/focusVisible.svelte.js +52 -41
- package/dist/utils/get-text-value.d.ts +1 -0
- package/dist/utils/get-text-value.js +71 -0
- package/dist/utils/id.d.ts +2 -2
- package/dist/utils/id.js +1 -1
- package/dist/utils/match.d.ts +1 -0
- package/dist/utils/match.js +13 -0
- package/dist/utils/on-document-ready.d.ts +1 -0
- package/dist/utils/on-document-ready.js +12 -0
- package/dist/utils/once.d.ts +1 -0
- package/dist/utils/once.js +9 -0
- package/dist/utils/owner.d.ts +1 -0
- package/dist/utils/owner.js +8 -0
- package/dist/utils/platform.d.ts +2 -0
- package/dist/utils/platform.js +17 -0
- package/dist/utils/ref.svelte.d.ts +4 -0
- package/dist/utils/ref.svelte.js +4 -0
- package/dist/utils/render.d.ts +34 -0
- package/dist/utils/render.js +119 -0
- package/dist/utils/state.d.ts +7 -1
- package/dist/utils/state.js +10 -6
- package/dist/utils/store.d.ts +11 -0
- package/dist/utils/store.js +20 -0
- package/dist/utils/types.d.ts +24 -0
- package/dist/utils/types.js +1 -0
- package/package.json +37 -29
- package/dist/actions/activePress.svelte.d.ts +0 -8
- package/dist/actions/focusRing.svelte.d.ts +0 -9
- package/dist/actions/focusRing.svelte.js +0 -34
- package/dist/utils/disabled.d.ts +0 -3
- package/dist/utils/disabled.js +0 -2
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script lang="ts" module>const DEFAULT_BUTTON_TAG = "button";
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_BUTTON_TAG">import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
5
|
+
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
6
|
+
import { useDisabled } from "../hooks/use-disabled.js";
|
|
7
|
+
import { useHover } from "../hooks/use-hover.svelte.js";
|
|
8
|
+
import { mergeProps } from "../utils/render.js";
|
|
9
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
10
|
+
const providedDisabled = useDisabled();
|
|
11
|
+
let {
|
|
12
|
+
ref = $bindable(),
|
|
13
|
+
disabled: ownDisabled = false,
|
|
14
|
+
autofocus = false,
|
|
15
|
+
type = "button",
|
|
16
|
+
...theirProps
|
|
17
|
+
} = $props();
|
|
18
|
+
const disabled = $derived(providedDisabled.value || ownDisabled);
|
|
19
|
+
const { isHovered: hover, hoverProps } = $derived(
|
|
20
|
+
useHover({
|
|
21
|
+
get disabled() {
|
|
22
|
+
return disabled;
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
);
|
|
26
|
+
const { pressed: active, pressProps } = $derived(
|
|
27
|
+
useActivePress({
|
|
28
|
+
get disabled() {
|
|
29
|
+
return disabled;
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
);
|
|
33
|
+
const { isFocusVisible: focus, focusProps } = $derived(
|
|
34
|
+
useFocusRing({
|
|
35
|
+
get autofocus() {
|
|
36
|
+
return autofocus;
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
const slot = $derived({
|
|
41
|
+
disabled,
|
|
42
|
+
hover,
|
|
43
|
+
focus,
|
|
44
|
+
active,
|
|
45
|
+
autofocus
|
|
46
|
+
});
|
|
47
|
+
const ourProps = $derived(
|
|
48
|
+
mergeProps(
|
|
49
|
+
{
|
|
50
|
+
type,
|
|
51
|
+
disabled: disabled || void 0,
|
|
52
|
+
autofocus
|
|
53
|
+
},
|
|
54
|
+
focusProps,
|
|
55
|
+
hoverProps,
|
|
56
|
+
pressProps
|
|
57
|
+
)
|
|
58
|
+
);
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<ElementOrComponent {ourProps} {theirProps} {slot} defaultTag={DEFAULT_BUTTON_TAG} name="Button" bind:ref />
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Props, ElementType } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_BUTTON_TAG: "button";
|
|
3
|
+
type ButtonRenderPropArg = {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
hover: boolean;
|
|
6
|
+
focus: boolean;
|
|
7
|
+
active: boolean;
|
|
8
|
+
autofocus: boolean;
|
|
9
|
+
};
|
|
10
|
+
type ButtonPropsWeControl = never;
|
|
11
|
+
export type ButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = Props<TTag, ButtonRenderPropArg, ButtonPropsWeControl, {
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
autofocus?: boolean;
|
|
14
|
+
type?: "button" | "submit" | "reset";
|
|
15
|
+
}>;
|
|
16
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> {
|
|
17
|
+
props(): {
|
|
18
|
+
as?: TTag | undefined;
|
|
19
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "disabled" | "autofocus" | "type"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
20
|
+
children?: import("../utils/types.js").Children<ButtonRenderPropArg> | undefined;
|
|
21
|
+
ref?: HTMLElement;
|
|
22
|
+
} & (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) ? {
|
|
23
|
+
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ButtonRenderPropArg) => string) | undefined;
|
|
24
|
+
} : {}) & {
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
autofocus?: boolean;
|
|
27
|
+
type?: "button" | "submit" | "reset";
|
|
28
|
+
};
|
|
29
|
+
events(): {} & {
|
|
30
|
+
[evt: string]: CustomEvent<any>;
|
|
31
|
+
};
|
|
32
|
+
slots(): {};
|
|
33
|
+
bindings(): "ref";
|
|
34
|
+
exports(): {};
|
|
35
|
+
}
|
|
36
|
+
interface $$IsomorphicComponent {
|
|
37
|
+
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']>> & {
|
|
38
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
39
|
+
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
40
|
+
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
41
|
+
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
42
|
+
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
43
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
44
|
+
}
|
|
45
|
+
declare const Button: $$IsomorphicComponent;
|
|
46
|
+
type Button<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = InstanceType<typeof Button<TTag>>;
|
|
47
|
+
export default Button;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Button, type ButtonProps } from "./Button.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Button } from "./Button.svelte";
|
|
@@ -1,52 +1,84 @@
|
|
|
1
|
-
<script lang="ts"
|
|
1
|
+
<script lang="ts" module>let DEFAULT_CHECKBOX_TAG = "span";
|
|
2
2
|
</script>
|
|
3
3
|
|
|
4
|
-
<script lang="ts" generics="TTag extends
|
|
5
|
-
import { createHover } from "svelte-interactions";
|
|
4
|
+
<script lang="ts" generics="TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG">import { tick } from "svelte";
|
|
6
5
|
import { attemptSubmit } from "../utils/form.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { useProvidedId, htmlid } from "../utils/id.js";
|
|
7
|
+
import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
8
|
+
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
10
9
|
import FormFields from "../internal/FormFields.svelte";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { useDisabled } from "../hooks/use-disabled.js";
|
|
11
|
+
import { useLabelledBy } from "../label/context.svelte.js";
|
|
12
|
+
import { useDescribedBy } from "../description/context.svelte.js";
|
|
13
|
+
import { useHover } from "../hooks/use-hover.svelte.js";
|
|
14
|
+
import { mergeProps } from "../utils/render.js";
|
|
15
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
16
|
+
import { useControllable } from "../hooks/use-controllable.svelte.js";
|
|
14
17
|
const internalId = htmlid();
|
|
15
|
-
const providedId =
|
|
16
|
-
const providedDisabled =
|
|
18
|
+
const providedId = useProvidedId();
|
|
19
|
+
const providedDisabled = useDisabled();
|
|
17
20
|
let {
|
|
21
|
+
ref = $bindable(),
|
|
18
22
|
id = providedId || `headlessui-checkbox-${internalId}`,
|
|
19
|
-
|
|
23
|
+
disabled: theirDisabled = false,
|
|
24
|
+
autofocus = false,
|
|
25
|
+
checked: controlledChecked = $bindable(),
|
|
26
|
+
defaultChecked: _defaultChecked,
|
|
27
|
+
onchange: controlledOnChange,
|
|
28
|
+
name,
|
|
20
29
|
value,
|
|
21
|
-
disabled: ownDisabled = false,
|
|
22
|
-
indeterminate = false,
|
|
23
|
-
defaultChecked,
|
|
24
|
-
checked = $bindable(defaultChecked ?? false),
|
|
25
|
-
autoFocus,
|
|
26
30
|
form,
|
|
27
|
-
|
|
28
|
-
onchange,
|
|
29
|
-
children,
|
|
31
|
+
indeterminate = false,
|
|
30
32
|
...theirProps
|
|
31
33
|
} = $props();
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const defaultChecked = _defaultChecked;
|
|
35
|
+
const controllable = useControllable(
|
|
36
|
+
{
|
|
37
|
+
get controlledValue() {
|
|
38
|
+
return controlledChecked;
|
|
39
|
+
},
|
|
40
|
+
set controlledValue(checked2) {
|
|
41
|
+
controlledChecked = checked2;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
controlledOnChange,
|
|
45
|
+
defaultChecked ?? false
|
|
46
|
+
);
|
|
47
|
+
const { value: checked, onchange } = $derived(controllable);
|
|
48
|
+
const disabled = $derived(providedDisabled?.value ?? theirDisabled);
|
|
49
|
+
const { isHovered: hover, hoverProps } = $derived(
|
|
50
|
+
useHover({
|
|
51
|
+
get disabled() {
|
|
52
|
+
return disabled;
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
);
|
|
56
|
+
const { pressed: active, pressProps } = $derived(
|
|
57
|
+
useActivePress({
|
|
58
|
+
get disabled() {
|
|
59
|
+
return disabled;
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
);
|
|
63
|
+
const { isFocusVisible: focus, focusProps } = $derived(
|
|
64
|
+
useFocusRing({
|
|
65
|
+
get autofocus() {
|
|
66
|
+
return autofocus;
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
);
|
|
70
|
+
const labelledBy = useLabelledBy();
|
|
71
|
+
const describedBy = useDescribedBy();
|
|
38
72
|
let changing = $state(false);
|
|
39
73
|
const toggle = () => {
|
|
40
74
|
changing = true;
|
|
41
|
-
|
|
42
|
-
onchange?.(checked);
|
|
75
|
+
onchange?.(!checked);
|
|
43
76
|
tick().then(() => {
|
|
44
77
|
changing = false;
|
|
45
78
|
});
|
|
46
79
|
};
|
|
47
80
|
const handleClick = (event) => {
|
|
48
|
-
if (disabled)
|
|
49
|
-
return event.preventDefault();
|
|
81
|
+
if (disabled) return event.preventDefault();
|
|
50
82
|
event.preventDefault();
|
|
51
83
|
toggle();
|
|
52
84
|
};
|
|
@@ -55,40 +87,41 @@ const handleKeyUp = (event) => {
|
|
|
55
87
|
event.preventDefault();
|
|
56
88
|
toggle();
|
|
57
89
|
} else if (event.key === "Enter") {
|
|
58
|
-
if (event.currentTarget)
|
|
59
|
-
attemptSubmit(event.currentTarget);
|
|
90
|
+
if (event.currentTarget) attemptSubmit(event.currentTarget);
|
|
60
91
|
}
|
|
61
92
|
};
|
|
62
93
|
const handleKeyPress = (event) => event.preventDefault();
|
|
63
94
|
const slot = $derived({
|
|
64
95
|
checked,
|
|
65
96
|
changing,
|
|
66
|
-
focus
|
|
67
|
-
active
|
|
68
|
-
hover
|
|
69
|
-
autofocus:
|
|
97
|
+
focus,
|
|
98
|
+
active,
|
|
99
|
+
hover,
|
|
100
|
+
autofocus: autofocus ?? false,
|
|
70
101
|
disabled,
|
|
71
102
|
indeterminate
|
|
72
103
|
});
|
|
73
|
-
const
|
|
74
|
-
|
|
104
|
+
const ourProps = $derived(
|
|
105
|
+
mergeProps(
|
|
106
|
+
{
|
|
107
|
+
id,
|
|
108
|
+
role: "checkbox",
|
|
109
|
+
"aria-checked": indeterminate ? "mixed" : checked ? true : false,
|
|
110
|
+
"aria-labelledby": labelledBy.value,
|
|
111
|
+
"aria-describedby": describedBy.value,
|
|
112
|
+
"aria-disabled": disabled ? true : void 0,
|
|
113
|
+
tabindex: disabled ? void 0 : 0,
|
|
114
|
+
onkeyup: disabled ? void 0 : handleKeyUp,
|
|
115
|
+
onkeypress: disabled ? void 0 : handleKeyPress,
|
|
116
|
+
onclick: disabled ? void 0 : handleClick
|
|
117
|
+
},
|
|
118
|
+
focusProps,
|
|
119
|
+
hoverProps,
|
|
120
|
+
pressProps
|
|
121
|
+
)
|
|
75
122
|
);
|
|
76
|
-
const ownProps = $derived({
|
|
77
|
-
id,
|
|
78
|
-
role: "checkbox",
|
|
79
|
-
"aria-checked": indeterminate ? "mixed" : checked ? true : false,
|
|
80
|
-
"aria-labelledby": labelledBy,
|
|
81
|
-
"aria-describedby": void 0,
|
|
82
|
-
"aria-disabled": disabled ? true : void 0,
|
|
83
|
-
tabindex: disabled ? void 0 : 0,
|
|
84
|
-
onkeyup: disabled ? void 0 : handleKeyUp,
|
|
85
|
-
onkeypress: disabled ? void 0 : handleKeyPress,
|
|
86
|
-
onclick: disabled ? void 0 : handleClick,
|
|
87
|
-
...stateFromSlot(slot)
|
|
88
|
-
});
|
|
89
123
|
const reset = $derived(() => {
|
|
90
|
-
if (defaultChecked === void 0)
|
|
91
|
-
return;
|
|
124
|
+
if (defaultChecked === void 0) return;
|
|
92
125
|
return onchange?.(defaultChecked);
|
|
93
126
|
});
|
|
94
127
|
</script>
|
|
@@ -102,13 +135,12 @@ const reset = $derived(() => {
|
|
|
102
135
|
onReset={reset}
|
|
103
136
|
/>
|
|
104
137
|
{/if}
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
</svelte:element>
|
|
138
|
+
<ElementOrComponent
|
|
139
|
+
{ourProps}
|
|
140
|
+
{theirProps}
|
|
141
|
+
{slot}
|
|
142
|
+
defaultTag={DEFAULT_CHECKBOX_TAG}
|
|
143
|
+
name="Checkbox"
|
|
144
|
+
bind:ref
|
|
145
|
+
bind:value
|
|
146
|
+
/>
|
|
@@ -1,48 +1,62 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { ElementType, Props, PropsOf } from "../utils/types.js";
|
|
2
|
+
declare let DEFAULT_CHECKBOX_TAG: "span";
|
|
3
|
+
type CheckboxRenderPropArg = {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
changing: boolean;
|
|
6
|
+
focus: boolean;
|
|
7
|
+
active: boolean;
|
|
8
|
+
hover: boolean;
|
|
9
|
+
autofocus: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
indeterminate: boolean;
|
|
12
|
+
};
|
|
13
|
+
type CheckboxPropsWeControl = "aria-checked" | "aria-describedby" | "aria-disabled" | "aria-labelledby" | "role" | "tabIndex";
|
|
14
|
+
export type CheckboxProps<TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG, TType = string> = Props<TTag, CheckboxRenderPropArg, CheckboxPropsWeControl, {
|
|
4
15
|
value?: TType;
|
|
5
16
|
disabled?: boolean;
|
|
6
17
|
indeterminate?: boolean;
|
|
7
18
|
checked?: boolean;
|
|
8
19
|
defaultChecked?: boolean;
|
|
9
|
-
|
|
20
|
+
autofocus?: boolean;
|
|
10
21
|
form?: string;
|
|
11
22
|
name?: string;
|
|
12
23
|
onchange?: (checked: boolean) => void;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
}>;
|
|
25
|
+
declare class __sveltets_Render<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG> {
|
|
26
|
+
props(): {
|
|
27
|
+
as?: TTag | undefined;
|
|
28
|
+
} & (Exclude<keyof PropsOf<TTag>, "form" | ("as" | "children" | "refName" | "class") | "disabled" | "autofocus" | "name" | "value" | "checked" | "onchange" | "indeterminate" | CheckboxPropsWeControl | "defaultChecked"> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
29
|
+
children?: import("../utils/types.js").Children<CheckboxRenderPropArg> | undefined;
|
|
30
|
+
ref?: HTMLElement;
|
|
31
|
+
} & (true extends (PropsOf<TTag> extends infer T_1 ? T_1 extends 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) ? {
|
|
32
|
+
class?: PropsOf<TTag>["class"] | ((bag: CheckboxRenderPropArg) => string) | undefined;
|
|
33
|
+
} : {}) & {
|
|
34
|
+
value?: TType | undefined;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
indeterminate?: boolean;
|
|
37
|
+
checked?: boolean;
|
|
38
|
+
defaultChecked?: boolean;
|
|
39
|
+
autofocus?: boolean;
|
|
40
|
+
form?: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
onchange?: (checked: boolean) => void;
|
|
43
|
+
};
|
|
30
44
|
events(): {} & {
|
|
31
45
|
[evt: string]: CustomEvent<any>;
|
|
32
46
|
};
|
|
33
47
|
slots(): {};
|
|
34
|
-
bindings(): "checked";
|
|
48
|
+
bindings(): "ref" | "checked";
|
|
35
49
|
exports(): {};
|
|
36
50
|
}
|
|
37
51
|
interface $$IsomorphicComponent {
|
|
38
|
-
new <TTag extends
|
|
39
|
-
$$bindings?: ReturnType<__sveltets_Render<
|
|
40
|
-
} & ReturnType<__sveltets_Render<
|
|
41
|
-
<TTag extends
|
|
42
|
-
$$events?: ReturnType<__sveltets_Render<
|
|
43
|
-
}): ReturnType<__sveltets_Render<
|
|
52
|
+
new <TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_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']>> & {
|
|
53
|
+
$$bindings?: ReturnType<__sveltets_Render<TType, TTag>['bindings']>;
|
|
54
|
+
} & ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
55
|
+
<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TTag>['props']> & {
|
|
56
|
+
$$events?: ReturnType<__sveltets_Render<TType, TTag>['events']>;
|
|
57
|
+
}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
44
58
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
45
59
|
}
|
|
46
60
|
declare const Checkbox: $$IsomorphicComponent;
|
|
47
|
-
type Checkbox<TTag extends
|
|
61
|
+
type Checkbox<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG> = InstanceType<typeof Checkbox<TType, TTag>>;
|
|
48
62
|
export default Checkbox;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<script lang="ts" module>import Button, {} from "../button/Button.svelte";
|
|
2
|
+
import { useClose } from "../internal/close-provider.js";
|
|
3
|
+
let DEFAULT_BUTTON_TAG = "button";
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_BUTTON_TAG">const closeContext = useClose();
|
|
7
|
+
const close = $derived(closeContext?.close);
|
|
8
|
+
let { ...props } = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<Button onclick={close} {...props} />
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type ButtonProps } from "../button/Button.svelte";
|
|
2
|
+
import type { ElementType } from "../utils/types.js";
|
|
3
|
+
declare let DEFAULT_BUTTON_TAG: "button";
|
|
4
|
+
export type CloseButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = ButtonProps<TTag>;
|
|
5
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> {
|
|
6
|
+
props(): {
|
|
7
|
+
as?: TTag | undefined;
|
|
8
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "disabled" | "autofocus" | "type"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
9
|
+
children?: import("../utils/types.js").Children<{
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
hover: boolean;
|
|
12
|
+
focus: boolean;
|
|
13
|
+
active: boolean;
|
|
14
|
+
autofocus: boolean;
|
|
15
|
+
}> | undefined;
|
|
16
|
+
ref?: HTMLElement;
|
|
17
|
+
} & (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) ? {
|
|
18
|
+
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: {
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
hover: boolean;
|
|
21
|
+
focus: boolean;
|
|
22
|
+
active: boolean;
|
|
23
|
+
autofocus: boolean;
|
|
24
|
+
}) => string) | undefined;
|
|
25
|
+
} : {}) & {
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
autofocus?: boolean;
|
|
28
|
+
type?: "button" | "submit" | "reset";
|
|
29
|
+
};
|
|
30
|
+
events(): {} & {
|
|
31
|
+
[evt: string]: CustomEvent<any>;
|
|
32
|
+
};
|
|
33
|
+
slots(): {};
|
|
34
|
+
bindings(): "";
|
|
35
|
+
exports(): {};
|
|
36
|
+
}
|
|
37
|
+
interface $$IsomorphicComponent {
|
|
38
|
+
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']>> & {
|
|
39
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
40
|
+
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
41
|
+
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
42
|
+
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
43
|
+
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
44
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
45
|
+
}
|
|
46
|
+
declare const CloseButton: $$IsomorphicComponent;
|
|
47
|
+
type CloseButton<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> = InstanceType<typeof CloseButton<TTag>>;
|
|
48
|
+
export default CloseButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CloseButton, type CloseButtonProps } from "./CloseButton.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CloseButton } from "./CloseButton.svelte";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<script lang="ts" module>const DEFAULT_COMBOBOX_TAG = "svelte:fragment";
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<script lang="ts" generics="TType, TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG">import { useDisabled } from "../hooks/use-disabled.js";
|
|
5
|
+
const providedDisabled = useDisabled();
|
|
6
|
+
</script>
|
|
@@ -0,0 +1,50 @@
|
|
|
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;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script lang="ts" module>import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
2
|
+
import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
3
|
+
import { useHover } from "../hooks/use-hover.svelte.js";
|
|
4
|
+
import { mergeProps } from "../utils/render.js";
|
|
5
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
6
|
+
const DEFAULT_DATA_INTERACTIVE_TAG = "svelte:fragment";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG">let { ref = $bindable(), ...theirProps } = $props();
|
|
10
|
+
const disabled = false;
|
|
11
|
+
const { isHovered: hover, hoverProps } = $derived(
|
|
12
|
+
useHover({
|
|
13
|
+
get disabled() {
|
|
14
|
+
return disabled;
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
);
|
|
18
|
+
const { pressed: active, pressProps } = $derived(
|
|
19
|
+
useActivePress({
|
|
20
|
+
get disabled() {
|
|
21
|
+
return disabled;
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
const { isFocusVisible: focus, focusProps } = $derived(useFocusRing());
|
|
26
|
+
const slot = $derived({
|
|
27
|
+
hover,
|
|
28
|
+
focus,
|
|
29
|
+
active
|
|
30
|
+
});
|
|
31
|
+
const ourProps = $derived(mergeProps(focusProps, hoverProps, pressProps));
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<ElementOrComponent
|
|
35
|
+
{ourProps}
|
|
36
|
+
{theirProps}
|
|
37
|
+
{slot}
|
|
38
|
+
defaultTag={DEFAULT_DATA_INTERACTIVE_TAG}
|
|
39
|
+
name="DataInteractive"
|
|
40
|
+
bind:ref
|
|
41
|
+
/>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Props, ElementType } from "../utils/types.js";
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
declare const DEFAULT_DATA_INTERACTIVE_TAG: "svelte:fragment";
|
|
4
|
+
type DataInteractiveRenderPropArg = {
|
|
5
|
+
hover: boolean;
|
|
6
|
+
focus: boolean;
|
|
7
|
+
active: boolean;
|
|
8
|
+
};
|
|
9
|
+
type DataInteractivePropsWeControl = never;
|
|
10
|
+
export type DataInteractiveProps<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> = Props<TTag, DataInteractiveRenderPropArg, DataInteractivePropsWeControl, {}>;
|
|
11
|
+
export type DataInteractiveChildren = Snippet<[DataInteractiveRenderPropArg]>;
|
|
12
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> {
|
|
13
|
+
props(): {
|
|
14
|
+
as?: TTag | undefined;
|
|
15
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
16
|
+
children?: import("../utils/types.js").Children<DataInteractiveRenderPropArg> | undefined;
|
|
17
|
+
ref?: HTMLElement;
|
|
18
|
+
} & (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) ? {
|
|
19
|
+
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: DataInteractiveRenderPropArg) => string) | undefined;
|
|
20
|
+
} : {});
|
|
21
|
+
events(): {} & {
|
|
22
|
+
[evt: string]: CustomEvent<any>;
|
|
23
|
+
};
|
|
24
|
+
slots(): {};
|
|
25
|
+
bindings(): "ref";
|
|
26
|
+
exports(): {};
|
|
27
|
+
}
|
|
28
|
+
interface $$IsomorphicComponent {
|
|
29
|
+
new <TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_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']>> & {
|
|
30
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
31
|
+
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
32
|
+
<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
33
|
+
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
34
|
+
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
35
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
36
|
+
}
|
|
37
|
+
declare const DataInteractive: $$IsomorphicComponent;
|
|
38
|
+
type DataInteractive<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> = InstanceType<typeof DataInteractive<TTag>>;
|
|
39
|
+
export default DataInteractive;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DataInteractive, type DataInteractiveProps } from "./DataInteractive.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DataInteractive } from "./DataInteractive.svelte";
|