obsidian-dev-utils 22.1.1-beta.23 → 22.1.1-beta.24
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 +12 -0
- package/dist/lib/cjs/AsyncEvents.cjs +1 -1
- package/dist/lib/cjs/AsyncEvents.d.cts +2 -2
- package/dist/lib/cjs/CssClass.cjs +5 -1
- package/dist/lib/cjs/CssClass.d.cts +16 -0
- package/dist/lib/cjs/Library.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/CheckboxComponent.cjs +96 -0
- package/dist/lib/cjs/obsidian/Components/CheckboxComponent.d.cts +51 -0
- package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.cjs +2 -2
- package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.cjs +2 -2
- package/dist/lib/cjs/obsidian/Components/TextBasedComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/TextBasedComponent.d.cts +3 -0
- package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.cjs +97 -0
- package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.d.cts +51 -0
- package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.cjs +127 -0
- package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.d.cts +71 -0
- package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.cjs +129 -0
- package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.d.cts +76 -0
- package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.d.cts +2 -0
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.cjs +2 -2
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.d.cts +2 -0
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.d.cts +2 -0
- package/dist/lib/cjs/obsidian/Components/index.cjs +13 -1
- package/dist/lib/cjs/obsidian/Components/index.d.cts +4 -0
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +21 -19
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +11 -9
- package/dist/lib/cjs/obsidian/SettingEx.cjs +41 -1
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +33 -1
- package/dist/lib/esm/AsyncEvents.d.mts +2 -2
- package/dist/lib/esm/AsyncEvents.mjs +1 -1
- package/dist/lib/esm/CssClass.d.mts +16 -0
- package/dist/lib/esm/CssClass.mjs +5 -1
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/CheckboxComponent.d.mts +51 -0
- package/dist/lib/esm/obsidian/Components/CheckboxComponent.mjs +72 -0
- package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.mjs +2 -2
- package/dist/lib/esm/obsidian/Components/MultipleTextComponent.mjs +2 -2
- package/dist/lib/esm/obsidian/Components/TextBasedComponent.d.mts +3 -0
- package/dist/lib/esm/obsidian/Components/TextBasedComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.d.mts +51 -0
- package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.mjs +73 -0
- package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.d.mts +71 -0
- package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.mjs +106 -0
- package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.d.mts +76 -0
- package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.mjs +108 -0
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.d.mts +2 -0
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.d.mts +2 -0
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.mjs +2 -2
- package/dist/lib/esm/obsidian/Components/ValueComponentWithChangeTracking.d.mts +2 -0
- package/dist/lib/esm/obsidian/Components/index.d.mts +4 -0
- package/dist/lib/esm/obsidian/Components/index.mjs +9 -1
- package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +11 -9
- package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +21 -19
- package/dist/lib/esm/obsidian/SettingEx.d.mts +33 -1
- package/dist/lib/esm/obsidian/SettingEx.mjs +41 -1
- package/obsidian/Components/CheckboxComponent/package.json +6 -0
- package/obsidian/Components/TriStateCheckboxComponent/package.json +6 -0
- package/obsidian/Components/TypedDropdownComponent/package.json +6 -0
- package/obsidian/Components/TypedMultipleDropdownComponent/package.json +6 -0
- package/package.json +1 -1
@@ -0,0 +1,76 @@
|
|
1
|
+
/**
|
2
|
+
* @packageDocumentation MultipleDropdownComponent
|
3
|
+
* Contains a component that displays and edits a multi-select dropdown.
|
4
|
+
*/
|
5
|
+
import type { Promisable } from 'type-fest';
|
6
|
+
import { ValueComponent } from 'obsidian';
|
7
|
+
import type { ValidatorElement } from '../../HTMLElement.mjs';
|
8
|
+
import type { ValidatorComponent } from './ValidatorComponent.mjs';
|
9
|
+
import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.mjs';
|
10
|
+
/**
|
11
|
+
* A multi-select dropdown component.
|
12
|
+
*
|
13
|
+
* You can add this component using {@link SettingEx.addTypedMultipleDropdown}.
|
14
|
+
*
|
15
|
+
* In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
|
16
|
+
*
|
17
|
+
* Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
|
18
|
+
*
|
19
|
+
* @typeParam T - The type of the value to select.
|
20
|
+
*/
|
21
|
+
export declare class TypedMultipleDropdownComponent<T> extends ValueComponent<T[]> implements ValidatorComponent, ValueComponentWithChangeTracking<T[]> {
|
22
|
+
/**
|
23
|
+
* The validator element of the component.
|
24
|
+
*/
|
25
|
+
get validatorEl(): ValidatorElement;
|
26
|
+
private readonly dropdownComponent;
|
27
|
+
private values;
|
28
|
+
/**
|
29
|
+
* Creates a new multiple dropdown component.
|
30
|
+
*
|
31
|
+
* @param containerEl - The container element of the component.
|
32
|
+
*/
|
33
|
+
constructor(containerEl: HTMLElement);
|
34
|
+
/**
|
35
|
+
* Adds an option to the dropdown.
|
36
|
+
*
|
37
|
+
* @param value - The value of the option.
|
38
|
+
* @param display - The display text of the option.
|
39
|
+
* @returns The component.
|
40
|
+
*/
|
41
|
+
addOption(value: T, display: string): this;
|
42
|
+
/**
|
43
|
+
* Adds multiple options to the dropdown.
|
44
|
+
*
|
45
|
+
* @param options - The options to add.
|
46
|
+
* @returns The component.
|
47
|
+
*/
|
48
|
+
addOptions(options: Map<T, string>): this;
|
49
|
+
/**
|
50
|
+
* Gets the value of the component.
|
51
|
+
*
|
52
|
+
* @returns The value of the component.
|
53
|
+
*/
|
54
|
+
getValue(): T[];
|
55
|
+
/**
|
56
|
+
* Sets the callback function to be called when the component is changed.
|
57
|
+
*
|
58
|
+
* @param callback - The callback function to be called when the component is changed.
|
59
|
+
* @returns The component.
|
60
|
+
*/
|
61
|
+
onChange(callback: (value: T[]) => Promisable<void>): this;
|
62
|
+
/**
|
63
|
+
* Sets the disabled state of the component.
|
64
|
+
*
|
65
|
+
* @param disabled - The disabled state to set.
|
66
|
+
* @returns The component.
|
67
|
+
*/
|
68
|
+
setDisabled(disabled: boolean): this;
|
69
|
+
/**
|
70
|
+
* Sets the value of the component.
|
71
|
+
*
|
72
|
+
* @param value - The value to set.
|
73
|
+
* @returns The component.
|
74
|
+
*/
|
75
|
+
setValue(value: T[]): this;
|
76
|
+
}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
/*
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
4
|
+
*/
|
5
|
+
|
6
|
+
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
7
|
+
|
8
|
+
import {
|
9
|
+
DropdownComponent,
|
10
|
+
ValueComponent
|
11
|
+
} from "obsidian";
|
12
|
+
import { CssClass } from "../../CssClass.mjs";
|
13
|
+
import { getPluginId } from "../Plugin/PluginId.mjs";
|
14
|
+
class TypedMultipleDropdownComponent extends ValueComponent {
|
15
|
+
/**
|
16
|
+
* The validator element of the component.
|
17
|
+
*/
|
18
|
+
get validatorEl() {
|
19
|
+
return this.dropdownComponent.selectEl;
|
20
|
+
}
|
21
|
+
dropdownComponent;
|
22
|
+
values = [];
|
23
|
+
/**
|
24
|
+
* Creates a new multiple dropdown component.
|
25
|
+
*
|
26
|
+
* @param containerEl - The container element of the component.
|
27
|
+
*/
|
28
|
+
constructor(containerEl) {
|
29
|
+
super();
|
30
|
+
this.dropdownComponent = new DropdownComponent(containerEl);
|
31
|
+
this.dropdownComponent.selectEl.multiple = true;
|
32
|
+
containerEl.addClass(CssClass.LibraryName, getPluginId(), CssClass.TypedMultipleDropdownComponent);
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Adds an option to the dropdown.
|
36
|
+
*
|
37
|
+
* @param value - The value of the option.
|
38
|
+
* @param display - The display text of the option.
|
39
|
+
* @returns The component.
|
40
|
+
*/
|
41
|
+
addOption(value, display) {
|
42
|
+
let index = this.values.indexOf(value);
|
43
|
+
if (index === -1) {
|
44
|
+
this.values.push(value);
|
45
|
+
index = this.values.length - 1;
|
46
|
+
}
|
47
|
+
this.dropdownComponent.addOption(index.toString(), display);
|
48
|
+
return this;
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Adds multiple options to the dropdown.
|
52
|
+
*
|
53
|
+
* @param options - The options to add.
|
54
|
+
* @returns The component.
|
55
|
+
*/
|
56
|
+
addOptions(options) {
|
57
|
+
for (const [value, display] of options.entries()) {
|
58
|
+
this.addOption(value, display);
|
59
|
+
}
|
60
|
+
return this;
|
61
|
+
}
|
62
|
+
/**
|
63
|
+
* Gets the value of the component.
|
64
|
+
*
|
65
|
+
* @returns The value of the component.
|
66
|
+
*/
|
67
|
+
getValue() {
|
68
|
+
return Array.from(this.dropdownComponent.selectEl.selectedOptions).map((o) => this.values[o.index]).filter((value) => value !== void 0);
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Sets the callback function to be called when the component is changed.
|
72
|
+
*
|
73
|
+
* @param callback - The callback function to be called when the component is changed.
|
74
|
+
* @returns The component.
|
75
|
+
*/
|
76
|
+
onChange(callback) {
|
77
|
+
this.dropdownComponent.onChange(() => callback(this.getValue()));
|
78
|
+
return this;
|
79
|
+
}
|
80
|
+
/**
|
81
|
+
* Sets the disabled state of the component.
|
82
|
+
*
|
83
|
+
* @param disabled - The disabled state to set.
|
84
|
+
* @returns The component.
|
85
|
+
*/
|
86
|
+
setDisabled(disabled) {
|
87
|
+
super.setDisabled(disabled);
|
88
|
+
this.dropdownComponent.setDisabled(disabled);
|
89
|
+
return this;
|
90
|
+
}
|
91
|
+
/**
|
92
|
+
* Sets the value of the component.
|
93
|
+
*
|
94
|
+
* @param value - The value to set.
|
95
|
+
* @returns The component.
|
96
|
+
*/
|
97
|
+
setValue(value) {
|
98
|
+
const selectedIndices = value.map((v) => this.values.indexOf(v)).filter((index) => index !== -1);
|
99
|
+
for (const option of Array.from(this.dropdownComponent.selectEl.options)) {
|
100
|
+
option.selected = selectedIndices.includes(option.index);
|
101
|
+
}
|
102
|
+
return this;
|
103
|
+
}
|
104
|
+
}
|
105
|
+
export {
|
106
|
+
TypedMultipleDropdownComponent
|
107
|
+
};
|
108
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50XG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIG11bHRpLXNlbGVjdCBkcm9wZG93bi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBEcm9wZG93bkNvbXBvbmVudCxcbiAgVmFsdWVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi9IVE1MRWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi9TZXR0aW5nRXgudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL1ZhbGlkYXRvckNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi9WYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIEEgbXVsdGktc2VsZWN0IGRyb3Bkb3duIGNvbXBvbmVudC5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZFR5cGVkTXVsdGlwbGVEcm9wZG93bn0uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZWxlY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQ8VD4gZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxUW10+IHtcbiAgLyoqXG4gICAqIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25Db21wb25lbnQ6IERyb3Bkb3duQ29tcG9uZW50O1xuICBwcml2YXRlIHZhbHVlczogVFtdID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQgPSBuZXcgRHJvcGRvd25Db21wb25lbnQoY29udGFpbmVyRWwpO1xuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuc2VsZWN0RWwubXVsdGlwbGUgPSB0cnVlO1xuICAgIGNvbnRhaW5lckVsLmFkZENsYXNzKENzc0NsYXNzLkxpYnJhcnlOYW1lLCBnZXRQbHVnaW5JZCgpLCBDc3NDbGFzcy5UeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb3B0aW9uIHRvIHRoZSBkcm9wZG93bi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBvcHRpb24uXG4gICAqIEBwYXJhbSBkaXNwbGF5IC0gVGhlIGRpc3BsYXkgdGV4dCBvZiB0aGUgb3B0aW9uLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFkZE9wdGlvbih2YWx1ZTogVCwgZGlzcGxheTogc3RyaW5nKTogdGhpcyB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy52YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICBpbmRleCA9IHRoaXMudmFsdWVzLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuYWRkT3B0aW9uKGluZGV4LnRvU3RyaW5nKCksIGRpc3BsYXkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgbXVsdGlwbGUgb3B0aW9ucyB0byB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFkZE9wdGlvbnMob3B0aW9uczogTWFwPFQsIHN0cmluZz4pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IFt2YWx1ZSwgZGlzcGxheV0gb2Ygb3B0aW9ucy5lbnRyaWVzKCkpIHtcbiAgICAgIHRoaXMuYWRkT3B0aW9uKHZhbHVlLCBkaXNwbGF5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoKTogVFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmRyb3Bkb3duQ29tcG9uZW50LnNlbGVjdEVsLnNlbGVjdGVkT3B0aW9ucylcbiAgICAgIC5tYXAoKG8pID0+IHRoaXMudmFsdWVzW28uaW5kZXhdKVxuICAgICAgLmZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBUID0+IHZhbHVlICE9PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgY2hhbmdlZC5cbiAgICpcbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgY2hhbmdlZC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKHZhbHVlOiBUW10pID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Lm9uQ2hhbmdlKCgpID0+IGNhbGxiYWNrKHRoaXMuZ2V0VmFsdWUoKSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBkaXNhYmxlZCAtIFRoZSBkaXNhYmxlZCBzdGF0ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICBzdXBlci5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVFtdKTogdGhpcyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRpY2VzID0gdmFsdWUubWFwKCh2KSA9PiB0aGlzLnZhbHVlcy5pbmRleE9mKHYpKS5maWx0ZXIoKGluZGV4KSA9PiBpbmRleCAhPT0gLTEpO1xuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIEFycmF5LmZyb20odGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbC5vcHRpb25zKSkge1xuICAgICAgb3B0aW9uLnNlbGVjdGVkID0gc2VsZWN0ZWRJbmRpY2VzLmluY2x1ZGVzKG9wdGlvbi5pbmRleCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRo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
|
@@ -5,6 +5,8 @@
|
|
5
5
|
import { TypedTextComponent } from './TypedTextComponent.mjs';
|
6
6
|
/**
|
7
7
|
* A component that displays and edits a text-based value with a range.
|
8
|
+
*
|
9
|
+
* @typeParam T - The type of the value to set.
|
8
10
|
*/
|
9
11
|
export declare abstract class TypedRangeTextComponent<T> extends TypedTextComponent<T> {
|
10
12
|
/**
|
@@ -41,4 +41,4 @@ class TypedRangeTextComponent extends TypedTextComponent {
|
|
41
41
|
export {
|
42
42
|
TypedRangeTextComponent
|
43
43
|
};
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRSYW5nZVRleHRDb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50XG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRleHQtYmFzZWQgdmFsdWUgd2l0aCBhIHJhbmdlLlxuICovXG5cbmltcG9ydCB7IFR5cGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRUZXh0Q29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRleHQtYmFzZWQgdmFsdWUgd2l0aCBhIHJhbmdlLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudDxUPiBleHRlbmRzIFR5cGVkVGV4dENvbXBvbmVudDxUPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBtYXggLSBUaGUgbWF4aW11bSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRNYXgobWF4OiBUKTogdGhpcyB7XG4gICAgdGhpcy5pbnB1dEVsLm1heCA9IHRoaXMudmFsdWVUb1N0cmluZyhtYXgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIG1pbiAtIFRoZSBtaW5pbXVtIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldE1pbihtaW46IFQpOiB0aGlzIHtcbiAgICB0aGlzLmlucHV0RWwubWluID0gdGhpcy52YWx1ZVRvU3RyaW5nKG1pbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc3RlcCB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gc3RlcCAtIFRoZSBzdGVwIHZhbHVlLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFN0ZXAoc3RlcDogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5pbnB1dEVsLnN0ZXAgPSBzdGVwLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFLQSxTQUFTLDBCQUEwQjtBQU81QixNQUFlLGdDQUFtQyxtQkFBc0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU90RSxPQUFPLEtBQWM7QUFDMUIsU0FBSyxRQUFRLE1BQU0sS0FBSyxjQUFjLEdBQUc7QUFDekMsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLE9BQU8sS0FBYztBQUMxQixTQUFLLFFBQVEsTUFBTSxLQUFLLGNBQWMsR0FBRztBQUN6QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sUUFBUSxNQUFvQjtBQUNqQyxTQUFLLFFBQVEsT0FBTyxLQUFLLFNBQVM7QUFDbEMsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -11,6 +11,8 @@ import type { ValueComponentWithChangeTracking } from './ValueComponentWithChang
|
|
11
11
|
import { CssClass } from '../../CssClass.mjs';
|
12
12
|
/**
|
13
13
|
* A component that displays and edits a text-based value.
|
14
|
+
*
|
15
|
+
* @typeParam T - The type of the value to set.
|
14
16
|
*/
|
15
17
|
export declare abstract class TypedTextComponent<T> extends ValueComponent<T> implements TextBasedComponent<T>, ValidatorComponent, ValueComponentWithChangeTracking<T> {
|
16
18
|
/**
|
@@ -82,8 +82,8 @@ class TypedTextComponent extends ValueComponent {
|
|
82
82
|
* @returns The component.
|
83
83
|
*/
|
84
84
|
setDisabled(disabled) {
|
85
|
+
super.setDisabled(disabled);
|
85
86
|
this.textComponent.setDisabled(disabled);
|
86
|
-
this.disabled = disabled;
|
87
87
|
return this;
|
88
88
|
}
|
89
89
|
/**
|
@@ -129,4 +129,4 @@ class TypedTextComponent extends ValueComponent {
|
|
129
129
|
export {
|
130
130
|
TypedTextComponent
|
131
131
|
};
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
132
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRUZXh0Q29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBUeXBlZFRleHRDb21wb25lbnRcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgdGV4dC1iYXNlZCB2YWx1ZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBUZXh0Q29tcG9uZW50LFxuICBWYWx1ZUNvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL0hUTUxFbGVtZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVGV4dEJhc2VkQ29tcG9uZW50IH0gZnJvbSAnLi9UZXh0QmFzZWRDb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL1ZhbGlkYXRvckNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi9WYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgdGV4dC1iYXNlZCB2YWx1ZS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHlwZWRUZXh0Q29tcG9uZW50PFQ+IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8VD4sIFZhbGlkYXRvckNvbXBvbmVudCwgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmc8VD4ge1xuICAvKipcbiAgICogVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50O1xuICAvKipcbiAgICogVGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRvckVsKCk6IFZhbGlkYXRvckVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWw7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdHlwZWQgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAcGFyYW0gY3NzQ2xhc3MgLSBUaGUgQ1NTIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50LCB0eXBlOiBzdHJpbmcsIGNzc0NsYXNzOiBDc3NDbGFzcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQoY29udGFpbmVyRWwpO1xuICAgIHRoaXMuaW5wdXRFbCA9IHRoaXMudGV4dENvbXBvbmVudC5pbnB1dEVsO1xuICAgIHRoaXMuaW5wdXRFbC50eXBlID0gdHlwZTtcbiAgICBjb250YWluZXJFbC5hZGRDbGFzcyhDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgZ2V0UGx1Z2luSWQoKSwgY3NzQ2xhc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldFZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLnZhbHVlRnJvbVN0cmluZyh0aGlzLnRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSA9PT0gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlKGNhbGxiYWNrOiAodmFsdWU6IFQpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQub25DaGFuZ2UoKCkgPT4gY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQub25DaGFuZ2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGRpc2FibGVkIC0gV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBUKTogdGhpcyB7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcih0aGlzLnZhbHVlVG9TdHJpbmcocGxhY2Vob2xkZXJWYWx1ZSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IFQpOiB0aGlzIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQuc2V0VmFsdWUodGhpcy52YWx1ZVRvU3RyaW5nKHZhbHVlKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZhbHVlRnJvbVN0cmluZyhzdHI6IHN0cmluZyk6IFQ7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIHZhbHVlVG9TdHJpbmcodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBT0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFPUCxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLG1CQUFtQjtBQU9yQixNQUFlLDJCQUE4QixlQUN3QztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSTFFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJaEIsSUFBVyxjQUFnQztBQUN6QyxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFaUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1YsWUFBWSxhQUEwQixNQUFjLFVBQW9CO0FBQzdFLFVBQU07QUFDTixTQUFLLGdCQUFnQixJQUFJLGNBQWMsV0FBVztBQUNsRCxTQUFLLFVBQVUsS0FBSyxjQUFjO0FBQ2xDLFNBQUssUUFBUSxPQUFPO0FBQ3BCLGdCQUFZLFNBQVMsU0FBUyxhQUFhLFlBQVksR0FBRyxRQUFRO0FBQUEsRUFDcEU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFFBQWM7QUFDbkIsU0FBSyxjQUFjLFNBQVMsRUFBRTtBQUFBLEVBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLFdBQWM7QUFDNUIsV0FBTyxLQUFLLGdCQUFnQixLQUFLLGNBQWMsU0FBUyxDQUFDO0FBQUEsRUFDM0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxVQUFtQjtBQUN4QixXQUFPLEtBQUssY0FBYyxTQUFTLE1BQU07QUFBQSxFQUMzQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxVQUFnRDtBQUM5RCxTQUFLLGNBQWMsU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztBQUMzRCxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sWUFBa0I7QUFDdkIsU0FBSyxjQUFjLFVBQVU7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFlBQVksVUFBeUI7QUFDbkQsVUFBTSxZQUFZLFFBQVE7QUFDMUIsU0FBSyxjQUFjLFlBQVksUUFBUTtBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sZUFBZSxhQUEyQjtBQUMvQyxTQUFLLGNBQWMsZUFBZSxXQUFXO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxvQkFBb0Isa0JBQTJCO0FBQ3BELFNBQUssZUFBZSxLQUFLLGNBQWMsZ0JBQWdCLENBQUM7QUFDeEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixTQUFTLE9BQWdCO0FBQ3ZDLFNBQUssY0FBYyxTQUFTLEtBQUssY0FBYyxLQUFLLENBQUM7QUFDckQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCTyxjQUFjLE9BQWtCO0FBQ3JDLFdBQU8sT0FBTyxLQUFLO0FBQUEsRUFDckI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -6,6 +6,8 @@ import type { ValueComponent } from 'obsidian';
|
|
6
6
|
import type { Promisable } from 'type-fest';
|
7
7
|
/**
|
8
8
|
* A ValueComponent that can track changes.
|
9
|
+
*
|
10
|
+
* @typeParam T - The type of the value to set.
|
9
11
|
*/
|
10
12
|
export interface ValueComponentWithChangeTracking<T> extends ValueComponent<T> {
|
11
13
|
/**
|
@@ -1,3 +1,4 @@
|
|
1
|
+
export * as CheckboxComponent from './CheckboxComponent.mjs';
|
1
2
|
export * as DateComponent from './DateComponent.mjs';
|
2
3
|
export * as DateTimeComponent from './DateTimeComponent.mjs';
|
3
4
|
export * as EmailComponent from './EmailComponent.mjs';
|
@@ -10,6 +11,9 @@ export * as MultipleTextComponent from './MultipleTextComponent.mjs';
|
|
10
11
|
export * as NumberComponent from './NumberComponent.mjs';
|
11
12
|
export * as TextBasedComponent from './TextBasedComponent.mjs';
|
12
13
|
export * as TimeComponent from './TimeComponent.mjs';
|
14
|
+
export * as TriStateCheckboxComponent from './TriStateCheckboxComponent.mjs';
|
15
|
+
export * as TypedDropdownComponent from './TypedDropdownComponent.mjs';
|
16
|
+
export * as TypedMultipleDropdownComponent from './TypedMultipleDropdownComponent.mjs';
|
13
17
|
export * as TypedRangeTextComponent from './TypedRangeTextComponent.mjs';
|
14
18
|
export * as TypedTextComponent from './TypedTextComponent.mjs';
|
15
19
|
export * as UrlComponent from './UrlComponent.mjs';
|
@@ -5,6 +5,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
5
5
|
|
6
6
|
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
7
7
|
|
8
|
+
import * as CheckboxComponent from "./CheckboxComponent.mjs";
|
8
9
|
import * as DateComponent from "./DateComponent.mjs";
|
9
10
|
import * as DateTimeComponent from "./DateTimeComponent.mjs";
|
10
11
|
import * as EmailComponent from "./EmailComponent.mjs";
|
@@ -17,6 +18,9 @@ import * as MultipleTextComponent from "./MultipleTextComponent.mjs";
|
|
17
18
|
import * as NumberComponent from "./NumberComponent.mjs";
|
18
19
|
import * as TextBasedComponent from "./TextBasedComponent.mjs";
|
19
20
|
import * as TimeComponent from "./TimeComponent.mjs";
|
21
|
+
import * as TriStateCheckboxComponent from "./TriStateCheckboxComponent.mjs";
|
22
|
+
import * as TypedDropdownComponent from "./TypedDropdownComponent.mjs";
|
23
|
+
import * as TypedMultipleDropdownComponent from "./TypedMultipleDropdownComponent.mjs";
|
20
24
|
import * as TypedRangeTextComponent from "./TypedRangeTextComponent.mjs";
|
21
25
|
import * as TypedTextComponent from "./TypedTextComponent.mjs";
|
22
26
|
import * as UrlComponent from "./UrlComponent.mjs";
|
@@ -24,6 +28,7 @@ import * as ValidatorComponent from "./ValidatorComponent.mjs";
|
|
24
28
|
import * as ValueComponentWithChangeTracking from "./ValueComponentWithChangeTracking.mjs";
|
25
29
|
import * as WeekComponent from "./WeekComponent.mjs";
|
26
30
|
export {
|
31
|
+
CheckboxComponent,
|
27
32
|
DateComponent,
|
28
33
|
DateTimeComponent,
|
29
34
|
EmailComponent,
|
@@ -36,6 +41,9 @@ export {
|
|
36
41
|
NumberComponent,
|
37
42
|
TextBasedComponent,
|
38
43
|
TimeComponent,
|
44
|
+
TriStateCheckboxComponent,
|
45
|
+
TypedDropdownComponent,
|
46
|
+
TypedMultipleDropdownComponent,
|
39
47
|
TypedRangeTextComponent,
|
40
48
|
TypedTextComponent,
|
41
49
|
UrlComponent,
|
@@ -43,4 +51,4 @@ export {
|
|
43
51
|
ValueComponentWithChangeTracking,
|
44
52
|
WeekComponent
|
45
53
|
};
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
54
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBDaGVja2JveENvbXBvbmVudCBmcm9tICcuL0NoZWNrYm94Q29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIERhdGVDb21wb25lbnQgZnJvbSAnLi9EYXRlQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIERhdGVUaW1lQ29tcG9uZW50IGZyb20gJy4vRGF0ZVRpbWVDb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgRW1haWxDb21wb25lbnQgZnJvbSAnLi9FbWFpbENvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBGaWxlQ29tcG9uZW50IGZyb20gJy4vRmlsZUNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBNb250aENvbXBvbmVudCBmcm9tICcuL01vbnRoQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgZnJvbSAnLi9NdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIE11bHRpcGxlRW1haWxDb21wb25lbnQgZnJvbSAnLi9NdWx0aXBsZUVtYWlsQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIE11bHRpcGxlRmlsZUNvbXBvbmVudCBmcm9tICcuL011bHRpcGxlRmlsZUNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBNdWx0aXBsZVRleHRDb21wb25lbnQgZnJvbSAnLi9NdWx0aXBsZVRleHRDb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgTnVtYmVyQ29tcG9uZW50IGZyb20gJy4vTnVtYmVyQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIFRleHRCYXNlZENvbXBvbmVudCBmcm9tICcuL1RleHRCYXNlZENvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBUaW1lQ29tcG9uZW50IGZyb20gJy4vVGltZUNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50IGZyb20gJy4vVHJpU3RhdGVDaGVja2JveENvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBUeXBlZERyb3Bkb3duQ29tcG9uZW50IGZyb20gJy4vVHlwZWREcm9wZG93bkNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgZnJvbSAnLi9UeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgZnJvbSAnLi9UeXBlZFJhbmdlVGV4dENvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBUeXBlZFRleHRDb21wb25lbnQgZnJvbSAnLi9UeXBlZFRleHRDb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgVXJsQ29tcG9uZW50IGZyb20gJy4vVXJsQ29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIFZhbGlkYXRvckNvbXBvbmVudCBmcm9tICcuL1ZhbGlkYXRvckNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyBmcm9tICcuL1ZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nLnRzJztcbmV4cG9ydCAqIGFzIFdlZWtDb21wb25lbnQgZnJvbSAnLi9XZWVrQ29tcG9uZW50LnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFFQSxZQUFZLHVCQUF1QjtBQUNuQyxZQUFZLG1CQUFtQjtBQUMvQixZQUFZLHVCQUF1QjtBQUNuQyxZQUFZLG9CQUFvQjtBQUNoQyxZQUFZLG1CQUFtQjtBQUMvQixZQUFZLG9CQUFvQjtBQUNoQyxZQUFZLCtCQUErQjtBQUMzQyxZQUFZLDRCQUE0QjtBQUN4QyxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLDJCQUEyQjtBQUN2QyxZQUFZLHFCQUFxQjtBQUNqQyxZQUFZLHdCQUF3QjtBQUNwQyxZQUFZLG1CQUFtQjtBQUMvQixZQUFZLCtCQUErQjtBQUMzQyxZQUFZLDRCQUE0QjtBQUN4QyxZQUFZLG9DQUFvQztBQUNoRCxZQUFZLDZCQUE2QjtBQUN6QyxZQUFZLHdCQUF3QjtBQUNwQyxZQUFZLGtCQUFrQjtBQUM5QixZQUFZLHdCQUF3QjtBQUNwQyxZQUFZLHNDQUFzQztBQUNsRCxZQUFZLG1CQUFtQjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -58,15 +58,6 @@ export declare abstract class PluginBase<PluginSettings extends object = object>
|
|
58
58
|
* Called when the external settings change.
|
59
59
|
*/
|
60
60
|
onExternalSettingsChange(): Promise<void>;
|
61
|
-
/**
|
62
|
-
* Adds a lifecycle event listener.
|
63
|
-
* If the event has already occurred, the callback will be called immediately.
|
64
|
-
*
|
65
|
-
* @param name - The name of the event.
|
66
|
-
* @param callback - The callback to call when the event is triggered.
|
67
|
-
* @returns A {@link Promise} that resolves when the callback is executed.
|
68
|
-
*/
|
69
|
-
onLifecycleEvent(name: LifecycleEventName, callback: () => Promisable<unknown>): Promise<void>;
|
70
61
|
/**
|
71
62
|
* Called when the plugin is loaded
|
72
63
|
*/
|
@@ -94,6 +85,17 @@ export declare abstract class PluginBase<PluginSettings extends object = object>
|
|
94
85
|
* @param eventRef - The event reference.
|
95
86
|
*/
|
96
87
|
registerAsyncEvent(eventRef: AsyncEventRef): void;
|
88
|
+
/**
|
89
|
+
* Waits for a lifecycle event to be triggered.
|
90
|
+
*
|
91
|
+
* If you `await` this method during lifecycle event, it might cause a deadlock.
|
92
|
+
*
|
93
|
+
* Consider wrapping this call with {@link invokeAsyncSafely}.
|
94
|
+
*
|
95
|
+
* @param name - The name of the event.
|
96
|
+
* @returns A {@link Promise} that resolves when the event is triggered.
|
97
|
+
*/
|
98
|
+
waitForLifecycleEvent(name: LifecycleEventName): Promise<void>;
|
97
99
|
/**
|
98
100
|
* Creates a plugin settings tab.
|
99
101
|
*
|
@@ -70,24 +70,6 @@ class PluginBase extends Plugin {
|
|
70
70
|
async onExternalSettingsChange() {
|
71
71
|
await this.settingsManager.loadFromFile();
|
72
72
|
}
|
73
|
-
/**
|
74
|
-
* Adds a lifecycle event listener.
|
75
|
-
* If the event has already occurred, the callback will be called immediately.
|
76
|
-
*
|
77
|
-
* @param name - The name of the event.
|
78
|
-
* @param callback - The callback to call when the event is triggered.
|
79
|
-
* @returns A {@link Promise} that resolves when the callback is executed.
|
80
|
-
*/
|
81
|
-
async onLifecycleEvent(name, callback) {
|
82
|
-
if (!this.lifecycleEventNames.has(name)) {
|
83
|
-
await new Promise((resolve) => {
|
84
|
-
this.events.once(name, () => {
|
85
|
-
resolve();
|
86
|
-
});
|
87
|
-
});
|
88
|
-
}
|
89
|
-
await callback();
|
90
|
-
}
|
91
73
|
/**
|
92
74
|
* Called when the plugin is loaded
|
93
75
|
*/
|
@@ -149,6 +131,26 @@ class PluginBase extends Plugin {
|
|
149
131
|
eventRef.asyncEvents.offref(eventRef);
|
150
132
|
});
|
151
133
|
}
|
134
|
+
/**
|
135
|
+
* Waits for a lifecycle event to be triggered.
|
136
|
+
*
|
137
|
+
* If you `await` this method during lifecycle event, it might cause a deadlock.
|
138
|
+
*
|
139
|
+
* Consider wrapping this call with {@link invokeAsyncSafely}.
|
140
|
+
*
|
141
|
+
* @param name - The name of the event.
|
142
|
+
* @returns A {@link Promise} that resolves when the event is triggered.
|
143
|
+
*/
|
144
|
+
async waitForLifecycleEvent(name) {
|
145
|
+
if (this.lifecycleEventNames.has(name)) {
|
146
|
+
return;
|
147
|
+
}
|
148
|
+
await new Promise((resolve) => {
|
149
|
+
this.events.once(name, () => {
|
150
|
+
resolve();
|
151
|
+
});
|
152
|
+
});
|
153
|
+
}
|
152
154
|
/**
|
153
155
|
* Creates a plugin settings tab.
|
154
156
|
*
|
@@ -203,4 +205,4 @@ ${message}`);
|
|
203
205
|
export {
|
204
206
|
PluginBase
|
205
207
|
};
|
206
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQbHVnaW5CYXNlXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHByb3ZpZGluZyB1dGlsaXR5IG1ldGhvZHMgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBUaGlzIGNsYXNzIHNpbXBsaWZpZXMgdGhlIHByb2Nlc3Mgb2YgbWFuYWdpbmcgcGx1Z2luIHNldHRpbmdzLCBkaXNwbGF5aW5nIG5vdGlmaWNhdGlvbnMsIGFuZCBoYW5kbGluZyBlcnJvcnMuXG4gKiBTdWJjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgbWV0aG9kcyB0byBjcmVhdGUgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc2V0dGluZ3MgdGFicywgYW5kIGNvbXBsZXRlIHBsdWdpbi1zcGVjaWZpY1xuICogbG9hZGluZyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpblNldHRpbmdUYWIgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBOb3RpY2UsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQXN5bmNFdmVudFJlZiB9IGZyb20gJy4uLy4uL0FzeW5jRXZlbnRzLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBBc3luY0V2ZW50cyB9IGZyb20gJy4uLy4uL0FzeW5jRXZlbnRzLnRzJztcbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi9QbHVnaW5Db250ZXh0LnRzJztcbmltcG9ydCB7IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzTWFuYWdlckJhc2UudHMnO1xuXG50eXBlIExpZmVjeWNsZUV2ZW50TmFtZSA9ICdsYXlvdXRSZWFkeScgfCAnbG9hZENvbXBsZXRlJyB8ICd1bmxvYWQnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgUGx1Z2luIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZWQgb25seSBmb3IgdHlwZSBpbmZlcmVuY2UuIERvbid0IHVzZSBpdCBkaXJlY3RseS5cbiAgICovXG4gIGRlY2xhcmUgcHVibGljIF9fcGx1Z2luU2V0dGluZ3NUeXBlOiBQbHVnaW5TZXR0aW5ncztcblxuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRzID0gbmV3IEFzeW5jRXZlbnRzKCk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFib3J0U2lnbmFsIHVzZWQgZm9yIGFib3J0aW5nIGxvbmctcnVubmluZyBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsLlxuICAgKi9cbiAgcHVibGljIGdldCBhYm9ydFNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Fib3J0U2lnbmFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogUmVhZG9ubHlEZWVwPFBsdWdpblNldHRpbmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NNYW5hZ2VyLnNhZmVTZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NNYW5hZ2VyKCk6IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICBpZiAoIXRoaXMuX3NldHRpbmdzTWFuYWdlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZXR0aW5ncyBtYW5hZ2VyIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzTWFuYWdlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2Fib3J0U2lnbmFsITogQWJvcnRTaWduYWw7XG4gIHByaXZhdGUgX3NldHRpbmdzTWFuYWdlcjogbnVsbCB8IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+ID0gbnVsbDtcbiAgcHJpdmF0ZSBsaWZlY3ljbGVFdmVudE5hbWVzID0gbmV3IFNldDxMaWZlY3ljbGVFdmVudE5hbWU+KCk7XG4gIHByaXZhdGUgbm90aWNlPzogTm90aWNlO1xuXG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZS5cbiAgICpcbiAgICogVXNlIGluc3RlYWQgb2YgYGNvbnNvbGUuZGVidWcoKWAuXG4gICAqXG4gICAqIFRob3NlIG1lc3NhZ2VzIGFyZSBub3Qgc2hvd24gYnkgZGVmYXVsdCwgYnV0IHRoZXkgY2FuIGJlIHNob3duIGJ5IGVuYWJsaW5nIGB5b3VyLXBsdWdpbi1pZGAgZGVidWdnZXIgbmFtZXNwYWNlLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzLz90YWI9cmVhZG1lLW92LWZpbGUjZGVidWdnaW5nfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBsb2cuXG4gICAqL1xuICBwdWJsaWMgY29uc29sZURlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgLy8gU2tpcCB0aGUgYGNvbnNvbGVEZWJ1ZygpYCBjYWxsIGl0c2VsZlxuICAgIGNvbnN0IEZSQU1FU19UT19TS0lQID0gMTtcbiAgICBjb25zdCBfZGVidWdnZXIgPSBnZXREZWJ1Z2dlcih0aGlzLm1hbmlmZXN0LmlkLCBGUkFNRVNfVE9fU0tJUCk7XG4gICAgX2RlYnVnZ2VyKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NNYW5hZ2VyLmxvYWRGcm9tRmlsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBsaWZlY3ljbGUgZXZlbnQgbGlzdGVuZXIuXG4gICAqIElmIHRoZSBldmVudCBoYXMgYWxyZWFkeSBvY2N1cnJlZCwgdGhlIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNhbGxiYWNrIGlzIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9uTGlmZWN5Y2xlRXZlbnQobmFtZTogTGlmZWN5Y2xlRXZlbnROYW1lLCBjYWxsYmFjazogKCkgPT4gUHJvbWlzYWJsZTx1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5saWZlY3ljbGVFdmVudE5hbWVzLmhhcyhuYW1lKSkge1xuICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudHMub25jZShuYW1lLCAoKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGF3YWl0IGNhbGxiYWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyBsb2FkZWRcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaW5pdFBsdWdpbkNvbnRleHQodGhpcy5hcHAsIHRoaXMubWFuaWZlc3QuaWQpO1xuXG4gICAgdGhpcy5yZWdpc3RlcihyZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93Tm90aWNlKCdBbiB1bmhhbmRsZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSBjaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcbiAgICB9KSk7XG5cbiAgICB0aGlzLl9zZXR0aW5nc01hbmFnZXIgPSB0aGlzLmNyZWF0ZVNldHRpbmdzTWFuYWdlcigpO1xuXG4gICAgYXdhaXQgdGhpcy5vbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTtcbiAgICBjb25zdCBwbHVnaW5TZXR0aW5nc1RhYiA9IHRoaXMuY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTtcbiAgICBpZiAocGx1Z2luU2V0dGluZ3NUYWIpIHtcbiAgICAgIHRoaXMuYWRkU2V0dGluZ1RhYihwbHVnaW5TZXR0aW5nc1RhYik7XG4gICAgfVxuXG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2Fib3J0U2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMub25sb2FkQ29tcGxldGUoKTtcbiAgICBhd2FpdCB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgnbG9hZENvbXBsZXRlJyk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeShjb252ZXJ0QXN5bmNUb1N5bmMoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLm9uTGF5b3V0UmVhZHkoKTtcbiAgICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyTGlmZWN5Y2xlRXZlbnQoJ2xheW91dFJlYWR5Jyk7XG4gICAgICB9KSk7XG4gICAgfSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBzZXR0aW5ncyBhcmUgbG9hZGVkIG9yIHJlbG9hZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gX3NldHRpbmdzIC0gVGhlIHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSBvciBgdm9pZGAgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgc2F2ZSBwcm9jZXNzXG4gICAqL1xuICBwdWJsaWMgb25Mb2FkU2V0dGluZ3MoX3NldHRpbmdzOiBQbHVnaW5TZXR0aW5ncyk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIHNldHRpbmdzIGFyZSBzYXZlZC5cbiAgICpcbiAgICogQHBhcmFtIF9uZXdTZXR0aW5ncyAtIFRoZSBuZXcgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBfb2xkU2V0dGluZ3MgLSBUaGUgb2xkIHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSBvciBgdm9pZGAgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgc2F2ZSBwcm9jZXNzXG4gICAqL1xuICBwdWJsaWMgb25TYXZlU2V0dGluZ3MoX25ld1NldHRpbmdzOiBQbHVnaW5TZXR0aW5ncywgX29sZFNldHRpbmdzOiBQbHVnaW5TZXR0aW5ncyk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgndW5sb2FkJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhbiBhc3luYyBldmVudC5cbiAgICogVW5yZWdpc3RlcnMgdGhlIGV2ZW50IHdoZW4gdGhlIHBsdWdpbiBpcyB1bmxvYWRlZC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50UmVmIC0gVGhlIGV2ZW50IHJlZmVyZW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckFzeW5jRXZlbnQoZXZlbnRSZWY6IEFzeW5jRXZlbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGV2ZW50UmVmLmFzeW5jRXZlbnRzLm9mZnJlZihldmVudFJlZik7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5ncyB0YWIgb3IgbnVsbCBpZiBub3QgYXBwbGljYWJsZS5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpOiBudWxsIHwgUGx1Z2luU2V0dGluZ1RhYiB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgcGx1Z2luIHNldHRpbmdzIG1hbmFnZXIuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHBsdWdpbiBzZXR0aW5ncyBtYW5hZ2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVNldHRpbmdzTWFuYWdlcigpOiBudWxsIHwgUGx1Z2luU2V0dGluZ3NNYW5hZ2VyQmFzZTxQbHVnaW5TZXR0aW5ncz4ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybSBhY3Rpb25zIG9uY2VcbiAgICogdGhlIGxheW91dCBpcyByZWFkeS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gb3IgYHZvaWRgIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxheW91dCBzZXR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGxvYWRpbmcgaXMgY29tcGxldGUuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtXG4gICAqIGFueSBhZGRpdGlvbmFsIHNldHVwIHJlcXVpcmVkIGFmdGVyIGxvYWRpbmcgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IG9yIGB2b2lkYCBpbmRpY2F0aW5nIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBsb2FkIHByb2Nlc3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25sb2FkQ29tcGxldGUoKTogUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgbm90aWNlIG1lc3NhZ2UgdG8gdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG93Tm90aWNlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5vdGljZSkge1xuICAgICAgdGhpcy5ub3RpY2UuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMubm90aWNlID0gbmV3IE5vdGljZShgJHt0aGlzLm1hbmlmZXN0Lm5hbWV9XFxuJHttZXNzYWdlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmlnZ2VyTGlmZWN5Y2xlRXZlbnQobmFtZTogTGlmZWN5Y2xlRXZlbnROYW1lKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5saWZlY3ljbGVFdmVudE5hbWVzLmFkZChuYW1lKTtcbiAgICBhd2FpdCB0aGlzLmV2ZW50cy50cmlnZ2VyQXN5bmMobmFtZSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUlQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxzQ0FBc0M7QUFDL0MsU0FB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
|
208
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQbHVnaW5CYXNlXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHByb3ZpZGluZyB1dGlsaXR5IG1ldGhvZHMgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBUaGlzIGNsYXNzIHNpbXBsaWZpZXMgdGhlIHByb2Nlc3Mgb2YgbWFuYWdpbmcgcGx1Z2luIHNldHRpbmdzLCBkaXNwbGF5aW5nIG5vdGlmaWNhdGlvbnMsIGFuZCBoYW5kbGluZyBlcnJvcnMuXG4gKiBTdWJjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgbWV0aG9kcyB0byBjcmVhdGUgZGVmYXVsdCBzZXR0aW5ncyBhbmQgc2V0dGluZ3MgdGFicywgYW5kIGNvbXBsZXRlIHBsdWdpbi1zcGVjaWZpY1xuICogbG9hZGluZyB0YXNrcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpblNldHRpbmdUYWIgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBOb3RpY2UsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQXN5bmNFdmVudFJlZiB9IGZyb20gJy4uLy4uL0FzeW5jRXZlbnRzLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBBc3luY0V2ZW50cyB9IGZyb20gJy4uLy4uL0FzeW5jRXZlbnRzLnRzJztcbmltcG9ydCB7IGdldERlYnVnZ2VyIH0gZnJvbSAnLi4vLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyIH0gZnJvbSAnLi4vLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi9QbHVnaW5Db250ZXh0LnRzJztcbmltcG9ydCB7IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2UgfSBmcm9tICcuL1BsdWdpblNldHRpbmdzTWFuYWdlckJhc2UudHMnO1xuXG50eXBlIExpZmVjeWNsZUV2ZW50TmFtZSA9ICdsYXlvdXRSZWFkeScgfCAnbG9hZENvbXBsZXRlJyB8ICd1bmxvYWQnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgUGx1Z2luIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZWQgb25seSBmb3IgdHlwZSBpbmZlcmVuY2UuIERvbid0IHVzZSBpdCBkaXJlY3RseS5cbiAgICovXG4gIGRlY2xhcmUgcHVibGljIF9fcGx1Z2luU2V0dGluZ3NUeXBlOiBQbHVnaW5TZXR0aW5ncztcblxuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnRzID0gbmV3IEFzeW5jRXZlbnRzKCk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFib3J0U2lnbmFsIHVzZWQgZm9yIGFib3J0aW5nIGxvbmctcnVubmluZyBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsLlxuICAgKi9cbiAgcHVibGljIGdldCBhYm9ydFNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Fib3J0U2lnbmFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlYWRvbmx5IHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogUmVhZG9ubHlEZWVwPFBsdWdpblNldHRpbmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NNYW5hZ2VyLnNhZmVTZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NNYW5hZ2VyKCk6IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICBpZiAoIXRoaXMuX3NldHRpbmdzTWFuYWdlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZXR0aW5ncyBtYW5hZ2VyIG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzTWFuYWdlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2Fib3J0U2lnbmFsITogQWJvcnRTaWduYWw7XG4gIHByaXZhdGUgX3NldHRpbmdzTWFuYWdlcjogbnVsbCB8IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+ID0gbnVsbDtcbiAgcHJpdmF0ZSBsaWZlY3ljbGVFdmVudE5hbWVzID0gbmV3IFNldDxMaWZlY3ljbGVFdmVudE5hbWU+KCk7XG4gIHByaXZhdGUgbm90aWNlPzogTm90aWNlO1xuXG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZS5cbiAgICpcbiAgICogVXNlIGluc3RlYWQgb2YgYGNvbnNvbGUuZGVidWcoKWAuXG4gICAqXG4gICAqIFRob3NlIG1lc3NhZ2VzIGFyZSBub3Qgc2hvd24gYnkgZGVmYXVsdCwgYnV0IHRoZXkgY2FuIGJlIHNob3duIGJ5IGVuYWJsaW5nIGB5b3VyLXBsdWdpbi1pZGAgZGVidWdnZXIgbmFtZXNwYWNlLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzLz90YWI9cmVhZG1lLW92LWZpbGUjZGVidWdnaW5nfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBsb2cuXG4gICAqL1xuICBwdWJsaWMgY29uc29sZURlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgLy8gU2tpcCB0aGUgYGNvbnNvbGVEZWJ1ZygpYCBjYWxsIGl0c2VsZlxuICAgIGNvbnN0IEZSQU1FU19UT19TS0lQID0gMTtcbiAgICBjb25zdCBfZGVidWdnZXIgPSBnZXREZWJ1Z2dlcih0aGlzLm1hbmlmZXN0LmlkLCBGUkFNRVNfVE9fU0tJUCk7XG4gICAgX2RlYnVnZ2VyKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NNYW5hZ2VyLmxvYWRGcm9tRmlsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gaXMgbG9hZGVkXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGluaXRQbHVnaW5Db250ZXh0KHRoaXMuYXBwLCB0aGlzLm1hbmlmZXN0LmlkKTtcblxuICAgIHRoaXMucmVnaXN0ZXIocmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd05vdGljZSgnQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgfSkpO1xuXG4gICAgdGhpcy5fc2V0dGluZ3NNYW5hZ2VyID0gdGhpcy5jcmVhdGVTZXR0aW5nc01hbmFnZXIoKTtcblxuICAgIGF3YWl0IHRoaXMub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKCk7XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NUYWIgPSB0aGlzLmNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk7XG4gICAgaWYgKHBsdWdpblNldHRpbmdzVGFiKSB7XG4gICAgICB0aGlzLmFkZFNldHRpbmdUYWIocGx1Z2luU2V0dGluZ3NUYWIpO1xuICAgIH1cblxuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9hYm9ydFNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgdGhpcy5yZWdpc3RlcigoKSA9PiB7XG4gICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLm9ubG9hZENvbXBsZXRlKCk7XG4gICAgYXdhaXQgdGhpcy50cmlnZ2VyTGlmZWN5Y2xlRXZlbnQoJ2xvYWRDb21wbGV0ZScpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoY29udmVydEFzeW5jVG9TeW5jKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkxheW91dFJlYWR5KCk7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlckxpZmVjeWNsZUV2ZW50KCdsYXlvdXRSZWFkeScpO1xuICAgICAgfSkpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXJlIGxvYWRlZCBvciByZWxvYWRlZC5cbiAgICpcbiAgICogQHBhcmFtIF9zZXR0aW5ncyAtIFRoZSBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gb3IgYHZvaWRgIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIHNhdmUgcHJvY2Vzc1xuICAgKi9cbiAgcHVibGljIG9uTG9hZFNldHRpbmdzKF9zZXR0aW5nczogUGx1Z2luU2V0dGluZ3MpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBzZXR0aW5ncyBhcmUgc2F2ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBfbmV3U2V0dGluZ3MgLSBUaGUgbmV3IHNldHRpbmdzLlxuICAgKiBAcGFyYW0gX29sZFNldHRpbmdzIC0gVGhlIG9sZCBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gb3IgYHZvaWRgIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIHNhdmUgcHJvY2Vzc1xuICAgKi9cbiAgcHVibGljIG9uU2F2ZVNldHRpbmdzKF9uZXdTZXR0aW5nczogUGx1Z2luU2V0dGluZ3MsIF9vbGRTZXR0aW5nczogUGx1Z2luU2V0dGluZ3MpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb251bmxvYWQoKTogdm9pZCB7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gdGhpcy50cmlnZ2VyTGlmZWN5Y2xlRXZlbnQoJ3VubG9hZCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gYXN5bmMgZXZlbnQuXG4gICAqIFVucmVnaXN0ZXJzIHRoZSBldmVudCB3aGVuIHRoZSBwbHVnaW4gaXMgdW5sb2FkZWQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudFJlZiAtIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJBc3luY0V2ZW50KGV2ZW50UmVmOiBBc3luY0V2ZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlcigoKSA9PiB7XG4gICAgICBldmVudFJlZi5hc3luY0V2ZW50cy5vZmZyZWYoZXZlbnRSZWYpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhIGxpZmVjeWNsZSBldmVudCB0byBiZSB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIElmIHlvdSBgYXdhaXRgIHRoaXMgbWV0aG9kIGR1cmluZyBsaWZlY3ljbGUgZXZlbnQsIGl0IG1pZ2h0IGNhdXNlIGEgZGVhZGxvY2suXG4gICAqXG4gICAqIENvbnNpZGVyIHdyYXBwaW5nIHRoaXMgY2FsbCB3aXRoIHtAbGluayBpbnZva2VBc3luY1NhZmVseX0uXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB3YWl0Rm9yTGlmZWN5Y2xlRXZlbnQobmFtZTogTGlmZWN5Y2xlRXZlbnROYW1lKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubGlmZWN5Y2xlRXZlbnROYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5ldmVudHMub25jZShuYW1lLCAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZ3MgdGFiIG9yIG51bGwgaWYgbm90IGFwcGxpY2FibGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTogbnVsbCB8IFBsdWdpblNldHRpbmdUYWIge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHBsdWdpbiBzZXR0aW5ncyBtYW5hZ2VyLiBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gc2V0dGluZ3MgbWFuYWdlci5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVTZXR0aW5nc01hbmFnZXIoKTogbnVsbCB8IFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgbGF5b3V0IGlzIHJlYWR5LiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gYWN0aW9ucyBvbmNlXG4gICAqIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IG9yIGB2b2lkYCBpbmRpY2F0aW5nIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBsYXlvdXQgc2V0dXAuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25MYXlvdXRSZWFkeSgpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBsb2FkaW5nIGlzIGNvbXBsZXRlLiBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybVxuICAgKiBhbnkgYWRkaXRpb25hbCBzZXR1cCByZXF1aXJlZCBhZnRlciBsb2FkaW5nIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSBvciBgdm9pZGAgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgbG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9ubG9hZENvbXBsZXRlKCk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIG5vdGljZSBtZXNzYWdlIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvd05vdGljZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ub3RpY2UpIHtcbiAgICAgIHRoaXMubm90aWNlLmhpZGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vdGljZSA9IG5ldyBOb3RpY2UoYCR7dGhpcy5tYW5pZmVzdC5uYW1lfVxcbiR7bWVzc2FnZX1gKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdHJpZ2dlckxpZmVjeWNsZUV2ZW50KG5hbWU6IExpZmVjeWNsZUV2ZW50TmFtZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGlmZWN5Y2xlRXZlbnROYW1lcy5hZGQobmFtZSk7XG4gICAgYXdhaXQgdGhpcy5ldmVudHMudHJpZ2dlckFzeW5jKG5hbWUpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBZUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFJUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMsc0NBQXNDO0FBQy9DLFNBQVMsWUFBWTtBQUNyQixTQUFTLHlCQUF5QjtBQUNsQyxTQUFT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
|
@@ -4,6 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
import type { BaseComponent } from 'obsidian';
|
6
6
|
import { Setting } from 'obsidian';
|
7
|
+
import { CheckboxComponent } from './Components/CheckboxComponent.mjs';
|
7
8
|
import { DateComponent } from './Components/DateComponent.mjs';
|
8
9
|
import { DateTimeComponent } from './Components/DateTimeComponent.mjs';
|
9
10
|
import { EmailComponent } from './Components/EmailComponent.mjs';
|
@@ -15,12 +16,22 @@ import { MultipleFileComponent } from './Components/MultipleFileComponent.mjs';
|
|
15
16
|
import { MultipleTextComponent } from './Components/MultipleTextComponent.mjs';
|
16
17
|
import { NumberComponent } from './Components/NumberComponent.mjs';
|
17
18
|
import { TimeComponent } from './Components/TimeComponent.mjs';
|
19
|
+
import { TriStateCheckboxComponent } from './Components/TriStateCheckboxComponent.mjs';
|
20
|
+
import { TypedDropdownComponent } from './Components/TypedDropdownComponent.mjs';
|
21
|
+
import { TypedMultipleDropdownComponent } from './Components/TypedMultipleDropdownComponent.mjs';
|
18
22
|
import { UrlComponent } from './Components/UrlComponent.mjs';
|
19
23
|
import { WeekComponent } from './Components/WeekComponent.mjs';
|
20
24
|
/**
|
21
25
|
* Extends the Setting class with additional methods for adding components.
|
22
26
|
*/
|
23
27
|
export declare class SettingEx extends Setting {
|
28
|
+
/**
|
29
|
+
* Adds a {@link CheckboxComponent} to the setting.
|
30
|
+
*
|
31
|
+
* @param cb - The callback to call with the component.
|
32
|
+
* @returns The setting instance.
|
33
|
+
*/
|
34
|
+
addCheckbox(cb: (component: CheckboxComponent) => void): this;
|
24
35
|
/**
|
25
36
|
* Adds a component to the setting.
|
26
37
|
*
|
@@ -29,7 +40,7 @@ export declare class SettingEx extends Setting {
|
|
29
40
|
* @param cb - The callback to call with the component.
|
30
41
|
* @returns The setting instance.
|
31
42
|
*/
|
32
|
-
addComponent<T extends BaseComponent>(componentClass: new (
|
43
|
+
addComponent<T extends BaseComponent>(componentClass: new (containerEl: HTMLElement) => T, cb: (component: T) => void): this;
|
33
44
|
/**
|
34
45
|
* Adds a {@link DateComponent} to the setting.
|
35
46
|
*
|
@@ -107,6 +118,27 @@ export declare class SettingEx extends Setting {
|
|
107
118
|
* @returns The setting instance.
|
108
119
|
*/
|
109
120
|
addTime(cb: (component: TimeComponent) => void): this;
|
121
|
+
/**
|
122
|
+
* Adds a {@link TriStateCheckboxComponent} to the setting.
|
123
|
+
*
|
124
|
+
* @param cb - The callback to call with the component.
|
125
|
+
* @returns The setting instance.
|
126
|
+
*/
|
127
|
+
addTriStateCheckbox(cb: (component: TriStateCheckboxComponent) => void): this;
|
128
|
+
/**
|
129
|
+
* Adds a {@link TypedDropdownComponent} to the setting.
|
130
|
+
*
|
131
|
+
* @param cb - The callback to call with the component.
|
132
|
+
* @returns The setting instance.
|
133
|
+
*/
|
134
|
+
addTypedDropdown<T>(cb: (component: TypedDropdownComponent<T>) => void): this;
|
135
|
+
/**
|
136
|
+
* Adds a {@link TypedMultipleDropdownComponent} to the setting.
|
137
|
+
*
|
138
|
+
* @param cb - The callback to call with the component.
|
139
|
+
* @returns The setting instance.
|
140
|
+
*/
|
141
|
+
addTypedMultipleDropdown<T>(cb: (component: TypedMultipleDropdownComponent<T>) => void): this;
|
110
142
|
/**
|
111
143
|
* Adds an {@link UrlComponent} to the setting.
|
112
144
|
*
|