@lekoala/combobox 0.1.0
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/LICENSE +21 -0
- package/README.md +566 -0
- package/custom-elements.json +247 -0
- package/dist/combobox.css +447 -0
- package/dist/combobox.js +2220 -0
- package/dist/combobox.min.css +1 -0
- package/dist/combobox.min.js +2 -0
- package/dist/types/combo-box.d.ts +112 -0
- package/dist/types/combo-box.d.ts.map +1 -0
- package/dist/types/combobox.d.ts +530 -0
- package/dist/types/combobox.d.ts.map +1 -0
- package/dist/types/define.d.ts +2 -0
- package/dist/types/define.d.ts.map +1 -0
- package/dist/types/helpers.d.ts +251 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/locales/de.d.ts +7 -0
- package/dist/types/locales/de.d.ts.map +1 -0
- package/dist/types/locales/en.d.ts +8 -0
- package/dist/types/locales/en.d.ts.map +1 -0
- package/dist/types/locales/es.d.ts +7 -0
- package/dist/types/locales/es.d.ts.map +1 -0
- package/dist/types/locales/fr.d.ts +7 -0
- package/dist/types/locales/fr.d.ts.map +1 -0
- package/dist/types/locales/it.d.ts +7 -0
- package/dist/types/locales/it.d.ts.map +1 -0
- package/dist/types/locales/nl.d.ts +7 -0
- package/dist/types/locales/nl.d.ts.map +1 -0
- package/dist/types/locales/pt.d.ts +7 -0
- package/dist/types/locales/pt.d.ts.map +1 -0
- package/dist/types/locales/ru.d.ts +7 -0
- package/dist/types/locales/ru.d.ts.map +1 -0
- package/dist/types/locales/zh-CN.d.ts +7 -0
- package/dist/types/locales/zh-CN.d.ts.map +1 -0
- package/dist/types/messages.d.ts +48 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/package.json +92 -0
- package/src/combo-box.js +316 -0
- package/src/combobox.css +447 -0
- package/src/combobox.js +2975 -0
- package/src/define.js +20 -0
- package/src/helpers.js +377 -0
- package/src/index.js +35 -0
- package/src/locales/de.js +17 -0
- package/src/locales/en.js +18 -0
- package/src/locales/es.js +17 -0
- package/src/locales/fr.js +17 -0
- package/src/locales/it.js +17 -0
- package/src/locales/nl.js +17 -0
- package/src/locales/pt.js +17 -0
- package/src/locales/ru.js +17 -0
- package/src/locales/zh-CN.js +17 -0
- package/src/messages.js +55 -0
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
export type ComboboxSource = HTMLInputElement | HTMLSelectElement;
|
|
2
|
+
export type MatchStrategy = "includes" | "startswith" | "fuzzy" | "pattern";
|
|
3
|
+
export type ComboboxContext = {
|
|
4
|
+
combobox: Combobox;
|
|
5
|
+
source: ComboboxSource;
|
|
6
|
+
/**
|
|
7
|
+
* The live search/filter input
|
|
8
|
+
*/
|
|
9
|
+
input: HTMLInputElement;
|
|
10
|
+
};
|
|
11
|
+
export type LoadContext = {
|
|
12
|
+
signal: AbortSignal;
|
|
13
|
+
cursor: string | null;
|
|
14
|
+
combobox: Combobox;
|
|
15
|
+
source: ComboboxSource;
|
|
16
|
+
input: HTMLInputElement;
|
|
17
|
+
};
|
|
18
|
+
export type LoadResult = {
|
|
19
|
+
items: import("./helpers.js").ComboboxItem[];
|
|
20
|
+
cursor: string | null;
|
|
21
|
+
} | import("./helpers.js").ComboboxItem[];
|
|
22
|
+
export type LoadCallback = (query: string, context: LoadContext) => Promise<LoadResult>;
|
|
23
|
+
export type CreateContext = {
|
|
24
|
+
signal: AbortSignal;
|
|
25
|
+
combobox: Combobox;
|
|
26
|
+
source: ComboboxSource;
|
|
27
|
+
input: HTMLInputElement;
|
|
28
|
+
/**
|
|
29
|
+
* True when running on the native fallback path
|
|
30
|
+
*/
|
|
31
|
+
fallback?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export type CreateCallback = (label: string, context: CreateContext) => Promise<any>;
|
|
34
|
+
export type GuardCallback = (payload: any, context: CreateContext) => Promise<boolean | void> | boolean | void;
|
|
35
|
+
export type TokenizeCallback = (value: string, context: ComboboxContext) => {
|
|
36
|
+
tokens: string[];
|
|
37
|
+
rest?: string;
|
|
38
|
+
};
|
|
39
|
+
export type RenderContext = {
|
|
40
|
+
combobox: Combobox;
|
|
41
|
+
query?: string;
|
|
42
|
+
selected?: boolean;
|
|
43
|
+
error?: any;
|
|
44
|
+
};
|
|
45
|
+
export type ItemRenderer = (item: import("./helpers.js").ComboboxItem, context: RenderContext) => Node | string | null | undefined;
|
|
46
|
+
export type TextRenderer = (query: string, context: RenderContext) => Node | string | null | undefined;
|
|
47
|
+
export type ErrorRenderer = (query: string, context: RenderContext & {
|
|
48
|
+
error: any;
|
|
49
|
+
}) => Node | string | null | undefined;
|
|
50
|
+
export type AttributeSnapshot = {
|
|
51
|
+
/**
|
|
52
|
+
* Restore the captured attributes (removes what
|
|
53
|
+
* was absent, rewrites what had a value)
|
|
54
|
+
*/
|
|
55
|
+
restore: () => void;
|
|
56
|
+
};
|
|
57
|
+
export type Messages = import("./messages.js").Messages;
|
|
58
|
+
export type RenderMap = {
|
|
59
|
+
option?: ItemRenderer;
|
|
60
|
+
group?: TextRenderer;
|
|
61
|
+
item?: ItemRenderer;
|
|
62
|
+
create?: TextRenderer;
|
|
63
|
+
noResults?: TextRenderer;
|
|
64
|
+
loading?: TextRenderer;
|
|
65
|
+
error?: ErrorRenderer;
|
|
66
|
+
};
|
|
67
|
+
export type GuardMap = {
|
|
68
|
+
add?: GuardCallback;
|
|
69
|
+
remove?: GuardCallback;
|
|
70
|
+
clear?: GuardCallback;
|
|
71
|
+
};
|
|
72
|
+
export type ComboboxOptions = {
|
|
73
|
+
match?: MatchStrategy | ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean);
|
|
74
|
+
searchFields?: string | string[];
|
|
75
|
+
minChars?: number;
|
|
76
|
+
allowEmptyOption?: boolean;
|
|
77
|
+
placeholder?: string;
|
|
78
|
+
messages?: Messages;
|
|
79
|
+
load?: LoadCallback;
|
|
80
|
+
loadOnEmpty?: boolean;
|
|
81
|
+
shouldLoad?: (query: string, context: ComboboxContext) => boolean;
|
|
82
|
+
debounce?: number;
|
|
83
|
+
createFilter?: (value: string, context: ComboboxContext) => boolean;
|
|
84
|
+
create?: boolean | CreateCallback;
|
|
85
|
+
maxItems?: number;
|
|
86
|
+
maxOptions?: number;
|
|
87
|
+
separators?: string[];
|
|
88
|
+
tokenize?: TokenizeCallback;
|
|
89
|
+
closeOnSelect?: boolean;
|
|
90
|
+
createOnBlur?: boolean;
|
|
91
|
+
autoselectFirst?: boolean;
|
|
92
|
+
tabSelect?: boolean;
|
|
93
|
+
labelField?: string;
|
|
94
|
+
valueField?: string;
|
|
95
|
+
guards?: GuardMap;
|
|
96
|
+
selectionOrder?: "source" | "selected";
|
|
97
|
+
observeSource?: boolean;
|
|
98
|
+
render?: RenderMap;
|
|
99
|
+
/**
|
|
100
|
+
* Consumer-authored positioning/control region
|
|
101
|
+
*/
|
|
102
|
+
anchor?: HTMLElement;
|
|
103
|
+
sort?: (a: import("./helpers.js").ComboboxItem, b: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number;
|
|
104
|
+
score?: (item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number | false | null;
|
|
105
|
+
filter?: (item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean;
|
|
106
|
+
};
|
|
107
|
+
export type ResolvedOptions = ComboboxOptions & {
|
|
108
|
+
match: MatchStrategy | ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean);
|
|
109
|
+
searchFields: string | string[];
|
|
110
|
+
minChars: number;
|
|
111
|
+
allowEmptyOption: boolean;
|
|
112
|
+
placeholder: string;
|
|
113
|
+
messages: Messages;
|
|
114
|
+
loadOnEmpty: boolean;
|
|
115
|
+
debounce: number;
|
|
116
|
+
maxItems: number;
|
|
117
|
+
maxOptions: number;
|
|
118
|
+
separators: string[];
|
|
119
|
+
createOnBlur: boolean;
|
|
120
|
+
autoselectFirst: boolean;
|
|
121
|
+
tabSelect: boolean;
|
|
122
|
+
guards: GuardMap;
|
|
123
|
+
selectionOrder: "source" | "selected";
|
|
124
|
+
observeSource: boolean;
|
|
125
|
+
render: RenderMap;
|
|
126
|
+
load: LoadCallback | null;
|
|
127
|
+
create: boolean | CreateCallback;
|
|
128
|
+
createFilter: ((value: string, context: ComboboxContext) => boolean) | null;
|
|
129
|
+
shouldLoad: ((query: string, context: ComboboxContext) => boolean) | null;
|
|
130
|
+
tokenize: TokenizeCallback | null;
|
|
131
|
+
sort: ((a: import("./helpers.js").ComboboxItem, b: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number) | null;
|
|
132
|
+
score: ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number | false | null) | null;
|
|
133
|
+
filter: ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean) | null;
|
|
134
|
+
anchor: HTMLElement | null;
|
|
135
|
+
};
|
|
136
|
+
export type ViewState = {
|
|
137
|
+
/**
|
|
138
|
+
* Wrapper control (select-only; null for
|
|
139
|
+
* an input whose source input is itself the control)
|
|
140
|
+
*/
|
|
141
|
+
control: HTMLElement | null;
|
|
142
|
+
input: HTMLInputElement;
|
|
143
|
+
/**
|
|
144
|
+
* Only meaningful for a select
|
|
145
|
+
*/
|
|
146
|
+
chips: HTMLElement | null;
|
|
147
|
+
/**
|
|
148
|
+
* Only meaningful for an input
|
|
149
|
+
*/
|
|
150
|
+
datalist: HTMLDataListElement | null;
|
|
151
|
+
inputSnapshot: AttributeSnapshot | null;
|
|
152
|
+
sourceSnapshot: AttributeSnapshot | null;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Optional bookkeeping snapshot of one element's attributes so `dispose()` can
|
|
156
|
+
* restore the authored state exactly.
|
|
157
|
+
* @typedef {Object} AttributeSnapshot
|
|
158
|
+
* @property {() => void} restore Restore the captured attributes (removes what
|
|
159
|
+
* was absent, rewrites what had a value)
|
|
160
|
+
*/
|
|
161
|
+
/**
|
|
162
|
+
* UI status messages (noResults/loading/loadError text, create/position label
|
|
163
|
+
* producers). See messages.js for the canonical catalog and the locale
|
|
164
|
+
* registry.
|
|
165
|
+
* @typedef {import("./messages.js").Messages} Messages
|
|
166
|
+
*/
|
|
167
|
+
/**
|
|
168
|
+
* Optional DOM-representation hooks. `option`/`group`/`item`/`create`/
|
|
169
|
+
* `noResults`/`loading`/`error` render the respective rows; a returned DOM
|
|
170
|
+
* Node is inserted for rich content, anything else (strings) is text.
|
|
171
|
+
* @typedef {Object} RenderMap
|
|
172
|
+
* @property {ItemRenderer} [option]
|
|
173
|
+
* @property {TextRenderer} [group]
|
|
174
|
+
* @property {ItemRenderer} [item]
|
|
175
|
+
* @property {TextRenderer} [create]
|
|
176
|
+
* @property {TextRenderer} [noResults]
|
|
177
|
+
* @property {TextRenderer} [loading]
|
|
178
|
+
* @property {ErrorRenderer} [error]
|
|
179
|
+
*/
|
|
180
|
+
/**
|
|
181
|
+
* Async guards keyed by lifecycle phase. `false` is a voluntary refusal that
|
|
182
|
+
* mutates nothing; a rejected promise is an application error surfaced via
|
|
183
|
+
* `combobox:guarderror`.
|
|
184
|
+
* @typedef {Object} GuardMap
|
|
185
|
+
* @property {GuardCallback} [add]
|
|
186
|
+
* @property {GuardCallback} [remove]
|
|
187
|
+
* @property {GuardCallback} [clear]
|
|
188
|
+
*/
|
|
189
|
+
/**
|
|
190
|
+
* Combobox configuration. All properties are optional; the engine deep-merges
|
|
191
|
+
* with its defaults. Callbacks are the JavaScript-only surface.
|
|
192
|
+
* @typedef {Object} ComboboxOptions
|
|
193
|
+
* @property {MatchStrategy | ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean)} [match]
|
|
194
|
+
* @property {string | string[]} [searchFields]
|
|
195
|
+
* @property {number} [minChars]
|
|
196
|
+
* @property {boolean} [allowEmptyOption]
|
|
197
|
+
* @property {string} [placeholder]
|
|
198
|
+
* @property {Messages} [messages]
|
|
199
|
+
* @property {LoadCallback} [load]
|
|
200
|
+
* @property {boolean} [loadOnEmpty]
|
|
201
|
+
* @property {(query: string, context: ComboboxContext) => boolean} [shouldLoad]
|
|
202
|
+
* @property {number} [debounce]
|
|
203
|
+
* @property {(value: string, context: ComboboxContext) => boolean} [createFilter]
|
|
204
|
+
* @property {boolean | CreateCallback} [create]
|
|
205
|
+
* @property {number} [maxItems]
|
|
206
|
+
* @property {number} [maxOptions]
|
|
207
|
+
* @property {string[]} [separators]
|
|
208
|
+
* @property {TokenizeCallback} [tokenize]
|
|
209
|
+
* @property {boolean} [closeOnSelect]
|
|
210
|
+
* @property {boolean} [createOnBlur]
|
|
211
|
+
* @property {boolean} [autoselectFirst]
|
|
212
|
+
* @property {boolean} [tabSelect]
|
|
213
|
+
* @property {string} [labelField]
|
|
214
|
+
* @property {string} [valueField]
|
|
215
|
+
* @property {GuardMap} [guards]
|
|
216
|
+
* @property {"source" | "selected"} [selectionOrder]
|
|
217
|
+
* @property {boolean} [observeSource]
|
|
218
|
+
* @property {RenderMap} [render]
|
|
219
|
+
* @property {HTMLElement} [anchor] Consumer-authored positioning/control region
|
|
220
|
+
* @property {(a: import("./helpers.js").ComboboxItem, b: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number} [sort]
|
|
221
|
+
* @property {(item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number | false | null} [score]
|
|
222
|
+
* @property {(item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean} [filter]
|
|
223
|
+
*/
|
|
224
|
+
/**
|
|
225
|
+
* Internal options after the defaults merge. Every defaulted field is present
|
|
226
|
+
* and readable without optional-chaining; the nullable seams (`load`, `create`
|
|
227
|
+
* and friends) stay nullable and are always guarded by `typeof === "function"`.
|
|
228
|
+
* @typedef {ComboboxOptions & {
|
|
229
|
+
* match: MatchStrategy | ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean),
|
|
230
|
+
* searchFields: string | string[],
|
|
231
|
+
* minChars: number,
|
|
232
|
+
* allowEmptyOption: boolean,
|
|
233
|
+
* placeholder: string,
|
|
234
|
+
* messages: Messages,
|
|
235
|
+
* loadOnEmpty: boolean,
|
|
236
|
+
* debounce: number,
|
|
237
|
+
* maxItems: number,
|
|
238
|
+
* maxOptions: number,
|
|
239
|
+
* separators: string[],
|
|
240
|
+
* createOnBlur: boolean,
|
|
241
|
+
* autoselectFirst: boolean,
|
|
242
|
+
* tabSelect: boolean,
|
|
243
|
+
* guards: GuardMap,
|
|
244
|
+
* selectionOrder: "source" | "selected",
|
|
245
|
+
* observeSource: boolean,
|
|
246
|
+
* render: RenderMap,
|
|
247
|
+
* load: LoadCallback | null,
|
|
248
|
+
* create: boolean | CreateCallback,
|
|
249
|
+
* createFilter: ((value: string, context: ComboboxContext) => boolean) | null,
|
|
250
|
+
* shouldLoad: ((query: string, context: ComboboxContext) => boolean) | null,
|
|
251
|
+
* tokenize: TokenizeCallback | null,
|
|
252
|
+
* sort: ((a: import("./helpers.js").ComboboxItem, b: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number) | null,
|
|
253
|
+
* score: ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => number | false | null) | null,
|
|
254
|
+
* filter: ((item: import("./helpers.js").ComboboxItem, query: string, context: ComboboxContext) => boolean) | null,
|
|
255
|
+
* anchor: HTMLElement | null,
|
|
256
|
+
* }} ResolvedOptions
|
|
257
|
+
*/
|
|
258
|
+
/**
|
|
259
|
+
* State produced by the two initialisation branches (select vs input+datalist).
|
|
260
|
+
* Both return every property so the constructor receives a uniform view; the
|
|
261
|
+
* null-able entries are genuinely branch- or mode-conditional.
|
|
262
|
+
* @typedef {Object} ViewState
|
|
263
|
+
* @property {HTMLElement | null} control Wrapper control (select-only; null for
|
|
264
|
+
* an input whose source input is itself the control)
|
|
265
|
+
* @property {HTMLInputElement} input
|
|
266
|
+
* @property {HTMLElement | null} chips Only meaningful for a select
|
|
267
|
+
* @property {HTMLDataListElement | null} datalist Only meaningful for an input
|
|
268
|
+
* @property {AttributeSnapshot | null} inputSnapshot
|
|
269
|
+
* @property {AttributeSnapshot | null} sourceSnapshot
|
|
270
|
+
*/
|
|
271
|
+
/**
|
|
272
|
+
* Native-first combobox / filterable-select skeleton.
|
|
273
|
+
*
|
|
274
|
+
* The source element is always the form-value owner:
|
|
275
|
+
* - <input list>: the original input owns arbitrary text.
|
|
276
|
+
* - <select>: the original select owns one constrained value.
|
|
277
|
+
* - <select multiple>: selected <option>s own multiple values.
|
|
278
|
+
*
|
|
279
|
+
* The modern select filter input is a separate, unnamed interaction control.
|
|
280
|
+
* It may be generated, or supplied explicitly through a liaison attribute on
|
|
281
|
+
* the input itself: <input data-filter-for="select-id" hidden>.
|
|
282
|
+
*/
|
|
283
|
+
export declare class Combobox {
|
|
284
|
+
#private;
|
|
285
|
+
/** @type {ComboboxSource} */
|
|
286
|
+
source: ComboboxSource;
|
|
287
|
+
isSelect: boolean;
|
|
288
|
+
isMultiple: boolean;
|
|
289
|
+
abortController: AbortController;
|
|
290
|
+
/** @type {AbortController | null} */
|
|
291
|
+
loadController: AbortController | null;
|
|
292
|
+
activeIndex: number;
|
|
293
|
+
/** @type {import("./helpers.js").ComboboxItem[]} */
|
|
294
|
+
filteredItems: import("./helpers.js").ComboboxItem[];
|
|
295
|
+
/** @type {import("./helpers.js").ComboboxItem[] | null} */
|
|
296
|
+
results: import("./helpers.js").ComboboxItem[] | null;
|
|
297
|
+
/** @type {HTMLOptionElement[]} */
|
|
298
|
+
selectionOrder: HTMLOptionElement[];
|
|
299
|
+
/** @type {WeakMap<HTMLElement, HTMLOptionElement>} */
|
|
300
|
+
_chipOptions: WeakMap<HTMLElement, HTMLOptionElement>;
|
|
301
|
+
searchGeneration: number;
|
|
302
|
+
/** @type {string | null} */
|
|
303
|
+
nextCursor: string | null;
|
|
304
|
+
loading: boolean;
|
|
305
|
+
/** @type {*} */
|
|
306
|
+
loadError: any;
|
|
307
|
+
query: string;
|
|
308
|
+
id: number;
|
|
309
|
+
mode: string;
|
|
310
|
+
anchorName: string;
|
|
311
|
+
suppressReopen: boolean;
|
|
312
|
+
composing: boolean;
|
|
313
|
+
/** @type {MutationObserver | null} */
|
|
314
|
+
_sourceObserver: MutationObserver | null;
|
|
315
|
+
/** @type {ReturnType<typeof setTimeout> | null} */
|
|
316
|
+
_sourceSyncTimer: ReturnType<typeof setTimeout> | null;
|
|
317
|
+
/** @type {ComboboxOptions} */
|
|
318
|
+
explicitOptions: ComboboxOptions;
|
|
319
|
+
/** @type {ResolvedOptions} */
|
|
320
|
+
options: ResolvedOptions;
|
|
321
|
+
original: {
|
|
322
|
+
/** @type {Comment | null} */
|
|
323
|
+
filterInputPlaceholder: Comment | null;
|
|
324
|
+
/** @type {Comment | null} */
|
|
325
|
+
datalistPlaceholder: Comment | null;
|
|
326
|
+
/** @type {Array<{ label: HTMLLabelElement, id: string }>} */
|
|
327
|
+
inventedLabels: Array<{
|
|
328
|
+
label: HTMLLabelElement;
|
|
329
|
+
id: string;
|
|
330
|
+
}>;
|
|
331
|
+
};
|
|
332
|
+
/** @type {HTMLLabelElement[]} */
|
|
333
|
+
boundLabels: HTMLLabelElement[];
|
|
334
|
+
ownsInput: boolean;
|
|
335
|
+
/** @type {HTMLElement | null} */
|
|
336
|
+
fallbackControl: HTMLElement | null;
|
|
337
|
+
/** @type {HTMLElement | null} */
|
|
338
|
+
control: HTMLElement | null;
|
|
339
|
+
/** @type {HTMLElement | null} */
|
|
340
|
+
anchor: HTMLElement | null;
|
|
341
|
+
/** @type {AttributeSnapshot | null} */
|
|
342
|
+
anchorSnapshot: AttributeSnapshot | null;
|
|
343
|
+
/** @type {HTMLInputElement | null} */
|
|
344
|
+
input: HTMLInputElement | null;
|
|
345
|
+
/** @type {HTMLElement | null} */
|
|
346
|
+
chips: HTMLElement | null;
|
|
347
|
+
/** @type {HTMLDataListElement | null} */
|
|
348
|
+
datalist: HTMLDataListElement | null;
|
|
349
|
+
/** @type {AttributeSnapshot | null} */
|
|
350
|
+
inputSnapshot: AttributeSnapshot | null;
|
|
351
|
+
/** @type {AttributeSnapshot | null} */
|
|
352
|
+
sourceSnapshot: AttributeSnapshot | null;
|
|
353
|
+
/** @type {HTMLElement | null} */
|
|
354
|
+
popover: HTMLElement | null;
|
|
355
|
+
/** @type {HTMLElement | null} */
|
|
356
|
+
listbox: HTMLElement | null;
|
|
357
|
+
/** @type {HTMLElement | null} */
|
|
358
|
+
status: HTMLElement | null;
|
|
359
|
+
static supported: boolean;
|
|
360
|
+
/**
|
|
361
|
+
* Read the current default UI messages. Returns a shallow copy; mutating
|
|
362
|
+
* the result does not affect the engine.
|
|
363
|
+
* @returns {Messages}
|
|
364
|
+
*/
|
|
365
|
+
static getDefaultMessages(): Messages;
|
|
366
|
+
/**
|
|
367
|
+
* Merge application or locale-provided UI text into the default messages.
|
|
368
|
+
* Called by the shipped `locales/*` modules on import. Only comboboxes
|
|
369
|
+
* created *after* this call see the new text: instances resolve their
|
|
370
|
+
* messages as a snapshot at construction time. Per-instance `messages`
|
|
371
|
+
* options always take precedence over these defaults. Missing keys keep
|
|
372
|
+
* their current translation, and producer keys (`create`, `position`) stay
|
|
373
|
+
* functions.
|
|
374
|
+
* @param {Partial<Messages>} messages
|
|
375
|
+
* @returns {void}
|
|
376
|
+
*/
|
|
377
|
+
static setDefaultMessages(messages: Partial<Messages>): void;
|
|
378
|
+
/**
|
|
379
|
+
* Discover and enhance combobox sources. This is a discovery/creation API
|
|
380
|
+
* only: an element that already has an instance is returned as-is and never
|
|
381
|
+
* reconfigured with new options (idempotence is unambiguous).
|
|
382
|
+
*
|
|
383
|
+
* Valid shapes:
|
|
384
|
+
* init("selector") / init("selector", options)
|
|
385
|
+
* init(root, "selector") / init(root, "selector", options)
|
|
386
|
+
* init([element, ...], options) / init(nodeList, options)
|
|
387
|
+
*
|
|
388
|
+
* Discovery is always explicit: a string root is a CSS selector, an
|
|
389
|
+
* Element/Document root is a scope for the selector, and any other iterable
|
|
390
|
+
* is a list of source elements. An element root without a selector and a bare
|
|
391
|
+
* init() discover nothing (there is no implicit `data-*` marker). Unsupported
|
|
392
|
+
* elements inside collections are ignored without invalidating the call.
|
|
393
|
+
* Returns the array of Combobox instances.
|
|
394
|
+
*
|
|
395
|
+
* @param {string | ParentNode | Iterable<EventTarget> | null | undefined} rootOrSelector
|
|
396
|
+
* @param {string | ComboboxOptions | null | undefined} selectorOrOptions
|
|
397
|
+
* @param {ComboboxOptions} maybeOptions
|
|
398
|
+
* @returns {Combobox[]}
|
|
399
|
+
*/
|
|
400
|
+
static init(rootOrSelector?: string | ParentNode | Iterable<EventTarget> | null | undefined, selectorOrOptions?: string | ComboboxOptions | null | undefined, maybeOptions?: ComboboxOptions): Combobox[];
|
|
401
|
+
/**
|
|
402
|
+
* @param {ComboboxSource} element
|
|
403
|
+
* @returns {Combobox | null}
|
|
404
|
+
*/
|
|
405
|
+
static getInstance(element: ComboboxSource): Combobox | null;
|
|
406
|
+
/**
|
|
407
|
+
* @param {ComboboxSource} element
|
|
408
|
+
* @param {ComboboxOptions} options
|
|
409
|
+
* @returns {Combobox}
|
|
410
|
+
*/
|
|
411
|
+
static getOrCreateInstance(element: ComboboxSource, options?: ComboboxOptions): Combobox;
|
|
412
|
+
/**
|
|
413
|
+
* @param {ComboboxSource} element
|
|
414
|
+
* @param {ComboboxOptions} options
|
|
415
|
+
*/
|
|
416
|
+
constructor(element: ComboboxSource, options?: ComboboxOptions);
|
|
417
|
+
get visibleItems(): import("./helpers.js").ComboboxItem[];
|
|
418
|
+
/** Set transient picker results without turning the select into a remote cache. */
|
|
419
|
+
/**
|
|
420
|
+
* @param {Array<any>} items
|
|
421
|
+
* @returns {this}
|
|
422
|
+
*/
|
|
423
|
+
setResults(items: Array<any>): this;
|
|
424
|
+
clearResults(): this;
|
|
425
|
+
/** Replace the native catalogue explicitly. Prefer setResults() for remote search. */
|
|
426
|
+
/**
|
|
427
|
+
* @param {Array<any>} items
|
|
428
|
+
* @param {{ preserveSelected?: boolean }} [options]
|
|
429
|
+
* @returns {this}
|
|
430
|
+
*/
|
|
431
|
+
setOptions(items: Array<any>, { preserveSelected }?: {
|
|
432
|
+
preserveSelected?: boolean;
|
|
433
|
+
}): this;
|
|
434
|
+
/** Explicit sync point for external DOM mutations. */
|
|
435
|
+
sync(): this;
|
|
436
|
+
/** Single entry point for all listeners bound with `this` as the handler. */
|
|
437
|
+
/**
|
|
438
|
+
* @param {Event} event
|
|
439
|
+
*/
|
|
440
|
+
handleEvent(event: Event): void;
|
|
441
|
+
/**
|
|
442
|
+
* Run the normal filtering pipeline: beforefilter -> optional load -> filter.
|
|
443
|
+
* @param {string} [query]
|
|
444
|
+
* @param {{ show?: boolean, reason?: string }} [options]
|
|
445
|
+
*/
|
|
446
|
+
search(query?: string, { show, reason }?: {
|
|
447
|
+
show?: boolean;
|
|
448
|
+
reason?: string;
|
|
449
|
+
}): Promise<void>;
|
|
450
|
+
/**
|
|
451
|
+
* Update the visible interaction text and run the normal search pipeline.
|
|
452
|
+
* Unlike search(), this keeps the DOM input and `query` in sync. Programmatic
|
|
453
|
+
* assignment follows the platform and does not dispatch native input/change
|
|
454
|
+
* events.
|
|
455
|
+
* @param {*} value
|
|
456
|
+
* @param {{ show?: boolean, reason?: string }} [options]
|
|
457
|
+
* @returns {Promise<void>}
|
|
458
|
+
*/
|
|
459
|
+
setQuery(value: any, { show, reason }?: {
|
|
460
|
+
show?: boolean;
|
|
461
|
+
reason?: string;
|
|
462
|
+
}): Promise<void>;
|
|
463
|
+
/**
|
|
464
|
+
* Clear the visible interaction text and run the normal search pipeline.
|
|
465
|
+
* The picker is not opened when it was closed unless `{ show: true }` is
|
|
466
|
+
* requested explicitly.
|
|
467
|
+
* @param {{ show?: boolean, reason?: string }} [options]
|
|
468
|
+
* @returns {Promise<void>}
|
|
469
|
+
*/
|
|
470
|
+
clearQuery({ show, reason }?: {
|
|
471
|
+
show?: boolean;
|
|
472
|
+
reason?: string;
|
|
473
|
+
}): Promise<void>;
|
|
474
|
+
/**
|
|
475
|
+
* Apply the local filter directly, without re-firing beforefilter or load.
|
|
476
|
+
* This is the escape hatch intended for a canceled beforefilter handler:
|
|
477
|
+
* event.preventDefault();
|
|
478
|
+
* combobox.setResults(results).applyFilter(event.query, { show: true });
|
|
479
|
+
* @param {string} [query]
|
|
480
|
+
* @param {{ show?: boolean }} [options]
|
|
481
|
+
* @returns {this | undefined}
|
|
482
|
+
*/
|
|
483
|
+
applyFilter(query?: string, { show }?: {
|
|
484
|
+
show?: boolean;
|
|
485
|
+
}): this | undefined;
|
|
486
|
+
/**
|
|
487
|
+
* Add a catalogue option to the select.
|
|
488
|
+
* @param {*} rawItem
|
|
489
|
+
* @param {{ selected?: boolean }} [options]
|
|
490
|
+
* @returns {HTMLOptionElement}
|
|
491
|
+
*/
|
|
492
|
+
addOption(rawItem: any, { selected }?: {
|
|
493
|
+
selected?: boolean;
|
|
494
|
+
}): HTMLOptionElement;
|
|
495
|
+
/**
|
|
496
|
+
* Select an item. Bare values resolve to existing catalogue entries (never
|
|
497
|
+
* materialising new options); objects/options may materialise.
|
|
498
|
+
* @param {string | number | import("./helpers.js").ComboboxItem | HTMLOptionElement} itemOrValue
|
|
499
|
+
* @returns {boolean}
|
|
500
|
+
*/
|
|
501
|
+
select(itemOrValue: string | number | import("./helpers.js").ComboboxItem | HTMLOptionElement): boolean;
|
|
502
|
+
/**
|
|
503
|
+
* @param {string | HTMLOptionElement} valueOrOption
|
|
504
|
+
* @returns {Promise<boolean>}
|
|
505
|
+
*/
|
|
506
|
+
remove(valueOrOption: string | HTMLOptionElement): Promise<boolean>;
|
|
507
|
+
clear(): Promise<boolean>;
|
|
508
|
+
/**
|
|
509
|
+
* @returns {string[]}
|
|
510
|
+
*/
|
|
511
|
+
getSelectedValues(): string[];
|
|
512
|
+
/**
|
|
513
|
+
* @returns {import("./helpers.js").ComboboxItem[]}
|
|
514
|
+
*/
|
|
515
|
+
getSelectedItems(): import("./helpers.js").ComboboxItem[];
|
|
516
|
+
/**
|
|
517
|
+
* @param {string | HTMLOptionElement} itemOrValue
|
|
518
|
+
* @param {number} index
|
|
519
|
+
* @returns {boolean}
|
|
520
|
+
*/
|
|
521
|
+
move(itemOrValue: string | HTMLOptionElement, index: number): boolean;
|
|
522
|
+
loadMore(): Promise<boolean>;
|
|
523
|
+
refresh(): this;
|
|
524
|
+
show(): boolean;
|
|
525
|
+
hide(): boolean;
|
|
526
|
+
isOpen(): boolean;
|
|
527
|
+
dispose(): void;
|
|
528
|
+
}
|
|
529
|
+
export default Combobox;
|
|
530
|
+
//# sourceMappingURL=combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../src/combobox.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/define.js"],"names":[],"mappings":""}
|