@skyux/lookup 8.7.2 → 9.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +244 -244
- package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +61 -0
- package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +237 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +4 -4
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +817 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete.module.mjs +27 -27
- package/esm2022/lib/modules/country-field/country-field.component.mjs +444 -0
- package/{esm2020 → esm2022}/lib/modules/country-field/country-field.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/lookup/lookup-autocomplete-adapter.mjs +114 -0
- package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +270 -0
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.component.mjs +299 -280
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.module.mjs +37 -37
- package/esm2022/lib/modules/search/search-adapter.service.mjs +46 -0
- package/esm2022/lib/modules/search/search.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/modules/search/search.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +4 -4
- package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +201 -0
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal.module.mjs +27 -27
- package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +89 -0
- package/esm2022/lib/modules/selection-modal/types/selection-modal-instance.mjs +45 -0
- package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +71 -0
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +155 -0
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +63 -0
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +44 -0
- package/esm2022/testing/country-field/country-field-fixture.mjs +118 -0
- package/{esm2020 → esm2022}/testing/country-field/country-field-testing.module.mjs +5 -5
- package/esm2022/testing/lookup/lookup-harness.mjs +76 -0
- package/{esm2020 → esm2022}/testing/search/search-fixture.mjs +18 -19
- package/esm2022/testing/search/search-harness.mjs +80 -0
- package/{esm2020 → esm2022}/testing/search/search-testing.module.mjs +5 -5
- package/esm2022/testing/selection-modal/selection-modal-harness.mjs +122 -0
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs +171 -187
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +3707 -0
- package/{fesm2015 → fesm2022}/skyux-lookup.mjs.map +1 -1
- package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +1 -1
- package/lib/modules/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/modules/country-field/country-field.component.d.ts +1 -1
- package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +1 -1
- package/lib/modules/lookup/lookup.component.d.ts +1 -1
- package/lib/modules/search/search.component.d.ts +1 -1
- package/package.json +23 -31
- package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +0 -64
- package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +0 -235
- package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +0 -775
- package/esm2020/lib/modules/country-field/country-field.component.mjs +0 -433
- package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +0 -115
- package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +0 -271
- package/esm2020/lib/modules/search/search-adapter.service.mjs +0 -46
- package/esm2020/lib/modules/search/search.component.mjs +0 -279
- package/esm2020/lib/modules/selection-modal/selection-modal.component.mjs +0 -199
- package/esm2020/lib/modules/selection-modal/selection-modal.service.mjs +0 -92
- package/esm2020/lib/modules/selection-modal/types/selection-modal-instance.mjs +0 -48
- package/esm2020/lib/modules/shared/sky-lookup-resources.module.mjs +0 -71
- package/esm2020/testing/autocomplete/autocomplete-harness.mjs +0 -161
- package/esm2020/testing/autocomplete/autocomplete-input-harness.mjs +0 -63
- package/esm2020/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -44
- package/esm2020/testing/country-field/country-field-fixture.mjs +0 -114
- package/esm2020/testing/lookup/lookup-harness.mjs +0 -82
- package/esm2020/testing/search/search-harness.mjs +0 -86
- package/esm2020/testing/selection-modal/selection-modal-harness.mjs +0 -128
- package/fesm2015/skyux-lookup-testing.mjs +0 -980
- package/fesm2015/skyux-lookup-testing.mjs.map +0 -1
- package/fesm2015/skyux-lookup.mjs +0 -3642
- package/fesm2020/skyux-lookup.mjs +0 -3625
- package/fesm2020/skyux-lookup.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-default-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-close-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-open-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/shared/sky-lookup-string-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-lookup.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selections-list-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/search/search-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-lookup-testing.mjs +0 -0
|
@@ -43,5 +43,5 @@ export declare class SkyAutocompleteInputDirective implements OnInit, OnDestroy,
|
|
|
43
43
|
onTouched(): void;
|
|
44
44
|
onValidatorChange: () => void;
|
|
45
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyAutocompleteInputDirective, never>;
|
|
46
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAutocompleteInputDirective, "input[skyAutocomplete], textarea[skyAutocomplete]", never, { "autocompleteAttribute": "autocompleteAttribute"; "disabled": "disabled"; }, {}, never, never, false, never>;
|
|
46
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAutocompleteInputDirective, "input[skyAutocomplete], textarea[skyAutocomplete]", never, { "autocompleteAttribute": { "alias": "autocompleteAttribute"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
47
47
|
}
|
|
@@ -173,6 +173,6 @@ export declare class SkyAutocompleteComponent implements OnDestroy, AfterViewIni
|
|
|
173
173
|
onResultMouseMove(id: number): void;
|
|
174
174
|
isElementFocused(ref: HTMLElement): boolean;
|
|
175
175
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyAutocompleteComponent, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
176
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkyAutocompleteComponent, "sky-autocomplete", never, { "ariaLabelledBy": "ariaLabelledBy"; "data": "data"; "debounceTime": "debounceTime"; "descriptorProperty": "descriptorProperty"; "enableShowMore": "enableShowMore"; "messageStream": "messageStream"; "wrapperClass": "wrapperClass"; "propertiesToSearch": "propertiesToSearch"; "search": "search"; "searchResultTemplate": "searchResultTemplate"; "searchTextMinimumCharacters": "searchTextMinimumCharacters"; "searchFilters": "searchFilters"; "searchResultsLimit": "searchResultsLimit"; "showAddButton": "showAddButton"; "noResultsFoundText": "noResultsFoundText"; "searchAsyncDisabled": "searchAsyncDisabled"; }, { "addClick": "addClick"; "showMoreClick": "showMoreClick"; "selectionChange": "selectionChange"; "searchAsync": "searchAsync"; }, ["inputDirective"], ["*"], false, never>;
|
|
176
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkyAutocompleteComponent, "sky-autocomplete", never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "data": { "alias": "data"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "descriptorProperty": { "alias": "descriptorProperty"; "required": false; }; "enableShowMore": { "alias": "enableShowMore"; "required": false; }; "messageStream": { "alias": "messageStream"; "required": false; }; "wrapperClass": { "alias": "wrapperClass"; "required": false; }; "propertiesToSearch": { "alias": "propertiesToSearch"; "required": false; }; "search": { "alias": "search"; "required": false; }; "searchResultTemplate": { "alias": "searchResultTemplate"; "required": false; }; "searchTextMinimumCharacters": { "alias": "searchTextMinimumCharacters"; "required": false; }; "searchFilters": { "alias": "searchFilters"; "required": false; }; "searchResultsLimit": { "alias": "searchResultsLimit"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "noResultsFoundText": { "alias": "noResultsFoundText"; "required": false; }; "searchAsyncDisabled": { "alias": "searchAsyncDisabled"; "required": false; }; }, { "addClick": "addClick"; "showMoreClick": "showMoreClick"; "selectionChange": "selectionChange"; "searchAsync": "searchAsync"; }, ["inputDirective"], ["*"], false, never>;
|
|
177
177
|
}
|
|
178
178
|
export {};
|
|
@@ -98,5 +98,5 @@ export declare class SkyCountryFieldComponent implements AfterViewInit, ControlV
|
|
|
98
98
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
99
99
|
writeValue(value: SkyCountryFieldCountry | undefined): void;
|
|
100
100
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyCountryFieldComponent, [null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
101
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkyCountryFieldComponent, "sky-country-field", never, { "autocompleteAttribute": "autocompleteAttribute"; "defaultCountry": "defaultCountry"; "disabled": "disabled"; "hideSelectedCountryFlag": "hideSelectedCountryFlag"; "includePhoneInfo": "includePhoneInfo"; "supportedCountryISOs": "supportedCountryISOs"; }, { "selectedCountryChange": "selectedCountryChange"; }, never, never, false, never>;
|
|
101
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkyCountryFieldComponent, "sky-country-field", never, { "autocompleteAttribute": { "alias": "autocompleteAttribute"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hideSelectedCountryFlag": { "alias": "hideSelectedCountryFlag"; "required": false; }; "includePhoneInfo": { "alias": "includePhoneInfo"; "required": false; }; "supportedCountryISOs": { "alias": "supportedCountryISOs"; "required": false; }; }, { "selectedCountryChange": "selectedCountryChange"; }, never, never, false, never>;
|
|
102
102
|
}
|
|
@@ -71,5 +71,5 @@ export declare class SkyLookupAutocompleteAdapter {
|
|
|
71
71
|
searchAsync: EventEmitter<SkyAutocompleteSearchAsyncArgs>;
|
|
72
72
|
searchOrDefault: SkyAutocompleteSearchFunction;
|
|
73
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyLookupAutocompleteAdapter, never>;
|
|
74
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyLookupAutocompleteAdapter, never, never, { "debounceTime": "debounceTime"; "descriptorProperty": "descriptorProperty"; "propertiesToSearch": "propertiesToSearch"; "search": "search"; "searchResultTemplate": "searchResultTemplate"; "searchTextMinimumCharacters": "searchTextMinimumCharacters"; "searchFilters": "searchFilters"; "searchResultsLimit": "searchResultsLimit"; }, { "searchAsync": "searchAsync"; }, never, never, false, never>;
|
|
74
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SkyLookupAutocompleteAdapter, never, never, { "debounceTime": { "alias": "debounceTime"; "required": false; }; "descriptorProperty": { "alias": "descriptorProperty"; "required": false; }; "propertiesToSearch": { "alias": "propertiesToSearch"; "required": false; }; "search": { "alias": "search"; "required": false; }; "searchResultTemplate": { "alias": "searchResultTemplate"; "required": false; }; "searchTextMinimumCharacters": { "alias": "searchTextMinimumCharacters"; "required": false; }; "searchFilters": { "alias": "searchFilters"; "required": false; }; "searchResultsLimit": { "alias": "searchResultsLimit"; "required": false; }; }, { "searchAsync": "searchAsync"; }, never, never, false, never>;
|
|
75
75
|
}
|
|
@@ -137,5 +137,5 @@ export declare class SkyLookupComponent extends SkyLookupAutocompleteAdapter imp
|
|
|
137
137
|
openPicker(initialSearch: string): void;
|
|
138
138
|
onSearchAsync(args: SkyAutocompleteSearchAsyncArgs): void;
|
|
139
139
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyLookupComponent, [null, null, null, null, null, null, null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
|
|
140
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkyLookupComponent, "sky-lookup", never, { "ariaLabel": "ariaLabel"; "ariaLabelledBy": "ariaLabelledBy"; "autocompleteAttribute": "autocompleteAttribute"; "data": "data"; "disabled": "disabled"; "enableShowMore": "enableShowMore"; "placeholderText": "placeholderText"; "idProperty": "idProperty"; "showAddButton": "showAddButton"; "showMoreConfig": "showMoreConfig"; "selectMode": "selectMode"; "wrapperClass": "wrapperClass"; }, { "addClick": "addClick"; }, never, never, false, never>;
|
|
140
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkyLookupComponent, "sky-lookup", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "autocompleteAttribute": { "alias": "autocompleteAttribute"; "required": false; }; "data": { "alias": "data"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "enableShowMore": { "alias": "enableShowMore"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; "idProperty": { "alias": "idProperty"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showMoreConfig": { "alias": "showMoreConfig"; "required": false; }; "selectMode": { "alias": "selectMode"; "required": false; }; "wrapperClass": { "alias": "wrapperClass"; "required": false; }; }, { "addClick": "addClick"; }, never, never, false, never>;
|
|
141
141
|
}
|
|
@@ -69,5 +69,5 @@ export declare class SkySearchComponent implements OnDestroy, OnInit, OnChanges
|
|
|
69
69
|
inputAnimationEnd(event: AnimationEvent): void;
|
|
70
70
|
ngOnDestroy(): void;
|
|
71
71
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkySearchComponent, never>;
|
|
72
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkySearchComponent, "sky-search", never, { "searchText": "searchText"; "expandMode": "expandMode"; "debounceTime": "debounceTime"; "disabled": "disabled"; "placeholderText": "placeholderText"; }, { "searchApply": "searchApply"; "searchChange": "searchChange"; "searchClear": "searchClear"; }, never, never, false, never>;
|
|
72
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkySearchComponent, "sky-search", never, { "searchText": { "alias": "searchText"; "required": false; }; "expandMode": { "alias": "expandMode"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; }, { "searchApply": "searchApply"; "searchChange": "searchChange"; "searchClear": "searchClear"; }, never, never, false, never>;
|
|
73
73
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/lookup",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0-alpha.1",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,50 +21,42 @@
|
|
|
21
21
|
},
|
|
22
22
|
".": {
|
|
23
23
|
"types": "./index.d.ts",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"node": "./fesm2015/skyux-lookup.mjs",
|
|
28
|
-
"default": "./fesm2020/skyux-lookup.mjs"
|
|
24
|
+
"esm2022": "./esm2022/skyux-lookup.mjs",
|
|
25
|
+
"esm": "./esm2022/skyux-lookup.mjs",
|
|
26
|
+
"default": "./fesm2022/skyux-lookup.mjs"
|
|
29
27
|
},
|
|
30
28
|
"./testing": {
|
|
31
29
|
"types": "./testing/index.d.ts",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"node": "./fesm2015/skyux-lookup-testing.mjs",
|
|
36
|
-
"default": "./fesm2020/skyux-lookup-testing.mjs"
|
|
30
|
+
"esm2022": "./esm2022/testing/skyux-lookup-testing.mjs",
|
|
31
|
+
"esm": "./esm2022/testing/skyux-lookup-testing.mjs",
|
|
32
|
+
"default": "./fesm2022/skyux-lookup-testing.mjs"
|
|
37
33
|
},
|
|
38
34
|
"./documentation.json": {
|
|
39
35
|
"default": "./documentation.json"
|
|
40
36
|
}
|
|
41
37
|
},
|
|
42
38
|
"peerDependencies": {
|
|
43
|
-
"@angular/animations": "^
|
|
44
|
-
"@angular/cdk": "^
|
|
45
|
-
"@angular/common": "^
|
|
46
|
-
"@angular/core": "^
|
|
47
|
-
"@angular/forms": "^
|
|
48
|
-
"@angular/platform-browser": "^
|
|
49
|
-
"@skyux-sdk/testing": "
|
|
50
|
-
"@skyux/core": "
|
|
51
|
-
"@skyux/forms": "
|
|
52
|
-
"@skyux/i18n": "
|
|
53
|
-
"@skyux/indicators": "
|
|
54
|
-
"@skyux/layout": "
|
|
55
|
-
"@skyux/lists": "
|
|
56
|
-
"@skyux/modals": "
|
|
57
|
-
"@skyux/theme": "
|
|
39
|
+
"@angular/animations": "^16.1.7",
|
|
40
|
+
"@angular/cdk": "^16.1.6",
|
|
41
|
+
"@angular/common": "^16.1.7",
|
|
42
|
+
"@angular/core": "^16.1.7",
|
|
43
|
+
"@angular/forms": "^16.1.7",
|
|
44
|
+
"@angular/platform-browser": "^16.1.7",
|
|
45
|
+
"@skyux-sdk/testing": "9.0.0-alpha.1",
|
|
46
|
+
"@skyux/core": "9.0.0-alpha.1",
|
|
47
|
+
"@skyux/forms": "9.0.0-alpha.1",
|
|
48
|
+
"@skyux/i18n": "9.0.0-alpha.1",
|
|
49
|
+
"@skyux/indicators": "9.0.0-alpha.1",
|
|
50
|
+
"@skyux/layout": "9.0.0-alpha.1",
|
|
51
|
+
"@skyux/lists": "9.0.0-alpha.1",
|
|
52
|
+
"@skyux/modals": "9.0.0-alpha.1",
|
|
53
|
+
"@skyux/theme": "9.0.0-alpha.1"
|
|
58
54
|
},
|
|
59
55
|
"dependencies": {
|
|
60
56
|
"intl-tel-input": "17.0.21",
|
|
61
57
|
"tslib": "^2.5.0"
|
|
62
58
|
},
|
|
63
|
-
"module": "
|
|
64
|
-
"es2020": "fesm2020/skyux-lookup.mjs",
|
|
65
|
-
"esm2020": "esm2020/skyux-lookup.mjs",
|
|
66
|
-
"fesm2020": "fesm2020/skyux-lookup.mjs",
|
|
67
|
-
"fesm2015": "fesm2015/skyux-lookup.mjs",
|
|
59
|
+
"module": "fesm2022/skyux-lookup.mjs",
|
|
68
60
|
"typings": "index.d.ts",
|
|
69
61
|
"sideEffects": false
|
|
70
62
|
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
var _SkyAutocompleteAdapterService_coreAdapterService, _SkyAutocompleteAdapterService_renderer;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Injectable, } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@skyux/core";
|
|
6
|
-
/**
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export class SkyAutocompleteAdapterService {
|
|
10
|
-
constructor(coreAdapterService, rendererFactory) {
|
|
11
|
-
_SkyAutocompleteAdapterService_coreAdapterService.set(this, void 0);
|
|
12
|
-
_SkyAutocompleteAdapterService_renderer.set(this, void 0);
|
|
13
|
-
__classPrivateFieldSet(this, _SkyAutocompleteAdapterService_coreAdapterService, coreAdapterService, "f");
|
|
14
|
-
__classPrivateFieldSet(this, _SkyAutocompleteAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Adds the className for the provided element.
|
|
18
|
-
*/
|
|
19
|
-
addCSSClass(element, className) {
|
|
20
|
-
/* Sanity check */
|
|
21
|
-
/* istanbul ignore else */
|
|
22
|
-
if (element) {
|
|
23
|
-
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").addClass(element, className);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
getOverlayFocusableElements(overlay) {
|
|
27
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteAdapterService_coreAdapterService, "f").getFocusableChildren(
|
|
28
|
-
/* Sanity check - calling function also has null check */
|
|
29
|
-
/* istanbul ignore next */
|
|
30
|
-
overlay?.componentRef.location.nativeElement, { ignoreTabIndex: true });
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Removes the className for the provided element.
|
|
34
|
-
*/
|
|
35
|
-
removeCSSClass(element, className) {
|
|
36
|
-
/* Sanity check */
|
|
37
|
-
/* istanbul ignore else */
|
|
38
|
-
if (element) {
|
|
39
|
-
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").removeClass(element, className);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
setDropdownWidth(elementRef, dropdownRef, isInputBox) {
|
|
43
|
-
const parentElement = isInputBox
|
|
44
|
-
? elementRef.nativeElement.closest('.sky-input-box')
|
|
45
|
-
: elementRef.nativeElement;
|
|
46
|
-
if (parentElement) {
|
|
47
|
-
const width = parentElement.getBoundingClientRect().width;
|
|
48
|
-
__classPrivateFieldGet(this, _SkyAutocompleteAdapterService_renderer, "f").setStyle(dropdownRef.nativeElement, 'width', `${width}px`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Sets the `tabIndex` of the `element` to the provided `tabIndex`.
|
|
53
|
-
*/
|
|
54
|
-
setTabIndex(element, tabIndex) {
|
|
55
|
-
element.tabIndex = tabIndex;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
_SkyAutocompleteAdapterService_coreAdapterService = new WeakMap(), _SkyAutocompleteAdapterService_renderer = new WeakMap();
|
|
59
|
-
SkyAutocompleteAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutocompleteAdapterService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
-
SkyAutocompleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutocompleteAdapterService });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutocompleteAdapterService, decorators: [{
|
|
62
|
-
type: Injectable
|
|
63
|
-
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i0.RendererFactory2 }]; } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLFVBQVUsR0FHWCxNQUFNLGVBQWUsQ0FBQzs7O0FBR3ZCOztHQUVHO0FBRUgsTUFBTSxPQUFPLDZCQUE2QjtJQUt4QyxZQUNFLGtCQUF5QyxFQUN6QyxlQUFpQztRQU5uQyxvRUFBMkM7UUFFM0MsMERBQXFCO1FBTW5CLHVCQUFBLElBQUkscURBQXVCLGtCQUFrQixNQUFBLENBQUM7UUFDOUMsdUJBQUEsSUFBSSwyQ0FBYSxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBQSxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVcsQ0FBQyxPQUFvQixFQUFFLFNBQWlCO1FBQ3hELGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsT0FBMkI7UUFFM0IsT0FBTyx1QkFBQSxJQUFJLHlEQUFvQixDQUFDLG9CQUFvQjtRQUNsRCx5REFBeUQ7UUFDekQsMEJBQTBCO1FBQzFCLE9BQU8sRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDNUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsT0FBb0IsRUFBRSxTQUFpQjtRQUMzRCxrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLElBQUksT0FBTyxFQUFFO1lBQ1gsdUJBQUEsSUFBSSwrQ0FBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLFVBQXNCLEVBQ3RCLFdBQXVCLEVBQ3ZCLFVBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUFHLFVBQVU7WUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzdCLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxRCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVcsQ0FBQyxPQUFvQixFQUFFLFFBQWdCO1FBQ3ZELE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7OzswSEFqRVUsNkJBQTZCOzhIQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UsIFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgI2NvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLiNjb3JlQWRhcHRlclNlcnZpY2UgPSBjb3JlQWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBjbGFzc05hbWUgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFkZENTU0NsYXNzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE92ZXJsYXlGb2N1c2FibGVFbGVtZW50cyhcbiAgICBvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2VcbiAgKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI2NvcmVBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgIC8qIFNhbml0eSBjaGVjayAtIGNhbGxpbmcgZnVuY3Rpb24gYWxzbyBoYXMgbnVsbCBjaGVjayAqL1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIG92ZXJsYXk/LmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgeyBpZ25vcmVUYWJJbmRleDogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBjbGFzc05hbWUgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlbW92ZUNTU0NsYXNzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldERyb3Bkb3duV2lkdGgoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBkcm9wZG93blJlZjogRWxlbWVudFJlZixcbiAgICBpc0lucHV0Qm94OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBpc0lucHV0Qm94XG4gICAgICA/IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2t5LWlucHV0LWJveCcpXG4gICAgICA6IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAocGFyZW50RWxlbWVudCkge1xuICAgICAgY29uc3Qgd2lkdGggPSBwYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25SZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYHRhYkluZGV4YCBvZiB0aGUgYGVsZW1lbnRgIHRvIHRoZSBwcm92aWRlZCBgdGFiSW5kZXhgLlxuICAgKi9cbiAgcHVibGljIHNldFRhYkluZGV4KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZWxlbWVudC50YWJJbmRleCA9IHRhYkluZGV4O1xuICB9XG59XG4iXX0=
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
var _SkyAutocompleteInputDirective_instances, _SkyAutocompleteInputDirective_blur, _SkyAutocompleteInputDirective_blurObs, _SkyAutocompleteInputDirective_control, _SkyAutocompleteInputDirective_elementRef, _SkyAutocompleteInputDirective_focus, _SkyAutocompleteInputDirective_focusObs, _SkyAutocompleteInputDirective_isFirstChange, _SkyAutocompleteInputDirective_ngUnsubscribe, _SkyAutocompleteInputDirective_renderer, _SkyAutocompleteInputDirective_textChanges, _SkyAutocompleteInputDirective_textChangesObs, _SkyAutocompleteInputDirective__autocompleteAttribute, _SkyAutocompleteInputDirective__disabled, _SkyAutocompleteInputDirective__displayWith, _SkyAutocompleteInputDirective__value, _SkyAutocompleteInputDirective_setAttributes, _SkyAutocompleteInputDirective_getValueByKey;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Directive, Input, forwardRef, } from '@angular/core';
|
|
4
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
5
|
-
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
const SKY_AUTOCOMPLETE_VALUE_ACCESSOR = {
|
|
9
|
-
provide: NG_VALUE_ACCESSOR,
|
|
10
|
-
useExisting: forwardRef(() => SkyAutocompleteInputDirective),
|
|
11
|
-
multi: true,
|
|
12
|
-
};
|
|
13
|
-
const SKY_AUTOCOMPLETE_VALIDATOR = {
|
|
14
|
-
provide: NG_VALIDATORS,
|
|
15
|
-
useExisting: forwardRef(() => SkyAutocompleteInputDirective),
|
|
16
|
-
multi: true,
|
|
17
|
-
};
|
|
18
|
-
export class SkyAutocompleteInputDirective {
|
|
19
|
-
/**
|
|
20
|
-
* The value for the `autocomplete` attribute on the form input.
|
|
21
|
-
* @default "off"
|
|
22
|
-
*/
|
|
23
|
-
set autocompleteAttribute(value) {
|
|
24
|
-
if (!value) {
|
|
25
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, 'off', "f");
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, value, "f");
|
|
29
|
-
}
|
|
30
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'autocomplete', __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, "f"));
|
|
31
|
-
}
|
|
32
|
-
get autocompleteAttribute() {
|
|
33
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__autocompleteAttribute, "f") || 'off';
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Whether to disable the autocomplete field on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.
|
|
37
|
-
* To set the disabled state on reactive forms, use the `FormControl` instead.
|
|
38
|
-
* @default false
|
|
39
|
-
*/
|
|
40
|
-
set disabled(value) {
|
|
41
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__disabled, value ?? false, "f");
|
|
42
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'disabled', value);
|
|
43
|
-
}
|
|
44
|
-
get disabled() {
|
|
45
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__disabled, "f");
|
|
46
|
-
}
|
|
47
|
-
get blur() {
|
|
48
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blurObs, "f");
|
|
49
|
-
}
|
|
50
|
-
get displayWith() {
|
|
51
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__displayWith, "f");
|
|
52
|
-
}
|
|
53
|
-
set displayWith(value) {
|
|
54
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__displayWith, value, "f");
|
|
55
|
-
this.inputTextValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
56
|
-
}
|
|
57
|
-
get focus() {
|
|
58
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_focusObs, "f");
|
|
59
|
-
}
|
|
60
|
-
get inputTextValue() {
|
|
61
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value;
|
|
62
|
-
}
|
|
63
|
-
set inputTextValue(value) {
|
|
64
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value = value || '';
|
|
65
|
-
}
|
|
66
|
-
get textChanges() {
|
|
67
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChangesObs, "f");
|
|
68
|
-
}
|
|
69
|
-
get value() {
|
|
70
|
-
return __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f");
|
|
71
|
-
}
|
|
72
|
-
set value(value) {
|
|
73
|
-
const isNewValue = value !== __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f");
|
|
74
|
-
/* istanbul ignore else */
|
|
75
|
-
if (isNewValue) {
|
|
76
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective__value, value, "f");
|
|
77
|
-
this.inputTextValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
78
|
-
this.onChange(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f"));
|
|
79
|
-
// Do not mark the field as "dirty"
|
|
80
|
-
// if the field has been initialized with a value.
|
|
81
|
-
if (__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f")) {
|
|
82
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f").markAsPristine();
|
|
83
|
-
}
|
|
84
|
-
if (__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutocompleteInputDirective__value, "f")) {
|
|
85
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_isFirstChange, false, "f");
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
constructor(elementRef, renderer) {
|
|
90
|
-
_SkyAutocompleteInputDirective_instances.add(this);
|
|
91
|
-
_SkyAutocompleteInputDirective_blur.set(this, void 0);
|
|
92
|
-
_SkyAutocompleteInputDirective_blurObs.set(this, void 0);
|
|
93
|
-
_SkyAutocompleteInputDirective_control.set(this, void 0);
|
|
94
|
-
_SkyAutocompleteInputDirective_elementRef.set(this, void 0);
|
|
95
|
-
_SkyAutocompleteInputDirective_focus.set(this, void 0);
|
|
96
|
-
_SkyAutocompleteInputDirective_focusObs.set(this, void 0);
|
|
97
|
-
_SkyAutocompleteInputDirective_isFirstChange.set(this, true);
|
|
98
|
-
_SkyAutocompleteInputDirective_ngUnsubscribe.set(this, new Subject());
|
|
99
|
-
_SkyAutocompleteInputDirective_renderer.set(this, void 0);
|
|
100
|
-
_SkyAutocompleteInputDirective_textChanges.set(this, void 0);
|
|
101
|
-
_SkyAutocompleteInputDirective_textChangesObs.set(this, void 0);
|
|
102
|
-
_SkyAutocompleteInputDirective__autocompleteAttribute.set(this, void 0);
|
|
103
|
-
_SkyAutocompleteInputDirective__disabled.set(this, false);
|
|
104
|
-
_SkyAutocompleteInputDirective__displayWith.set(this, '');
|
|
105
|
-
_SkyAutocompleteInputDirective__value.set(this, void 0);
|
|
106
|
-
// istanbul ignore next
|
|
107
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
108
|
-
this.onValidatorChange = () => { };
|
|
109
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_elementRef, elementRef, "f");
|
|
110
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_renderer, renderer, "f");
|
|
111
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_blur, new Subject(), "f");
|
|
112
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_focus, new Subject(), "f");
|
|
113
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_textChanges, new Subject(), "f");
|
|
114
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_blurObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").asObservable(), "f");
|
|
115
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_focusObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_focus, "f").asObservable(), "f");
|
|
116
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_textChangesObs, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").asObservable(), "f");
|
|
117
|
-
}
|
|
118
|
-
ngOnInit() {
|
|
119
|
-
const element = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement;
|
|
120
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_setAttributes).call(this, __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f"));
|
|
121
|
-
observableFromEvent(element, 'input')
|
|
122
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
123
|
-
.subscribe(() => {
|
|
124
|
-
if (!this.disabled) {
|
|
125
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").next({
|
|
126
|
-
value: __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement.value,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
observableFromEvent(element, 'blur')
|
|
131
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
132
|
-
.subscribe(() => {
|
|
133
|
-
if (!this.disabled) {
|
|
134
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").next();
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
observableFromEvent(element, 'focus')
|
|
138
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
139
|
-
.subscribe(() => {
|
|
140
|
-
if (!this.disabled) {
|
|
141
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_focus, "f").next();
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
observableFromEvent(element, 'change')
|
|
145
|
-
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f")))
|
|
146
|
-
.subscribe(() => {
|
|
147
|
-
/* istanbul ignore else */
|
|
148
|
-
if (!this.disabled) {
|
|
149
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_isFirstChange, false, "f");
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
ngOnDestroy() {
|
|
154
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_blur, "f").complete();
|
|
155
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_textChanges, "f").complete();
|
|
156
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f").next();
|
|
157
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_ngUnsubscribe, "f").complete();
|
|
158
|
-
}
|
|
159
|
-
writeValue(value) {
|
|
160
|
-
this.value = value;
|
|
161
|
-
}
|
|
162
|
-
registerOnChange(fn) {
|
|
163
|
-
this.onChange = fn;
|
|
164
|
-
}
|
|
165
|
-
registerOnTouched(fn) {
|
|
166
|
-
this.onTouched = fn;
|
|
167
|
-
}
|
|
168
|
-
registerOnValidatorChange(fn) {
|
|
169
|
-
this.onValidatorChange = fn;
|
|
170
|
-
}
|
|
171
|
-
restoreInputTextValueToPreviousState() {
|
|
172
|
-
const modelValue = __classPrivateFieldGet(this, _SkyAutocompleteInputDirective_instances, "m", _SkyAutocompleteInputDirective_getValueByKey).call(this);
|
|
173
|
-
// If the search field contains text, make sure that the value
|
|
174
|
-
// matches the selected descriptor key.
|
|
175
|
-
if (this.inputTextValue !== modelValue) {
|
|
176
|
-
this.inputTextValue = modelValue;
|
|
177
|
-
}
|
|
178
|
-
this.onTouched();
|
|
179
|
-
}
|
|
180
|
-
setDisabledState(disabled) {
|
|
181
|
-
this.disabled = disabled;
|
|
182
|
-
}
|
|
183
|
-
validate(control) {
|
|
184
|
-
if (!__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_control, "f")) {
|
|
185
|
-
__classPrivateFieldSet(this, _SkyAutocompleteInputDirective_control, control, "f");
|
|
186
|
-
}
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
// See: https://www.w3.org/TR/wai-aria-practices/#kbd_focus_activedescendant
|
|
190
|
-
setActiveDescendant(descendantId) {
|
|
191
|
-
if (descendantId) {
|
|
192
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-activedescendant', descendantId);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-activedescendant');
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
setAriaOwns(overlayId) {
|
|
199
|
-
if (overlayId) {
|
|
200
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-owns', overlayId);
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").removeAttribute(__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_elementRef, "f").nativeElement, 'aria-owns');
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
// Angular automatically constructs these methods.
|
|
207
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
208
|
-
onChange(value) { }
|
|
209
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
210
|
-
onTouched() { }
|
|
211
|
-
}
|
|
212
|
-
_SkyAutocompleteInputDirective_blur = new WeakMap(), _SkyAutocompleteInputDirective_blurObs = new WeakMap(), _SkyAutocompleteInputDirective_control = new WeakMap(), _SkyAutocompleteInputDirective_elementRef = new WeakMap(), _SkyAutocompleteInputDirective_focus = new WeakMap(), _SkyAutocompleteInputDirective_focusObs = new WeakMap(), _SkyAutocompleteInputDirective_isFirstChange = new WeakMap(), _SkyAutocompleteInputDirective_ngUnsubscribe = new WeakMap(), _SkyAutocompleteInputDirective_renderer = new WeakMap(), _SkyAutocompleteInputDirective_textChanges = new WeakMap(), _SkyAutocompleteInputDirective_textChangesObs = new WeakMap(), _SkyAutocompleteInputDirective__autocompleteAttribute = new WeakMap(), _SkyAutocompleteInputDirective__disabled = new WeakMap(), _SkyAutocompleteInputDirective__displayWith = new WeakMap(), _SkyAutocompleteInputDirective__value = new WeakMap(), _SkyAutocompleteInputDirective_instances = new WeakSet(), _SkyAutocompleteInputDirective_setAttributes = function _SkyAutocompleteInputDirective_setAttributes(elementRef) {
|
|
213
|
-
const element = elementRef.nativeElement;
|
|
214
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocomplete', this.autocompleteAttribute);
|
|
215
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocapitalize', 'none');
|
|
216
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'autocorrect', 'off');
|
|
217
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").setAttribute(element, 'spellcheck', 'false');
|
|
218
|
-
__classPrivateFieldGet(this, _SkyAutocompleteInputDirective_renderer, "f").addClass(element, 'sky-form-control');
|
|
219
|
-
}, _SkyAutocompleteInputDirective_getValueByKey = function _SkyAutocompleteInputDirective_getValueByKey() {
|
|
220
|
-
return this.value ? this.value[this.displayWith] : undefined;
|
|
221
|
-
};
|
|
222
|
-
SkyAutocompleteInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutocompleteInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
223
|
-
SkyAutocompleteInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: { autocompleteAttribute: "autocompleteAttribute", disabled: "disabled" }, providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR], ngImport: i0 });
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutocompleteInputDirective, decorators: [{
|
|
225
|
-
type: Directive,
|
|
226
|
-
args: [{
|
|
227
|
-
selector: 'input[skyAutocomplete], textarea[skyAutocomplete]',
|
|
228
|
-
providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR],
|
|
229
|
-
}]
|
|
230
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { autocompleteAttribute: [{
|
|
231
|
-
type: Input
|
|
232
|
-
}], disabled: [{
|
|
233
|
-
type: Input
|
|
234
|
-
}] } });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBSUwsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUkzQyxNQUFNLCtCQUErQixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztJQUM1RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7SUFDNUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBTUYsTUFBTSxPQUFPLDZCQUE2QjtJQUd4Qzs7O09BR0c7SUFDSCxJQUNXLHFCQUFxQixDQUFDLEtBQXlCO1FBQ3hELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVix1QkFBQSxJQUFJLHlEQUEyQixLQUFLLE1BQUEsQ0FBQztTQUN0QzthQUFNO1lBQ0wsdUJBQUEsSUFBSSx5REFBMkIsS0FBSyxNQUFBLENBQUM7U0FDdEM7UUFFRCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsWUFBWSxDQUN6Qix1QkFBQSxJQUFJLGlEQUFZLENBQUMsYUFBYSxFQUM5QixjQUFjLEVBQ2QsdUJBQUEsSUFBSSw2REFBd0IsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLHVCQUFBLElBQUksNkRBQXdCLElBQUksS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsdUJBQUEsSUFBSSw0Q0FBYyxLQUFLLElBQUksS0FBSyxNQUFBLENBQUM7UUFDakMsdUJBQUEsSUFBSSwrQ0FBVSxDQUFDLFdBQVcsQ0FDeEIsdUJBQUEsSUFBSSxpREFBWSxDQUFDLGFBQWEsRUFDOUIsVUFBVSxFQUNWLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLHVCQUFBLElBQUksZ0RBQVcsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyx1QkFBQSxJQUFJLDhDQUFTLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLHVCQUFBLElBQUksbURBQWMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsS0FBYTtRQUNsQyx1QkFBQSxJQUFJLCtDQUFpQixLQUFLLE1BQUEsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLHVCQUFBLElBQUksOEZBQWUsTUFBbkIsSUFBSSxDQUFpQixDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLHVCQUFBLElBQUksK0NBQVUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sdUJBQUEsSUFBSSxpREFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsY0FBYyxDQUFDLEtBQWE7UUFDckMsdUJBQUEsSUFBSSxpREFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sdUJBQUEsSUFBSSxxREFBZ0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyx1QkFBQSxJQUFJLDZDQUFRLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQVU7UUFDekIsTUFBTSxVQUFVLEdBQUcsS0FBSyxLQUFLLHVCQUFBLElBQUksNkNBQVEsQ0FBQztRQUUxQywwQkFBMEI7UUFDMUIsSUFBSSxVQUFVLEVBQUU7WUFDZCx1QkFBQSxJQUFJLHlDQUFXLEtBQUssTUFBQSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsdUJBQUEsSUFBSSw4RkFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBQSxJQUFJLDZDQUFRLENBQUMsQ0FBQztZQUU1QixtQ0FBbUM7WUFDbkMsa0RBQWtEO1lBQ2xELElBQUksdUJBQUEsSUFBSSxvREFBZSxJQUFJLHVCQUFBLElBQUksOENBQVMsRUFBRTtnQkFDeEMsdUJBQUEsSUFBSSw4Q0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ2hDO1lBRUQsSUFBSSx1QkFBQSxJQUFJLG9EQUFlLElBQUksdUJBQUEsSUFBSSw2Q0FBUSxFQUFFO2dCQUN2Qyx1QkFBQSxJQUFJLGdEQUFrQixLQUFLLE1BQUEsQ0FBQzthQUM3QjtTQUNGO0lBQ0gsQ0FBQztJQWdDRCxZQUFZLFVBQXNCLEVBQUUsUUFBbUI7O1FBOUJ2RCxzREFBcUI7UUFFckIseURBQTJCO1FBRTNCLHlEQUFzQztRQUV0Qyw0REFBd0I7UUFFeEIsdURBQXNCO1FBRXRCLDBEQUE0QjtRQUU1Qix1REFBaUIsSUFBSSxFQUFDO1FBRXRCLHVEQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRXJDLDBEQUFxQjtRQUVyQiw2REFBc0Q7UUFFdEQsZ0VBQTREO1FBRTVELHdFQUE0QztRQUU1QyxtREFBYSxLQUFLLEVBQUM7UUFFbkIsc0RBQWdCLEVBQUUsRUFBQztRQUVuQix3REFBYTtRQTJJYix1QkFBdUI7UUFDdkIsZ0VBQWdFO1FBQ3pELHNCQUFpQixHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQTFJbEMsdUJBQUEsSUFBSSw2Q0FBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLDJDQUFhLFFBQVEsTUFBQSxDQUFDO1FBRTFCLHVCQUFBLElBQUksdUNBQVMsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBQ2pDLHVCQUFBLElBQUksd0NBQVUsSUFBSSxPQUFPLEVBQVEsTUFBQSxDQUFDO1FBQ2xDLHVCQUFBLElBQUksOENBQWdCLElBQUksT0FBTyxFQUFrQyxNQUFBLENBQUM7UUFFbEUsdUJBQUEsSUFBSSwwQ0FBWSx1QkFBQSxJQUFJLDJDQUFNLENBQUMsWUFBWSxFQUFFLE1BQUEsQ0FBQztRQUMxQyx1QkFBQSxJQUFJLDJDQUFhLHVCQUFBLElBQUksNENBQU8sQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO1FBQzVDLHVCQUFBLElBQUksaURBQW1CLHVCQUFBLElBQUksa0RBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBQSxDQUFDO0lBQzFELENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSxpREFBWSxDQUFDLGFBQWEsQ0FBQztRQUUvQyx1QkFBQSxJQUFJLDhGQUFlLE1BQW5CLElBQUksRUFBZ0IsdUJBQUEsSUFBSSxpREFBWSxDQUFDLENBQUM7UUFFdEMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksb0RBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsdUJBQUEsSUFBSSxrREFBYSxDQUFDLElBQUksQ0FBQztvQkFDckIsS0FBSyxFQUFFLHVCQUFBLElBQUksaURBQVksQ0FBQyxhQUFhLENBQUMsS0FBSztpQkFDNUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7YUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLG9EQUFlLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLHVCQUFBLElBQUksMkNBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksb0RBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsdUJBQUEsSUFBSSw0Q0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO2FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxvREFBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLDBCQUEwQjtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsdUJBQUEsSUFBSSxnREFBa0IsS0FBSyxNQUFBLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLHVCQUFBLElBQUksMkNBQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0Qix1QkFBQSxJQUFJLGtEQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFN0IsdUJBQUEsSUFBSSxvREFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLHVCQUFBLElBQUksb0RBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQXdCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFjO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxFQUFjO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLG9DQUFvQztRQUN6QyxNQUFNLFVBQVUsR0FBRyx1QkFBQSxJQUFJLDhGQUFlLE1BQW5CLElBQUksQ0FBaUIsQ0FBQztRQUV6Qyw4REFBOEQ7UUFDOUQsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxVQUFVLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7U0FDbEM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWlCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsSUFBSSxDQUFDLHVCQUFBLElBQUksOENBQVMsRUFBRTtZQUNsQix1QkFBQSxJQUFJLDBDQUFZLE9BQU8sTUFBQSxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsNEVBQTRFO0lBQ3JFLG1CQUFtQixDQUFDLFlBQTJCO1FBQ3BELElBQUksWUFBWSxFQUFFO1lBQ2hCLHVCQUFBLElBQUksK0NBQVUsQ0FBQyxZQUFZLENBQ3pCLHVCQUFBLElBQUksaURBQVksQ0FBQyxhQUFhLEVBQzlCLHVCQUF1QixFQUN2QixZQUFZLENBQ2IsQ0FBQztTQUNIO2FBQU07WUFDTCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsZUFBZSxDQUM1Qix1QkFBQSxJQUFJLGlEQUFZLENBQUMsYUFBYSxFQUM5Qix1QkFBdUIsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF3QjtRQUN6QyxJQUFJLFNBQVMsRUFBRTtZQUNiLHVCQUFBLElBQUksK0NBQVUsQ0FBQyxZQUFZLENBQ3pCLHVCQUFBLElBQUksaURBQVksQ0FBQyxhQUFhLEVBQzlCLFdBQVcsRUFDWCxTQUFTLENBQ1YsQ0FBQztTQUNIO2FBQU07WUFDTCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsZUFBZSxDQUM1Qix1QkFBQSxJQUFJLGlEQUFZLENBQUMsYUFBYSxFQUM5QixXQUFXLENBQ1osQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxnRUFBZ0U7SUFDekQsUUFBUSxDQUFDLEtBQVUsSUFBUyxDQUFDO0lBQ3BDLGdFQUFnRTtJQUN6RCxTQUFTLEtBQVUsQ0FBQzs7bWhDQUtaLFVBQXNCO0lBQ25DLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFFekMsdUJBQUEsSUFBSSwrQ0FBVSxDQUFDLFlBQVksQ0FDekIsT0FBTyxFQUNQLGNBQWMsRUFDZCxJQUFJLENBQUMscUJBQXFCLENBQzNCLENBQUM7SUFDRix1QkFBQSxJQUFJLCtDQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCx1QkFBQSxJQUFJLCtDQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsdUJBQUEsSUFBSSwrQ0FBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELHVCQUFBLElBQUksK0NBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDdkQsQ0FBQztJQUdDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMvRCxDQUFDOzBIQTlSVSw2QkFBNkI7OEdBQTdCLDZCQUE2Qiw4SkFGN0IsQ0FBQywrQkFBK0IsRUFBRSwwQkFBMEIsQ0FBQzsyRkFFN0QsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFNBQVMsRUFBRSxDQUFDLCtCQUErQixFQUFFLDBCQUEwQixDQUFDO2lCQUN6RTt5SEFTWSxxQkFBcUI7c0JBRC9CLEtBQUs7Z0JBeUJLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSW5wdXRUZXh0Q2hhbmdlIH0gZnJvbSAnLi90eXBlcy9hdXRvY29tcGxldGUtaW5wdXQtdGV4dC1jaGFuZ2UnO1xuXG5jb25zdCBTS1lfQVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b2NvbXBsZXRlXSwgdGV4dGFyZWFbc2t5QXV0b2NvbXBsZXRlXScsXG4gIHByb3ZpZGVyczogW1NLWV9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1IsIFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogVGhlIHZhbHVlIGZvciB0aGUgYGF1dG9jb21wbGV0ZWAgYXR0cmlidXRlIG9uIHRoZSBmb3JtIGlucHV0LlxuICAgKiBAZGVmYXVsdCBcIm9mZlwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGF1dG9jb21wbGV0ZUF0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy4jX2F1dG9jb21wbGV0ZUF0dHJpYnV0ZSA9ICdvZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNfYXV0b2NvbXBsZXRlQXR0cmlidXRlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2F1dG9jb21wbGV0ZScsXG4gICAgICB0aGlzLiNfYXV0b2NvbXBsZXRlQXR0cmlidXRlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlQXR0cmlidXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19hdXRvY29tcGxldGVBdHRyaWJ1dGUgfHwgJ29mZic7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBhdXRvY29tcGxldGUgZmllbGQgb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlID8/IGZhbHNlO1xuICAgIHRoaXMuI3JlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmx1cigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYmx1ck9icztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheVdpdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc3BsYXlXaXRoO1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNwbGF5V2l0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy4jX2Rpc3BsYXlXaXRoID0gdmFsdWU7XG4gICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IHRoaXMuI2dldFZhbHVlQnlLZXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2ZvY3VzT2JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnB1dFRleHRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlucHV0VGV4dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dENoYW5nZXMoKTogT2JzZXJ2YWJsZTxTa3lBdXRvY29tcGxldGVJbnB1dFRleHRDaGFuZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jdGV4dENoYW5nZXNPYnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSB2YWx1ZSAhPT0gdGhpcy4jX3ZhbHVlO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaXNOZXdWYWx1ZSkge1xuICAgICAgdGhpcy4jX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmlucHV0VGV4dFZhbHVlID0gdGhpcy4jZ2V0VmFsdWVCeUtleSgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLiNfdmFsdWUpO1xuXG4gICAgICAvLyBEbyBub3QgbWFyayB0aGUgZmllbGQgYXMgXCJkaXJ0eVwiXG4gICAgICAvLyBpZiB0aGUgZmllbGQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgd2l0aCBhIHZhbHVlLlxuICAgICAgaWYgKHRoaXMuI2lzRmlyc3RDaGFuZ2UgJiYgdGhpcy4jY29udHJvbCkge1xuICAgICAgICB0aGlzLiNjb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLiNpc0ZpcnN0Q2hhbmdlICYmIHRoaXMuI192YWx1ZSkge1xuICAgICAgICB0aGlzLiNpc0ZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2JsdXI6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JsdXJPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAjZm9jdXM6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2ZvY3VzT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNpc0ZpcnN0Q2hhbmdlID0gdHJ1ZTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgI3RleHRDaGFuZ2VzOiBTdWJqZWN0PFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZT47XG5cbiAgI3RleHRDaGFuZ2VzT2JzOiBPYnNlcnZhYmxlPFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZT47XG5cbiAgI19hdXRvY29tcGxldGVBdHRyaWJ1dGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19kaXNwbGF5V2l0aCA9ICcnO1xuXG4gICNfdmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcblxuICAgIHRoaXMuI2JsdXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI2ZvY3VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiN0ZXh0Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZT4oKTtcblxuICAgIHRoaXMuI2JsdXJPYnMgPSB0aGlzLiNibHVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2ZvY3VzT2JzID0gdGhpcy4jZm9jdXMuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jdGV4dENoYW5nZXNPYnMgPSB0aGlzLiN0ZXh0Q2hhbmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy4jc2V0QXR0cmlidXRlcyh0aGlzLiNlbGVtZW50UmVmKTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLiN0ZXh0Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChlbGVtZW50LCAnYmx1cicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGhpcy4jYmx1ci5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChlbGVtZW50LCAnZm9jdXMnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuI2ZvY3VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdjaGFuZ2UnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuI2lzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jYmx1ci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3RleHRDaGFuZ2VzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlc3RvcmVJbnB1dFRleHRWYWx1ZVRvUHJldmlvdXNTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbFZhbHVlID0gdGhpcy4jZ2V0VmFsdWVCeUtleSgpO1xuXG4gICAgLy8gSWYgdGhlIHNlYXJjaCBmaWVsZCBjb250YWlucyB0ZXh0LCBtYWtlIHN1cmUgdGhhdCB0aGUgdmFsdWVcbiAgICAvLyBtYXRjaGVzIHRoZSBzZWxlY3RlZCBkZXNjcmlwdG9yIGtleS5cbiAgICBpZiAodGhpcy5pbnB1dFRleHRWYWx1ZSAhPT0gbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IG1vZGVsVmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIFNlZTogaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLXByYWN0aWNlcy8ja2JkX2ZvY3VzX2FjdGl2ZWRlc2NlbmRhbnRcbiAgcHVibGljIHNldEFjdGl2ZURlc2NlbmRhbnQoZGVzY2VuZGFudElkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGRlc2NlbmRhbnRJZCkge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLFxuICAgICAgICBkZXNjZW5kYW50SWRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50J1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QXJpYU93bnMob3ZlcmxheUlkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKG92ZXJsYXlJZCkge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdhcmlhLW93bnMnLFxuICAgICAgICBvdmVybGF5SWRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYXJpYS1vd25zJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbmd1bGFyIGF1dG9tYXRpY2FsbHkgY29uc3RydWN0cyB0aGVzZSBtZXRob2RzLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7fVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblRvdWNoZWQoKTogdm9pZCB7fVxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHt9O1xuXG4gICNzZXRBdHRyaWJ1dGVzKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgZWxlbWVudCxcbiAgICAgICdhdXRvY29tcGxldGUnLFxuICAgICAgdGhpcy5hdXRvY29tcGxldGVBdHRyaWJ1dGVcbiAgICApO1xuICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnYXV0b2NhcGl0YWxpemUnLCAnbm9uZScpO1xuICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnYXV0b2NvcnJlY3QnLCAnb2ZmJyk7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdzcGVsbGNoZWNrJywgJ2ZhbHNlJyk7XG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3NreS1mb3JtLWNvbnRyb2wnKTtcbiAgfVxuXG4gICNnZXRWYWx1ZUJ5S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlW3RoaXMuZGlzcGxheVdpdGhdIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|