@zeyos/zx 2.1.0 → 2.2.1
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/CHANGELOG.md +51 -0
- package/README.md +15 -0
- package/dist/types/compat/base.d.ts +156 -0
- package/dist/types/compat/globals.d.ts +20 -0
- package/dist/types/compat/index.d.ts +128 -0
- package/dist/types/compat/map/basic.d.ts +175 -0
- package/dist/types/compat/map/data.d.ts +102 -0
- package/dist/types/compat/map/date-time.d.ts +80 -0
- package/dist/types/compat/map/factory.d.ts +9 -0
- package/dist/types/compat/map/form.d.ts +98 -0
- package/dist/types/compat/map/helpers.d.ts +12 -0
- package/dist/types/compat/map/http.d.ts +36 -0
- package/dist/types/compat/map/layout.d.ts +106 -0
- package/dist/types/compat/map/options.d.ts +80 -0
- package/dist/types/compat/map/select.d.ts +95 -0
- package/dist/types/compat/map/stubs.d.ts +32 -0
- package/dist/types/compat/map/utilities.d.ts +37 -0
- package/dist/types/compat-entry.d.ts +5 -0
- package/dist/types/components/badge/badge.d.ts +46 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +200 -0
- package/dist/types/components/button/button.d.ts +42 -0
- package/dist/types/components/check-button/check-button.d.ts +98 -0
- package/dist/types/components/checklist/checklist.d.ts +143 -0
- package/dist/types/components/checklist/field-adapter.d.ts +5 -0
- package/dist/types/components/context-menu/context-menu.d.ts +130 -0
- package/dist/types/components/copy/copy-button.d.ts +48 -0
- package/dist/types/components/copy/copy-input.d.ts +91 -0
- package/dist/types/components/data-filter/data-filter.d.ts +250 -0
- package/dist/types/components/data-filter/filter-core.d.ts +52 -0
- package/dist/types/components/date-picker/date-picker.d.ts +137 -0
- package/dist/types/components/date-picker/date-range-picker.d.ts +350 -0
- package/dist/types/components/date-picker/field-adapter.d.ts +6 -0
- package/dist/types/components/date-picker/month-picker.d.ts +75 -0
- package/dist/types/components/date-picker/range-field-adapter.d.ts +7 -0
- package/dist/types/components/date-picker/time-picker.d.ts +127 -0
- package/dist/types/components/datebox/date-range-box.d.ts +218 -0
- package/dist/types/components/datebox/datebox.d.ts +160 -0
- package/dist/types/components/datebox/field-adapter.d.ts +5 -0
- package/dist/types/components/dialog/dialog.d.ts +284 -0
- package/dist/types/components/dropdown/dropdown.d.ts +118 -0
- package/dist/types/components/empty-state/empty-state.d.ts +38 -0
- package/dist/types/components/field/field.d.ts +231 -0
- package/dist/types/components/field-upload/field-adapter.d.ts +5 -0
- package/dist/types/components/field-upload/field-upload.d.ts +213 -0
- package/dist/types/components/fieldset/fieldset.d.ts +125 -0
- package/dist/types/components/finder/finder.d.ts +252 -0
- package/dist/types/components/form/form.d.ts +194 -0
- package/dist/types/components/groupbox/groupbox.d.ts +89 -0
- package/dist/types/components/layout/layout.d.ts +132 -0
- package/dist/types/components/loading/inline-loading.d.ts +86 -0
- package/dist/types/components/loading/progress-bar.d.ts +168 -0
- package/dist/types/components/loading/spinner.d.ts +34 -0
- package/dist/types/components/master-panel/master-panel.d.ts +112 -0
- package/dist/types/components/menu-button/menu-button.d.ts +142 -0
- package/dist/types/components/message/message.d.ts +212 -0
- package/dist/types/components/modal/modal.d.ts +105 -0
- package/dist/types/components/multi-value-editor/field-adapter.d.ts +5 -0
- package/dist/types/components/multi-value-editor/multi-value-editor.d.ts +66 -0
- package/dist/types/components/navigation-bar/navigation-bar.d.ts +229 -0
- package/dist/types/components/number-field/field-adapter.d.ts +5 -0
- package/dist/types/components/number-field/number-field.d.ts +292 -0
- package/dist/types/components/pagination/pagination.d.ts +267 -0
- package/dist/types/components/panel/panel.d.ts +194 -0
- package/dist/types/components/permission/permission.d.ts +93 -0
- package/dist/types/components/rating/field-adapter.d.ts +5 -0
- package/dist/types/components/rating/rating.d.ts +213 -0
- package/dist/types/components/search/search.d.ts +98 -0
- package/dist/types/components/select/field-adapter.d.ts +5 -0
- package/dist/types/components/select/filter.d.ts +11 -0
- package/dist/types/components/select/select.d.ts +235 -0
- package/dist/types/components/skeleton/skeleton.d.ts +97 -0
- package/dist/types/components/slider/field-adapter.d.ts +5 -0
- package/dist/types/components/slider/slider.d.ts +216 -0
- package/dist/types/components/split-view/split-view.d.ts +335 -0
- package/dist/types/components/stepper/stepper.d.ts +314 -0
- package/dist/types/components/stepper/steps.d.ts +131 -0
- package/dist/types/components/tabbox/tabbox.d.ts +230 -0
- package/dist/types/components/table/sort.d.ts +49 -0
- package/dist/types/components/table/table.d.ts +872 -0
- package/dist/types/components/tag-picker/field-adapter.d.ts +5 -0
- package/dist/types/components/tag-picker/tag-picker.d.ts +375 -0
- package/dist/types/components/timebox/field-adapter.d.ts +5 -0
- package/dist/types/components/timebox/timebox.d.ts +121 -0
- package/dist/types/components/toggle/field-adapter.d.ts +5 -0
- package/dist/types/components/toggle/toggle.d.ts +94 -0
- package/dist/types/components/toolbar/toolbar.d.ts +230 -0
- package/dist/types/components/tooltip/tooltip.d.ts +183 -0
- package/dist/types/components/tree/hierarchy.d.ts +113 -0
- package/dist/types/components/tree/tree.d.ts +383 -0
- package/dist/types/components/truncate/truncate.d.ts +61 -0
- package/dist/types/components/value-list/field-adapter.d.ts +5 -0
- package/dist/types/components/value-list/value-list.d.ts +143 -0
- package/dist/types/core/breakpoint.d.ts +68 -0
- package/dist/types/core/component.d.ts +115 -0
- package/dist/types/core/date.d.ts +50 -0
- package/dist/types/core/dom.d.ts +86 -0
- package/dist/types/core/export.d.ts +70 -0
- package/dist/types/core/fontawesome.d.ts +107 -0
- package/dist/types/core/format.d.ts +107 -0
- package/dist/types/core/http.d.ts +122 -0
- package/dist/types/core/i18n.d.ts +35 -0
- package/dist/types/core/icons.d.ts +137 -0
- package/dist/types/core/keyboard.d.ts +72 -0
- package/dist/types/core/position.d.ts +45 -0
- package/dist/types/core/storage.d.ts +46 -0
- package/dist/types/core/util.d.ts +117 -0
- package/dist/types/elements/define.d.ts +73 -0
- package/dist/types/elements/reflect.d.ts +27 -0
- package/dist/types/index.d.ts +79 -0
- package/dist/types/zeyos/connect.d.ts +65 -0
- package/dist/types/zeyos/form.d.ts +140 -0
- package/dist/types/zeyos/icons.d.ts +104 -0
- package/dist/types/zeyos/index.d.ts +12 -0
- package/dist/types/zeyos/modules.d.ts +110 -0
- package/dist/types/zeyos/query.d.ts +157 -0
- package/dist/types/zeyos/schema.d.ts +79 -0
- package/dist/types/zeyos/select.d.ts +167 -0
- package/dist/types/zeyos/table.d.ts +205 -0
- package/dist/zx-compat.esm.js +375 -39
- package/dist/zx-compat.esm.min.js +1 -1
- package/dist/zx-compat.global.js +372 -73
- package/dist/zx-compat.global.min.js +3 -3
- package/dist/zx-zeyos.esm.js +355 -49
- package/dist/zx-zeyos.esm.min.js +1 -1
- package/dist/zx.css +68 -6
- package/dist/zx.esm.js +359 -73
- package/dist/zx.esm.min.js +3 -3
- package/dist/zx.global.js +359 -73
- package/dist/zx.global.min.js +3 -3
- package/dist/zx.min.css +1 -1
- package/docs/api.json +48 -2
- package/docs/llms.md +31 -0
- package/package.json +37 -9
- package/src/compat/base.js +291 -0
- package/src/compat/globals.js +165 -0
- package/src/compat/index.js +84 -0
- package/src/compat/map/basic.js +464 -0
- package/src/compat/map/data.js +232 -0
- package/src/compat/map/date-time.js +177 -0
- package/src/compat/map/factory.js +45 -0
- package/src/compat/map/form.js +330 -0
- package/src/compat/map/helpers.js +46 -0
- package/src/compat/map/http.js +117 -0
- package/src/compat/map/layout.js +256 -0
- package/src/compat/map/options.js +267 -0
- package/src/compat/map/select.js +198 -0
- package/src/compat/map/stubs.js +26 -0
- package/src/compat/map/utilities.js +113 -0
- package/src/compat-entry.js +11 -0
- package/src/components/badge/badge.css +147 -0
- package/src/components/badge/badge.js +92 -0
- package/src/components/breadcrumb/breadcrumb.css +105 -0
- package/src/components/breadcrumb/breadcrumb.js +331 -0
- package/src/components/button/button.css +104 -0
- package/src/components/button/button.js +76 -0
- package/src/components/check-button/check-button.css +66 -0
- package/src/components/check-button/check-button.js +167 -0
- package/src/components/checklist/checklist.css +65 -0
- package/src/components/checklist/checklist.js +282 -0
- package/src/components/checklist/field-adapter.js +46 -0
- package/src/components/context-menu/context-menu.css +54 -0
- package/src/components/context-menu/context-menu.js +334 -0
- package/src/components/copy/copy-button.css +27 -0
- package/src/components/copy/copy-button.js +78 -0
- package/src/components/copy/copy-input.css +59 -0
- package/src/components/copy/copy-input.js +123 -0
- package/src/components/data-filter/data-filter.css +53 -0
- package/src/components/data-filter/data-filter.js +400 -0
- package/src/components/data-filter/filter-core.js +128 -0
- package/src/components/date-picker/date-picker.css +181 -0
- package/src/components/date-picker/date-picker.js +500 -0
- package/src/components/date-picker/date-range-picker.css +264 -0
- package/src/components/date-picker/date-range-picker.js +990 -0
- package/src/components/date-picker/field-adapter.js +36 -0
- package/src/components/date-picker/month-picker.js +223 -0
- package/src/components/date-picker/range-field-adapter.js +31 -0
- package/src/components/date-picker/time-picker.css +191 -0
- package/src/components/date-picker/time-picker.js +406 -0
- package/src/components/datebox/date-range-box.css +128 -0
- package/src/components/datebox/date-range-box.js +492 -0
- package/src/components/datebox/datebox.css +108 -0
- package/src/components/datebox/datebox.js +358 -0
- package/src/components/datebox/field-adapter.js +34 -0
- package/src/components/dialog/dialog.css +74 -0
- package/src/components/dialog/dialog.js +450 -0
- package/src/components/dropdown/dropdown.css +24 -0
- package/src/components/dropdown/dropdown.js +288 -0
- package/src/components/empty-state/empty-state.css +80 -0
- package/src/components/empty-state/empty-state.js +92 -0
- package/src/components/field/field.css +127 -0
- package/src/components/field/field.js +605 -0
- package/src/components/field-upload/field-adapter.js +21 -0
- package/src/components/field-upload/field-upload.css +108 -0
- package/src/components/field-upload/field-upload.js +475 -0
- package/src/components/fieldset/fieldset.css +37 -0
- package/src/components/fieldset/fieldset.js +307 -0
- package/src/components/finder/finder.css +98 -0
- package/src/components/finder/finder.js +509 -0
- package/src/components/form/form.css +32 -0
- package/src/components/form/form.js +302 -0
- package/src/components/groupbox/groupbox.css +51 -0
- package/src/components/groupbox/groupbox.js +199 -0
- package/src/components/layout/layout.css +117 -0
- package/src/components/layout/layout.js +136 -0
- package/src/components/loading/inline-loading.css +34 -0
- package/src/components/loading/inline-loading.js +140 -0
- package/src/components/loading/progress-bar.css +115 -0
- package/src/components/loading/progress-bar.js +259 -0
- package/src/components/loading/spinner.css +58 -0
- package/src/components/loading/spinner.js +57 -0
- package/src/components/master-panel/master-panel.css +51 -0
- package/src/components/master-panel/master-panel.js +203 -0
- package/src/components/menu-button/menu-button.css +49 -0
- package/src/components/menu-button/menu-button.js +294 -0
- package/src/components/message/message.css +122 -0
- package/src/components/message/message.js +499 -0
- package/src/components/modal/modal.css +47 -0
- package/src/components/modal/modal.js +203 -0
- package/src/components/multi-value-editor/field-adapter.js +44 -0
- package/src/components/multi-value-editor/multi-value-editor.css +56 -0
- package/src/components/multi-value-editor/multi-value-editor.js +170 -0
- package/src/components/navigation-bar/navigation-bar.css +130 -0
- package/src/components/navigation-bar/navigation-bar.js +450 -0
- package/src/components/number-field/field-adapter.js +40 -0
- package/src/components/number-field/number-field.css +77 -0
- package/src/components/number-field/number-field.js +545 -0
- package/src/components/pagination/pagination.css +95 -0
- package/src/components/pagination/pagination.js +481 -0
- package/src/components/panel/panel.css +123 -0
- package/src/components/panel/panel.js +336 -0
- package/src/components/permission/permission.css +47 -0
- package/src/components/permission/permission.js +198 -0
- package/src/components/rating/field-adapter.js +34 -0
- package/src/components/rating/rating.css +97 -0
- package/src/components/rating/rating.js +395 -0
- package/src/components/search/search.css +70 -0
- package/src/components/search/search.js +193 -0
- package/src/components/select/field-adapter.js +24 -0
- package/src/components/select/filter.js +39 -0
- package/src/components/select/select.css +180 -0
- package/src/components/select/select.js +663 -0
- package/src/components/skeleton/skeleton.css +76 -0
- package/src/components/skeleton/skeleton.js +139 -0
- package/src/components/slider/field-adapter.js +36 -0
- package/src/components/slider/slider.css +181 -0
- package/src/components/slider/slider.js +399 -0
- package/src/components/split-view/split-view.css +139 -0
- package/src/components/split-view/split-view.js +806 -0
- package/src/components/stepper/stepper.css +234 -0
- package/src/components/stepper/stepper.js +459 -0
- package/src/components/stepper/steps.js +131 -0
- package/src/components/tabbox/tabbox.css +281 -0
- package/src/components/tabbox/tabbox.js +484 -0
- package/src/components/table/sort.js +85 -0
- package/src/components/table/table.css +364 -0
- package/src/components/table/table.js +1711 -0
- package/src/components/tag-picker/field-adapter.js +35 -0
- package/src/components/tag-picker/tag-picker.css +169 -0
- package/src/components/tag-picker/tag-picker.js +837 -0
- package/src/components/timebox/field-adapter.js +24 -0
- package/src/components/timebox/timebox.css +51 -0
- package/src/components/timebox/timebox.js +276 -0
- package/src/components/toggle/field-adapter.js +24 -0
- package/src/components/toggle/toggle.css +66 -0
- package/src/components/toggle/toggle.js +150 -0
- package/src/components/toolbar/toolbar.css +81 -0
- package/src/components/toolbar/toolbar.js +511 -0
- package/src/components/tooltip/tooltip.css +36 -0
- package/src/components/tooltip/tooltip.js +420 -0
- package/src/components/tree/hierarchy.js +151 -0
- package/src/components/tree/tree.css +99 -0
- package/src/components/tree/tree.js +784 -0
- package/src/components/truncate/truncate.css +20 -0
- package/src/components/truncate/truncate.js +92 -0
- package/src/components/value-list/field-adapter.js +24 -0
- package/src/components/value-list/value-list.css +108 -0
- package/src/components/value-list/value-list.js +336 -0
- package/src/core/breakpoint.js +150 -0
- package/src/core/component.js +292 -0
- package/src/core/date.js +216 -0
- package/src/core/dom.js +260 -0
- package/src/core/export.js +204 -0
- package/src/core/fontawesome.js +177 -0
- package/src/core/format.js +283 -0
- package/src/core/http.js +246 -0
- package/src/core/i18n.js +83 -0
- package/src/core/icons.js +283 -0
- package/src/core/keyboard.js +240 -0
- package/src/core/position.js +177 -0
- package/src/core/storage.js +175 -0
- package/src/core/util.js +336 -0
- package/src/elements/define.js +715 -0
- package/src/elements/reflect.js +79 -0
- package/src/index.js +131 -0
- package/src/zeyos/connect.js +142 -0
- package/src/zeyos/form.js +254 -0
- package/src/zeyos/icons.js +92 -0
- package/src/zeyos/index.js +21 -0
- package/src/zeyos/modules.js +269 -0
- package/src/zeyos/query.js +199 -0
- package/src/zeyos/schema.js +474 -0
- package/src/zeyos/select.js +175 -0
- package/src/zeyos/table.js +272 -0
- package/styles/base.css +124 -0
- package/styles/icons.css +34 -0
- package/styles/tokens/dark.css +84 -0
- package/styles/tokens/density.css +9 -0
- package/styles/tokens/global.css +80 -0
- package/styles/tokens/modules.css +109 -0
- package/styles/tokens/semantic.css +49 -0
- package/styles/zx.css +61 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { Component } from '../../core/component.js';
|
|
2
|
+
export type TagItem = Record<string, any> | string | number;
|
|
3
|
+
export type TagValueReader = string | ((item: TagItem) => unknown);
|
|
4
|
+
export type TagLabelReader = string | ((item: TagItem) => string);
|
|
5
|
+
export type TagPickerOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Selectable items.
|
|
8
|
+
*/
|
|
9
|
+
items?: TagItem[];
|
|
10
|
+
/**
|
|
11
|
+
* Initially selected IDs.
|
|
12
|
+
*/
|
|
13
|
+
values?: unknown[];
|
|
14
|
+
/**
|
|
15
|
+
* Item ID property or reader.
|
|
16
|
+
*/
|
|
17
|
+
valueKey?: TagValueReader;
|
|
18
|
+
/**
|
|
19
|
+
* Item label property or reader.
|
|
20
|
+
*/
|
|
21
|
+
labelKey?: TagLabelReader;
|
|
22
|
+
/**
|
|
23
|
+
* Fields searched by local filtering.
|
|
24
|
+
*/
|
|
25
|
+
searchKeys?: Array<TagValueReader> | null;
|
|
26
|
+
/**
|
|
27
|
+
* Filtering mode.
|
|
28
|
+
*/
|
|
29
|
+
filter?: 'local' | ((query: string) => Promise<TagItem[]> | TagItem[]);
|
|
30
|
+
/**
|
|
31
|
+
* Minimum async query length.
|
|
32
|
+
*/
|
|
33
|
+
minQuery?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Async query delay in milliseconds.
|
|
36
|
+
*/
|
|
37
|
+
debounce?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Whether unknown values may be created from the query.
|
|
40
|
+
*/
|
|
41
|
+
allowCreate?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Maximum number of selected values.
|
|
44
|
+
*/
|
|
45
|
+
max?: number | null;
|
|
46
|
+
/**
|
|
47
|
+
* Whether picking an item closes the list.
|
|
48
|
+
*/
|
|
49
|
+
closeOnSelect?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Empty-state input text.
|
|
52
|
+
*/
|
|
53
|
+
placeholder?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Maximum list height in pixels.
|
|
56
|
+
*/
|
|
57
|
+
listHeight?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Whether interaction is disabled.
|
|
60
|
+
*/
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Whether tags may be added or removed.
|
|
64
|
+
*/
|
|
65
|
+
readonly?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Option renderer.
|
|
68
|
+
*/
|
|
69
|
+
renderItem?: ((item: TagItem) => Node | string) | null;
|
|
70
|
+
/**
|
|
71
|
+
* Tag-label renderer.
|
|
72
|
+
*/
|
|
73
|
+
renderTag?: ((item: TagItem) => Node | string) | null;
|
|
74
|
+
/**
|
|
75
|
+
* Localized messages.
|
|
76
|
+
*/
|
|
77
|
+
msg?: Record<string, string> | Record<string, Record<string, string>>;
|
|
78
|
+
/**
|
|
79
|
+
* Change listener.
|
|
80
|
+
*/
|
|
81
|
+
onchange?: (event: CustomEvent<{
|
|
82
|
+
values: unknown[];
|
|
83
|
+
items: TagItem[];
|
|
84
|
+
}>) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Add listener.
|
|
87
|
+
*/
|
|
88
|
+
onadd?: (event: CustomEvent<{
|
|
89
|
+
value: unknown;
|
|
90
|
+
item: TagItem;
|
|
91
|
+
}>) => void;
|
|
92
|
+
/**
|
|
93
|
+
* Remove listener.
|
|
94
|
+
*/
|
|
95
|
+
onremove?: (event: CustomEvent<{
|
|
96
|
+
value: unknown;
|
|
97
|
+
item: TagItem;
|
|
98
|
+
}>) => void;
|
|
99
|
+
/**
|
|
100
|
+
* Create listener.
|
|
101
|
+
*/
|
|
102
|
+
oncreate?: (event: CustomEvent<{
|
|
103
|
+
value: unknown;
|
|
104
|
+
item: TagItem;
|
|
105
|
+
}>) => void;
|
|
106
|
+
/**
|
|
107
|
+
* Async-query listener.
|
|
108
|
+
*/
|
|
109
|
+
onquery?: (event: CustomEvent<{
|
|
110
|
+
query: string;
|
|
111
|
+
}>) => void;
|
|
112
|
+
/**
|
|
113
|
+
* Open listener.
|
|
114
|
+
*/
|
|
115
|
+
onopen?: (event: CustomEvent<Record<string, never>>) => void;
|
|
116
|
+
/**
|
|
117
|
+
* Close listener.
|
|
118
|
+
*/
|
|
119
|
+
onclose?: (event: CustomEvent<Record<string, never>>) => void;
|
|
120
|
+
/**
|
|
121
|
+
* Async-failure listener.
|
|
122
|
+
*/
|
|
123
|
+
onerror?: (event: CustomEvent<{
|
|
124
|
+
error: Error;
|
|
125
|
+
}>) => void;
|
|
126
|
+
};
|
|
127
|
+
/** @typedef {Record<string, any>|string|number} TagItem */
|
|
128
|
+
/** @typedef {string|((item: TagItem) => unknown)} TagValueReader */
|
|
129
|
+
/** @typedef {string|((item: TagItem) => string)} TagLabelReader */
|
|
130
|
+
/**
|
|
131
|
+
* @typedef {Object} TagPickerOptions
|
|
132
|
+
* @property {TagItem[]} [items=[]] Selectable items.
|
|
133
|
+
* @property {unknown[]} [values=[]] Initially selected IDs.
|
|
134
|
+
* @property {TagValueReader} [valueKey='ID'] Item ID property or reader.
|
|
135
|
+
* @property {TagLabelReader} [labelKey='name'] Item label property or reader.
|
|
136
|
+
* @property {Array<TagValueReader>|null} [searchKeys=null] Fields searched by local filtering.
|
|
137
|
+
* @property {'local'|((query: string) => Promise<TagItem[]>|TagItem[])} [filter='local'] Filtering mode.
|
|
138
|
+
* @property {number} [minQuery=0] Minimum async query length.
|
|
139
|
+
* @property {number} [debounce=200] Async query delay in milliseconds.
|
|
140
|
+
* @property {boolean} [allowCreate=false] Whether unknown values may be created from the query.
|
|
141
|
+
* @property {number|null} [max=null] Maximum number of selected values.
|
|
142
|
+
* @property {boolean} [closeOnSelect=false] Whether picking an item closes the list.
|
|
143
|
+
* @property {string} [placeholder=''] Empty-state input text.
|
|
144
|
+
* @property {number} [listHeight=260] Maximum list height in pixels.
|
|
145
|
+
* @property {boolean} [disabled=false] Whether interaction is disabled.
|
|
146
|
+
* @property {boolean} [readonly=false] Whether tags may be added or removed.
|
|
147
|
+
* @property {((item: TagItem) => Node|string)|null} [renderItem=null] Option renderer.
|
|
148
|
+
* @property {((item: TagItem) => Node|string)|null} [renderTag=null] Tag-label renderer.
|
|
149
|
+
* @property {Record<string, string>|Record<string, Record<string, string>>} [msg] Localized messages.
|
|
150
|
+
* @property {(event: CustomEvent<{values: unknown[], items: TagItem[]}>) => void} [onchange] Change listener.
|
|
151
|
+
* @property {(event: CustomEvent<{value: unknown, item: TagItem}>) => void} [onadd] Add listener.
|
|
152
|
+
* @property {(event: CustomEvent<{value: unknown, item: TagItem}>) => void} [onremove] Remove listener.
|
|
153
|
+
* @property {(event: CustomEvent<{value: unknown, item: TagItem}>) => void} [oncreate] Create listener.
|
|
154
|
+
* @property {(event: CustomEvent<{query: string}>) => void} [onquery] Async-query listener.
|
|
155
|
+
* @property {(event: CustomEvent<Record<string, never>>) => void} [onopen] Open listener.
|
|
156
|
+
* @property {(event: CustomEvent<Record<string, never>>) => void} [onclose] Close listener.
|
|
157
|
+
* @property {(event: CustomEvent<{error: Error}>) => void} [onerror] Async-failure listener.
|
|
158
|
+
*/
|
|
159
|
+
/**
|
|
160
|
+
* Multi-select combobox that renders its selection as removable tags inside the control
|
|
161
|
+
* (APG combobox with a multi-selectable listbox).
|
|
162
|
+
*
|
|
163
|
+
* It differs from the two neighbouring components on purpose: `ValueList` takes free text with no
|
|
164
|
+
* catalogue behind it, `Checklist` shows a fixed set in full, and `TagPicker` searches a large
|
|
165
|
+
* catalogue and keeps the chosen values visible in the control.
|
|
166
|
+
*
|
|
167
|
+
* @fires TagPicker#change
|
|
168
|
+
* @fires TagPicker#add
|
|
169
|
+
* @fires TagPicker#remove
|
|
170
|
+
* @fires TagPicker#create
|
|
171
|
+
* @fires TagPicker#query
|
|
172
|
+
* @fires TagPicker#open
|
|
173
|
+
* @fires TagPicker#close
|
|
174
|
+
* @fires TagPicker#error
|
|
175
|
+
* @extends {Component<TagPickerOptions>}
|
|
176
|
+
*/
|
|
177
|
+
export declare class TagPicker extends Component<TagPickerOptions> {
|
|
178
|
+
_items: any[] | TagItem[];
|
|
179
|
+
_selected: any[];
|
|
180
|
+
_visible: any[];
|
|
181
|
+
_entries: any[];
|
|
182
|
+
_activeIndex: number;
|
|
183
|
+
_open: boolean;
|
|
184
|
+
_disabled: boolean;
|
|
185
|
+
_readonly: boolean;
|
|
186
|
+
_loading: boolean;
|
|
187
|
+
_requestSequence: any;
|
|
188
|
+
_queryTimer: number;
|
|
189
|
+
_position: import("../../core/position.js").PositionController;
|
|
190
|
+
_activeId: string;
|
|
191
|
+
_createdRoot: boolean;
|
|
192
|
+
_snapshot: import("../../core/dom.js").TargetSnapshot;
|
|
193
|
+
static cssName: string;
|
|
194
|
+
/** @type {TagPickerOptions} */
|
|
195
|
+
static defaults: TagPickerOptions;
|
|
196
|
+
/** @returns {HTMLElement} */
|
|
197
|
+
render(): HTMLElement;
|
|
198
|
+
/** Selected IDs. @returns {unknown[]} */
|
|
199
|
+
get values(): unknown[];
|
|
200
|
+
/** @param {unknown[]} next Selected IDs. */
|
|
201
|
+
set values(next: unknown[]);
|
|
202
|
+
/**
|
|
203
|
+
* Returns the selected IDs in selection order.
|
|
204
|
+
* @returns {unknown[]}
|
|
205
|
+
*/
|
|
206
|
+
getValues(): unknown[];
|
|
207
|
+
/**
|
|
208
|
+
* Returns the selected items.
|
|
209
|
+
* @returns {TagItem[]}
|
|
210
|
+
*/
|
|
211
|
+
getItems(): TagItem[];
|
|
212
|
+
/**
|
|
213
|
+
* Replaces the whole selection.
|
|
214
|
+
* @param {unknown[]} values Item IDs, or items.
|
|
215
|
+
* @param {{silent?: boolean}} [options={}] Set `silent` to suppress `change`.
|
|
216
|
+
* @returns {this}
|
|
217
|
+
* @fires TagPicker#change
|
|
218
|
+
*/
|
|
219
|
+
setValues(values: unknown[], { silent }?: {
|
|
220
|
+
silent?: boolean;
|
|
221
|
+
}): this;
|
|
222
|
+
/**
|
|
223
|
+
* Adds one value to the selection.
|
|
224
|
+
* @param {unknown} value Item ID, or an item.
|
|
225
|
+
* @param {{silent?: boolean}} [options={}] Set `silent` to suppress events.
|
|
226
|
+
* @returns {this}
|
|
227
|
+
* @fires TagPicker#add
|
|
228
|
+
* @fires TagPicker#change
|
|
229
|
+
*/
|
|
230
|
+
addValue(value: unknown, { silent }?: {
|
|
231
|
+
silent?: boolean;
|
|
232
|
+
}): this;
|
|
233
|
+
/**
|
|
234
|
+
* Removes one value from the selection.
|
|
235
|
+
* @param {unknown} value Item ID, or an item.
|
|
236
|
+
* @param {{silent?: boolean}} [options={}] Set `silent` to suppress events.
|
|
237
|
+
* @returns {this}
|
|
238
|
+
* @fires TagPicker#remove
|
|
239
|
+
* @fires TagPicker#change
|
|
240
|
+
*/
|
|
241
|
+
removeValue(value: unknown, { silent }?: {
|
|
242
|
+
silent?: boolean;
|
|
243
|
+
}): this;
|
|
244
|
+
/**
|
|
245
|
+
* Clears the selection.
|
|
246
|
+
* @param {{silent?: boolean}} [options={}] Set `silent` to suppress `change`.
|
|
247
|
+
* @returns {this}
|
|
248
|
+
*/
|
|
249
|
+
clear({ silent }?: {
|
|
250
|
+
silent?: boolean;
|
|
251
|
+
}): this;
|
|
252
|
+
/**
|
|
253
|
+
* Restores the configured initial selection.
|
|
254
|
+
* @param {{silent?: boolean}} [options={}] Reset behavior.
|
|
255
|
+
* @returns {this}
|
|
256
|
+
*/
|
|
257
|
+
reset({ silent }?: {
|
|
258
|
+
silent?: boolean;
|
|
259
|
+
}): this;
|
|
260
|
+
/**
|
|
261
|
+
* Replaces the catalogue of selectable items.
|
|
262
|
+
* @param {TagItem[]} items Available items.
|
|
263
|
+
* @returns {this}
|
|
264
|
+
*/
|
|
265
|
+
setItems(items: TagItem[]): this;
|
|
266
|
+
/** Reports whether the configured maximum is reached. @returns {boolean} */
|
|
267
|
+
isFull(): boolean;
|
|
268
|
+
/** Opens the option list. @returns {this} */
|
|
269
|
+
open(): this;
|
|
270
|
+
/** Closes the option list. @returns {this} */
|
|
271
|
+
close(): this;
|
|
272
|
+
/** Focuses the text input. @returns {this} */
|
|
273
|
+
focus(): this;
|
|
274
|
+
/** Enables user interaction. @returns {this} */
|
|
275
|
+
enable(): this;
|
|
276
|
+
/** Disables user interaction and closes the list. @returns {this} */
|
|
277
|
+
disable(): this;
|
|
278
|
+
/**
|
|
279
|
+
* Sets the read-only state.
|
|
280
|
+
* @param {boolean} readonly Whether tags may be added or removed.
|
|
281
|
+
* @returns {this}
|
|
282
|
+
*/
|
|
283
|
+
setReadonly(readonly: boolean): this;
|
|
284
|
+
/** Cancels pending work and restores an enhanced target. @returns {void} */
|
|
285
|
+
destroy(): void;
|
|
286
|
+
/** @returns {void} */
|
|
287
|
+
_renderTags(): void;
|
|
288
|
+
/** @returns {void} */
|
|
289
|
+
_renderOptions(): void;
|
|
290
|
+
/**
|
|
291
|
+
* Stable identity for an option entry across re-renders.
|
|
292
|
+
* @param {{item: TagItem|null, create: boolean}} entry Entry.
|
|
293
|
+
* @returns {string}
|
|
294
|
+
*/
|
|
295
|
+
_entryId(entry: {
|
|
296
|
+
item: TagItem | null;
|
|
297
|
+
create: boolean;
|
|
298
|
+
}): string;
|
|
299
|
+
/** @returns {void} */
|
|
300
|
+
_syncPlaceholder(): void;
|
|
301
|
+
/** @returns {void} */
|
|
302
|
+
_onInput(): void;
|
|
303
|
+
/** @param {KeyboardEvent} event @returns {void} */
|
|
304
|
+
_onKeydown(event: KeyboardEvent): void;
|
|
305
|
+
/** @param {MouseEvent} event @returns {void} */
|
|
306
|
+
_onOptionClick(event: MouseEvent): void;
|
|
307
|
+
/**
|
|
308
|
+
* Applies the active entry: toggles an item, or creates one from the query.
|
|
309
|
+
* @param {{item: TagItem|null, element: HTMLElement, create: boolean}|undefined} entry Entry.
|
|
310
|
+
* @returns {void}
|
|
311
|
+
*/
|
|
312
|
+
_commitEntry(entry: {
|
|
313
|
+
item: TagItem | null;
|
|
314
|
+
element: HTMLElement;
|
|
315
|
+
create: boolean;
|
|
316
|
+
} | undefined): void;
|
|
317
|
+
/**
|
|
318
|
+
* Moves the active option. The APG combobox map stops at the ends rather than wrapping.
|
|
319
|
+
* @param {number} delta Signed step.
|
|
320
|
+
* @returns {void}
|
|
321
|
+
*/
|
|
322
|
+
_move(delta: number): void;
|
|
323
|
+
/** @param {number} index @returns {void} */
|
|
324
|
+
_setActive(index: number): void;
|
|
325
|
+
/** @param {string} query @returns {void} */
|
|
326
|
+
_applyLocalFilter(query: string): void;
|
|
327
|
+
/** @param {string} query @returns {void} */
|
|
328
|
+
_scheduleAsyncQuery(query: string): void;
|
|
329
|
+
/** @param {string} query @returns {Promise<void>} */
|
|
330
|
+
_runQuery(query: string): Promise<void>;
|
|
331
|
+
/** @returns {void} */
|
|
332
|
+
_cancelQuery(): void;
|
|
333
|
+
/** @param {boolean} loading @returns {void} */
|
|
334
|
+
_setLoading(loading: boolean): void;
|
|
335
|
+
/**
|
|
336
|
+
* Reports whether an item is already selected.
|
|
337
|
+
* @param {unknown} value Item ID.
|
|
338
|
+
* @returns {boolean}
|
|
339
|
+
*/
|
|
340
|
+
_isSelected(value: unknown): boolean;
|
|
341
|
+
/** @param {string} query @returns {boolean} */
|
|
342
|
+
_canCreate(query: string): boolean;
|
|
343
|
+
/**
|
|
344
|
+
* Builds a stand-in item for a value that is not in the catalogue.
|
|
345
|
+
* @param {string} label Visible label.
|
|
346
|
+
* @param {unknown} [value=label] ID to keep, so the original type survives.
|
|
347
|
+
* @returns {TagItem}
|
|
348
|
+
*/
|
|
349
|
+
_createItem(label: string, value?: unknown): TagItem;
|
|
350
|
+
/**
|
|
351
|
+
* Resolves an ID or an item to a catalogue item, falling back to a bare value.
|
|
352
|
+
* @param {unknown} value ID or item.
|
|
353
|
+
* @returns {TagItem|null}
|
|
354
|
+
*/
|
|
355
|
+
_resolve(value: unknown): TagItem | null;
|
|
356
|
+
/** @param {TagItem} a @param {TagItem} b @returns {boolean} */
|
|
357
|
+
_sameValue(a: TagItem, b: TagItem): boolean;
|
|
358
|
+
/** @param {unknown} item @returns {unknown} */
|
|
359
|
+
_valueOf(item: unknown): unknown;
|
|
360
|
+
/** @param {unknown} item @returns {string} */
|
|
361
|
+
_labelOf(item: unknown): string;
|
|
362
|
+
/** @returns {void} */
|
|
363
|
+
_emitChange(): void;
|
|
364
|
+
/** Grows the input to fit its text so the caret stays visible next to the tags. @returns {void} */
|
|
365
|
+
_syncInputWidth(): void;
|
|
366
|
+
/** @returns {void} */
|
|
367
|
+
_syncDisabled(): void;
|
|
368
|
+
/**
|
|
369
|
+
* @param {string} key Message key.
|
|
370
|
+
* @param {string} fallback Template used when the host has no translation.
|
|
371
|
+
* @param {unknown[]} [args=[]] Positional interpolation values.
|
|
372
|
+
* @returns {string}
|
|
373
|
+
*/
|
|
374
|
+
_message(key: string, fallback: string, args?: unknown[]): string;
|
|
375
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Component } from '../../core/component.js';
|
|
2
|
+
export type TimeUnit = 'minutes' | 'seconds' | 'hours';
|
|
3
|
+
export type TimeParts = {
|
|
4
|
+
hours: number;
|
|
5
|
+
minutes: number;
|
|
6
|
+
seconds: number;
|
|
7
|
+
negative: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type TimeboxOptions = {
|
|
10
|
+
/**
|
|
11
|
+
* Initial duration in `unit`.
|
|
12
|
+
*/
|
|
13
|
+
value?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Default input and output unit.
|
|
16
|
+
*/
|
|
17
|
+
unit?: TimeUnit;
|
|
18
|
+
/**
|
|
19
|
+
* Show a seconds segment.
|
|
20
|
+
*/
|
|
21
|
+
seconds?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Show a positive/negative toggle.
|
|
24
|
+
*/
|
|
25
|
+
signed?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Disable all controls.
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Change listener.
|
|
32
|
+
*/
|
|
33
|
+
onchange?: (event: CustomEvent<{
|
|
34
|
+
value: number;
|
|
35
|
+
}>) => void;
|
|
36
|
+
};
|
|
37
|
+
export type TimeboxSetOptions = {
|
|
38
|
+
silent?: boolean;
|
|
39
|
+
};
|
|
40
|
+
/** @typedef {'minutes'|'seconds'|'hours'} TimeUnit */
|
|
41
|
+
/** @typedef {{hours: number, minutes: number, seconds: number, negative: boolean}} TimeParts */
|
|
42
|
+
/**
|
|
43
|
+
* @typedef {Object} TimeboxOptions
|
|
44
|
+
* @property {number} [value=0] Initial duration in `unit`.
|
|
45
|
+
* @property {TimeUnit} [unit='minutes'] Default input and output unit.
|
|
46
|
+
* @property {boolean} [seconds=false] Show a seconds segment.
|
|
47
|
+
* @property {boolean} [signed=false] Show a positive/negative toggle.
|
|
48
|
+
* @property {boolean} [disabled=false] Disable all controls.
|
|
49
|
+
* @property {(event: CustomEvent<{value: number}>) => void} [onchange] Change listener.
|
|
50
|
+
*/
|
|
51
|
+
/** @typedef {{silent?: boolean}} TimeboxSetOptions */
|
|
52
|
+
/**
|
|
53
|
+
* Splits a duration into unlimited hours and normalized minute/second segments.
|
|
54
|
+
* @param {number} value Duration value.
|
|
55
|
+
* @param {TimeUnit} [unit='minutes'] Unit of `value`.
|
|
56
|
+
* @returns {TimeParts}
|
|
57
|
+
*/
|
|
58
|
+
export declare function splitTime(value: number, unit?: TimeUnit): TimeParts;
|
|
59
|
+
/**
|
|
60
|
+
* Joins duration segments and converts them to the requested unit.
|
|
61
|
+
* Minute and second overflow is carried into the unlimited hours value.
|
|
62
|
+
* @param {Partial<TimeParts>} parts Duration segments.
|
|
63
|
+
* @param {TimeUnit} [unit='minutes'] Unit of the returned number.
|
|
64
|
+
* @returns {number}
|
|
65
|
+
*/
|
|
66
|
+
export declare function joinTime(parts: Partial<TimeParts>, unit?: TimeUnit): number;
|
|
67
|
+
/**
|
|
68
|
+
* Segmented duration input supporting unlimited and signed hours.
|
|
69
|
+
* @fires Timebox#change
|
|
70
|
+
* @extends {Component<TimeboxOptions>}
|
|
71
|
+
*/
|
|
72
|
+
export declare class Timebox extends Component<TimeboxOptions> {
|
|
73
|
+
_originalAriaDisabled: string;
|
|
74
|
+
_disabled: boolean;
|
|
75
|
+
_parts: TimeParts | {
|
|
76
|
+
hours: number;
|
|
77
|
+
minutes: number;
|
|
78
|
+
seconds: number;
|
|
79
|
+
negative: boolean;
|
|
80
|
+
};
|
|
81
|
+
_inputs: any[];
|
|
82
|
+
_content: HTMLElement;
|
|
83
|
+
static cssName: string;
|
|
84
|
+
/** @type {TimeboxOptions} */
|
|
85
|
+
static defaults: TimeboxOptions;
|
|
86
|
+
/** @returns {HTMLElement} */
|
|
87
|
+
render(): HTMLElement;
|
|
88
|
+
/**
|
|
89
|
+
* Returns the current duration.
|
|
90
|
+
* @param {TimeUnit} [unit=this.options.unit] Output unit.
|
|
91
|
+
* @returns {number}
|
|
92
|
+
*/
|
|
93
|
+
get(unit?: TimeUnit): number;
|
|
94
|
+
/**
|
|
95
|
+
* Sets the current duration.
|
|
96
|
+
* @param {number} value Duration value.
|
|
97
|
+
* @param {TimeUnit|TimeboxSetOptions} [unit=this.options.unit] Input unit, or options when omitted.
|
|
98
|
+
* @param {TimeboxSetOptions} [options={}] Update behavior.
|
|
99
|
+
* @returns {this}
|
|
100
|
+
* @fires Timebox#change
|
|
101
|
+
*/
|
|
102
|
+
set(value: number, unit?: TimeUnit | TimeboxSetOptions, options?: TimeboxSetOptions): this;
|
|
103
|
+
/** Enables the timebox. @returns {this} */
|
|
104
|
+
enable(): this;
|
|
105
|
+
/** Disables the timebox. @returns {this} */
|
|
106
|
+
disable(): this;
|
|
107
|
+
/** Removes generated content from an enhanced target. @returns {void} */
|
|
108
|
+
destroy(): void;
|
|
109
|
+
/** @param {HTMLElement} parent @param {'hours'|'minutes'|'seconds'} name @param {string} label @param {boolean} bounded @returns {void} */
|
|
110
|
+
_addSegment(parent: HTMLElement, name: 'hours' | 'minutes' | 'seconds', label: string, bounded: boolean): void;
|
|
111
|
+
/** @returns {TimeParts} */
|
|
112
|
+
_readParts(): TimeParts;
|
|
113
|
+
/** @returns {void} */
|
|
114
|
+
_commitSegments(): void;
|
|
115
|
+
/** @returns {void} */
|
|
116
|
+
_writeParts(): void;
|
|
117
|
+
/** @returns {void} */
|
|
118
|
+
_syncDisabled(): void;
|
|
119
|
+
/** @returns {void} */
|
|
120
|
+
_emitChange(): void;
|
|
121
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Component } from '../../core/component.js';
|
|
2
|
+
export type ToggleOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Initial switch state.
|
|
5
|
+
*/
|
|
6
|
+
checked?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Value returned while on.
|
|
9
|
+
*/
|
|
10
|
+
value?: any;
|
|
11
|
+
/**
|
|
12
|
+
* Optional visible label.
|
|
13
|
+
*/
|
|
14
|
+
label?: string | null;
|
|
15
|
+
/**
|
|
16
|
+
* Initial disabled state.
|
|
17
|
+
*/
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Change callback.
|
|
21
|
+
*/
|
|
22
|
+
onchange?: (event: CustomEvent<{
|
|
23
|
+
checked: boolean;
|
|
24
|
+
value: any;
|
|
25
|
+
}>) => void;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @typedef {Object} ToggleOptions
|
|
29
|
+
* @property {boolean} [checked=false] Initial switch state.
|
|
30
|
+
* @property {*} [value=true] Value returned while on.
|
|
31
|
+
* @property {string|null} [label=null] Optional visible label.
|
|
32
|
+
* @property {boolean} [disabled=false] Initial disabled state.
|
|
33
|
+
* @property {(event: CustomEvent<{checked: boolean, value: *}>) => void} [onchange] Change callback.
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Accessible on/off switch.
|
|
37
|
+
* @fires Toggle#change
|
|
38
|
+
* @extends {Component<ToggleOptions>}
|
|
39
|
+
*/
|
|
40
|
+
export declare class Toggle extends Component<ToggleOptions> {
|
|
41
|
+
_createdRoot: boolean;
|
|
42
|
+
_original: {
|
|
43
|
+
attributes: [string, string][];
|
|
44
|
+
children: Node[];
|
|
45
|
+
};
|
|
46
|
+
_checked: any;
|
|
47
|
+
_disabled: boolean;
|
|
48
|
+
_cleaned: boolean;
|
|
49
|
+
static cssName: string;
|
|
50
|
+
/** @type {Readonly<ToggleOptions>} */
|
|
51
|
+
static defaults: Readonly<ToggleOptions>;
|
|
52
|
+
/** @returns {HTMLButtonElement} */
|
|
53
|
+
render(): HTMLButtonElement;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the current switch state.
|
|
56
|
+
* @returns {boolean}
|
|
57
|
+
*/
|
|
58
|
+
get(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Sets the switch state.
|
|
61
|
+
* @param {boolean} checked Next state.
|
|
62
|
+
* @param {{silent?: boolean}} [options={}] Set `silent` to suppress `change`.
|
|
63
|
+
* @returns {this}
|
|
64
|
+
* @fires Toggle#change
|
|
65
|
+
*/
|
|
66
|
+
set(checked: boolean, { silent }?: {
|
|
67
|
+
silent?: boolean;
|
|
68
|
+
}): this;
|
|
69
|
+
/**
|
|
70
|
+
* Toggles the switch state.
|
|
71
|
+
* @returns {this}
|
|
72
|
+
* @fires Toggle#change
|
|
73
|
+
*/
|
|
74
|
+
toggle(): this;
|
|
75
|
+
/**
|
|
76
|
+
* Returns the configured value while on, otherwise `false`.
|
|
77
|
+
* @returns {*}
|
|
78
|
+
*/
|
|
79
|
+
getValue(): any;
|
|
80
|
+
/**
|
|
81
|
+
* Enables user interaction.
|
|
82
|
+
* @returns {this}
|
|
83
|
+
*/
|
|
84
|
+
enable(): this;
|
|
85
|
+
/**
|
|
86
|
+
* Disables user interaction.
|
|
87
|
+
* @returns {this}
|
|
88
|
+
*/
|
|
89
|
+
disable(): this;
|
|
90
|
+
/** @returns {void} */
|
|
91
|
+
destroy(): void;
|
|
92
|
+
/** @returns {void} */
|
|
93
|
+
_sync(): void;
|
|
94
|
+
}
|