@metadev/lux 0.26.0 → 0.27.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/esm2022/lib/autocomplete/autocomplete.component.mjs +488 -0
- package/esm2022/lib/autocomplete-list/autocomplete-list.component.mjs +259 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +78 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +156 -0
- package/esm2022/lib/datetime/datetime.component.mjs +312 -0
- package/esm2022/lib/filter/filter.component.mjs +158 -0
- package/esm2022/lib/geolocation/geolocation.component.mjs +423 -0
- package/esm2022/lib/geolocation/geolocation.service.mjs +123 -0
- package/{esm2020 → esm2022}/lib/geolocation/openlayer-loader.service.mjs +4 -4
- package/esm2022/lib/helperFns.mjs +118 -0
- package/esm2022/lib/input/input.component.mjs +469 -0
- package/{esm2020 → esm2022}/lib/input/regexp.service.mjs +4 -4
- package/esm2022/lib/lux.module.mjs +119 -0
- package/esm2022/lib/map/map.component.mjs +275 -0
- package/esm2022/lib/modal/modal-backdrop.mjs +25 -0
- package/esm2022/lib/modal/modal-config.mjs +12 -0
- package/esm2022/lib/modal/modal-ref.mjs +101 -0
- package/esm2022/lib/modal/modal-stack.mjs +182 -0
- package/esm2022/lib/modal/modal-window.mjs +125 -0
- package/esm2022/lib/modal/modal.service.mjs +28 -0
- package/esm2022/lib/modal/util.mjs +82 -0
- package/esm2022/lib/pagination/pagination.component.mjs +144 -0
- package/esm2022/lib/radiogroup/radiogroup.component.mjs +129 -0
- package/esm2022/lib/select/select.component.mjs +148 -0
- package/esm2022/lib/tooltip/tooltip.component.mjs +24 -0
- package/esm2022/lib/tooltip/tooltip.directive.mjs +69 -0
- package/esm2022/lib/tooltip/tooltip.service.mjs +137 -0
- package/esm2022/lib/tooltip/tooltop-content.mjs +9 -0
- package/esm2022/lib/voice-recognition/voice-recognition.directive.mjs +79 -0
- package/{fesm2020 → fesm2022}/metadev-lux.mjs +671 -554
- package/fesm2022/metadev-lux.mjs.map +1 -0
- package/lib/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/autocomplete-list/autocomplete-list.component.d.ts +1 -1
- package/lib/checkbox/checkbox.component.d.ts +1 -1
- package/lib/datetime/datetime.component.d.ts +1 -1
- package/lib/filter/filter.component.d.ts +1 -1
- package/lib/geolocation/geolocation.component.d.ts +1 -1
- package/lib/input/input.component.d.ts +1 -1
- package/lib/map/map.component.d.ts +2 -2
- package/lib/modal/modal-backdrop.d.ts +1 -1
- package/lib/modal/modal-stack.d.ts +1 -1
- package/lib/modal/modal-window.d.ts +1 -1
- package/lib/modal/util.d.ts +1 -1
- package/lib/pagination/pagination.component.d.ts +1 -1
- package/lib/radiogroup/radiogroup.component.d.ts +1 -1
- package/lib/select/select.component.d.ts +1 -1
- package/lib/tooltip/tooltip.component.d.ts +1 -1
- package/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/voice-recognition/voice-recognition.directive.d.ts +1 -1
- package/package.json +7 -13
- package/esm2020/lib/autocomplete/autocomplete.component.mjs +0 -479
- package/esm2020/lib/autocomplete-list/autocomplete-list.component.mjs +0 -254
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -75
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -154
- package/esm2020/lib/datetime/datetime.component.mjs +0 -306
- package/esm2020/lib/filter/filter.component.mjs +0 -152
- package/esm2020/lib/geolocation/geolocation.component.mjs +0 -407
- package/esm2020/lib/geolocation/geolocation.service.mjs +0 -120
- package/esm2020/lib/helperFns.mjs +0 -117
- package/esm2020/lib/input/input.component.mjs +0 -452
- package/esm2020/lib/lux.module.mjs +0 -124
- package/esm2020/lib/map/map.component.mjs +0 -264
- package/esm2020/lib/modal/modal-backdrop.mjs +0 -26
- package/esm2020/lib/modal/modal-config.mjs +0 -14
- package/esm2020/lib/modal/modal-ref.mjs +0 -91
- package/esm2020/lib/modal/modal-stack.mjs +0 -179
- package/esm2020/lib/modal/modal-window.mjs +0 -119
- package/esm2020/lib/modal/modal.service.mjs +0 -26
- package/esm2020/lib/modal/util.mjs +0 -83
- package/esm2020/lib/pagination/pagination.component.mjs +0 -137
- package/esm2020/lib/radiogroup/radiogroup.component.mjs +0 -130
- package/esm2020/lib/select/select.component.mjs +0 -149
- package/esm2020/lib/tooltip/tooltip.component.mjs +0 -23
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -60
- package/esm2020/lib/tooltip/tooltip.service.mjs +0 -134
- package/esm2020/lib/tooltip/tooltop-content.mjs +0 -7
- package/esm2020/lib/voice-recognition/voice-recognition.directive.mjs +0 -73
- package/fesm2015/metadev-lux.mjs +0 -4347
- package/fesm2015/metadev-lux.mjs.map +0 -1
- package/fesm2020/metadev-lux.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/datasource.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/lang.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/map/geopoint.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modal/modal-dismiss-reasons.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pagination/pagination.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/tooltip/placement.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/tooltip/tooltip-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/window/window.service.mjs +0 -0
- /package/{esm2020 → esm2022}/metadev-lux.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -185,11 +185,11 @@ export class RegexpService {
|
|
|
185
185
|
// TODO: RETURN AN EMPTY STRING
|
|
186
186
|
return 'NO DEBERÍA SER POSIBLE';
|
|
187
187
|
}
|
|
188
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RegexpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
189
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RegexpService, providedIn: 'root' });
|
|
188
190
|
}
|
|
189
|
-
|
|
190
|
-
RegexpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RegexpService, providedIn: 'root' });
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RegexpService, decorators: [{
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RegexpService, decorators: [{
|
|
192
192
|
type: Injectable,
|
|
193
193
|
args: [{ providedIn: 'root' }]
|
|
194
194
|
}], ctorParameters: function () { return []; } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXhwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9pbnB1dC9yZWdleHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLGdCQUFlLENBQUM7SUFFUix3QkFBd0IsQ0FBQyx1QkFBK0I7UUFDOUQsT0FDRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO1lBQ2xDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQ25FO1lBQ0EsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUNyRCxDQUFDLEVBQ0QsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDbkMsQ0FBQztTQUNIO1FBQ0QsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWSxDQUFDLFVBQWtCO1FBQ3JDLFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sOEJBQThCLENBQUMsVUFBa0I7UUFDdkQsUUFBUSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckIsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFVBQVUsQ0FBQyxN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RyxDQUFDLENBQUMsQ0FBQzt5QkFDakQ7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO2FBQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRCw2REFBNkQ7Z0JBQzdELE9BQU8sdUJBQXVCLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsS0FDRSxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQ3RCLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQ3hDLEVBQUUsY0FBYyxFQUNoQjtvQkFDQSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ2pFLDhFQUE4RTt3QkFDOUUsT0FBTyxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ2pEO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELCtCQUErQjtRQUMvQixPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7OzBHQW5OVSxhQUFhOzhHQUFiLGFBQWEsY0FEQSxNQUFNOzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb25hbGl0eSBmb3IgYWR2YW5jZWQgaGFuZGxpbmcgb2YgcmVndWxhciBleHByZXNzaW9uc1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlZ2V4cFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHJpdmF0ZSByZW1vdmVPdXRlclJvdW5kQnJhY2tldHMocmVndWxhckV4cHJlc3Npb25TdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgd2hpbGUgKFxuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmdbMF0gPT09ICcoJyAmJlxuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmdbcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoIC0gMV0gPT09ICcpJ1xuICAgICkge1xuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmcgPSByZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShcbiAgICAgICAgMSxcbiAgICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoIC0gMVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1F1YW50aWZpZXIocXVhbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoIChxdWFudGlmaWVyKSB7XG4gICAgICBjYXNlICd7JzpcbiAgICAgIGNhc2UgJz8nOlxuICAgICAgY2FzZSAnKyc6XG4gICAgICBjYXNlICcqJzpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VNaW5pbWFsQW1vdW50T2ZRdWFudGlmaWVyKHF1YW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgc3dpdGNoIChxdWFudGlmaWVyWzBdKSB7XG4gICAgICBjYXNlICc/JzpcbiAgICAgIGNhc2UgJyonOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIGNhc2UgJysnOlxuICAgICAgICByZXR1cm4gMTtcbiAgICAgIGNhc2UgJ3snOlxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgcXVhbnRpZmllci5sZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgICBpZiAocXVhbnRpZmllcltpbmRleF0gPCAnMCcgfHwgcXVhbnRpZmllcltpbmRleF0gPiAnOScpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIocXVhbnRpZmllci5zbGljZSgxLCBpbmRleCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgc2xpY2VSZWdleEJ5T3IocmVndWxhckV4cHJlc3Npb25TdHJpbmc6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgc2xpY2VkUmVnZXggPSAnJztcbiAgICBsZXQgbGFzdFNsaWNlSW5kZXggPSAwO1xuICAgIGxldCByb3VuZEJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IHNxdWFyZUJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IGN1cmx5QnJhY2tldENvdW50ID0gMDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAoOyBpbmRleCA8IHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nLmxlbmd0aDsgKytpbmRleCkge1xuICAgICAgc3dpdGNoIChyZWd1bGFyRXhwcmVzc2lvblN0cmluZ1tpbmRleF0pIHtcbiAgICAgICAgY2FzZSAnXFxcXCc6XG4gICAgICAgICAgLy8gZXNjYXBlIHNlcXVlbmNlOyBza2lwIHRoZSBuZXh0IGNoYXJhY3RlclxuICAgICAgICAgICsraW5kZXg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIHJvdW5kQnJhY2tldENvdW50ICs9IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJyknOlxuICAgICAgICAgIHJvdW5kQnJhY2tldENvdW50IC09IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCArPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICddJzpcbiAgICAgICAgICBzcXVhcmVCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgKz0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgPT09IDAgJiZcbiAgICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCA9PT0gMCAmJlxuICAgICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNsaWNlZFJlZ2V4ID0gdGhpcy5yZW1vdmVPdXRlclJvdW5kQnJhY2tldHMoXG4gICAgICAgICAgICAgIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nLnNsaWNlKGxhc3RTbGljZUluZGV4LCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXN1bHQucHVzaChzbGljZWRSZWdleCk7XG4gICAgICAgICAgICBsYXN0U2xpY2VJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHNsaWNlZFJlZ2V4ID0gdGhpcy5yZW1vdmVPdXRlclJvdW5kQnJhY2tldHMoXG4gICAgICByZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShsYXN0U2xpY2VJbmRleCwgaW5kZXgpXG4gICAgKTtcbiAgICByZXN1bHQucHVzaChzbGljZWRSZWdleCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgc2xpY2VSZWdleEJ5VGhlbihyZWd1bGFyRXhwcmVzc2lvblN0cmluZzogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgLy8gdGhlIGFjdHVhbCByZXN1bHRcbiAgICBjb25zdCByZXN1bHRTdGFydCA9IFtdO1xuICAgIC8vIHRoZSByZW1haW5kZXIgb2YgdGhlIHJlZ2V4IGluIGVhY2ggY2FzZVxuICAgIGNvbnN0IHJlc3VsdFJlbWFpbmRlciA9IFtdO1xuICAgIGxldCByb3VuZEJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IHNxdWFyZUJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IGN1cmx5QnJhY2tldENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICBzd2l0Y2ggKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nW2luZGV4XSkge1xuICAgICAgICBjYXNlICdcXFxcJzpcbiAgICAgICAgICAvLyBlc2NhcGUgc2VxdWVuY2U7IHNraXAgdGhlIG5leHQgY2hhcmFjdGVyXG4gICAgICAgICAgKytpbmRleDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnKCc6XG4gICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgKz0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnKSc6XG4gICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnWyc6XG4gICAgICAgICAgc3F1YXJlQnJhY2tldENvdW50ICs9IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ10nOlxuICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCAtPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd7JzpcbiAgICAgICAgICBjdXJseUJyYWNrZXRDb3VudCArPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd9JzpcbiAgICAgICAgICBjdXJseUJyYWNrZXRDb3VudCAtPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICByb3VuZEJyYWNrZXRDb3VudCA9PT0gMCAmJlxuICAgICAgICBzcXVhcmVCcmFja2V0Q291bnQgPT09IDAgJiZcbiAgICAgICAgY3VybHlCcmFja2V0Q291bnQgPT09IDBcbiAgICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuaXNRdWFudGlmaWVyKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nW2luZGV4ICsgMV0pKSB7XG4gICAgICAgICAgcmVzdWx0U3RhcnQucHVzaChyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZSgwLCBpbmRleCArIDEpKTtcbiAgICAgICAgICByZXN1bHRSZW1haW5kZXIucHVzaChyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShpbmRleCArIDEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBsZXQgbWluaW1hbEFtb3VudE9mUmVwZWF0cyA9IHBhcnNlTWluaW1hbEFtb3VudE9mUXVhbnRpZmllcihyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShpbmRleCArIDEpKTtcbiAgICAgICAgICAvLyBUT0RPXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtyZXN1bHRTdGFydCwgcmVzdWx0UmVtYWluZGVyXTtcbiAgfVxuXG4gIHN1Z2dlc3Rpb24oYmVnaW5uaW5nOiBzdHJpbmcsIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChuZXcgUmVnRXhwKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nKS50ZXN0KGJlZ2lubmluZykpIHtcbiAgICAgIC8vIFRPRE86IFJFVFVSTiBBTiBFTVBUWSBTVFJJTkdcbiAgICAgIHJldHVybiAnWUEgRVMgSUdVQUwsIE5PIEhBWSBNw4FTIFFVRSBTVUdFUklSJztcbiAgICB9XG4gICAgY29uc3QgcmVnZXhPcHRpb25zID0gdGhpcy5zbGljZVJlZ2V4QnlPcihyZWd1bGFyRXhwcmVzc2lvblN0cmluZyk7XG4gICAgaWYgKHJlZ2V4T3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBmb3IgKFxuICAgICAgICBsZXQgcmVnZXhPcHRpb25JbmRleCA9IDA7XG4gICAgICAgIHJlZ2V4T3B0aW9uSW5kZXggPCByZWdleE9wdGlvbnMubGVuZ3RoO1xuICAgICAgICArK3JlZ2V4T3B0aW9uSW5kZXhcbiAgICAgICkge1xuICAgICAgICBjb25zdCByZWdleFBhcnRzID0gdGhpcy5zbGljZVJlZ2V4QnlUaGVuKFxuICAgICAgICAgIHJlZ2V4T3B0aW9uc1tyZWdleE9wdGlvbkluZGV4XVxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZWdleFBhcnRzU3RhcnRzID0gcmVnZXhQYXJ0c1swXTtcbiAgICAgICAgY29uc3QgcmVnZXhQYXJ0c1JlbWFpbmRlcnMgPSByZWdleFBhcnRzWzFdO1xuICAgICAgICAvLyBmb3IgZWFjaCBvcHRpb24sIHRlc3QgaWYgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIHJlZ2V4IG1hdGNoZXNcbiAgICAgICAgLy8gaWYgaXQgZG9lc24ndCwgY29udGludWVcbiAgICAgICAgLy8gaWYgaXQgZG9lcywga2VlcCBjaGVja2luZyB1bnRpbCB3aGF0IHBhcnQgaXQgbWF0Y2hlc1xuICAgICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1swXSkudGVzdChiZWdpbm5pbmcpKSB7XG4gICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG5vIG1vcmUgb3B0aW9uc1xuICAgICAgICAgIGlmIChyZWdleE9wdGlvbkluZGV4ID09PSByZWdleE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgLy8gd2UgcmV0dXJuIHRoZSBmaXJzdCBvcHRpb24sIGJ1dCB3ZSBjb3VsZCByZXR1cm4gYW55IG9wdGlvblxuXG4gICAgICAgICAgICAvLyBUT0RPOiBSRVRVUk4gQU5ZIFRFWFQgVEhBVCBNQVRDSEVTIHJlZ2V4T3B0aW9uc1swXVxuICAgICAgICAgICAgcmV0dXJuIHJlZ2V4T3B0aW9uc1swXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChcbiAgICAgICAgICAgIGxldCByZWdleFBhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICByZWdleFBhcnRJbmRleCA8IHJlZ2V4UGFydHNTdGFydHMubGVuZ3RoO1xuICAgICAgICAgICAgKytyZWdleFBhcnRJbmRleFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKCFuZXcgUmVnRXhwKHJlZ2V4UGFydHNTdGFydHNbcmVnZXhQYXJ0SW5kZXhdKS50ZXN0KGJlZ2lubmluZykpIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogUkVUVVJOIEFOWSBURVhUIFRIQVQgTUFUQ0hFUyByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdXG4gICAgICAgICAgICAgIHJldHVybiByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnZXhPcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgcmVnZXhQYXJ0cyA9IHRoaXMuc2xpY2VSZWdleEJ5VGhlbihyZWdleE9wdGlvbnNbMF0pO1xuICAgICAgY29uc3QgcmVnZXhQYXJ0c1N0YXJ0cyA9IHJlZ2V4UGFydHNbMF07XG4gICAgICBjb25zdCByZWdleFBhcnRzUmVtYWluZGVycyA9IHJlZ2V4UGFydHNbMV07XG4gICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1swXSkudGVzdChiZWdpbm5pbmcpKSB7XG4gICAgICAgIC8vIFRPRE86IFJFVFVSTiBBTlkgVEVYVCBUSEFUIE1BVENIRVMgcmVndWxhckV4cHJlc3Npb25TdHJpbmdcbiAgICAgICAgcmV0dXJuIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChcbiAgICAgICAgICBsZXQgcmVnZXhQYXJ0SW5kZXggPSAxO1xuICAgICAgICAgIHJlZ2V4UGFydEluZGV4IDwgcmVnZXhQYXJ0c1N0YXJ0cy5sZW5ndGg7XG4gICAgICAgICAgKytyZWdleFBhcnRJbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1tyZWdleFBhcnRJbmRleF0pLnRlc3QoYmVnaW5uaW5nKSkge1xuICAgICAgICAgICAgLy8gVE9ETzogUkVUVVJOIEFOWSBURVhUIFRIQVQgTUFUQ0hFUyByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdXG4gICAgICAgICAgICByZXR1cm4gcmVnZXhQYXJ0c1JlbWFpbmRlcnNbcmVnZXhQYXJ0SW5kZXggLSAxXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVE9ETzogUkVUVVJOIEFOIEVNUFRZIFNUUklOR1xuICAgIHJldHVybiAnTk8gREVCRVLDjUEgU0VSIFBPU0lCTEUnO1xuICB9XG59XG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXhwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9pbnB1dC9yZWdleHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLGdCQUFlLENBQUM7SUFFUix3QkFBd0IsQ0FBQyx1QkFBK0I7UUFDOUQsT0FDRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO1lBQ2xDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQ25FO1lBQ0EsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUNyRCxDQUFDLEVBQ0QsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDbkMsQ0FBQztTQUNIO1FBQ0QsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWSxDQUFDLFVBQWtCO1FBQ3JDLFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sOEJBQThCLENBQUMsVUFBa0I7UUFDdkQsUUFBUSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckIsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFVBQVUsQ0FBQyxN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RyxDQUFDLENBQUMsQ0FBQzt5QkFDakQ7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO2FBQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRCw2REFBNkQ7Z0JBQzdELE9BQU8sdUJBQXVCLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsS0FDRSxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQ3RCLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQ3hDLEVBQUUsY0FBYyxFQUNoQjtvQkFDQSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ2pFLDhFQUE4RTt3QkFDOUUsT0FBTyxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ2pEO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELCtCQUErQjtRQUMvQixPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7dUdBbk5VLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIHNlcnZpY2UgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb25hbGl0eSBmb3IgYWR2YW5jZWQgaGFuZGxpbmcgb2YgcmVndWxhciBleHByZXNzaW9uc1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlZ2V4cFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHJpdmF0ZSByZW1vdmVPdXRlclJvdW5kQnJhY2tldHMocmVndWxhckV4cHJlc3Npb25TdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgd2hpbGUgKFxuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmdbMF0gPT09ICcoJyAmJlxuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmdbcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoIC0gMV0gPT09ICcpJ1xuICAgICkge1xuICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmcgPSByZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShcbiAgICAgICAgMSxcbiAgICAgICAgcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoIC0gMVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1F1YW50aWZpZXIocXVhbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoIChxdWFudGlmaWVyKSB7XG4gICAgICBjYXNlICd7JzpcbiAgICAgIGNhc2UgJz8nOlxuICAgICAgY2FzZSAnKyc6XG4gICAgICBjYXNlICcqJzpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VNaW5pbWFsQW1vdW50T2ZRdWFudGlmaWVyKHF1YW50aWZpZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgc3dpdGNoIChxdWFudGlmaWVyWzBdKSB7XG4gICAgICBjYXNlICc/JzpcbiAgICAgIGNhc2UgJyonOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIGNhc2UgJysnOlxuICAgICAgICByZXR1cm4gMTtcbiAgICAgIGNhc2UgJ3snOlxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgcXVhbnRpZmllci5sZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgICBpZiAocXVhbnRpZmllcltpbmRleF0gPCAnMCcgfHwgcXVhbnRpZmllcltpbmRleF0gPiAnOScpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIocXVhbnRpZmllci5zbGljZSgxLCBpbmRleCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgc2xpY2VSZWdleEJ5T3IocmVndWxhckV4cHJlc3Npb25TdHJpbmc6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgc2xpY2VkUmVnZXggPSAnJztcbiAgICBsZXQgbGFzdFNsaWNlSW5kZXggPSAwO1xuICAgIGxldCByb3VuZEJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IHNxdWFyZUJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IGN1cmx5QnJhY2tldENvdW50ID0gMDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAoOyBpbmRleCA8IHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nLmxlbmd0aDsgKytpbmRleCkge1xuICAgICAgc3dpdGNoIChyZWd1bGFyRXhwcmVzc2lvblN0cmluZ1tpbmRleF0pIHtcbiAgICAgICAgY2FzZSAnXFxcXCc6XG4gICAgICAgICAgLy8gZXNjYXBlIHNlcXVlbmNlOyBza2lwIHRoZSBuZXh0IGNoYXJhY3RlclxuICAgICAgICAgICsraW5kZXg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIHJvdW5kQnJhY2tldENvdW50ICs9IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJyknOlxuICAgICAgICAgIHJvdW5kQnJhY2tldENvdW50IC09IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCArPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICddJzpcbiAgICAgICAgICBzcXVhcmVCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgKz0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgPT09IDAgJiZcbiAgICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCA9PT0gMCAmJlxuICAgICAgICAgICAgY3VybHlCcmFja2V0Q291bnQgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNsaWNlZFJlZ2V4ID0gdGhpcy5yZW1vdmVPdXRlclJvdW5kQnJhY2tldHMoXG4gICAgICAgICAgICAgIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nLnNsaWNlKGxhc3RTbGljZUluZGV4LCBpbmRleClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXN1bHQucHVzaChzbGljZWRSZWdleCk7XG4gICAgICAgICAgICBsYXN0U2xpY2VJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHNsaWNlZFJlZ2V4ID0gdGhpcy5yZW1vdmVPdXRlclJvdW5kQnJhY2tldHMoXG4gICAgICByZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShsYXN0U2xpY2VJbmRleCwgaW5kZXgpXG4gICAgKTtcbiAgICByZXN1bHQucHVzaChzbGljZWRSZWdleCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgc2xpY2VSZWdleEJ5VGhlbihyZWd1bGFyRXhwcmVzc2lvblN0cmluZzogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgLy8gdGhlIGFjdHVhbCByZXN1bHRcbiAgICBjb25zdCByZXN1bHRTdGFydCA9IFtdO1xuICAgIC8vIHRoZSByZW1haW5kZXIgb2YgdGhlIHJlZ2V4IGluIGVhY2ggY2FzZVxuICAgIGNvbnN0IHJlc3VsdFJlbWFpbmRlciA9IFtdO1xuICAgIGxldCByb3VuZEJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IHNxdWFyZUJyYWNrZXRDb3VudCA9IDA7XG4gICAgbGV0IGN1cmx5QnJhY2tldENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcmVndWxhckV4cHJlc3Npb25TdHJpbmcubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICBzd2l0Y2ggKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nW2luZGV4XSkge1xuICAgICAgICBjYXNlICdcXFxcJzpcbiAgICAgICAgICAvLyBlc2NhcGUgc2VxdWVuY2U7IHNraXAgdGhlIG5leHQgY2hhcmFjdGVyXG4gICAgICAgICAgKytpbmRleDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnKCc6XG4gICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgKz0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnKSc6XG4gICAgICAgICAgcm91bmRCcmFja2V0Q291bnQgLT0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnWyc6XG4gICAgICAgICAgc3F1YXJlQnJhY2tldENvdW50ICs9IDE7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ10nOlxuICAgICAgICAgIHNxdWFyZUJyYWNrZXRDb3VudCAtPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd7JzpcbiAgICAgICAgICBjdXJseUJyYWNrZXRDb3VudCArPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd9JzpcbiAgICAgICAgICBjdXJseUJyYWNrZXRDb3VudCAtPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICByb3VuZEJyYWNrZXRDb3VudCA9PT0gMCAmJlxuICAgICAgICBzcXVhcmVCcmFja2V0Q291bnQgPT09IDAgJiZcbiAgICAgICAgY3VybHlCcmFja2V0Q291bnQgPT09IDBcbiAgICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuaXNRdWFudGlmaWVyKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nW2luZGV4ICsgMV0pKSB7XG4gICAgICAgICAgcmVzdWx0U3RhcnQucHVzaChyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZSgwLCBpbmRleCArIDEpKTtcbiAgICAgICAgICByZXN1bHRSZW1haW5kZXIucHVzaChyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShpbmRleCArIDEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBsZXQgbWluaW1hbEFtb3VudE9mUmVwZWF0cyA9IHBhcnNlTWluaW1hbEFtb3VudE9mUXVhbnRpZmllcihyZWd1bGFyRXhwcmVzc2lvblN0cmluZy5zbGljZShpbmRleCArIDEpKTtcbiAgICAgICAgICAvLyBUT0RPXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtyZXN1bHRTdGFydCwgcmVzdWx0UmVtYWluZGVyXTtcbiAgfVxuXG4gIHN1Z2dlc3Rpb24oYmVnaW5uaW5nOiBzdHJpbmcsIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChuZXcgUmVnRXhwKHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nKS50ZXN0KGJlZ2lubmluZykpIHtcbiAgICAgIC8vIFRPRE86IFJFVFVSTiBBTiBFTVBUWSBTVFJJTkdcbiAgICAgIHJldHVybiAnWUEgRVMgSUdVQUwsIE5PIEhBWSBNw4FTIFFVRSBTVUdFUklSJztcbiAgICB9XG4gICAgY29uc3QgcmVnZXhPcHRpb25zID0gdGhpcy5zbGljZVJlZ2V4QnlPcihyZWd1bGFyRXhwcmVzc2lvblN0cmluZyk7XG4gICAgaWYgKHJlZ2V4T3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBmb3IgKFxuICAgICAgICBsZXQgcmVnZXhPcHRpb25JbmRleCA9IDA7XG4gICAgICAgIHJlZ2V4T3B0aW9uSW5kZXggPCByZWdleE9wdGlvbnMubGVuZ3RoO1xuICAgICAgICArK3JlZ2V4T3B0aW9uSW5kZXhcbiAgICAgICkge1xuICAgICAgICBjb25zdCByZWdleFBhcnRzID0gdGhpcy5zbGljZVJlZ2V4QnlUaGVuKFxuICAgICAgICAgIHJlZ2V4T3B0aW9uc1tyZWdleE9wdGlvbkluZGV4XVxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZWdleFBhcnRzU3RhcnRzID0gcmVnZXhQYXJ0c1swXTtcbiAgICAgICAgY29uc3QgcmVnZXhQYXJ0c1JlbWFpbmRlcnMgPSByZWdleFBhcnRzWzFdO1xuICAgICAgICAvLyBmb3IgZWFjaCBvcHRpb24sIHRlc3QgaWYgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIHJlZ2V4IG1hdGNoZXNcbiAgICAgICAgLy8gaWYgaXQgZG9lc24ndCwgY29udGludWVcbiAgICAgICAgLy8gaWYgaXQgZG9lcywga2VlcCBjaGVja2luZyB1bnRpbCB3aGF0IHBhcnQgaXQgbWF0Y2hlc1xuICAgICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1swXSkudGVzdChiZWdpbm5pbmcpKSB7XG4gICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG5vIG1vcmUgb3B0aW9uc1xuICAgICAgICAgIGlmIChyZWdleE9wdGlvbkluZGV4ID09PSByZWdleE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgLy8gd2UgcmV0dXJuIHRoZSBmaXJzdCBvcHRpb24sIGJ1dCB3ZSBjb3VsZCByZXR1cm4gYW55IG9wdGlvblxuXG4gICAgICAgICAgICAvLyBUT0RPOiBSRVRVUk4gQU5ZIFRFWFQgVEhBVCBNQVRDSEVTIHJlZ2V4T3B0aW9uc1swXVxuICAgICAgICAgICAgcmV0dXJuIHJlZ2V4T3B0aW9uc1swXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChcbiAgICAgICAgICAgIGxldCByZWdleFBhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICByZWdleFBhcnRJbmRleCA8IHJlZ2V4UGFydHNTdGFydHMubGVuZ3RoO1xuICAgICAgICAgICAgKytyZWdleFBhcnRJbmRleFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKCFuZXcgUmVnRXhwKHJlZ2V4UGFydHNTdGFydHNbcmVnZXhQYXJ0SW5kZXhdKS50ZXN0KGJlZ2lubmluZykpIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogUkVUVVJOIEFOWSBURVhUIFRIQVQgTUFUQ0hFUyByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdXG4gICAgICAgICAgICAgIHJldHVybiByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVnZXhPcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgcmVnZXhQYXJ0cyA9IHRoaXMuc2xpY2VSZWdleEJ5VGhlbihyZWdleE9wdGlvbnNbMF0pO1xuICAgICAgY29uc3QgcmVnZXhQYXJ0c1N0YXJ0cyA9IHJlZ2V4UGFydHNbMF07XG4gICAgICBjb25zdCByZWdleFBhcnRzUmVtYWluZGVycyA9IHJlZ2V4UGFydHNbMV07XG4gICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1swXSkudGVzdChiZWdpbm5pbmcpKSB7XG4gICAgICAgIC8vIFRPRE86IFJFVFVSTiBBTlkgVEVYVCBUSEFUIE1BVENIRVMgcmVndWxhckV4cHJlc3Npb25TdHJpbmdcbiAgICAgICAgcmV0dXJuIHJlZ3VsYXJFeHByZXNzaW9uU3RyaW5nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChcbiAgICAgICAgICBsZXQgcmVnZXhQYXJ0SW5kZXggPSAxO1xuICAgICAgICAgIHJlZ2V4UGFydEluZGV4IDwgcmVnZXhQYXJ0c1N0YXJ0cy5sZW5ndGg7XG4gICAgICAgICAgKytyZWdleFBhcnRJbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoIW5ldyBSZWdFeHAocmVnZXhQYXJ0c1N0YXJ0c1tyZWdleFBhcnRJbmRleF0pLnRlc3QoYmVnaW5uaW5nKSkge1xuICAgICAgICAgICAgLy8gVE9ETzogUkVUVVJOIEFOWSBURVhUIFRIQVQgTUFUQ0hFUyByZWdleFBhcnRzUmVtYWluZGVyc1tyZWdleFBhcnRJbmRleCAtIDFdXG4gICAgICAgICAgICByZXR1cm4gcmVnZXhQYXJ0c1JlbWFpbmRlcnNbcmVnZXhQYXJ0SW5kZXggLSAxXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVE9ETzogUkVUVVJOIEFOIEVNUFRZIFNUUklOR1xuICAgIHJldHVybiAnTk8gREVCRVLDjUEgU0VSIFBPU0lCTEUnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { RouterModule } from '@angular/router';
|
|
6
|
+
import { AutocompleteListComponent } from './autocomplete-list/autocomplete-list.component';
|
|
7
|
+
import { AutocompleteComponent } from './autocomplete/autocomplete.component';
|
|
8
|
+
import { LuxBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
|
|
9
|
+
import { CheckboxComponent } from './checkbox/checkbox.component';
|
|
10
|
+
import { DatetimeComponent } from './datetime/datetime.component';
|
|
11
|
+
import { FilterComponent } from './filter/filter.component';
|
|
12
|
+
import { GeolocationComponent } from './geolocation/geolocation.component';
|
|
13
|
+
import { InputComponent } from './input/input.component';
|
|
14
|
+
import { MapComponent } from './map/map.component';
|
|
15
|
+
import { LuxModalBackdropComponent } from './modal/modal-backdrop';
|
|
16
|
+
import { LuxModalWindowComponent } from './modal/modal-window';
|
|
17
|
+
import { ModalService } from './modal/modal.service';
|
|
18
|
+
import { PaginationComponent } from './pagination/pagination.component';
|
|
19
|
+
import { RadiogroupComponent } from './radiogroup/radiogroup.component';
|
|
20
|
+
import { SelectComponent } from './select/select.component';
|
|
21
|
+
import { TooltipComponent } from './tooltip/tooltip.component';
|
|
22
|
+
import { LuxTooltipDirective } from './tooltip/tooltip.directive';
|
|
23
|
+
import { TooltipService } from './tooltip/tooltip.service';
|
|
24
|
+
import { VoiceRecognitionDirective } from './voice-recognition/voice-recognition.directive';
|
|
25
|
+
import { WINDOW_PROVIDERS } from './window/window.service';
|
|
26
|
+
import * as i0 from "@angular/core";
|
|
27
|
+
export class LuxModule {
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: LuxModule, declarations: [AutocompleteComponent,
|
|
30
|
+
AutocompleteListComponent,
|
|
31
|
+
FilterComponent,
|
|
32
|
+
CheckboxComponent,
|
|
33
|
+
DatetimeComponent,
|
|
34
|
+
InputComponent,
|
|
35
|
+
GeolocationComponent,
|
|
36
|
+
LuxTooltipDirective,
|
|
37
|
+
LuxModalWindowComponent,
|
|
38
|
+
LuxModalBackdropComponent,
|
|
39
|
+
LuxBreadcrumbComponent,
|
|
40
|
+
MapComponent,
|
|
41
|
+
SelectComponent,
|
|
42
|
+
TooltipComponent,
|
|
43
|
+
PaginationComponent,
|
|
44
|
+
RadiogroupComponent,
|
|
45
|
+
VoiceRecognitionDirective], imports: [FormsModule,
|
|
46
|
+
HttpClientModule,
|
|
47
|
+
ReactiveFormsModule,
|
|
48
|
+
RouterModule,
|
|
49
|
+
CommonModule], exports: [AutocompleteComponent,
|
|
50
|
+
AutocompleteListComponent,
|
|
51
|
+
FilterComponent,
|
|
52
|
+
CheckboxComponent,
|
|
53
|
+
DatetimeComponent,
|
|
54
|
+
InputComponent,
|
|
55
|
+
GeolocationComponent,
|
|
56
|
+
LuxTooltipDirective,
|
|
57
|
+
LuxBreadcrumbComponent,
|
|
58
|
+
LuxBreadcrumbComponent,
|
|
59
|
+
MapComponent,
|
|
60
|
+
SelectComponent,
|
|
61
|
+
PaginationComponent,
|
|
62
|
+
RadiogroupComponent,
|
|
63
|
+
VoiceRecognitionDirective] });
|
|
64
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModule, providers: [ModalService, TooltipService, WINDOW_PROVIDERS], imports: [FormsModule,
|
|
65
|
+
HttpClientModule,
|
|
66
|
+
ReactiveFormsModule,
|
|
67
|
+
RouterModule,
|
|
68
|
+
CommonModule] });
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModule, decorators: [{
|
|
71
|
+
type: NgModule,
|
|
72
|
+
args: [{
|
|
73
|
+
declarations: [
|
|
74
|
+
AutocompleteComponent,
|
|
75
|
+
AutocompleteListComponent,
|
|
76
|
+
FilterComponent,
|
|
77
|
+
CheckboxComponent,
|
|
78
|
+
DatetimeComponent,
|
|
79
|
+
InputComponent,
|
|
80
|
+
GeolocationComponent,
|
|
81
|
+
LuxTooltipDirective,
|
|
82
|
+
LuxModalWindowComponent,
|
|
83
|
+
LuxModalBackdropComponent,
|
|
84
|
+
LuxBreadcrumbComponent,
|
|
85
|
+
MapComponent,
|
|
86
|
+
SelectComponent,
|
|
87
|
+
TooltipComponent,
|
|
88
|
+
PaginationComponent,
|
|
89
|
+
RadiogroupComponent,
|
|
90
|
+
VoiceRecognitionDirective
|
|
91
|
+
],
|
|
92
|
+
providers: [ModalService, TooltipService, WINDOW_PROVIDERS],
|
|
93
|
+
imports: [
|
|
94
|
+
FormsModule,
|
|
95
|
+
HttpClientModule,
|
|
96
|
+
ReactiveFormsModule,
|
|
97
|
+
RouterModule,
|
|
98
|
+
CommonModule
|
|
99
|
+
],
|
|
100
|
+
exports: [
|
|
101
|
+
AutocompleteComponent,
|
|
102
|
+
AutocompleteListComponent,
|
|
103
|
+
FilterComponent,
|
|
104
|
+
CheckboxComponent,
|
|
105
|
+
DatetimeComponent,
|
|
106
|
+
InputComponent,
|
|
107
|
+
GeolocationComponent,
|
|
108
|
+
LuxTooltipDirective,
|
|
109
|
+
LuxBreadcrumbComponent,
|
|
110
|
+
LuxBreadcrumbComponent,
|
|
111
|
+
MapComponent,
|
|
112
|
+
SelectComponent,
|
|
113
|
+
PaginationComponent,
|
|
114
|
+
RadiogroupComponent,
|
|
115
|
+
VoiceRecognitionDirective
|
|
116
|
+
]
|
|
117
|
+
}]
|
|
118
|
+
}] });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2x1eC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnRDNELE1BQU0sT0FBTyxTQUFTO3VHQUFULFNBQVM7d0dBQVQsU0FBUyxpQkE1Q2xCLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix5QkFBeUIsYUFJekIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVksYUFHWixxQkFBcUI7WUFDckIseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsWUFBWTtZQUNaLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHlCQUF5Qjt3R0FHaEIsU0FBUyxhQTFCVCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsWUFFekQsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7OzJGQW9CSCxTQUFTO2tCQTlDckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO29CQUNELFNBQVMsRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzNELE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWxpc3QvYXV0b2NvbXBsZXRlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHV4QnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IERhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS9kYXRldGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9sb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAvbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMdXhNb2RhbEJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9tb2RhbC1iYWNrZHJvcCc7XG5pbXBvcnQgeyBMdXhNb2RhbFdpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvbW9kYWwtd2luZG93JztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4vbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvZ3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvZ3JvdXAvcmFkaW9ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEx1eFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcbmltcG9ydCB7IFZvaWNlUmVjb2duaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3ZvaWNlLXJlY29nbml0aW9uL3ZvaWNlLXJlY29nbml0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXSU5ET1dfUFJPVklERVJTIH0gZnJvbSAnLi93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlTGlzdENvbXBvbmVudCxcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRGF0ZXRpbWVDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgR2VvbG9jYXRpb25Db21wb25lbnQsXG4gICAgTHV4VG9vbHRpcERpcmVjdGl2ZSxcbiAgICBMdXhNb2RhbFdpbmRvd0NvbXBvbmVudCxcbiAgICBMdXhNb2RhbEJhY2tkcm9wQ29tcG9uZW50LFxuICAgIEx1eEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgTWFwQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUmFkaW9ncm91cENvbXBvbmVudCxcbiAgICBWb2ljZVJlY29nbml0aW9uRGlyZWN0aXZlXG4gIF0sXG4gIHByb3ZpZGVyczogW01vZGFsU2VydmljZSwgVG9vbHRpcFNlcnZpY2UsIFdJTkRPV19QUk9WSURFUlNdLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVMaXN0Q29tcG9uZW50LFxuICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBEYXRldGltZUNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBHZW9sb2NhdGlvbkNvbXBvbmVudCxcbiAgICBMdXhUb29sdGlwRGlyZWN0aXZlLFxuICAgIEx1eEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgTHV4QnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNYXBDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUmFkaW9ncm91cENvbXBvbmVudCxcbiAgICBWb2ljZVJlY29nbml0aW9uRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTHV4TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/* eslint-disable no-self-assign */
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { OpenLayerLoaderService } from '../geolocation/openlayer-loader.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../geolocation/openlayer-loader.service";
|
|
7
|
+
export class MapComponent {
|
|
8
|
+
static idCounter = 0;
|
|
9
|
+
loaded$ = new BehaviorSubject(false);
|
|
10
|
+
_map;
|
|
11
|
+
mapId;
|
|
12
|
+
_zoom;
|
|
13
|
+
set zoom(zoom) {
|
|
14
|
+
if (!isNaN(zoom)) {
|
|
15
|
+
this._zoom = zoom;
|
|
16
|
+
if (this._map) {
|
|
17
|
+
this._map.getView().setZoom(zoom);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get zoom() {
|
|
22
|
+
return this._zoom;
|
|
23
|
+
}
|
|
24
|
+
_center;
|
|
25
|
+
set center(center) {
|
|
26
|
+
if (center && center.coordinates && center.coordinates.length === 2) {
|
|
27
|
+
this._center = center;
|
|
28
|
+
if (this._map) {
|
|
29
|
+
this._map.getView().setCenter(ol.proj.fromLonLat(center.coordinates));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get center() {
|
|
34
|
+
return this._center;
|
|
35
|
+
}
|
|
36
|
+
_readonly;
|
|
37
|
+
set readonly(readonly) {
|
|
38
|
+
if (!readonly) {
|
|
39
|
+
if (this._map) {
|
|
40
|
+
this._map.on('click', (args) => {
|
|
41
|
+
// args.coordinate is in EPSG:3857 (meters), we transform it into EPSG:4326 (degrees)
|
|
42
|
+
const coordinates = ol.proj.toLonLat(args.coordinate);
|
|
43
|
+
// alternatively: const lonLat = ol.proj.transform(args.coordinate,'EPSG:3857','EPSG:4326');
|
|
44
|
+
this.addMarkerAtCoordinates(coordinates);
|
|
45
|
+
});
|
|
46
|
+
this._map.on('pointermove', (event) => {
|
|
47
|
+
const pixel = this._map.getEventPixel(event.originalEvent);
|
|
48
|
+
const hit = this._map.hasFeatureAtPixel(pixel);
|
|
49
|
+
this._map.getViewport().style.cursor = hit ? 'move' : 'grab';
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (this._map) {
|
|
55
|
+
this._map.on('click', (args) => { });
|
|
56
|
+
this._map.on('pointermove', (event) => { });
|
|
57
|
+
this._map.getViewport().style.cursor = 'grab';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this._readonly = readonly;
|
|
61
|
+
// reset marker coordinates so marker interactions can be created or recreated accordingly
|
|
62
|
+
// to the changes to readonly
|
|
63
|
+
this.markerCoordinates = this.markerCoordinates;
|
|
64
|
+
}
|
|
65
|
+
get readonly() {
|
|
66
|
+
return this._readonly;
|
|
67
|
+
}
|
|
68
|
+
_marker;
|
|
69
|
+
_markerInteraction;
|
|
70
|
+
_markerCoordinates;
|
|
71
|
+
set markerCoordinates(markerCoordinates) {
|
|
72
|
+
if (markerCoordinates && markerCoordinates.length === 2) {
|
|
73
|
+
this._markerCoordinates = markerCoordinates;
|
|
74
|
+
if (this._map) {
|
|
75
|
+
this.addMarkerAtCoordinates(markerCoordinates);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this._markerCoordinates = undefined;
|
|
80
|
+
if (this._map) {
|
|
81
|
+
this.removeMarker();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
get markerCoordinates() {
|
|
86
|
+
return this._markerCoordinates;
|
|
87
|
+
}
|
|
88
|
+
set markerPoint(markerPoint) {
|
|
89
|
+
if (!markerPoint ||
|
|
90
|
+
!(markerPoint.coordinates && markerPoint.coordinates.length === 2)) {
|
|
91
|
+
this.markerCoordinates = undefined;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.markerCoordinates = [
|
|
95
|
+
+markerPoint.coordinates[0],
|
|
96
|
+
+markerPoint.coordinates[1]
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
this.valueChange.emit(markerPoint);
|
|
100
|
+
}
|
|
101
|
+
get markerPoint() {
|
|
102
|
+
return {
|
|
103
|
+
type: 'Point',
|
|
104
|
+
coordinates: this.markerCoordinates
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
valueChange = new EventEmitter();
|
|
108
|
+
_markerSource;
|
|
109
|
+
_markerStyle;
|
|
110
|
+
constructor(olLoader) {
|
|
111
|
+
olLoader.load().subscribe((_) => {
|
|
112
|
+
// Initialize
|
|
113
|
+
this._markerSource = new ol.source.Vector();
|
|
114
|
+
this._markerStyle = new ol.style.Style({
|
|
115
|
+
image: new ol.style.Icon({
|
|
116
|
+
anchor: [0.5, 1],
|
|
117
|
+
scale: 0.25,
|
|
118
|
+
src: '/assets/img/marker.png'
|
|
119
|
+
})
|
|
120
|
+
});
|
|
121
|
+
this.loaded$.next(true);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
ngOnInit() {
|
|
125
|
+
this.mapId = this.mapId ? this.mapId : 'map' + MapComponent.idCounter++;
|
|
126
|
+
}
|
|
127
|
+
ngAfterViewInit() {
|
|
128
|
+
this.loaded$.subscribe((loaded) => {
|
|
129
|
+
if (loaded) {
|
|
130
|
+
this.initMap();
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
initMap() {
|
|
135
|
+
this._map = new ol.Map({
|
|
136
|
+
target: this.mapId,
|
|
137
|
+
controls: ol.control.defaults({ attribution: false }),
|
|
138
|
+
layers: [
|
|
139
|
+
new ol.layer.Tile({
|
|
140
|
+
source: new ol.source.OSM()
|
|
141
|
+
}),
|
|
142
|
+
new ol.layer.Vector({
|
|
143
|
+
source: this._markerSource,
|
|
144
|
+
style: this._markerStyle
|
|
145
|
+
})
|
|
146
|
+
],
|
|
147
|
+
view: new ol.View({
|
|
148
|
+
center: ol.proj.fromLonLat(this.center !== undefined ? this.center.coordinates : [0, 0]),
|
|
149
|
+
zoom: this.zoom
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
if (this.center === undefined || this.center === null) {
|
|
153
|
+
// if the center is not set, we set its default value
|
|
154
|
+
if ('geolocation' in navigator) {
|
|
155
|
+
navigator.geolocation.getCurrentPosition((position) => {
|
|
156
|
+
this.center = {
|
|
157
|
+
type: 'Point',
|
|
158
|
+
coordinates: [position.coords.longitude, position.coords.latitude]
|
|
159
|
+
};
|
|
160
|
+
}, (error) => {
|
|
161
|
+
this.center = {
|
|
162
|
+
type: 'Point',
|
|
163
|
+
coordinates: [0, 0]
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.center = {
|
|
169
|
+
type: 'Point',
|
|
170
|
+
coordinates: [0, 0]
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
// the center needs the map to be properly set, so if it was set before the map was initialized,
|
|
176
|
+
// we set the center again to perform necessary adjustements
|
|
177
|
+
this.center = this.center;
|
|
178
|
+
}
|
|
179
|
+
if (this.zoom === undefined || this.zoom === null) {
|
|
180
|
+
// if the zoom is not set, we set its default value
|
|
181
|
+
this.zoom = 18;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// the zoom needs the map to be properly set, so if it was set before the map was initialized,
|
|
185
|
+
// we set the zoom again to perform necessary adjustements
|
|
186
|
+
this.zoom = this.zoom;
|
|
187
|
+
}
|
|
188
|
+
if (this.readonly === undefined || this.readonly === null) {
|
|
189
|
+
// if readonly is not set, we set its default value
|
|
190
|
+
this.readonly = false;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// readonly needs the map to be properly set, so if it was set before the map was initialized,
|
|
194
|
+
// we set readonly again to perform necessary adjustements
|
|
195
|
+
this.readonly = this.readonly;
|
|
196
|
+
}
|
|
197
|
+
if (this.markerCoordinates !== undefined &&
|
|
198
|
+
this.markerCoordinates !== null) {
|
|
199
|
+
// the marker coordinates need the map to be properly set, so if they were set before the map was initialized,
|
|
200
|
+
// we set the marker coordinates again to perform necessary adjustements
|
|
201
|
+
this.markerCoordinates = this.markerCoordinates;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
addMarkerAtCoordinates(coordinates) {
|
|
205
|
+
if (coordinates && coordinates.length === 2) {
|
|
206
|
+
if (this._marker !== undefined) {
|
|
207
|
+
this.removeMarker();
|
|
208
|
+
}
|
|
209
|
+
this._marker = new ol.Feature({
|
|
210
|
+
geometry: new ol.geom.Point(
|
|
211
|
+
// [lon, lat] is in EPSG:4326 (degrees), we transform it into EPSG:3857 (meters)
|
|
212
|
+
ol.proj.transform(coordinates, 'EPSG:4326', 'EPSG:3857'))
|
|
213
|
+
});
|
|
214
|
+
this._markerSource.addFeature(this._marker);
|
|
215
|
+
this._markerCoordinates = this.getMarkerCoordinates();
|
|
216
|
+
if (!this.readonly) {
|
|
217
|
+
const dragInteraction = new ol.interaction.Modify({
|
|
218
|
+
features: new ol.Collection([this._marker]),
|
|
219
|
+
style: this._markerStyle,
|
|
220
|
+
pixelTolerance: 50,
|
|
221
|
+
hitDetection: true
|
|
222
|
+
});
|
|
223
|
+
this._markerInteraction = dragInteraction;
|
|
224
|
+
this._map.addInteraction(dragInteraction);
|
|
225
|
+
}
|
|
226
|
+
this._marker.on('change', () => {
|
|
227
|
+
this._markerCoordinates = this.getMarkerCoordinates();
|
|
228
|
+
}, this._marker);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
removeMarker() {
|
|
232
|
+
if (this._marker !== undefined) {
|
|
233
|
+
this._markerSource.removeFeature(this._marker);
|
|
234
|
+
this._marker = undefined;
|
|
235
|
+
}
|
|
236
|
+
if (this._markerInteraction !== undefined) {
|
|
237
|
+
this._map.getInteractions().pop();
|
|
238
|
+
this._markerInteraction = undefined;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
getMarkerCoordinates() {
|
|
242
|
+
if (this._marker === undefined || this._marker == null) {
|
|
243
|
+
return this._marker;
|
|
244
|
+
}
|
|
245
|
+
const coordinates = this._marker.getGeometry().getCoordinates();
|
|
246
|
+
// coordinates is in EPSG:3857 (meters), we transform it into EPSG:4326 (degrees)
|
|
247
|
+
return ol.proj.transform(coordinates, 'EPSG:3857', 'EPSG:4326');
|
|
248
|
+
}
|
|
249
|
+
onResize() {
|
|
250
|
+
if (this._map) {
|
|
251
|
+
this._map.updateSize();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MapComponent, deps: [{ token: i1.OpenLayerLoaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
255
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MapComponent, selector: "lux-map", inputs: { mapId: "mapId", zoom: "zoom", center: "center", readonly: "readonly", markerCoordinates: "markerCoordinates", markerPoint: "markerPoint" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div [id]=\"mapId\" class=\"map\" (resized)=\"onResize()\"></div>\n", styles: [".map{min-height:100px;height:100%;min-width:160px;width:100%}\n"] });
|
|
256
|
+
}
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MapComponent, decorators: [{
|
|
258
|
+
type: Component,
|
|
259
|
+
args: [{ selector: 'lux-map', template: "<div [id]=\"mapId\" class=\"map\" (resized)=\"onResize()\"></div>\n", styles: [".map{min-height:100px;height:100%;min-width:160px;width:100%}\n"] }]
|
|
260
|
+
}], ctorParameters: function () { return [{ type: i1.OpenLayerLoaderService }]; }, propDecorators: { mapId: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], zoom: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], center: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], readonly: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], markerCoordinates: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], markerPoint: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], valueChange: [{
|
|
273
|
+
type: Output
|
|
274
|
+
}] } });
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL21hcC9tYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvbWFwL21hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFFbkMsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFZakYsTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFYixPQUFPLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRS9ELElBQUksQ0FBTTtJQUVULEtBQUssQ0FBQztJQUVmLEtBQUssQ0FBUztJQUNkLElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkM7U0FDRjtJQUNILENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU8sQ0FBVztJQUNsQixJQUNJLE1BQU0sQ0FBQyxNQUFnQjtRQUN6QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxX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SSxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRSxpRkFBaUY7UUFDakYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7dUdBdlJVLFlBQVk7MkZBQVosWUFBWSw4T0N2QnpCLHFFQUNBOzsyRkRzQmEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxTQUFTOzZHQVdWLEtBQUs7c0JBQWIsS0FBSztnQkFJRixJQUFJO3NCQURQLEtBQUs7Z0JBZUYsTUFBTTtzQkFEVCxLQUFLO2dCQWVGLFFBQVE7c0JBRFgsS0FBSztnQkFvQ00saUJBQWlCO3NCQUQ1QixLQUFLO2dCQWtCRixXQUFXO3NCQURkLEtBQUs7Z0JBcUJJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1zZWxmLWFzc2lnbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcGVuTGF5ZXJMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VvbG9jYXRpb24vb3BlbmxheWVyLWxvYWRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgR2VvUG9pbnQgfSBmcm9tICcuL2dlb3BvaW50JztcblxuLy8gQGR5bmFtaWNcbmRlY2xhcmUgY29uc3Qgb2w6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHV4LW1hcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICBwcml2YXRlIGxvYWRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByaXZhdGUgX21hcDogYW55O1xuXG4gIEBJbnB1dCgpIG1hcElkO1xuXG4gIF96b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpXG4gIHNldCB6b29tKHpvb206IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbSkpIHtcbiAgICAgIHRoaXMuX3pvb20gPSB6b29tO1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLl9tYXAuZ2V0VmlldygpLnNldFpvb20oem9vbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldCB6b29tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3pvb207XG4gIH1cblxuICBfY2VudGVyOiBHZW9Qb2ludDtcbiAgQElucHV0KClcbiAgc2V0IGNlbnRlcihjZW50ZXI6IEdlb1BvaW50KSB7XG4gICAgaWYgKGNlbnRlciAmJiBjZW50ZXIuY29vcmRpbmF0ZXMgJiYgY2VudGVyLmNvb3JkaW5hdGVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5fY2VudGVyID0gY2VudGVyO1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLl9tYXAuZ2V0VmlldygpLnNldENlbnRlcihvbC5wcm9qLmZyb21Mb25MYXQoY2VudGVyLmNvb3JkaW5hdGVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldCBjZW50ZXIoKTogR2VvUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9jZW50ZXI7XG4gIH1cblxuICBfcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNldCByZWFkb25seShyZWFkb25seTogYm9vbGVhbikge1xuICAgIGlmICghcmVhZG9ubHkpIHtcbiAgICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgICAgdGhpcy5fbWFwLm9uKCdjbGljaycsIChhcmdzOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBhcmdzLmNvb3JkaW5hdGUgaXMgaW4gRVBTRzozODU3IChtZXRlcnMpLCB3ZSB0cmFuc2Zvcm0gaXQgaW50byBFUFNHOjQzMjYgKGRlZ3JlZXMpXG4gICAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBvbC5wcm9qLnRvTG9uTGF0KGFyZ3MuY29vcmRpbmF0ZSk7XG4gICAgICAgICAgLy8gYWx0ZXJuYXRpdmVseTogY29uc3QgbG9uTGF0ID0gb2wucHJvai50cmFuc2Zvcm0oYXJncy5jb29yZGluYXRlLCdFUFNHOjM4NTcnLCdFUFNHOjQzMjYnKTtcbiAgICAgICAgICB0aGlzLmFkZE1hcmtlckF0Q29vcmRpbmF0ZXMoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbWFwLm9uKCdwb2ludGVybW92ZScsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcGl4ZWwgPSB0aGlzLl9tYXAuZ2V0RXZlbnRQaXhlbChldmVudC5vcmlnaW5hbEV2ZW50KTtcbiAgICAgICAgICBjb25zdCBoaXQgPSB0aGlzLl9tYXAuaGFzRmVhdHVyZUF0UGl4ZWwocGl4ZWwpO1xuICAgICAgICAgIHRoaXMuX21hcC5nZXRWaWV3cG9ydCgpLnN0eWxlLmN1cnNvciA9IGhpdCA/ICdtb3ZlJyA6ICdncmFiJztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgICAgdGhpcy5fbWFwLm9uKCdjbGljaycsIChhcmdzOiBhbnkpID0+IHt9KTtcbiAgICAgICAgdGhpcy5fbWFwLm9uKCdwb2ludGVybW92ZScsIChldmVudDogYW55KSA9PiB7fSk7XG4gICAgICAgIHRoaXMuX21hcC5nZXRWaWV3cG9ydCgpLnN0eWxlLmN1cnNvciA9ICdncmFiJztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fcmVhZG9ubHkgPSByZWFkb25seTtcbiAgICAvLyByZXNldCBtYXJrZXIgY29vcmRpbmF0ZXMgc28gbWFya2VyIGludGVyYWN0aW9ucyBjYW4gYmUgY3JlYXRlZCBvciByZWNyZWF0ZWQgYWNjb3JkaW5nbHlcbiAgICAvLyB0byB0aGUgY2hhbmdlcyB0byByZWFkb25seVxuICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgPSB0aGlzLm1hcmtlckNvb3JkaW5hdGVzO1xuICB9XG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cblxuICBwcml2YXRlIF9tYXJrZXI6IGFueTtcbiAgcHJpdmF0ZSBfbWFya2VySW50ZXJhY3Rpb246IGFueTtcbiAgcHJpdmF0ZSBfbWFya2VyQ29vcmRpbmF0ZXM6IG51bWJlcltdO1xuICBASW5wdXQoKVxuICBwcml2YXRlIHNldCBtYXJrZXJDb29yZGluYXRlcyhtYXJrZXJDb29yZGluYXRlczogbnVtYmVyW10pIHtcbiAgICBpZiAobWFya2VyQ29vcmRpbmF0ZXMgJiYgbWFya2VyQ29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9tYXJrZXJDb29yZGluYXRlcyA9IG1hcmtlckNvb3JkaW5hdGVzO1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLmFkZE1hcmtlckF0Q29vcmRpbmF0ZXMobWFya2VyQ29vcmRpbmF0ZXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXJrZXJDb29yZGluYXRlcyA9IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgICAgdGhpcy5yZW1vdmVNYXJrZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgbWFya2VyQ29vcmRpbmF0ZXMoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB0aGlzLl9tYXJrZXJDb29yZGluYXRlcztcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgbWFya2VyUG9pbnQobWFya2VyUG9pbnQ6IEdlb1BvaW50KSB7XG4gICAgaWYgKFxuICAgICAgIW1hcmtlclBvaW50IHx8XG4gICAgICAhKG1hcmtlclBvaW50LmNvb3JkaW5hdGVzICYmIG1hcmtlclBvaW50LmNvb3JkaW5hdGVzLmxlbmd0aCA9PT0gMilcbiAgICApIHtcbiAgICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgPSBbXG4gICAgICAgICttYXJrZXJQb2ludC5jb29yZGluYXRlc1swXSxcbiAgICAgICAgK21hcmtlclBvaW50LmNvb3JkaW5hdGVzWzFdXG4gICAgICBdO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobWFya2VyUG9pbnQpO1xuICB9XG4gIGdldCBtYXJrZXJQb2ludCgpOiBHZW9Qb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjb29yZGluYXRlczogdGhpcy5tYXJrZXJDb29yZGluYXRlc1xuICAgIH07XG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHZW9Qb2ludD4oKTtcblxuICBwcml2YXRlIF9tYXJrZXJTb3VyY2U6IGFueTtcbiAgcHJpdmF0ZSBfbWFya2VyU3R5bGU6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvbExvYWRlcjogT3BlbkxheWVyTG9hZGVyU2VydmljZSkge1xuICAgIG9sTG9hZGVyLmxvYWQoKS5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgIC8vIEluaXRpYWxpemVcbiAgICAgIHRoaXMuX21hcmtlclNvdXJjZSA9IG5ldyBvbC5zb3VyY2UuVmVjdG9yKCk7XG4gICAgICB0aGlzLl9tYXJrZXJTdHlsZSA9IG5ldyBvbC5zdHlsZS5TdHlsZSh7XG4gICAgICAgIGltYWdlOiBuZXcgb2wuc3R5bGUuSWNvbih7XG4gICAgICAgICAgYW5jaG9yOiBbMC41LCAxXSxcbiAgICAgICAgICBzY2FsZTogMC4yNSxcbiAgICAgICAgICBzcmM6ICcvYXNzZXRzL2ltZy9tYXJrZXIucG5nJ1xuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICB0aGlzLmxvYWRlZCQubmV4dCh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWFwSWQgPSB0aGlzLm1hcElkID8gdGhpcy5tYXBJZCA6ICdtYXAnICsgTWFwQ29tcG9uZW50LmlkQ291bnRlcisrO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGVkJC5zdWJzY3JpYmUoKGxvYWRlZCkgPT4ge1xuICAgICAgaWYgKGxvYWRlZCkge1xuICAgICAgICB0aGlzLmluaXRNYXAoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGluaXRNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5fbWFwID0gbmV3IG9sLk1hcCh7XG4gICAgICB0YXJnZXQ6IHRoaXMubWFwSWQsXG4gICAgICBjb250cm9sczogb2wuY29udHJvbC5kZWZhdWx0cyh7IGF0dHJpYnV0aW9uOiBmYWxzZSB9KSxcbiAgICAgIGxheWVyczogW1xuICAgICAgICBuZXcgb2wubGF5ZXIuVGlsZSh7XG4gICAgICAgICAgc291cmNlOiBuZXcgb2wuc291cmNlLk9TTSgpXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgb2wubGF5ZXIuVmVjdG9yKHtcbiAgICAgICAgICBzb3VyY2U6IHRoaXMuX21hcmtlclNvdXJjZSxcbiAgICAgICAgICBzdHlsZTogdGhpcy5fbWFya2VyU3R5bGVcbiAgICAgICAgfSlcbiAgICAgIF0sXG4gICAgICB2aWV3OiBuZXcgb2wuVmlldyh7XG4gICAgICAgIGNlbnRlcjogb2wucHJvai5mcm9tTG9uTGF0KFxuICAgICAgICAgIHRoaXMuY2VudGVyICE9PSB1bmRlZmluZWQgPyB0aGlzLmNlbnRlci5jb29yZGluYXRlcyA6IFswLCAwXVxuICAgICAgICApLFxuICAgICAgICB6b29tOiB0aGlzLnpvb21cbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jZW50ZXIgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmNlbnRlciA9PT0gbnVsbCkge1xuICAgICAgLy8gaWYgdGhlIGNlbnRlciBpcyBub3Qgc2V0LCB3ZSBzZXQgaXRzIGRlZmF1bHQgdmFsdWVcbiAgICAgIGlmICgnZ2VvbG9jYXRpb24nIGluIG5hdmlnYXRvcikge1xuICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKFxuICAgICAgICAgIChwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZW50ZXIgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBbcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSwgcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZW50ZXIgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBbMCwgMF1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jZW50ZXIgPSB7XG4gICAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgICBjb29yZGluYXRlczogWzAsIDBdXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRoZSBjZW50ZXIgbmVlZHMgdGhlIG1hcCB0byBiZSBwcm9wZXJseSBzZXQsIHNvIGlmIGl0IHdhcyBzZXQgYmVmb3JlIHRoZSBtYXAgd2FzIGluaXRpYWxpemVkLFxuICAgICAgLy8gd2Ugc2V0IHRoZSBjZW50ZXIgYWdhaW4gdG8gcGVyZm9ybSBuZWNlc3NhcnkgYWRqdXN0ZW1lbnRzXG4gICAgICB0aGlzLmNlbnRlciA9IHRoaXMuY2VudGVyO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnpvb20gPT09IHVuZGVmaW5lZCB8fCB0aGlzLnpvb20gPT09IG51bGwpIHtcbiAgICAgIC8vIGlmIHRoZSB6b29tIGlzIG5vdCBzZXQsIHdlIHNldCBpdHMgZGVmYXVsdCB2YWx1ZVxuICAgICAgdGhpcy56b29tID0gMTg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRoZSB6b29tIG5lZWRzIHRoZSBtYXAgdG8gYmUgcHJvcGVybHkgc2V0LCBzbyBpZiBpdCB3YXMgc2V0IGJlZm9yZSB0aGUgbWFwIHdhcyBpbml0aWFsaXplZCxcbiAgICAgIC8vIHdlIHNldCB0aGUgem9vbSBhZ2FpbiB0byBwZXJmb3JtIG5lY2Vzc2FyeSBhZGp1c3RlbWVudHNcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuem9vbTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWFkb25seSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucmVhZG9ubHkgPT09IG51bGwpIHtcbiAgICAgIC8vIGlmIHJlYWRvbmx5IGlzIG5vdCBzZXQsIHdlIHNldCBpdHMgZGVmYXVsdCB2YWx1ZVxuICAgICAgdGhpcy5yZWFkb25seSA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZWFkb25seSBuZWVkcyB0aGUgbWFwIHRvIGJlIHByb3Blcmx5IHNldCwgc28gaWYgaXQgd2FzIHNldCBiZWZvcmUgdGhlIG1hcCB3YXMgaW5pdGlhbGl6ZWQsXG4gICAgICAvLyB3ZSBzZXQgcmVhZG9ubHkgYWdhaW4gdG8gcGVyZm9ybSBuZWNlc3NhcnkgYWRqdXN0ZW1lbnRzXG4gICAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLm1hcmtlckNvb3JkaW5hdGVzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgIT09IG51bGxcbiAgICApIHtcbiAgICAgIC8vIHRoZSBtYXJrZXIgY29vcmRpbmF0ZXMgbmVlZCB0aGUgbWFwIHRvIGJlIHByb3Blcmx5IHNldCwgc28gaWYgdGhleSB3ZXJlIHNldCBiZWZvcmUgdGhlIG1hcCB3YXMgaW5pdGlhbGl6ZWQsXG4gICAgICAvLyB3ZSBzZXQgdGhlIG1hcmtlciBjb29yZGluYXRlcyBhZ2FpbiB0byBwZXJmb3JtIG5lY2Vzc2FyeSBhZGp1c3RlbWVudHNcbiAgICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgPSB0aGlzLm1hcmtlckNvb3JkaW5hdGVzO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkTWFya2VyQXRDb29yZGluYXRlcyhjb29yZGluYXRlczogbnVtYmVyW10pOiB2b2lkIHtcbiAgICBpZiAoY29vcmRpbmF0ZXMgJiYgY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICBpZiAodGhpcy5fbWFya2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVNYXJrZXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX21hcmtlciA9IG5ldyBvbC5GZWF0dXJlKHtcbiAgICAgICAgZ2VvbWV0cnk6IG5ldyBvbC5nZW9tLlBvaW50KFxuICAgICAgICAgIC8vIFtsb24sIGxhdF0gaXMgaW4gRVBTRzo0MzI2IChkZWdyZWVzKSwgd2UgdHJhbnNmb3JtIGl0IGludG8gRVBTRzozODU3IChtZXRlcnMpXG4gICAgICAgICAgb2wucHJvai50cmFuc2Zvcm0oY29vcmRpbmF0ZXMsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3JylcbiAgICAgICAgKVxuICAgICAgfSk7XG4gICAgICB0aGlzLl9tYXJrZXJTb3VyY2UuYWRkRmVhdHVyZSh0aGlzLl9tYXJrZXIpO1xuICAgICAgdGhpcy5fbWFya2VyQ29vcmRpbmF0ZXMgPSB0aGlzLmdldE1hcmtlckNvb3JkaW5hdGVzKCk7XG5cbiAgICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgICBjb25zdCBkcmFnSW50ZXJhY3Rpb24gPSBuZXcgb2wuaW50ZXJhY3Rpb24uTW9kaWZ5KHtcbiAgICAgICAgICBmZWF0dXJlczogbmV3IG9sLkNvbGxlY3Rpb24oW3RoaXMuX21hcmtlcl0pLFxuICAgICAgICAgIHN0eWxlOiB0aGlzLl9tYXJrZXJTdHlsZSxcbiAgICAgICAgICBwaXhlbFRvbGVyYW5jZTogNTAsXG4gICAgICAgICAgaGl0RGV0ZWN0aW9uOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9tYXJrZXJJbnRlcmFjdGlvbiA9IGRyYWdJbnRlcmFjdGlvbjtcbiAgICAgICAgdGhpcy5fbWFwLmFkZEludGVyYWN0aW9uKGRyYWdJbnRlcmFjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX21hcmtlci5vbihcbiAgICAgICAgJ2NoYW5nZScsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLl9tYXJrZXJDb29yZGluYXRlcyA9IHRoaXMuZ2V0TWFya2VyQ29vcmRpbmF0ZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5fbWFya2VyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTWFya2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYXJrZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fbWFya2VyU291cmNlLnJlbW92ZUZlYXR1cmUodGhpcy5fbWFya2VyKTtcbiAgICAgIHRoaXMuX21hcmtlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtlckludGVyYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX21hcC5nZXRJbnRlcmFjdGlvbnMoKS5wb3AoKTtcbiAgICAgIHRoaXMuX21hcmtlckludGVyYWN0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWFya2VyQ29vcmRpbmF0ZXMoKTogbnVtYmVyW10gfCBudWxsIHtcbiAgICBpZiAodGhpcy5fbWFya2VyID09PSB1bmRlZmluZWQgfHwgdGhpcy5fbWFya2VyID09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tYXJrZXI7XG4gICAgfVxuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gdGhpcy5fbWFya2VyLmdldEdlb21ldHJ5KCkuZ2V0Q29vcmRpbmF0ZXMoKTtcbiAgICAvLyBjb29yZGluYXRlcyBpcyBpbiBFUFNHOjM4NTcgKG1ldGVycyksIHdlIHRyYW5zZm9ybSBpdCBpbnRvIEVQU0c6NDMyNiAoZGVncmVlcylcbiAgICByZXR1cm4gb2wucHJvai50cmFuc2Zvcm0oY29vcmRpbmF0ZXMsICdFUFNHOjM4NTcnLCAnRVBTRzo0MzI2Jyk7XG4gIH1cblxuICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbWFwKSB7XG4gICAgICB0aGlzLl9tYXAudXBkYXRlU2l6ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbaWRdPVwibWFwSWRcIiBjbGFzcz1cIm1hcFwiIChyZXNpemVkKT1cIm9uUmVzaXplKClcIj48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LuxModalBackdropComponent {
|
|
4
|
+
backdropClass;
|
|
5
|
+
class = 'modal-backdrop fade show';
|
|
6
|
+
style = 'z-index: 1050';
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModalBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: LuxModalBackdropComponent, selector: "lux-modal-backdrop", inputs: { backdropClass: "backdropClass" }, host: { properties: { "class": "this.class", "style": "this.style" } }, ngImport: i0, template: '', isInline: true });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModalBackdropComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'lux-modal-backdrop',
|
|
14
|
+
template: ''
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { backdropClass: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], class: [{
|
|
19
|
+
type: HostBinding,
|
|
20
|
+
args: ['class']
|
|
21
|
+
}], style: [{
|
|
22
|
+
type: HostBinding,
|
|
23
|
+
args: ['style']
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9tb2RhbC9tb2RhbC1iYWNrZHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTTVELE1BQU0sT0FBTyx5QkFBeUI7SUFDM0IsYUFBYSxDQUFTO0lBRVQsS0FBSyxHQUFHLDBCQUEwQixDQUFDO0lBQ25DLEtBQUssR0FBRyxlQUFlLENBQUM7dUdBSm5DLHlCQUF5QjsyRkFBekIseUJBQXlCLDhLQUYxQixFQUFFOzsyRkFFRCx5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBRVUsYUFBYTtzQkFBckIsS0FBSztnQkFFZ0IsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUNFLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtbW9kYWwtYmFja2Ryb3AnLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgTHV4TW9kYWxCYWNrZHJvcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnbW9kYWwtYmFja2Ryb3AgZmFkZSBzaG93JztcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlID0gJ3otaW5kZXg6IDEwNTAnO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LuxModalConfig {
|
|
4
|
+
backdrop = true;
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModalConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModalConfig, providedIn: 'root' });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LuxModalConfig, decorators: [{
|
|
9
|
+
type: Injectable,
|
|
10
|
+
args: [{ providedIn: 'root' }]
|
|
11
|
+
}] });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvbW9kYWwvbW9kYWwtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFFBQVEsR0FBRyxJQUFJLENBQUM7dUdBREwsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEx1eE1vZGFsT3B0aW9ucyB7XG4gIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcbiAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XG4gIGJhY2tkcm9wPzogYm9vbGVhbjtcbiAga2V5Ym9hcmQ/OiBib29sZWFuO1xuICB3aW5kb3dDbGFzcz86IHN0cmluZztcbiAgYmFja2Ryb3BDbGFzcz86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMdXhNb2RhbENvbmZpZyBpbXBsZW1lbnRzIEx1eE1vZGFsT3B0aW9ucyB7XG4gIGJhY2tkcm9wID0gdHJ1ZTtcbn1cbiJdfQ==
|