File size: 14,068 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
/// <reference types="svelte" />
import { type CreateComboboxProps } from "@melt-ui/svelte";
import type { Writable } from "svelte/store";
import type { FloatingProps } from "../floating/_types.js";
type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
export declare function getCtx(): GetReturn;
type Items<T> = {
value: T;
label?: string;
};
type Props<T = unknown, M extends boolean = false> = CreateComboboxProps<T, M> & {
items?: Items<T>[];
};
export declare function setCtx<T = unknown, M extends boolean = false>(props: Props<T, M>): {
updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
getAttrs: (part: "content" | "label" | "arrow" | "menu" | "group" | "input" | "item" | "indicator" | "group-label" | "hidden-input") => Record<string, string>;
elements: {
input: import("@melt-ui/svelte/internal/helpers").MeltElement<[import("@melt-ui/svelte/internal/helpers").MeltElement<[{
update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
set: (this: void, value: boolean) => void;
subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
get: () => boolean;
destroy?: (() => void) | undefined;
}, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<HTMLElement | null>>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<boolean>>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "click">, ([$open, $highlightedItem, $disabled, $menuId, $triggerId, $labelId]: [boolean, HTMLElement | null, boolean, string, string, string]) => {
readonly 'aria-activedescendant': string | undefined;
readonly 'aria-autocomplete': "list";
readonly 'aria-controls': string;
readonly 'aria-expanded': boolean;
readonly 'aria-labelledby': string;
readonly id: string;
readonly role: "combobox";
readonly disabled: true | undefined;
readonly type: "button" | undefined;
}, string>, Writable<string>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "click">, ([$trigger, $inputValue]: [{
readonly 'aria-activedescendant': string | undefined;
readonly 'aria-autocomplete': "list";
readonly 'aria-controls': string;
readonly 'aria-expanded': boolean;
readonly 'aria-labelledby': string;
readonly id: string;
readonly role: "combobox";
readonly disabled: true | undefined;
readonly type: "button" | undefined;
} & {
[x: `data-melt-${string}`]: "";
} & {
action: (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "click">;
}, string]) => {
readonly role: "combobox";
readonly value: string;
readonly autocomplete: "off";
readonly disabled: true | undefined;
readonly type: "button" | undefined;
readonly 'aria-expanded': boolean;
readonly 'aria-controls': string;
readonly 'aria-activedescendant': string | undefined;
readonly 'aria-autocomplete': "list";
readonly 'aria-labelledby': string;
readonly id: string;
}, string>;
label: import("@melt-ui/svelte/internal/helpers").MeltElement<[import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"mousedown">, ([$labelId, $triggerId]: [string, string]) => {
id: string;
for: string;
}, string>;
menu: import("@melt-ui/svelte/internal/helpers").MeltElement<[import("svelte/store").Readable<boolean>, import("@melt-ui/svelte/internal/helpers").WithGet<Writable<string>>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"pointerleave">, ([$isVisible, $menuId]: [boolean, string]) => {
readonly hidden: true | undefined;
readonly id: string;
readonly role: "listbox";
readonly style: string;
}, string>;
option: import("@melt-ui/svelte/internal/helpers").MeltElement<[import("svelte/store").Readable<(value: unknown) => boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click" | "pointermove">, ([$isSelected]: [(value: unknown) => boolean]) => (props: import("@melt-ui/svelte/index.js").ComboboxOptionProps<unknown>) => {
readonly 'data-value': string;
readonly 'data-label': string | undefined;
readonly 'data-disabled': true | undefined;
readonly 'aria-disabled': true | undefined;
readonly 'aria-selected': boolean;
readonly 'data-selected': "" | undefined;
readonly id: string;
readonly role: "option";
}, string>;
group: import("@melt-ui/svelte/internal/helpers").MeltElement<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => (groupId: string) => {
role: string;
'aria-labelledby': string;
}, string>;
arrow: import("@melt-ui/svelte/internal/helpers").MeltElement<import("@melt-ui/svelte/internal/helpers").WithGet<Writable<number | undefined>>, import("svelte/action").Action<any, any, Record<never, any>>, ($arrowSize: number | undefined) => {
'data-arrow': boolean;
style: string;
}, string>;
groupLabel: import("@melt-ui/svelte/internal/helpers").MeltElement<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => (groupId: string) => {
id: string;
}, string>;
hiddenInput: import("@melt-ui/svelte/internal/helpers").MeltElement<[import("@melt-ui/svelte/internal/helpers").WithGet<import("svelte/store").Readable<string>>, import("svelte/motion").Readable<string | undefined>, import("@melt-ui/svelte/internal/helpers").WithGet<import("svelte/store").Readable<boolean>>, import("@melt-ui/svelte/internal/helpers").WithGet<import("svelte/store").Readable<boolean>>], (node: HTMLInputElement) => {
destroy: import("svelte/store").Unsubscriber;
}, ([$value, $name, $disabled, $required]: [string, string | undefined, boolean, boolean]) => {
name: string | undefined;
value: string;
'aria-hidden': "true";
hidden: boolean;
disabled: boolean;
required: boolean;
tabIndex: number;
style: string;
}, string>;
};
states: {
touchedInput: Writable<boolean>;
inputValue: Writable<string>;
open: {
update: (updater: import("svelte/store").Updater<boolean>, sideEffect?: ((newValue: boolean) => void) | undefined) => void;
set: (this: void, value: boolean) => void;
subscribe(this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: import("svelte/store").Invalidator<boolean> | undefined): import("svelte/store").Unsubscriber;
get: () => boolean;
destroy?: (() => void) | undefined;
};
selected: {
update: (updater: import("svelte/store").Updater<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined>, sideEffect?: ((newValue: import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined) => void) | undefined) => void;
set: (this: void, value: import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined) => void;
subscribe(this: void, run: import("svelte/store").Subscriber<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined>, invalidate?: import("svelte/store").Invalidator<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined> | undefined): import("svelte/store").Unsubscriber;
get: () => import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined;
destroy?: (() => void) | undefined;
};
highlighted: import("svelte/store").Readable<import("@melt-ui/svelte/index.js").ComboboxOption<unknown> | undefined>;
highlightedItem: import("@melt-ui/svelte/internal/helpers").WithGet<Writable<HTMLElement | null>>;
};
ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
label: string;
menu: string;
trigger: string;
}>;
helpers: {
isSelected: import("svelte/store").Readable<(value: unknown) => boolean>;
isHighlighted: import("svelte/store").Readable<(item: unknown) => boolean>;
closeMenu: () => void;
};
options: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
multiple: M;
disabled: boolean;
forceVisible: boolean;
name: string | undefined;
preventScroll: boolean;
portal: string | HTMLElement | null | undefined;
required: boolean;
onOpenChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<boolean> | undefined;
positioning: import("@melt-ui/svelte/internal/actions").FloatingConfig | {
placement: "bottom";
sameWidth: true;
};
arrowSize?: number | undefined;
scrollAlignment: "center" | "nearest";
loop: boolean;
defaultSelected?: import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined;
selected?: Writable<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>>> | undefined;
onSelectedChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined> | undefined;
closeOnOutsideClick: boolean;
closeOnEscape: boolean;
onOutsideClick: ((event: import("@melt-ui/svelte/index.js").InteractOutsideEvent) => void) | undefined;
typeahead: boolean;
highlightOnHover: boolean;
}>;
};
export declare function setGroupCtx(): {
group: import("@melt-ui/svelte/internal/helpers").MeltElement<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => (groupId: string) => {
role: string;
'aria-labelledby': string;
}, string>;
id: string;
getAttrs: (part: "content" | "label" | "arrow" | "menu" | "group" | "input" | "item" | "indicator" | "group-label" | "hidden-input") => Record<string, string>;
};
export declare function setItemCtx(value: unknown): GetReturn;
export declare function getGroupLabel(): {
groupLabel: import("@melt-ui/svelte/internal/helpers").MeltElement<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => (groupId: string) => {
id: string;
}, string>;
id: string;
getAttrs: (part: "content" | "label" | "arrow" | "menu" | "group" | "input" | "item" | "indicator" | "group-label" | "hidden-input") => Record<string, string>;
};
export declare function getItemIndicator(): {
value: unknown;
isSelected: import("svelte/store").Readable<(value: unknown) => boolean>;
getAttrs: (part: "content" | "label" | "arrow" | "menu" | "group" | "input" | "item" | "indicator" | "group-label" | "hidden-input") => Record<string, string>;
};
export declare function setArrow(size?: number): GetReturn;
export declare function updatePositioning(props: FloatingProps): void;
export {};
|