obsidian-dev-utils 26.2.1 → 26.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/lib/cjs/CssClass.cjs +3 -1
- package/dist/lib/cjs/CssClass.d.cts +8 -0
- package/dist/lib/cjs/Library.cjs +2 -2
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +25 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.d.cts +19 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +35 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.d.cts +26 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +66 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.d.cts +37 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +80 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.d.cts +50 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +1 -35
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.d.cts +3 -28
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +25 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.d.cts +19 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +14 -18
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +7 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.d.cts +2 -0
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +30 -25
- package/dist/lib/cjs/obsidian/SettingEx.cjs +21 -1
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +16 -0
- package/dist/lib/esm/CssClass.d.mts +8 -0
- package/dist/lib/esm/CssClass.mjs +3 -1
- package/dist/lib/esm/Library.mjs +2 -2
- package/dist/lib/esm/obsidian/Components/SettingComponents/EmailComponent.d.mts +19 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/EmailComponent.mjs +25 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/NumberComponent.d.mts +26 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/NumberComponent.mjs +35 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/PasswordComponent.d.mts +37 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/PasswordComponent.mjs +42 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TelephoneComponent.d.mts +50 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TelephoneComponent.mjs +56 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedTextComponent.d.mts +3 -28
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedTextComponent.mjs +1 -35
- package/dist/lib/esm/obsidian/Components/SettingComponents/UrlComponent.d.mts +19 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/UrlComponent.mjs +25 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/ValidatorComponent.mjs +15 -22
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.d.mts +2 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.mjs +5 -1
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +30 -25
- package/dist/lib/esm/obsidian/SettingEx.d.mts +16 -0
- package/dist/lib/esm/obsidian/SettingEx.mjs +21 -1
- package/dist/styles.css +9 -1
- package/obsidian/Components/SettingComponents/PasswordComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TelephoneComponent/package.json +6 -0
- package/package.json +1 -1
@@ -3,6 +3,7 @@
|
|
3
3
|
*
|
4
4
|
* Contains a component that displays and edits a number.
|
5
5
|
*/
|
6
|
+
import type { TextBasedComponent } from './TextBasedComponent.mjs';
|
6
7
|
import { TypedRangeTextComponent } from './TypedRangeTextComponent.mjs';
|
7
8
|
/**
|
8
9
|
* A component that displays and edits a number.
|
@@ -13,13 +14,37 @@ import { TypedRangeTextComponent } from './TypedRangeTextComponent.mjs';
|
|
13
14
|
*
|
14
15
|
* Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
|
15
16
|
*/
|
16
|
-
export declare class NumberComponent extends TypedRangeTextComponent<number> {
|
17
|
+
export declare class NumberComponent extends TypedRangeTextComponent<number> implements TextBasedComponent<number> {
|
17
18
|
/**
|
18
19
|
* Creates a new number component.
|
19
20
|
*
|
20
21
|
* @param containerEl - The container element of the component.
|
21
22
|
*/
|
22
23
|
constructor(containerEl: HTMLElement);
|
24
|
+
/**
|
25
|
+
* Empties the component.
|
26
|
+
*/
|
27
|
+
empty(): void;
|
28
|
+
/**
|
29
|
+
* Checks if the component is empty.
|
30
|
+
*
|
31
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
32
|
+
*/
|
33
|
+
isEmpty(): boolean;
|
34
|
+
/**
|
35
|
+
* Sets the placeholder of the component.
|
36
|
+
*
|
37
|
+
* @param placeholder - The placeholder to set.
|
38
|
+
* @returns The component.
|
39
|
+
*/
|
40
|
+
setPlaceholder(placeholder: string): this;
|
41
|
+
/**
|
42
|
+
* Sets the placeholder value of the component.
|
43
|
+
*
|
44
|
+
* @param placeholderValue - The placeholder value to set.
|
45
|
+
* @returns The component.
|
46
|
+
*/
|
47
|
+
setPlaceholderValue(placeholderValue: number): this;
|
23
48
|
/**
|
24
49
|
* Converts a string to a number.
|
25
50
|
*
|
@@ -16,6 +16,40 @@ class NumberComponent extends TypedRangeTextComponent {
|
|
16
16
|
constructor(containerEl) {
|
17
17
|
super(containerEl, "number", CssClass.NumberComponent);
|
18
18
|
}
|
19
|
+
/**
|
20
|
+
* Empties the component.
|
21
|
+
*/
|
22
|
+
empty() {
|
23
|
+
this.textComponent.setValue("");
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Checks if the component is empty.
|
27
|
+
*
|
28
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
29
|
+
*/
|
30
|
+
isEmpty() {
|
31
|
+
return this.textComponent.getValue() === "";
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* Sets the placeholder of the component.
|
35
|
+
*
|
36
|
+
* @param placeholder - The placeholder to set.
|
37
|
+
* @returns The component.
|
38
|
+
*/
|
39
|
+
setPlaceholder(placeholder) {
|
40
|
+
this.textComponent.setPlaceholder(placeholder);
|
41
|
+
return this;
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Sets the placeholder value of the component.
|
45
|
+
*
|
46
|
+
* @param placeholderValue - The placeholder value to set.
|
47
|
+
* @returns The component.
|
48
|
+
*/
|
49
|
+
setPlaceholderValue(placeholderValue) {
|
50
|
+
this.textComponent.setPlaceholder(this.valueToString(placeholderValue));
|
51
|
+
return this;
|
52
|
+
}
|
19
53
|
/**
|
20
54
|
* Converts a string to a number.
|
21
55
|
*
|
@@ -29,4 +63,4 @@ class NumberComponent extends TypedRangeTextComponent {
|
|
29
63
|
export {
|
30
64
|
NumberComponent
|
31
65
|
};
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
66
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvTnVtYmVyQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgbnVtYmVyLlxuICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uLy4uL1NldHRpbmdFeC50cyc7XG5pbXBvcnQgdHlwZSB7IFRleHRCYXNlZENvbXBvbmVudCB9IGZyb20gJy4vVGV4dEJhc2VkQ29tcG9uZW50LnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi9Dc3NDbGFzcy50cyc7XG5pbXBvcnQgeyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRSYW5nZVRleHRDb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgbnVtYmVyLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkTnVtYmVyfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudDxudW1iZXI+IGltcGxlbWVudHMgVGV4dEJhc2VkQ29tcG9uZW50PG51bWJlcj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBudW1iZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihjb250YWluZXJFbCwgJ251bWJlcicsIENzc0NsYXNzLk51bWJlckNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogRW1wdGllcyB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGVtcHR5KCk6IHZvaWQge1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSA9PT0gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy52YWx1ZVRvU3RyaW5nKHBsYWNlaG9sZGVyVmFsdWUpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIG51bWJlci5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIG51bWJlci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBwYXJzZUludChzdHIsIDEwKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVlBLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsK0JBQStCO0FBV2pDLE1BQU0sd0JBQXdCLHdCQUFzRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sRyxZQUFZLGFBQTBCO0FBQzNDLFVBQU0sYUFBYSxVQUFVLFNBQVMsZUFBZTtBQUFBLEVBQ3ZEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxRQUFjO0FBQ25CLFNBQUssY0FBYyxTQUFTLEVBQUU7QUFBQSxFQUNoQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQW1CO0FBQ3hCLFdBQU8sS0FBSyxjQUFjLFNBQVMsTUFBTTtBQUFBLEVBQzNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxlQUFlLGFBQTJCO0FBQy9DLFNBQUssY0FBYyxlQUFlLFdBQVc7QUFDN0MsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLG9CQUFvQixrQkFBZ0M7QUFDekQsU0FBSyxjQUFjLGVBQWUsS0FBSyxjQUFjLGdCQUFnQixDQUFDO0FBQ3RFLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQXFCO0FBQ25ELFdBQU8sU0FBUyxLQUFLLEVBQUU7QUFBQSxFQUN6QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/**
|
2
|
+
* @packageDocumentation
|
3
|
+
*
|
4
|
+
* Contains a component that allows the user to enter a password.
|
5
|
+
*/
|
6
|
+
import { TypedTextComponent } from './TypedTextComponent.mjs';
|
7
|
+
/**
|
8
|
+
* A component that allows the user to enter a password.
|
9
|
+
*
|
10
|
+
* You can add this component using {@link SettingEx.addPassword}.
|
11
|
+
*
|
12
|
+
* In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
|
13
|
+
*
|
14
|
+
* Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
|
15
|
+
*/
|
16
|
+
export declare class PasswordComponent extends TypedTextComponent<string> {
|
17
|
+
/**
|
18
|
+
* Creates a new password component.
|
19
|
+
*
|
20
|
+
* @param container - The container element of the component.
|
21
|
+
*/
|
22
|
+
constructor(container: HTMLElement);
|
23
|
+
/**
|
24
|
+
* Sets the placeholder value of the component.
|
25
|
+
*
|
26
|
+
* @param placeholder - The placeholder to set.
|
27
|
+
* @returns The component.
|
28
|
+
*/
|
29
|
+
setPlaceholder(placeholder: string): this;
|
30
|
+
/**
|
31
|
+
* Gets the value from a string.
|
32
|
+
*
|
33
|
+
* @param str - The string to get the value from.
|
34
|
+
* @returns The value from the string.
|
35
|
+
*/
|
36
|
+
valueFromString(str: string): string;
|
37
|
+
}
|
@@ -0,0 +1,42 @@
|
|
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 { CssClass } from "../../../CssClass.mjs";
|
9
|
+
import { TypedTextComponent } from "./TypedTextComponent.mjs";
|
10
|
+
class PasswordComponent extends TypedTextComponent {
|
11
|
+
/**
|
12
|
+
* Creates a new password component.
|
13
|
+
*
|
14
|
+
* @param container - The container element of the component.
|
15
|
+
*/
|
16
|
+
constructor(container) {
|
17
|
+
super(container, "password", CssClass.PasswordComponent);
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Sets the placeholder value of the component.
|
21
|
+
*
|
22
|
+
* @param placeholder - The placeholder to set.
|
23
|
+
* @returns The component.
|
24
|
+
*/
|
25
|
+
setPlaceholder(placeholder) {
|
26
|
+
this.textComponent.setPlaceholder(placeholder);
|
27
|
+
return this;
|
28
|
+
}
|
29
|
+
/**
|
30
|
+
* Gets the value from a string.
|
31
|
+
*
|
32
|
+
* @param str - The string to get the value from.
|
33
|
+
* @returns The value from the string.
|
34
|
+
*/
|
35
|
+
valueFromString(str) {
|
36
|
+
return str;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
export {
|
40
|
+
PasswordComponent
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvUGFzc3dvcmRDb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZW50ZXIgYSBwYXNzd29yZC5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IFR5cGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRUZXh0Q29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhIHBhc3N3b3JkLlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkUGFzc3dvcmR9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhc3N3b3JkQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRUZXh0Q29tcG9uZW50PHN0cmluZz4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwYXNzd29yZCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXIgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXI6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoY29udGFpbmVyLCAncGFzc3dvcmQnLCBDc3NDbGFzcy5QYXNzd29yZENvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBmcm9tIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBnZXQgdGhlIHZhbHVlIGZyb20uXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBmcm9tIHRoZSBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBV0EsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUywwQkFBMEI7QUFXNUIsTUFBTSwwQkFBMEIsbUJBQTJCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXpELFlBQVksV0FBd0I7QUFDekMsVUFBTSxXQUFXLFlBQVksU0FBUyxpQkFBaUI7QUFBQSxFQUN6RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sZUFBZSxhQUEyQjtBQUMvQyxTQUFLLGNBQWMsZUFBZSxXQUFXO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQXFCO0FBQ25ELFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/**
|
2
|
+
* @packageDocumentation
|
3
|
+
*
|
4
|
+
* Contains a component that allows the user to enter a telephone number.
|
5
|
+
*/
|
6
|
+
import type { TextBasedComponent } from './TextBasedComponent.mjs';
|
7
|
+
import { TypedTextComponent } from './TypedTextComponent.mjs';
|
8
|
+
/**
|
9
|
+
* A component that allows the user to enter a telephone number.
|
10
|
+
*
|
11
|
+
* It looks like regular text component on desktop but changes keyboard to digits only on mobile.
|
12
|
+
*
|
13
|
+
* You can add this component using {@link SettingEx.addTelephone}.
|
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
|
+
export declare class TelephoneComponent extends TypedTextComponent<string> implements TextBasedComponent<string> {
|
20
|
+
/**
|
21
|
+
* Creates a new telephone component.
|
22
|
+
*
|
23
|
+
* @param container - The container element of the component.
|
24
|
+
*/
|
25
|
+
constructor(container: HTMLElement);
|
26
|
+
/**
|
27
|
+
* Empties the component.
|
28
|
+
*/
|
29
|
+
empty(): void;
|
30
|
+
/**
|
31
|
+
* Checks if the component is empty.
|
32
|
+
*
|
33
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
34
|
+
*/
|
35
|
+
isEmpty(): boolean;
|
36
|
+
/**
|
37
|
+
* Sets the placeholder value of the component.
|
38
|
+
*
|
39
|
+
* @param placeholderValue - The placeholder value to set.
|
40
|
+
* @returns The component.
|
41
|
+
*/
|
42
|
+
setPlaceholderValue(placeholderValue: string): this;
|
43
|
+
/**
|
44
|
+
* Gets the value from a string.
|
45
|
+
*
|
46
|
+
* @param str - The string to get the value from.
|
47
|
+
* @returns The value from the string.
|
48
|
+
*/
|
49
|
+
valueFromString(str: string): string;
|
50
|
+
}
|
@@ -0,0 +1,56 @@
|
|
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 { CssClass } from "../../../CssClass.mjs";
|
9
|
+
import { TypedTextComponent } from "./TypedTextComponent.mjs";
|
10
|
+
class TelephoneComponent extends TypedTextComponent {
|
11
|
+
/**
|
12
|
+
* Creates a new telephone component.
|
13
|
+
*
|
14
|
+
* @param container - The container element of the component.
|
15
|
+
*/
|
16
|
+
constructor(container) {
|
17
|
+
super(container, "tel", CssClass.TelephoneComponent);
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Empties the component.
|
21
|
+
*/
|
22
|
+
empty() {
|
23
|
+
this.textComponent.setValue("");
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Checks if the component is empty.
|
27
|
+
*
|
28
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
29
|
+
*/
|
30
|
+
isEmpty() {
|
31
|
+
return this.textComponent.getValue() === "";
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* Sets the placeholder value of the component.
|
35
|
+
*
|
36
|
+
* @param placeholderValue - The placeholder value to set.
|
37
|
+
* @returns The component.
|
38
|
+
*/
|
39
|
+
setPlaceholderValue(placeholderValue) {
|
40
|
+
this.textComponent.setPlaceholder(placeholderValue);
|
41
|
+
return this;
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Gets the value from a string.
|
45
|
+
*
|
46
|
+
* @param str - The string to get the value from.
|
47
|
+
* @returns The value from the string.
|
48
|
+
*/
|
49
|
+
valueFromString(str) {
|
50
|
+
return str;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
export {
|
54
|
+
TelephoneComponent
|
55
|
+
};
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVGVsZXBob25lQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGEgdGVsZXBob25lIG51bWJlci5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QmFzZWRDb21wb25lbnQgfSBmcm9tICcuL1RleHRCYXNlZENvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9UeXBlZFRleHRDb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGEgdGVsZXBob25lIG51bWJlci5cbiAqXG4gKiBJdCBsb29rcyBsaWtlIHJlZ3VsYXIgdGV4dCBjb21wb25lbnQgb24gZGVza3RvcCBidXQgY2hhbmdlcyBrZXlib2FyZCB0byBkaWdpdHMgb25seSBvbiBtb2JpbGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRUZWxlcGhvbmV9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRlbGVwaG9uZUNvbXBvbmVudCBleHRlbmRzIFR5cGVkVGV4dENvbXBvbmVudDxzdHJpbmc+IGltcGxlbWVudHMgVGV4dEJhc2VkQ29tcG9uZW50PHN0cmluZz4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB0ZWxlcGhvbmUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lciwgJ3RlbCcsIENzc0NsYXNzLlRlbGVwaG9uZUNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogRW1wdGllcyB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGVtcHR5KCk6IHZvaWQge1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSA9PT0gJyc7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyVmFsdWUgLSBUaGUgcGxhY2Vob2xkZXIgdmFsdWUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIGZyb20gYSBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIGdldCB0aGUgdmFsdWUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIGZyb20gdGhlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHI7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFZQSxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLDBCQUEwQjtBQWE1QixNQUFNLDJCQUEyQixtQkFBaUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNaEcsWUFBWSxXQUF3QjtBQUN6QyxVQUFNLFdBQVcsT0FBTyxTQUFTLGtCQUFrQjtBQUFBLEVBQ3JEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxRQUFjO0FBQ25CLFNBQUssY0FBYyxTQUFTLEVBQUU7QUFBQSxFQUNoQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQW1CO0FBQ3hCLFdBQU8sS0FBSyxjQUFjLFNBQVMsTUFBTTtBQUFBLEVBQzNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxvQkFBb0Isa0JBQWdDO0FBQ3pELFNBQUssY0FBYyxlQUFlLGdCQUFnQjtBQUNsRCxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGdCQUFnQixLQUFxQjtBQUNuRCxXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -4,9 +4,8 @@
|
|
4
4
|
* Contains a component that displays and edits a text-based value.
|
5
5
|
*/
|
6
6
|
import type { Promisable } from 'type-fest';
|
7
|
-
import { ValueComponent } from 'obsidian';
|
7
|
+
import { TextComponent, ValueComponent } from 'obsidian';
|
8
8
|
import type { ValidatorElement } from '../../../HTMLElement.mjs';
|
9
|
-
import type { TextBasedComponent } from './TextBasedComponent.mjs';
|
10
9
|
import type { ValidatorComponent } from './ValidatorComponent.mjs';
|
11
10
|
import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.mjs';
|
12
11
|
import { CssClass } from '../../../CssClass.mjs';
|
@@ -15,7 +14,7 @@ import { CssClass } from '../../../CssClass.mjs';
|
|
15
14
|
*
|
16
15
|
* @typeParam T - The type of the value to set.
|
17
16
|
*/
|
18
|
-
export declare abstract class TypedTextComponent<T> extends ValueComponent<T> implements
|
17
|
+
export declare abstract class TypedTextComponent<T> extends ValueComponent<T> implements ValidatorComponent, ValueComponentWithChangeTracking<T> {
|
19
18
|
/**
|
20
19
|
* The input element of the component.
|
21
20
|
*/
|
@@ -26,7 +25,7 @@ export declare abstract class TypedTextComponent<T> extends ValueComponent<T> im
|
|
26
25
|
* @returns The validator element.
|
27
26
|
*/
|
28
27
|
get validatorEl(): ValidatorElement;
|
29
|
-
|
28
|
+
protected readonly textComponent: TextComponent;
|
30
29
|
/**
|
31
30
|
* Creates a new typed text component.
|
32
31
|
*
|
@@ -35,22 +34,12 @@ export declare abstract class TypedTextComponent<T> extends ValueComponent<T> im
|
|
35
34
|
* @param cssClass - The CSS class of the component.
|
36
35
|
*/
|
37
36
|
constructor(containerEl: HTMLElement, type: string, cssClass: CssClass);
|
38
|
-
/**
|
39
|
-
* Empties the component.
|
40
|
-
*/
|
41
|
-
empty(): void;
|
42
37
|
/**
|
43
38
|
* Gets the value of the component.
|
44
39
|
*
|
45
40
|
* @returns The value of the component.
|
46
41
|
*/
|
47
42
|
getValue(): T;
|
48
|
-
/**
|
49
|
-
* Checks if the component is empty.
|
50
|
-
*
|
51
|
-
* @returns `true` if the component is empty, `false` otherwise.
|
52
|
-
*/
|
53
|
-
isEmpty(): boolean;
|
54
43
|
/**
|
55
44
|
* Sets the callback function to be called when the component is changed.
|
56
45
|
*
|
@@ -69,20 +58,6 @@ export declare abstract class TypedTextComponent<T> extends ValueComponent<T> im
|
|
69
58
|
* @returns The component.
|
70
59
|
*/
|
71
60
|
setDisabled(disabled: boolean): this;
|
72
|
-
/**
|
73
|
-
* Sets the placeholder of the component.
|
74
|
-
*
|
75
|
-
* @param placeholder - The placeholder to set.
|
76
|
-
* @returns The component.
|
77
|
-
*/
|
78
|
-
setPlaceholder(placeholder: string): this;
|
79
|
-
/**
|
80
|
-
* Sets the placeholder value of the component.
|
81
|
-
*
|
82
|
-
* @param placeholderValue - The placeholder value to set.
|
83
|
-
* @returns The component.
|
84
|
-
*/
|
85
|
-
setPlaceholderValue(placeholderValue: T): this;
|
86
61
|
/**
|
87
62
|
* Sets the value of the component.
|
88
63
|
*
|
@@ -39,12 +39,6 @@ class TypedTextComponent extends ValueComponent {
|
|
39
39
|
this.inputEl.type = type;
|
40
40
|
containerEl.addClass(CssClass.LibraryName, getPluginId(), cssClass);
|
41
41
|
}
|
42
|
-
/**
|
43
|
-
* Empties the component.
|
44
|
-
*/
|
45
|
-
empty() {
|
46
|
-
this.textComponent.setValue("");
|
47
|
-
}
|
48
42
|
/**
|
49
43
|
* Gets the value of the component.
|
50
44
|
*
|
@@ -53,14 +47,6 @@ class TypedTextComponent extends ValueComponent {
|
|
53
47
|
getValue() {
|
54
48
|
return this.valueFromString(this.textComponent.getValue());
|
55
49
|
}
|
56
|
-
/**
|
57
|
-
* Checks if the component is empty.
|
58
|
-
*
|
59
|
-
* @returns `true` if the component is empty, `false` otherwise.
|
60
|
-
*/
|
61
|
-
isEmpty() {
|
62
|
-
return this.textComponent.getValue() === "";
|
63
|
-
}
|
64
50
|
/**
|
65
51
|
* Sets the callback function to be called when the component is changed.
|
66
52
|
*
|
@@ -88,26 +74,6 @@ class TypedTextComponent extends ValueComponent {
|
|
88
74
|
this.textComponent.setDisabled(disabled);
|
89
75
|
return this;
|
90
76
|
}
|
91
|
-
/**
|
92
|
-
* Sets the placeholder of the component.
|
93
|
-
*
|
94
|
-
* @param placeholder - The placeholder to set.
|
95
|
-
* @returns The component.
|
96
|
-
*/
|
97
|
-
setPlaceholder(placeholder) {
|
98
|
-
this.textComponent.setPlaceholder(placeholder);
|
99
|
-
return this;
|
100
|
-
}
|
101
|
-
/**
|
102
|
-
* Sets the placeholder value of the component.
|
103
|
-
*
|
104
|
-
* @param placeholderValue - The placeholder value to set.
|
105
|
-
* @returns The component.
|
106
|
-
*/
|
107
|
-
setPlaceholderValue(placeholderValue) {
|
108
|
-
this.setPlaceholder(this.valueToString(placeholderValue));
|
109
|
-
return this;
|
110
|
-
}
|
111
77
|
/**
|
112
78
|
* Sets the value of the component.
|
113
79
|
*
|
@@ -131,4 +97,4 @@ class TypedTextComponent extends ValueComponent {
|
|
131
97
|
export {
|
132
98
|
TypedTextComponent
|
133
99
|
};
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
100
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVHlwZWRUZXh0Q29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgdGV4dC1iYXNlZCB2YWx1ZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBUZXh0Q29tcG9uZW50LFxuICBWYWx1ZUNvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL0hUTUxFbGVtZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9WYWxpZGF0b3JDb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IGdldFBsdWdpbklkIH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpbklkLnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRleHQtYmFzZWQgdmFsdWUuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR5cGVkVGV4dENvbXBvbmVudDxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxUPiB7XG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdHlwZWQgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAcGFyYW0gY3NzQ2xhc3MgLSBUaGUgQ1NTIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50LCB0eXBlOiBzdHJpbmcsIGNzc0NsYXNzOiBDc3NDbGFzcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy50ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQoY29udGFpbmVyRWwpO1xuICAgIHRoaXMuaW5wdXRFbCA9IHRoaXMudGV4dENvbXBvbmVudC5pbnB1dEVsO1xuICAgIHRoaXMuaW5wdXRFbC50eXBlID0gdHlwZTtcbiAgICBjb250YWluZXJFbC5hZGRDbGFzcyhDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgZ2V0UGx1Z2luSWQoKSwgY3NzQ2xhc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGdldFZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLnZhbHVlRnJvbVN0cmluZyh0aGlzLnRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlKGNhbGxiYWNrOiAodmFsdWU6IFQpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQub25DaGFuZ2UoKCkgPT4gY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRDb21wb25lbnQub25DaGFuZ2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGRpc2FibGVkIC0gV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogVCk6IHRoaXMge1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlVG9TdHJpbmcodmFsdWUpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogVDtcblxuICAvKipcbiAgICogQ29udmVydHMgYSB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgdmFsdWVUb1N0cmluZyh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFRQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU1QLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsbUJBQW1CO0FBT3JCLE1BQWUsMkJBQThCLGVBQXFGO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJdkg7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNaEIsSUFBVyxjQUFnQztBQUN6QyxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFbUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1osWUFBWSxhQUEwQixNQUFjLFVBQW9CO0FBQzdFLFVBQU07QUFDTixTQUFLLGdCQUFnQixJQUFJLGNBQWMsV0FBVztBQUNsRCxTQUFLLFVBQVUsS0FBSyxjQUFjO0FBQ2xDLFNBQUssUUFBUSxPQUFPO0FBQ3BCLGdCQUFZLFNBQVMsU0FBUyxhQUFhLFlBQVksR0FBRyxRQUFRO0FBQUEsRUFDcEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPZ0IsV0FBYztBQUM1QixXQUFPLEtBQUssZ0JBQWdCLEtBQUssY0FBYyxTQUFTLENBQUM7QUFBQSxFQUMzRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxVQUFnRDtBQUM5RCxTQUFLLGNBQWMsU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztBQUMzRCxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sWUFBa0I7QUFDdkIsU0FBSyxjQUFjLFVBQVU7QUFBQSxFQUMvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFlBQVksVUFBeUI7QUFDbkQsVUFBTSxZQUFZLFFBQVE7QUFDMUIsU0FBSyxjQUFjLFlBQVksUUFBUTtBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFNBQVMsT0FBZ0I7QUFDdkMsU0FBSyxjQUFjLFNBQVMsS0FBSyxjQUFjLEtBQUssQ0FBQztBQUNyRCxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JPLGNBQWMsT0FBa0I7QUFDckMsV0FBTyxPQUFPLEtBQUs7QUFBQSxFQUNyQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -3,6 +3,7 @@
|
|
3
3
|
*
|
4
4
|
* Contains a component that displays and edits an url.
|
5
5
|
*/
|
6
|
+
import type { TextBasedComponent } from './TextBasedComponent.mjs';
|
6
7
|
import { TypedTextComponent } from './TypedTextComponent.mjs';
|
7
8
|
/**
|
8
9
|
* A component that displays and edits an url.
|
@@ -13,13 +14,30 @@ import { TypedTextComponent } from './TypedTextComponent.mjs';
|
|
13
14
|
*
|
14
15
|
* Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
|
15
16
|
*/
|
16
|
-
export declare class UrlComponent extends TypedTextComponent<string> {
|
17
|
+
export declare class UrlComponent extends TypedTextComponent<string> implements TextBasedComponent<string> {
|
17
18
|
/**
|
18
19
|
* Creates a new Url component.
|
19
20
|
*
|
20
21
|
* @param containerEl - The container element of the component.
|
21
22
|
*/
|
22
23
|
constructor(containerEl: HTMLElement);
|
24
|
+
/**
|
25
|
+
* Empties the component.
|
26
|
+
*/
|
27
|
+
empty(): void;
|
28
|
+
/**
|
29
|
+
* Checks if the component is empty.
|
30
|
+
*
|
31
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
32
|
+
*/
|
33
|
+
isEmpty(): boolean;
|
34
|
+
/**
|
35
|
+
* Sets the placeholder value of the component.
|
36
|
+
*
|
37
|
+
* @param placeholderValue - The placeholder value to set.
|
38
|
+
* @returns The component.
|
39
|
+
*/
|
40
|
+
setPlaceholderValue(placeholderValue: string): this;
|
23
41
|
/**
|
24
42
|
* Converts a string to an url.
|
25
43
|
*
|
@@ -16,6 +16,30 @@ class UrlComponent extends TypedTextComponent {
|
|
16
16
|
constructor(containerEl) {
|
17
17
|
super(containerEl, "url", CssClass.UrlComponent);
|
18
18
|
}
|
19
|
+
/**
|
20
|
+
* Empties the component.
|
21
|
+
*/
|
22
|
+
empty() {
|
23
|
+
this.setValue("");
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Checks if the component is empty.
|
27
|
+
*
|
28
|
+
* @returns `true` if the component is empty, `false` otherwise.
|
29
|
+
*/
|
30
|
+
isEmpty() {
|
31
|
+
return this.getValue() === "";
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* Sets the placeholder value of the component.
|
35
|
+
*
|
36
|
+
* @param placeholderValue - The placeholder value to set.
|
37
|
+
* @returns The component.
|
38
|
+
*/
|
39
|
+
setPlaceholderValue(placeholderValue) {
|
40
|
+
this.textComponent.setPlaceholder(placeholderValue);
|
41
|
+
return this;
|
42
|
+
}
|
19
43
|
/**
|
20
44
|
* Converts a string to an url.
|
21
45
|
*
|
@@ -29,4 +53,4 @@ class UrlComponent extends TypedTextComponent {
|
|
29
53
|
export {
|
30
54
|
UrlComponent
|
31
55
|
};
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVXJsQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGFuIHVybC5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi8uLi9TZXR0aW5nRXgudHMnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QmFzZWRDb21wb25lbnQgfSBmcm9tICcuL1RleHRCYXNlZENvbXBvbmVudC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9UeXBlZFRleHRDb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGFuIHVybC5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZFVybH0uXG4gKlxuICogSW4gb3JkZXIgdG8gYWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBjb21wb25lbnQsIHVzZSB7QGxpbmsgaW5pdFBsdWdpbkNvbnRleHR9IGluIHlvdXIgcGx1Z2luJ3MgYG9ubG9hZCgpYCBmdW5jdGlvbi5cbiAqXG4gKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGNvcHkgc3R5bGVzIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3N0eWxlcy5jc3N9LlxuICovXG5leHBvcnQgY2xhc3MgVXJsQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRUZXh0Q29tcG9uZW50PHN0cmluZz4gaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8c3RyaW5nPiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFVybCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAndXJsJywgQ3NzQ2xhc3MuVXJsQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbXB0aWVzIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlclZhbHVlIC0gVGhlIHBsYWNlaG9sZGVyIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRQbGFjZWhvbGRlclZhbHVlKHBsYWNlaG9sZGVyVmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlclZhbHVlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhbiB1cmwuXG4gICAqXG4gICAqIEBwYXJhbSBzdHIgLSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSB1cmwuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBWUEsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUywwQkFBMEI7QUFXNUIsTUFBTSxxQkFBcUIsbUJBQWlFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTFGLFlBQVksYUFBMEI7QUFDM0MsVUFBTSxhQUFhLE9BQU8sU0FBUyxZQUFZO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFFBQWM7QUFDbkIsU0FBSyxTQUFTLEVBQUU7QUFBQSxFQUNsQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFVBQW1CO0FBQ3hCLFdBQU8sS0FBSyxTQUFTLE1BQU07QUFBQSxFQUM3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sb0JBQW9CLGtCQUFnQztBQUN6RCxTQUFLLGNBQWMsZUFBZSxnQkFBZ0I7QUFDbEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixnQkFBZ0IsS0FBcUI7QUFDbkQsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|