nextalys-carousel 0.0.50 → 0.0.53
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/README.md +0 -0
- package/bundles/nextalys-carousel.umd.js +437 -344
- package/bundles/nextalys-carousel.umd.js.map +1 -1
- package/bundles/nextalys-carousel.umd.min.js +2 -2
- package/bundles/nextalys-carousel.umd.min.js.map +1 -1
- package/esm2015/lib/nxs-carousel/nxs-carousel-dialog.component.js +15 -19
- package/esm2015/lib/nxs-carousel/nxs-carousel-types.js +1 -1
- package/esm2015/lib/nxs-carousel/nxs-carousel.component.js +43 -71
- package/esm2015/lib/nxs-carousel/nxs-carousel.module.js +22 -25
- package/esm2015/nextalys-carousel.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/fesm2015/nextalys-carousel.js +76 -106
- package/fesm2015/nextalys-carousel.js.map +1 -1
- package/lib/nxs-carousel/nxs-carousel-dialog.component.d.ts +1 -0
- package/lib/nxs-carousel/nxs-carousel-dialog.component.d.ts.map +1 -0
- package/lib/nxs-carousel/nxs-carousel-types.d.ts +1 -0
- package/lib/nxs-carousel/nxs-carousel-types.d.ts.map +1 -0
- package/lib/nxs-carousel/nxs-carousel.component.d.ts +2 -0
- package/lib/nxs-carousel/nxs-carousel.component.d.ts.map +1 -0
- package/lib/nxs-carousel/nxs-carousel.module.d.ts +1 -0
- package/lib/nxs-carousel/nxs-carousel.module.d.ts.map +1 -0
- package/nextalys-carousel.d.ts +1 -0
- package/nextalys-carousel.d.ts.map +1 -0
- package/nextalys-carousel.metadata.json +1 -1
- package/package.json +4 -6
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -0
- package/esm5/lib/nxs-carousel/nxs-carousel-dialog.component.js +0 -29
- package/esm5/lib/nxs-carousel/nxs-carousel-types.js +0 -8
- package/esm5/lib/nxs-carousel/nxs-carousel.component.js +0 -394
- package/esm5/lib/nxs-carousel/nxs-carousel.module.js +0 -45
- package/esm5/nextalys-carousel.js +0 -6
- package/esm5/public-api.js +0 -4
- package/fesm5/nextalys-carousel.js +0 -467
- package/fesm5/nextalys-carousel.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nextalys-carousel",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.53",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^9.0.0",
|
|
6
6
|
"@angular/cdk": "^9.0.0",
|
|
@@ -13,16 +13,14 @@
|
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"swiper": "^5.3.7",
|
|
16
|
-
"tslib": "^
|
|
16
|
+
"tslib": "^2.0.0"
|
|
17
17
|
},
|
|
18
18
|
"main": "bundles/nextalys-carousel.umd.js",
|
|
19
|
-
"module": "
|
|
19
|
+
"module": "fesm2015/nextalys-carousel.js",
|
|
20
20
|
"es2015": "fesm2015/nextalys-carousel.js",
|
|
21
|
-
"esm5": "esm5/nextalys-carousel.js",
|
|
22
21
|
"esm2015": "esm2015/nextalys-carousel.js",
|
|
23
|
-
"fesm5": "fesm5/nextalys-carousel.js",
|
|
24
22
|
"fesm2015": "fesm2015/nextalys-carousel.js",
|
|
25
23
|
"typings": "nextalys-carousel.d.ts",
|
|
26
24
|
"metadata": "nextalys-carousel.metadata.json",
|
|
27
25
|
"sideEffects": false
|
|
28
|
-
}
|
|
26
|
+
}
|
package/public-api.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
-
import { Component, Inject, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
4
|
-
var NxsCarouselDialogComponent = /** @class */ (function () {
|
|
5
|
-
function NxsCarouselDialogComponent(data, dialogRef) {
|
|
6
|
-
this.data = data;
|
|
7
|
-
this.dialogRef = dialogRef;
|
|
8
|
-
this.wrapperClass = 'nxs-carousel-wrapper';
|
|
9
|
-
if (data.wrapperClass)
|
|
10
|
-
this.wrapperClass += ' ' + data.wrapperClass;
|
|
11
|
-
}
|
|
12
|
-
NxsCarouselDialogComponent.ctorParameters = function () { return [
|
|
13
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
14
|
-
{ type: MatDialogRef }
|
|
15
|
-
]; };
|
|
16
|
-
NxsCarouselDialogComponent = __decorate([
|
|
17
|
-
Component({
|
|
18
|
-
selector: 'nxs-carousel-dialog',
|
|
19
|
-
template: "\n <div class=\"nxs-carousel-dialog-flex-wrapper\">\n <div class=\"nxs-carousel-dialog-header\">\n <button (click)=\"dialogRef.close()\" mat-icon-button><mat-icon>close</mat-icon></button>\n </div>\n <div [class]=\"wrapperClass\">\n <nxs-carousel [options]=\"data.options\" [images]=\"data.images\"></nxs-carousel>\n </div>\n</div>\n ",
|
|
20
|
-
encapsulation: ViewEncapsulation.None,
|
|
21
|
-
styles: [".nxs-carousel-dialog{max-width:98vw!important;width:98vw;height:98vh}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper{display:flex;height:100%;flex-direction:column}.nxs-carousel-dialog .nxs-carousel-dialog-flex-wrapper .nxs-carousel-wrapper{flex:auto}.nxs-carousel-dialog .nxs-carousel-dialog-header{position:relative;display:flex;justify-content:flex-end;padding-bottom:8px}.nxs-carousel-dialog mat-dialog-container{padding:20px}.nxs-carousel-dialog .nxs-carousel-wrapper{width:100%;margin:auto;height:100%}"]
|
|
22
|
-
}),
|
|
23
|
-
__param(0, Inject(MAT_DIALOG_DATA)),
|
|
24
|
-
__metadata("design:paramtypes", [Object, MatDialogRef])
|
|
25
|
-
], NxsCarouselDialogComponent);
|
|
26
|
-
return NxsCarouselDialogComponent;
|
|
27
|
-
}());
|
|
28
|
-
export { NxsCarouselDialogComponent };
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZXh0YWx5cy1jYXJvdXNlbC8iLCJzb3VyY2VzIjpbImxpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF1QnpFO0lBRUksb0NBQ29DLElBQTJCLEVBQ3BELFNBQW1EO1FBRDFCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBSHZELGlCQUFZLEdBQVcsc0JBQXNCLENBQUM7UUFLakQsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsWUFBWSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3JELENBQUM7O2dEQUxJLE1BQU0sU0FBQyxlQUFlO2dCQUNMLFlBQVk7O0lBSnpCLDBCQUEwQjtRQWZ0QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFFBQVEsRUFBRSw0V0FTVDtZQUVELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN4QyxDQUFDO1FBSU8sV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7aURBQ04sWUFBWTtPQUp6QiwwQkFBMEIsQ0FVdEM7SUFBRCxpQ0FBQztDQUFBLEFBVkQsSUFVQztTQVZZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxJbWFnZSwgTnhzQ2Fyb3VzZWxPcHRpb25zIH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE54c0Nhcm91c2VsRGlhbG9nRGF0YSB7XG4gICAgaW1hZ2VzOiBOeHNDYXJvdXNlbEltYWdlW107XG4gICAgb3B0aW9ucz86IE54c0Nhcm91c2VsT3B0aW9ucztcbiAgICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254cy1jYXJvdXNlbC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctZmxleC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctaGVhZGVyXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCIgbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCI+XG4gICAgPG54cy1jYXJvdXNlbCBbb3B0aW9uc109XCJkYXRhLm9wdGlvbnNcIiBbaW1hZ2VzXT1cImRhdGEuaW1hZ2VzXCI+PC9ueHMtY2Fyb3VzZWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCB7XG4gICAgcHVibGljIHdyYXBwZXJDbGFzczogc3RyaW5nID0gJ254cy1jYXJvdXNlbC13cmFwcGVyJztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBOeHNDYXJvdXNlbERpYWxvZ0RhdGEsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudD4sXG4gICAgKSB7XG4gICAgICAgIGlmIChkYXRhLndyYXBwZXJDbGFzcylcbiAgICAgICAgICAgIHRoaXMud3JhcHBlckNsYXNzICs9ICcgJyArIGRhdGEud3JhcHBlckNsYXNzO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
var NxsCarouselModuleConfig = /** @class */ (function () {
|
|
2
|
-
function NxsCarouselModuleConfig() {
|
|
3
|
-
this.debug = false;
|
|
4
|
-
}
|
|
5
|
-
return NxsCarouselModuleConfig;
|
|
6
|
-
}());
|
|
7
|
-
export { NxsCarouselModuleConfig };
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLXR5cGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmV4dGFseXMtY2Fyb3VzZWwvIiwic291cmNlcyI6WyJsaWIvbnhzLWNhcm91c2VsL254cy1jYXJvdXNlbC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RUE7SUFBQTtRQUNJLFVBQUssR0FBYSxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUFELDhCQUFDO0FBQUQsQ0FBQyxBQUZELElBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE54c0Nhcm91c2VsSW1hZ2Uge1xuICAgIGFsdD86IHN0cmluZztcbiAgICBzcmM6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3dpcGVySW5zdGFuY2Uge1xuICAgIHJlYWxJbmRleDogbnVtYmVyO1xuICAgIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gICAgb246IChldnQ6ICdzbGlkZUNoYW5nZScgfCAnY2xpY2snLCBjYjogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBkZXN0cm95OiAoZGVsZXRlSW5zdGFuY2U/OiBib29sZWFuLCBjbGVhblN0eWxlcz86IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgc2xpZGVUbzogKGluZGV4OiBudW1iZXIsIHNwZWVkPzogbnVtYmVyLCBydW5DYWxsYmFja3M/OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIHNsaWRlTmV4dDogKHNwZWVkPzogbnVtYmVyLCBydW5DYWxsYmFja3M/OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIHNsaWRlUHJldjogKHNwZWVkPzogbnVtYmVyLCBydW5DYWxsYmFja3M/OiBib29sZWFuKSA9PiB2b2lkO1xufVxuZXhwb3J0IGludGVyZmFjZSBOeHNDYXJvdXNlbE9wdGlvbnMge1xuICAgIHdhdGNoU2xpZGVzVmlzaWJpbGl0eT86IGJvb2xlYW47XG4gICAgd2F0Y2hTbGlkZXNQcm9ncmVzcz86IGJvb2xlYW47XG4gICAgZnJlZU1vZGU/OiBib29sZWFuO1xuICAgIGVmZmVjdD86IFwic2xpZGVcIiB8IFwiZmFkZVwiIHwgXCJjdWJlXCIgfCBcImNvdmVyZmxvd1wiIHwgXCJmbGlwXCI7XG4gICAgYXV0b3BsYXk/OiB7IGRlbGF5OiBudW1iZXI7IHN0b3BPbkxhc3RTbGlkZT86IGJvb2xlYW47IGRpc2FibGVPbkludGVyYWN0aW9uPzogYm9vbGVhbjsgcmV2ZXJzZURpcmVjdGlvbj86IGJvb2xlYW47IHdhaXRGb3JUcmFuc2l0aW9uPzogYm9vbGVhbiB9O1xuICAgIHJvdW5kTGVuZ3Rocz86IGJvb2xlYW47XG4gICAgaW5pdD86IGJvb2xlYW47XG4gICAgaW5pdGlhbFNsaWRlPzogbnVtYmVyO1xuICAgIHVwZGF0ZU9uV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgICBkaXJlY3Rpb24/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuICAgIHNsaWRlc1BlclZpZXc/OiBudW1iZXIgfCAnYXV0byc7XG4gICAgY2VudGVyZWRTbGlkZXM/OiBib29sZWFuO1xuICAgIGNlbnRlcmVkU2xpZGVzQm91bmRzPzogYm9vbGVhbjtcbiAgICBsb29wPzogYm9vbGVhbjtcbiAgICBjb3ZlcmZsb3dFZmZlY3Q/OiB7XG4gICAgICAgIHJvdGF0ZTogbnVtYmVyO1xuICAgICAgICBzdHJldGNoOiBudW1iZXI7XG4gICAgICAgIGRlcHRoPzogbnVtYmVyO1xuICAgICAgICBtb2RpZmllcj86IG51bWJlcjtcbiAgICAgICAgc2xpZGVTaGFkb3dzPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIHBhZ2luYXRpb24/OiB7XG4gICAgICAgIGVsOiBzdHJpbmc7XG4gICAgICAgIGNsaWNrYWJsZTogYm9vbGVhbjtcbiAgICAgICAgdHlwZT86IFwiYnVsbGV0c1wiIHwgXCJmcmFjdGlvblwiIHwgXCJwcm9ncmVzc2JhclwiIHwgXCJjdXN0b21cIjtcbiAgICB9O1xuICAgIG5hdmlnYXRpb24/OiB7XG4gICAgICAgIG5leHRFbDogc3RyaW5nO1xuICAgICAgICBwcmV2RWw6IHN0cmluZztcbiAgICB9O1xuICAgIHNwYWNlQmV0d2Vlbj86IG51bWJlcjtcbiAgICBicmVha3BvaW50cz86IHtcbiAgICAgICAgW3NpemU6IG51bWJlcl06IHtcbiAgICAgICAgICAgIHNwYWNlQmV0d2Vlbj86IG51bWJlcjtcbiAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IG51bWJlciB8ICdhdXRvJztcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHRodW1icz86IHsgc3dpcGVyOiBTd2lwZXJJbnN0YW5jZSB9O1xuICAgIG54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0cz86IGJvb2xlYW47XG4gICAgbnhzU2hvd05hdmlnYXRpb25BcnJvd3M/OiBib29sZWFuO1xuICAgIG54c1RodW1ibmFpbHM/OiB7XG4gICAgICAgIHNob3c6IGJvb2xlYW47IG9uTWFpblNsaWRlcj86IGJvb2xlYW47IHBlcmNlbnRIZWlnaHQ/OiBudW1iZXI7IHBlclZpZXc/OiBudW1iZXI7IGJyZWFrcG9pbnRzPzoge1xuICAgICAgICAgICAgW3NpemU6IG51bWJlcl06IHtcbiAgICAgICAgICAgICAgICBzcGFjZUJldHdlZW4/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogbnVtYmVyIHwgJ2F1dG8nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIG54c1Nob3dJbWFnZXNDb3VudD86IGJvb2xlYW47XG4gICAgbnhzZnVsbHNjcmVlbk9uQ2xpY2s/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGJhY2tncm91bmQgbW9kZSA6IGNvdmVyLCBjb250YWluLCBhdXRvLCBldGMuLi5cbiAgICAgKiBkZWZhdWx0ID0+IGNvdmVyXG4gICAgICovXG4gICAgbnhzQ2Fyb3VzZWxJbWFnZUJhY2tncm91bmRTaXplPzogc3RyaW5nO1xuICAgIG54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucz86IE54c0Nhcm91c2VsT3B0aW9ucztcbiAgICBueHNDYXJvdXNlbERpYWxvZ0V4aXRhYmxlPzogYm9vbGVhbjtcbiAgICBueHNDYXJvdXNlbERpYWxvZ1NpemU/OiB7IHdpZHRoOiBzdHJpbmc7IGhlaWdodDogc3RyaW5nOyB9O1xufVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW4gPSBmYWxzZTtcbn0iXX0=
|
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __decorate, __generator, __metadata, __param, __read, __spread, __values } from "tslib";
|
|
2
|
-
import { Component, ViewEncapsulation, Input, ViewChild, ElementRef, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, SimpleChanges } from '@angular/core';
|
|
3
|
-
import { NxsCarouselOptions, NxsCarouselImage, SwiperInstance, NxsCarouselModuleConfig } from './nxs-carousel-types';
|
|
4
|
-
import { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';
|
|
5
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
6
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
7
|
-
import { EventsCollector } from 'nextalys-js-helpers/dist/events';
|
|
8
|
-
var NxsCarouselComponent = /** @class */ (function () {
|
|
9
|
-
function NxsCarouselComponent(matDialog, zone, platformId, config) {
|
|
10
|
-
this.matDialog = matDialog;
|
|
11
|
-
this.zone = zone;
|
|
12
|
-
this.platformId = platformId;
|
|
13
|
-
this.config = config;
|
|
14
|
-
this.mutationObserver = null;
|
|
15
|
-
this.recreateSliderSubscribed = false;
|
|
16
|
-
this.eventsCollector = new EventsCollector();
|
|
17
|
-
this.options = {};
|
|
18
|
-
this.hasHtmlContent = false;
|
|
19
|
-
this.slidesCount = 0;
|
|
20
|
-
this.slideChange = new EventEmitter();
|
|
21
|
-
this.currentSlide = 0;
|
|
22
|
-
this.slideClick = new EventEmitter();
|
|
23
|
-
this.isBrowser = false;
|
|
24
|
-
if (!this.config)
|
|
25
|
-
this.config = { debug: false };
|
|
26
|
-
this.isBrowser = isPlatformBrowser(this.platformId);
|
|
27
|
-
this.log('constructor - isBrowser', this.isBrowser);
|
|
28
|
-
this.options = this.setDefaultOptions(undefined, false);
|
|
29
|
-
}
|
|
30
|
-
Object.defineProperty(NxsCarouselComponent.prototype, "setOptions", {
|
|
31
|
-
set: function (val) {
|
|
32
|
-
this.options = this.setDefaultOptions(val, false);
|
|
33
|
-
},
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(NxsCarouselComponent.prototype, "setImages", {
|
|
38
|
-
set: function (val) {
|
|
39
|
-
this.images = val;
|
|
40
|
-
this.initSlides();
|
|
41
|
-
this.createSlider(true);
|
|
42
|
-
},
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true
|
|
45
|
-
});
|
|
46
|
-
NxsCarouselComponent.prototype.log = function () {
|
|
47
|
-
var args = [];
|
|
48
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
49
|
-
args[_i] = arguments[_i];
|
|
50
|
-
}
|
|
51
|
-
if (!this.config.debug)
|
|
52
|
-
return;
|
|
53
|
-
console.log.apply(console, __spread(['[NxsCarousel]'], args));
|
|
54
|
-
};
|
|
55
|
-
NxsCarouselComponent.prototype.onContentChange = function (changes) {
|
|
56
|
-
// console.log("Log: NxsCarouselComponent -> onContentChange -> changes", changes);
|
|
57
|
-
// changes.forEach(change => console.log(change.target));
|
|
58
|
-
};
|
|
59
|
-
NxsCarouselComponent.prototype.initSlides = function () {
|
|
60
|
-
var _this = this;
|
|
61
|
-
if (!this.isBrowser) {
|
|
62
|
-
this.log('prevent initSlides on platform server');
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (!this.nxsSlidesWrapper) {
|
|
66
|
-
this.log('can not initSlides : nxsSlidesWrapper is not defined !');
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
this.log('initSlides begins');
|
|
70
|
-
this.zone.runOutsideAngular(function () {
|
|
71
|
-
if (!_this.hasHtmlContent && _this.images) {
|
|
72
|
-
_this.nxsSlidesWrapper.nativeElement.innerHTML = '';
|
|
73
|
-
for (var i = 0; i < _this.images.length; i++) {
|
|
74
|
-
var div = document.createElement('div');
|
|
75
|
-
div.className = 'swiper-slide';
|
|
76
|
-
div.style.backgroundImage = 'url(' + _this.images[i].src + ')';
|
|
77
|
-
if (_this.options.nxsCarouselImageBackgroundSize)
|
|
78
|
-
div.style.backgroundSize = _this.options.nxsCarouselImageBackgroundSize;
|
|
79
|
-
_this.nxsSlidesWrapper.nativeElement.appendChild(div);
|
|
80
|
-
}
|
|
81
|
-
_this.slidesCount = _this.images.length;
|
|
82
|
-
if (!!_this.options.nxsThumbnails && _this.options.nxsThumbnails.show) {
|
|
83
|
-
_this.nxsThumbnailsSlidesWrapper.nativeElement.innerHTML = '';
|
|
84
|
-
for (var i = 0; i < _this.images.length; i++) {
|
|
85
|
-
var div = document.createElement('div');
|
|
86
|
-
div.className = 'swiper-slide';
|
|
87
|
-
div.style.backgroundImage = 'url(' + _this.images[i].src + ')';
|
|
88
|
-
_this.nxsThumbnailsSlidesWrapper.nativeElement.appendChild(div);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
_this.log('initSlides - images are defined - slides count => ', _this.slidesCount);
|
|
92
|
-
}
|
|
93
|
-
else if (_this.hasHtmlContent) {
|
|
94
|
-
_this.log('initSlides - html content - slides length => ', _this.nxsSlidesWrapper.nativeElement.children.length);
|
|
95
|
-
for (var i = 0; i < _this.nxsSlidesWrapper.nativeElement.children.length; i++) {
|
|
96
|
-
var child = _this.nxsSlidesWrapper.nativeElement.children[i];
|
|
97
|
-
if (!child.className)
|
|
98
|
-
child.className = 'swiper-slide';
|
|
99
|
-
else if (child.className.indexOf('swiper-slide') === -1) {
|
|
100
|
-
child.className += ' swiper-slide';
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
_this.slidesCount = _this.nxsSlidesWrapper.nativeElement.children.length;
|
|
104
|
-
_this.log('initSlides - html content - slides count => ', _this.slidesCount);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
NxsCarouselComponent.prototype.ngOnDestroy = function () {
|
|
109
|
-
if (!this.isBrowser) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
this.eventsCollector.unsubscribeAll();
|
|
113
|
-
if (this.mutationObserver)
|
|
114
|
-
this.mutationObserver.disconnect();
|
|
115
|
-
if (this.sliderInstance)
|
|
116
|
-
this.sliderInstance.destroy();
|
|
117
|
-
};
|
|
118
|
-
NxsCarouselComponent.prototype.subscribeToSlideChanged = function () {
|
|
119
|
-
var _this = this;
|
|
120
|
-
if (!this.hasHtmlContent) {
|
|
121
|
-
this.log('subscribeToSlideChanged cannot be subscribed : has no html content');
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
if (!this.nxsSlidesWrapper || !this.nxsSlidesWrapper.nativeElement) {
|
|
125
|
-
this.log('subscribeToSlideChanged error : nxsSlidesWrapper is not defined');
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
if (typeof MutationObserver === 'undefined') {
|
|
129
|
-
this.log('cannot use mutation observer');
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
if (this.mutationObserver)
|
|
133
|
-
this.mutationObserver.disconnect();
|
|
134
|
-
this.log('subscribe to mutation observer');
|
|
135
|
-
this.mutationObserver = new MutationObserver(function (mutationsList) {
|
|
136
|
-
var e_1, _a;
|
|
137
|
-
// console.log("Log: NxsCarouselComponent -> subscribeToSlideChanged -> mutationsList", mutationsList);
|
|
138
|
-
// console.log("Log: NxsCarouselComponent -> subscribeToSlideChanged -> MutationObserver");
|
|
139
|
-
_this.log('mutation observer - html content has changed');
|
|
140
|
-
if (mutationsList.length === 0)
|
|
141
|
-
return;
|
|
142
|
-
var mustUpdate = false;
|
|
143
|
-
try {
|
|
144
|
-
for (var mutationsList_1 = __values(mutationsList), mutationsList_1_1 = mutationsList_1.next(); !mutationsList_1_1.done; mutationsList_1_1 = mutationsList_1.next()) {
|
|
145
|
-
var mutation = mutationsList_1_1.value;
|
|
146
|
-
if (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0) {
|
|
147
|
-
mustUpdate = true;
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
153
|
-
finally {
|
|
154
|
-
try {
|
|
155
|
-
if (mutationsList_1_1 && !mutationsList_1_1.done && (_a = mutationsList_1.return)) _a.call(mutationsList_1);
|
|
156
|
-
}
|
|
157
|
-
finally { if (e_1) throw e_1.error; }
|
|
158
|
-
}
|
|
159
|
-
if (mustUpdate) {
|
|
160
|
-
_this.initSlides();
|
|
161
|
-
_this.createSlider(true);
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
this.mutationObserver.observe(this.nxsSlidesWrapper.nativeElement, { childList: true, attributes: false, });
|
|
165
|
-
};
|
|
166
|
-
NxsCarouselComponent.prototype.ngAfterViewInit = function () {
|
|
167
|
-
this.initSlides();
|
|
168
|
-
this.createSlider(true);
|
|
169
|
-
};
|
|
170
|
-
NxsCarouselComponent.prototype.getMainSliderHeight = function () {
|
|
171
|
-
if (!this.options)
|
|
172
|
-
return '';
|
|
173
|
-
if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {
|
|
174
|
-
if (this.options.nxsThumbnails.onMainSlider) {
|
|
175
|
-
return '100%';
|
|
176
|
-
}
|
|
177
|
-
else if (this.options.nxsThumbnails.percentHeight) {
|
|
178
|
-
return (100 - this.options.nxsThumbnails.percentHeight) + '%';
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return '';
|
|
182
|
-
};
|
|
183
|
-
NxsCarouselComponent.prototype.setDefaultOptions = function (options, forDialog) {
|
|
184
|
-
if (!options && forDialog) {
|
|
185
|
-
options = { nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true };
|
|
186
|
-
}
|
|
187
|
-
else if (!options)
|
|
188
|
-
options = { nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {} };
|
|
189
|
-
if (options.nxsCarouselDialogOptions) {
|
|
190
|
-
if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')
|
|
191
|
-
options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };
|
|
192
|
-
if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')
|
|
193
|
-
options.nxsCarouselDialogOptions.effect = 'slide';
|
|
194
|
-
if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')
|
|
195
|
-
options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;
|
|
196
|
-
if (options.nxsCarouselDialogOptions.nxsThumbnails.show) {
|
|
197
|
-
if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')
|
|
198
|
-
options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;
|
|
199
|
-
if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')
|
|
200
|
-
options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;
|
|
201
|
-
options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {
|
|
202
|
-
640: {
|
|
203
|
-
slidesPerView: 5,
|
|
204
|
-
},
|
|
205
|
-
768: {
|
|
206
|
-
slidesPerView: 7,
|
|
207
|
-
},
|
|
208
|
-
1024: {
|
|
209
|
-
slidesPerView: 8,
|
|
210
|
-
},
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (typeof options.nxsThumbnails === 'undefined')
|
|
215
|
-
options.nxsThumbnails = { show: false };
|
|
216
|
-
if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')
|
|
217
|
-
options.nxsThumbnails.percentHeight = 20;
|
|
218
|
-
if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')
|
|
219
|
-
options.nxsThumbnails.perView = 10;
|
|
220
|
-
if (forDialog)
|
|
221
|
-
options.nxsfullscreenOnClick = false;
|
|
222
|
-
if (options.nxsThumbnails.onMainSlider)
|
|
223
|
-
options.nxsShowNavigationBullets = false;
|
|
224
|
-
return options;
|
|
225
|
-
};
|
|
226
|
-
NxsCarouselComponent.prototype.showFullScreenCarousel = function (images, wrapperClass) {
|
|
227
|
-
this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);
|
|
228
|
-
var data = { images: images, wrapperClass: wrapperClass, options: this.options.nxsCarouselDialogOptions };
|
|
229
|
-
this.matDialog.open(NxsCarouselDialogComponent, {
|
|
230
|
-
data: data,
|
|
231
|
-
panelClass: 'nxs-carousel-dialog',
|
|
232
|
-
width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,
|
|
233
|
-
height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,
|
|
234
|
-
disableClose: !this.options.nxsCarouselDialogExitable,
|
|
235
|
-
});
|
|
236
|
-
};
|
|
237
|
-
NxsCarouselComponent.prototype.createSlider = function (forceRecreate) {
|
|
238
|
-
var _this = this;
|
|
239
|
-
if (!this.isBrowser) {
|
|
240
|
-
this.log('prevent createSlider : platform is server');
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
if (!this.nxsSliderContainer) {
|
|
244
|
-
this.log('can not createSlider : nxsSliderContainer is not defined !');
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
this.log('createSlider', this.nxsSliderContainer.nativeElement);
|
|
248
|
-
if (this.slidesCount === 0) {
|
|
249
|
-
this.log('can not createSlider : slidesCount === 0');
|
|
250
|
-
this.subscribeToSlideChanged();
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
if (this.sliderInstance && !forceRecreate) {
|
|
254
|
-
this.log('can re create slider => slider is already created.');
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
this.zone.runOutsideAngular(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
258
|
-
var _a, Swiper, thumbnailsOptions;
|
|
259
|
-
var _this = this;
|
|
260
|
-
return __generator(this, function (_b) {
|
|
261
|
-
switch (_b.label) {
|
|
262
|
-
case 0:
|
|
263
|
-
if (this.sliderInstance)
|
|
264
|
-
this.sliderInstance.destroy();
|
|
265
|
-
this.options.pagination = {
|
|
266
|
-
el: '.nxs-carousel-pagination',
|
|
267
|
-
clickable: true,
|
|
268
|
-
type: 'bullets',
|
|
269
|
-
};
|
|
270
|
-
this.options.navigation = {
|
|
271
|
-
nextEl: '.nxs-carousel-button-next',
|
|
272
|
-
prevEl: '.nxs-carousel-button-prev',
|
|
273
|
-
};
|
|
274
|
-
if (!!this.swiperLibrary) return [3 /*break*/, 2];
|
|
275
|
-
_a = this;
|
|
276
|
-
return [4 /*yield*/, import("swiper")];
|
|
277
|
-
case 1:
|
|
278
|
-
_a.swiperLibrary = _b.sent();
|
|
279
|
-
_b.label = 2;
|
|
280
|
-
case 2:
|
|
281
|
-
Swiper = this.swiperLibrary.default;
|
|
282
|
-
if (!!this.options.nxsThumbnails && this.options.nxsThumbnails.show) {
|
|
283
|
-
thumbnailsOptions = {
|
|
284
|
-
slidesPerView: this.options.nxsThumbnails.perView,
|
|
285
|
-
loop: false,
|
|
286
|
-
freeMode: true,
|
|
287
|
-
watchSlidesVisibility: true,
|
|
288
|
-
watchSlidesProgress: true,
|
|
289
|
-
breakpoints: this.options.nxsThumbnails.breakpoints,
|
|
290
|
-
};
|
|
291
|
-
this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);
|
|
292
|
-
this.options.thumbs = { swiper: this.thumbnailsSliderInstance };
|
|
293
|
-
}
|
|
294
|
-
this.sliderInstance = new Swiper(this.nxsSliderContainer.nativeElement, this.options);
|
|
295
|
-
this.log('sliderInstance has been created', this.sliderInstance);
|
|
296
|
-
this.sliderInstance.on('slideChange', function () {
|
|
297
|
-
_this.zone.run(function () {
|
|
298
|
-
_this.currentSlide = _this.sliderInstance.realIndex;
|
|
299
|
-
_this.log("slideChange", _this.currentSlide);
|
|
300
|
-
_this.slideChange.next(_this.currentSlide);
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
this.sliderInstance.on('click', function (evt) {
|
|
304
|
-
var target = evt.target;
|
|
305
|
-
if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)
|
|
306
|
-
return;
|
|
307
|
-
_this.zone.run(function () {
|
|
308
|
-
_this.slideClick.next(evt);
|
|
309
|
-
if (_this.options.nxsfullscreenOnClick && _this.images && _this.images.length && !_this.hasHtmlContent) {
|
|
310
|
-
_this.showFullScreenCarousel(_this.images, 'fullscreen-carousel');
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
this.subscribeToSlideChanged();
|
|
315
|
-
return [2 /*return*/];
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
}); });
|
|
319
|
-
};
|
|
320
|
-
NxsCarouselComponent.prototype.goToSlide = function (index, speed) {
|
|
321
|
-
if (!this.sliderInstance)
|
|
322
|
-
return;
|
|
323
|
-
this.sliderInstance.slideTo(index, speed);
|
|
324
|
-
};
|
|
325
|
-
NxsCarouselComponent.prototype.next = function () {
|
|
326
|
-
if (!this.sliderInstance)
|
|
327
|
-
return;
|
|
328
|
-
this.sliderInstance.slideNext();
|
|
329
|
-
};
|
|
330
|
-
NxsCarouselComponent.prototype.previous = function () {
|
|
331
|
-
if (!this.sliderInstance)
|
|
332
|
-
return;
|
|
333
|
-
this.sliderInstance.slidePrev();
|
|
334
|
-
};
|
|
335
|
-
NxsCarouselComponent.ctorParameters = function () { return [
|
|
336
|
-
{ type: MatDialog },
|
|
337
|
-
{ type: NgZone },
|
|
338
|
-
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
|
|
339
|
-
{ type: NxsCarouselModuleConfig, decorators: [{ type: Optional }] }
|
|
340
|
-
]; };
|
|
341
|
-
__decorate([
|
|
342
|
-
ViewChild('nxsSliderContainer', { static: true }),
|
|
343
|
-
__metadata("design:type", ElementRef)
|
|
344
|
-
], NxsCarouselComponent.prototype, "nxsSliderContainer", void 0);
|
|
345
|
-
__decorate([
|
|
346
|
-
ViewChild('nxsSlidesWrapper', { static: true }),
|
|
347
|
-
__metadata("design:type", ElementRef)
|
|
348
|
-
], NxsCarouselComponent.prototype, "nxsSlidesWrapper", void 0);
|
|
349
|
-
__decorate([
|
|
350
|
-
ViewChild('nxsThumbnailsSliderContainer', { static: true }),
|
|
351
|
-
__metadata("design:type", ElementRef)
|
|
352
|
-
], NxsCarouselComponent.prototype, "nxsThumbnailsSliderContainer", void 0);
|
|
353
|
-
__decorate([
|
|
354
|
-
ViewChild('nxsThumbnailsSlidesWrapper', { static: true }),
|
|
355
|
-
__metadata("design:type", ElementRef)
|
|
356
|
-
], NxsCarouselComponent.prototype, "nxsThumbnailsSlidesWrapper", void 0);
|
|
357
|
-
__decorate([
|
|
358
|
-
Input('options'),
|
|
359
|
-
__metadata("design:type", Object),
|
|
360
|
-
__metadata("design:paramtypes", [Object])
|
|
361
|
-
], NxsCarouselComponent.prototype, "setOptions", null);
|
|
362
|
-
__decorate([
|
|
363
|
-
Input('images'),
|
|
364
|
-
__metadata("design:type", Array),
|
|
365
|
-
__metadata("design:paramtypes", [Array])
|
|
366
|
-
], NxsCarouselComponent.prototype, "setImages", null);
|
|
367
|
-
__decorate([
|
|
368
|
-
Input(),
|
|
369
|
-
__metadata("design:type", Object)
|
|
370
|
-
], NxsCarouselComponent.prototype, "hasHtmlContent", void 0);
|
|
371
|
-
__decorate([
|
|
372
|
-
Output(),
|
|
373
|
-
__metadata("design:type", Object)
|
|
374
|
-
], NxsCarouselComponent.prototype, "slideChange", void 0);
|
|
375
|
-
__decorate([
|
|
376
|
-
Output(),
|
|
377
|
-
__metadata("design:type", Object)
|
|
378
|
-
], NxsCarouselComponent.prototype, "slideClick", void 0);
|
|
379
|
-
NxsCarouselComponent = __decorate([
|
|
380
|
-
Component({
|
|
381
|
-
selector: 'nxs-carousel',
|
|
382
|
-
template: "<div #nxsSliderContainer\n \u00A0[ngClass]=\"{'swiper-container':true,'nxs-slider-with-thumbnails':!!options.nxsThumbnails && options.nxsThumbnails.show}\"\n [style.height]=\"getMainSliderHeight()\">\n <div class=\"swiper-wrapper\" #nxsSlidesWrapper>\n <ng-content>\n\n </ng-content>\n </div>\n <!-- (cdkObserveContent)=\"onContentChange($event)\" -->\n <!-- If we need pagination -->\n <div class=\"swiper-pagination nxs-carousel-pagination\"\n [style.display]=\"slidesCount>0 && options && options.nxsShowNavigationBullets ? '':'none'\"></div>\n\n <!-- If we need navigation buttons -->\n <ng-container *ngIf=\"options.nxsShowNavigationArrows\">\n <div class=\"nxs-carousel-button-prev swiper-button-prev\"></div>\n <div class=\"nxs-carousel-button-next swiper-button-next\"></div>\n </ng-container>\n\n <ng-container *ngIf=\"images && options.nxsShowImagesCount\">\n <div class=\"nxs-image-counter\">\n {{currentSlide+1}} / {{images.length}}\n </div>\n </ng-container>\n\n</div>\n\n<div #nxsThumbnailsSliderContainer\n [style.display]=\"(images && !!options.nxsThumbnails && options.nxsThumbnails.show) ?'':'none'\"\n [style.height]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight) ? (options.nxsThumbnails.percentHeight + '%'):''\"\n [style.top]=\"(!!options.nxsThumbnails && options.nxsThumbnails.show && !!options.nxsThumbnails.percentHeight && options.nxsThumbnails.onMainSlider) ? ('-' + (options.nxsThumbnails.percentHeight) + '%'):''\"\n [ngClass]=\"{'swiper-container':true, 'nxs-slider-thumbnails-container':true,'nxs-slider-thumbnails-on-main-slider':options.nxsThumbnails && options.nxsThumbnails.onMainSlider}\">\n <div class=\"swiper-wrapper\" #nxsThumbnailsSlidesWrapper>\n\n </div>\n\n</div>",
|
|
383
|
-
encapsulation: ViewEncapsulation.None,
|
|
384
|
-
styles: ["nxs-carousel{display:block;height:100%;position:relative;--swiper-navigation-color:white;--swiper-theme-color:white}nxs-carousel .swiper-container{width:100%;display:block;position:relative;height:100%}nxs-carousel .swiper-container .swiper-wrapper .swiper-slide{height:100%;position:relative;width:100%;min-height:50px;background-size:cover;background-position:center;background-repeat:no-repeat}nxs-carousel .swiper-container.nxs-slider-with-thumbnails{height:80%}nxs-carousel .swiper-container.nxs-slider-thumbnails-container{height:20%;background:0 0;padding:6px 0}nxs-carousel .swiper-container.nxs-slider-thumbnails-container .swiper-slide{cursor:pointer;border-radius:6px;margin:0 6px;border:2px solid transparent}nxs-carousel .swiper-container.nxs-slider-thumbnails-container .swiper-slide.swiper-slide-thumb-active{border:2px solid #add8e6}nxs-carousel .swiper-container.nxs-slider-thumbnails-on-main-slider{top:-20%}nxs-carousel .nxs-image-counter{position:absolute;top:0;right:0;color:#fff;padding:4px;font-weight:700;z-index:10}"]
|
|
385
|
-
}),
|
|
386
|
-
__param(2, Inject(PLATFORM_ID)),
|
|
387
|
-
__param(3, Optional()),
|
|
388
|
-
__metadata("design:paramtypes", [MatDialog,
|
|
389
|
-
NgZone, Object, NxsCarouselModuleConfig])
|
|
390
|
-
], NxsCarouselComponent);
|
|
391
|
-
return NxsCarouselComponent;
|
|
392
|
-
}());
|
|
393
|
-
export { NxsCarouselComponent };
|
|
394
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25leHRhbHlzLWNhcm91c2VsLyIsInNvdXJjZXMiOlsibGliL254cy1jYXJvdXNlbC9ueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckgsT0FBTyxFQUF5QiwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFPbEU7SUEwQ0ksOEJBQ1ksU0FBb0IsRUFDcEIsSUFBWSxFQUNTLFVBQWUsRUFDeEIsTUFBZ0M7UUFINUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1MsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQTdDaEQscUJBQWdCLEdBQTRCLElBQUksQ0FBQztRQUN6RCw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDekIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBY2hELFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBWWpDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGdCQUFXLEdB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RUFBRSxDQUFDO2tDQUM5QixVQUFVO2tFQUFpQjtJQUk3QztRQURDLFNBQVMsQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztrQ0FDOUIsVUFBVTs4RUFBaUI7SUFFekQ7UUFEQyxTQUFTLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQzlCLFVBQVU7NEVBQWlCO0lBR3ZEO1FBREMsS0FBSyxDQUFDLFNBQVMsQ0FBQzs7OzBEQUdoQjtJQUVEO1FBREMsS0FBSyxDQUFDLFFBQVEsQ0FBQzs7O3lEQUtmO0lBRUQ7UUFEQyxLQUFLLEVBQUU7O2dFQUNlO0lBTXZCO1FBREMsTUFBTSxFQUFFOzs2REFDZ0M7SUFHekM7UUFEQyxNQUFNLEVBQUU7OzREQUNtQztJQXRDbkMsb0JBQW9CO1FBTmhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLCsxREFBNEM7WUFFNUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O1NBQ3hDLENBQUM7UUE4Q08sV0FBQSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDbkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTt5Q0FIUSxTQUFTO1lBQ2QsTUFBTSxVQUVTLHVCQUF1QjtPQTlDL0Msb0JBQW9CLENBc1VoQztJQUFELDJCQUFDO0NBQUEsQUF0VUQsSUFzVUM7U0F0VVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFBMQVRGT1JNX0lELCBJbmplY3QsIE9wdGlvbmFsLCBOZ1pvbmUsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE54c0Nhcm91c2VsT3B0aW9ucywgTnhzQ2Fyb3VzZWxJbWFnZSwgU3dpcGVySW5zdGFuY2UsIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhLCBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vbnhzLWNhcm91c2VsLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV2ZW50c0NvbGxlY3RvciB9IGZyb20gJ25leHRhbHlzLWpzLWhlbHBlcnMvZGlzdC9ldmVudHMnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHMtY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ueHMtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL254cy1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcbiAgICByZWNyZWF0ZVNsaWRlclN1YnNjcmliZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGV2ZW50c0NvbGxlY3RvciA9IG5ldyBFdmVudHNDb2xsZWN0b3IoKTtcbiAgICBwdWJsaWMgaW1hZ2VzOiBOeHNDYXJvdXNlbEltYWdlW107XG5cbiAgICBAVmlld0NoaWxkKCdueHNTbGlkZXJDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIG54c1NsaWRlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdueHNTbGlkZXNXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBueHNTbGlkZXNXcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIC8vdGh1bWJuYWlsc1xuICAgIEBWaWV3Q2hpbGQoJ254c1RodW1ibmFpbHNTbGlkZXJDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIG54c1RodW1ibmFpbHNTbGlkZXJDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ254c1RodW1ibmFpbHNTbGlkZXNXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBueHNUaHVtYm5haWxzU2xpZGVzV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgb3B0aW9uczogTnhzQ2Fyb3VzZWxPcHRpb25zID0ge307XG4gICAgQElucHV0KCdvcHRpb25zJylcbiAgICBzZXQgc2V0T3B0aW9ucyh2YWw6IE54c0Nhcm91c2VsT3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnNldERlZmF1bHRPcHRpb25zKHZhbCwgZmFsc2UpO1xuICAgIH1cbiAgICBASW5wdXQoJ2ltYWdlcycpXG4gICAgc2V0IHNldEltYWdlcyh2YWw6IE54c0Nhcm91c2VsSW1hZ2VbXSkge1xuICAgICAgICB0aGlzLmltYWdlcyA9IHZhbDtcbiAgICAgICAgdGhpcy5pbml0U2xpZGVzKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlU2xpZGVyKHRydWUpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGhhc0h0bWxDb250ZW50ID0gZmFsc2U7XG4gICAgc2xpZGVzQ291bnQ6IG51bWJlciA9IDA7XG4gICAgcHVibGljIHNsaWRlckluc3RhbmNlOiBTd2lwZXJJbnN0YW5jZTtcbiAgICBwdWJsaWMgdGh1bWJuYWlsc1NsaWRlckluc3RhbmNlOiBTd2lwZXJJbnN0YW5jZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgcHVibGljIGN1cnJlbnRTbGlkZSA9IDA7XG4gICAgQE91dHB1dCgpXG4gICAgc2xpZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBpc0Jyb3dzZXIgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN3aXBlckxpYnJhcnk6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnPzogTnhzQ2Fyb3VzZWxNb2R1bGVDb25maWcsXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcpXG4gICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHsgZGVidWc6IGZhbHNlIH07XG4gICAgICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgICAgICAgdGhpcy5sb2coJ2NvbnN0cnVjdG9yIC0gaXNCcm93c2VyJywgdGhpcy5pc0Jyb3dzZXIpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnNldERlZmF1bHRPcHRpb25zKHVuZGVmaW5lZCwgZmFsc2UpO1xuICAgIH1cbiAgICBwcml2YXRlIGxvZyguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmRlYnVnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zb2xlLmxvZygnW054c0Nhcm91c2VsXScsIC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIG9uQ29udGVudENoYW5nZShjaGFuZ2VzOiBNdXRhdGlvblJlY29yZFtdKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nOiBOeHNDYXJvdXNlbENvbXBvbmVudCAtPiBvbkNvbnRlbnRDaGFuZ2UgLT4gY2hhbmdlc1wiLCBjaGFuZ2VzKTtcbiAgICAgICAgLy8gY2hhbmdlcy5mb3JFYWNoKGNoYW5nZSA9PiBjb25zb2xlLmxvZyhjaGFuZ2UudGFyZ2V0KSk7XG4gICAgfVxuICAgIGluaXRTbGlkZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nKCdwcmV2ZW50IGluaXRTbGlkZXMgb24gcGxhdGZvcm0gc2VydmVyJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm54c1NsaWRlc1dyYXBwZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nKCdjYW4gbm90IGluaXRTbGlkZXMgOiBueHNTbGlkZXNXcmFwcGVyIGlzIG5vdCBkZWZpbmVkICEnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZygnaW5pdFNsaWRlcyBiZWdpbnMnKTtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNIdG1sQ29udGVudCAmJiB0aGlzLmltYWdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMubnhzU2xpZGVzV3JhcHBlci5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbWFnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgICAgIGRpdi5jbGFzc05hbWUgPSAnc3dpcGVyLXNsaWRlJztcbiAgICAgICAgICAgICAgICAgICAgZGl2LnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICd1cmwoJyArIHRoaXMuaW1hZ2VzW2ldLnNyYyArICcpJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbEltYWdlQmFja2dyb3VuZFNpemUpXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXYuc3R5bGUuYmFja2dyb3VuZFNpemUgPSB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxJbWFnZUJhY2tncm91bmRTaXplO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm54c1NsaWRlc1dyYXBwZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChkaXYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNsaWRlc0NvdW50ID0gdGhpcy5pbWFnZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmICghIXRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ueHNUaHVtYm5haWxzU2xpZGVzV3JhcHBlci5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaW1hZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpdi5jbGFzc05hbWUgPSAnc3dpcGVyLXNsaWRlJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpdi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAndXJsKCcgKyB0aGlzLmltYWdlc1tpXS5zcmMgKyAnKSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm54c1RodW1ibmFpbHNTbGlkZXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvZygnaW5pdFNsaWRlcyAtIGltYWdlcyBhcmUgZGVmaW5lZCAtIHNsaWRlcyBjb3VudCA9PiAnLCB0aGlzLnNsaWRlc0NvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuaGFzSHRtbENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZygnaW5pdFNsaWRlcyAtIGh0bWwgY29udGVudCAtIHNsaWRlcyBsZW5ndGggPT4gJywgdGhpcy5ueHNTbGlkZXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubnhzU2xpZGVzV3JhcHBlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5ueHNTbGlkZXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5baV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGQuY2xhc3NOYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuY2xhc3NOYW1lID0gJ3N3aXBlci1zbGlkZSc7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoaWxkLmNsYXNzTmFtZS5pbmRleE9mKCdzd2lwZXItc2xpZGUnKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmNsYXNzTmFtZSArPSAnIHN3aXBlci1zbGlkZSc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zbGlkZXNDb3VudCA9IHRoaXMubnhzU2xpZGVzV3JhcHBlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZygnaW5pdFNsaWRlcyAtIGh0bWwgY29udGVudCAtIHNsaWRlcyBjb3VudCA9PiAnLCB0aGlzLnNsaWRlc0NvdW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50c0NvbGxlY3Rvci51bnN1YnNjcmliZUFsbCgpO1xuICAgICAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKVxuICAgICAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgaWYgKHRoaXMuc2xpZGVySW5zdGFuY2UpXG4gICAgICAgICAgICB0aGlzLnNsaWRlckluc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb1NsaWRlQ2hhbmdlZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0h0bWxDb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvZygnc3Vic2NyaWJlVG9TbGlkZUNoYW5nZWQgY2Fubm90IGJlIHN1YnNjcmliZWQgOiBoYXMgbm8gaHRtbCBjb250ZW50Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm54c1NsaWRlc1dyYXBwZXIgfHwgIXRoaXMubnhzU2xpZGVzV3JhcHBlci5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvZygnc3Vic2NyaWJlVG9TbGlkZUNoYW5nZWQgZXJyb3IgOiBueHNTbGlkZXNXcmFwcGVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5sb2coJ2Nhbm5vdCB1c2UgbXV0YXRpb24gb2JzZXJ2ZXInKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpXG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgICAgIHRoaXMubG9nKCdzdWJzY3JpYmUgdG8gbXV0YXRpb24gb2JzZXJ2ZXInKTtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uc0xpc3QpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nOiBOeHNDYXJvdXNlbENvbXBvbmVudCAtPiBzdWJzY3JpYmVUb1NsaWRlQ2hhbmdlZCAtPiBtdXRhdGlvbnNMaXN0XCIsIG11dGF0aW9uc0xpc3QpO1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2c6IE54c0Nhcm91c2VsQ29tcG9uZW50IC0+IHN1YnNjcmliZVRvU2xpZGVDaGFuZ2VkIC0+IE11dGF0aW9uT2JzZXJ2ZXJcIik7XG4gICAgICAgICAgICB0aGlzLmxvZygnbXV0YXRpb24gb2JzZXJ2ZXIgLSBodG1sIGNvbnRlbnQgaGFzIGNoYW5nZWQnKTtcbiAgICAgICAgICAgIGlmIChtdXRhdGlvbnNMaXN0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBsZXQgbXVzdFVwZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCB8fCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBtdXN0VXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG11c3RVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGlkZXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVNsaWRlcih0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5ueHNTbGlkZXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBhdHRyaWJ1dGVzOiBmYWxzZSwgfSk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0U2xpZGVzKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlU2xpZGVyKHRydWUpO1xuICAgIH1cbiAgICBnZXRNYWluU2xpZGVySGVpZ2h0KCkge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucylcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMTAwIC0gdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkgKyAnJSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBwcml2YXRlIHNldERlZmF1bHRPcHRpb25zKG9wdGlvbnM6IE54c0Nhcm91c2VsT3B0aW9ucywgZm9yRGlhbG9nOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghb3B0aW9ucyAmJiBmb3JEaWFsb2cpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IG54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0czogdHJ1ZSwgbG9vcDogdHJ1ZSwgbnhzVGh1bWJuYWlsczogeyBzaG93OiB0cnVlIH0sIGVmZmVjdDogJ3NsaWRlJywgbnhzU2hvd05hdmlnYXRpb25BcnJvd3M6IHRydWUsIG54c1Nob3dJbWFnZXNDb3VudDogdHJ1ZSB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIW9wdGlvbnMpXG4gICAgICAgICAgICBvcHRpb25zID0geyBueHNTaG93TmF2aWdhdGlvbkJ1bGxldHM6IHRydWUsIGxvb3A6IHRydWUsIG54c1RodW1ibmFpbHM6IHsgc2hvdzogZmFsc2UgfSwgZWZmZWN0OiAnc2xpZGUnLCBueHNTaG93TmF2aWdhdGlvbkFycm93czogdHJ1ZSwgbnhzU2hvd0ltYWdlc0NvdW50OiBmYWxzZSwgbnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zOiB7fSB9XG4gICAgICAgIGlmIChvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzID0geyBzaG93OiBmYWxzZSB9O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5lZmZlY3QgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLmVmZmVjdCA9ICdzbGlkZSc7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQXJyb3dzID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNTaG93TmF2aWdhdGlvbkFycm93cyA9IHRydWU7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9IDIwO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID0gMTA7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5icmVha3BvaW50cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgNjQwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiA1LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICA3Njg6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIDEwMjQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDgsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzVGh1bWJuYWlscyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLm54c1RodW1ibmFpbHMgPSB7IHNob3c6IGZhbHNlIH07XG5cblxuICAgICAgICBpZiAob3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgdHlwZW9mIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID0gMjA7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93ICYmIHR5cGVvZiBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9IDEwO1xuXG5cbiAgICAgICAgaWYgKGZvckRpYWxvZylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzZnVsbHNjcmVlbk9uQ2xpY2sgPSBmYWxzZTtcbiAgICAgICAgaWYgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXIpXG4gICAgICAgICAgICBvcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0cyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG4gICAgcHVibGljIHNob3dGdWxsU2NyZWVuQ2Fyb3VzZWwoaW1hZ2VzOiBOeHNDYXJvdXNlbEltYWdlW10sIHdyYXBwZXJDbGFzcz86IHN0cmluZykge1xuICAgICAgICB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zID0gdGhpcy5zZXREZWZhdWx0T3B0aW9ucyh0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZGF0YTogTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhID0geyBpbWFnZXMsIHdyYXBwZXJDbGFzcywgb3B0aW9uczogdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucyB9O1xuICAgICAgICB0aGlzLm1hdERpYWxvZy5vcGVuKE54c0Nhcm91c2VsRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ254cy1jYXJvdXNlbC1kaWFsb2cnLFxuICAgICAgICAgICAgd2lkdGg6ICEhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZSA/IHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUud2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBoZWlnaHQ6ICEhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZSA/IHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUuaGVpZ2h0IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiAhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nRXhpdGFibGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGNyZWF0ZVNsaWRlcihmb3JjZVJlY3JlYXRlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nKCdwcmV2ZW50IGNyZWF0ZVNsaWRlciA6IHBsYXRmb3JtIGlzIHNlcnZlcicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5ueHNTbGlkZXJDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nKCdjYW4gbm90IGNyZWF0ZVNsaWRlciA6IG54c1NsaWRlckNvbnRhaW5lciBpcyBub3QgZGVmaW5lZCAhJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2coJ2NyZWF0ZVNsaWRlcicsIHRoaXMubnhzU2xpZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5zbGlkZXNDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5sb2coJ2NhbiBub3QgY3JlYXRlU2xpZGVyIDogc2xpZGVzQ291bnQgPT09IDAnKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlVG9TbGlkZUNoYW5nZWQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zbGlkZXJJbnN0YW5jZSAmJiAhZm9yY2VSZWNyZWF0ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2coJ2NhbiByZSBjcmVhdGUgc2xpZGVyID0+IHNsaWRlciBpcyBhbHJlYWR5IGNyZWF0ZWQuJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNsaWRlckluc3RhbmNlKVxuICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVySW5zdGFuY2UuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICAgICAgZWw6ICcubnhzLWNhcm91c2VsLXBhZ2luYXRpb24nLFxuICAgICAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYnVsbGV0cycsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLm5hdmlnYXRpb24gPSB7XG4gICAgICAgICAgICAgICAgbmV4dEVsOiAnLm54cy1jYXJvdXNlbC1idXR0b24tbmV4dCcsXG4gICAgICAgICAgICAgICAgcHJldkVsOiAnLm54cy1jYXJvdXNlbC1idXR0b24tcHJldicsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKCF0aGlzLnN3aXBlckxpYnJhcnkpXG4gICAgICAgICAgICAgICAgdGhpcy5zd2lwZXJMaWJyYXJ5ID0gYXdhaXQgaW1wb3J0KFwic3dpcGVyXCIpO1xuICAgICAgICAgICAgY29uc3QgU3dpcGVyID0gdGhpcy5zd2lwZXJMaWJyYXJ5LmRlZmF1bHQ7XG4gICAgICAgICAgICBpZiAoISF0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscyAmJiB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGh1bWJuYWlsc09wdGlvbnM6IE54c0Nhcm91c2VsT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyxcbiAgICAgICAgICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGZyZWVNb2RlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB3YXRjaFNsaWRlc1Zpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHdhdGNoU2xpZGVzUHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRzOiB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5icmVha3BvaW50cyxcbiAgICAgICAgICAgICAgICAgICAgLy8gc3BhY2VCZXR3ZWVuOiAxMCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc1NsaWRlckluc3RhbmNlID0gbmV3IFN3aXBlcih0aGlzLm54c1RodW1ibmFpbHNTbGlkZXJDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGh1bWJuYWlsc09wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50aHVtYnMgPSB7IHN3aXBlcjogdGhpcy50aHVtYm5haWxzU2xpZGVySW5zdGFuY2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2xpZGVySW5zdGFuY2UgPSBuZXcgU3dpcGVyKHRoaXMubnhzU2xpZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmxvZygnc2xpZGVySW5zdGFuY2UgaGFzIGJlZW4gY3JlYXRlZCcsIHRoaXMuc2xpZGVySW5zdGFuY2UpO1xuICAgICAgICAgICAgdGhpcy5zbGlkZXJJbnN0YW5jZS5vbignc2xpZGVDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNsaWRlID0gdGhpcy5zbGlkZXJJbnN0YW5jZS5yZWFsSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nKFwic2xpZGVDaGFuZ2VcIiwgdGhpcy5jdXJyZW50U2xpZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlQ2hhbmdlLm5leHQodGhpcy5jdXJyZW50U2xpZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnNsaWRlckluc3RhbmNlLm9uKCdjbGljaycsIChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmICh0YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ254cy1jYXJvdXNlbC1idXR0b24nKSAhPT0gLTEgfHwgdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdzd2lwZXItcGFnaW5hdGlvbicpICE9PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlQ2xpY2submV4dChldnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm54c2Z1bGxzY3JlZW5PbkNsaWNrICYmIHRoaXMuaW1hZ2VzICYmIHRoaXMuaW1hZ2VzLmxlbmd0aCAmJiAhdGhpcy5oYXNIdG1sQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RnVsbFNjcmVlbkNhcm91c2VsKHRoaXMuaW1hZ2VzLCAnZnVsbHNjcmVlbi1jYXJvdXNlbCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1NsaWRlQ2hhbmdlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlciwgc3BlZWQ/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNsaWRlckluc3RhbmNlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckluc3RhbmNlLnNsaWRlVG8oaW5kZXgsIHNwZWVkKTtcbiAgICB9XG4gICAgbmV4dCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNsaWRlckluc3RhbmNlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckluc3RhbmNlLnNsaWRlTmV4dCgpO1xuICAgIH1cbiAgICBwcmV2aW91cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNsaWRlckluc3RhbmNlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckluc3RhbmNlLnNsaWRlUHJldigpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
8
|
-
import { NxsCarouselComponent } from './nxs-carousel.component';
|
|
9
|
-
import { NxsCarouselModuleConfig } from './nxs-carousel-types';
|
|
10
|
-
import { ObserversModule } from '@angular/cdk/observers';
|
|
11
|
-
var NxsCarouselModule = /** @class */ (function () {
|
|
12
|
-
function NxsCarouselModule() {
|
|
13
|
-
}
|
|
14
|
-
NxsCarouselModule_1 = NxsCarouselModule;
|
|
15
|
-
NxsCarouselModule.forRoot = function (config) {
|
|
16
|
-
return {
|
|
17
|
-
ngModule: NxsCarouselModule_1,
|
|
18
|
-
providers: [
|
|
19
|
-
{ provide: NxsCarouselModuleConfig, useValue: config },
|
|
20
|
-
]
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
var NxsCarouselModule_1;
|
|
24
|
-
NxsCarouselModule = NxsCarouselModule_1 = __decorate([
|
|
25
|
-
NgModule({
|
|
26
|
-
declarations: [
|
|
27
|
-
NxsCarouselComponent,
|
|
28
|
-
NxsCarouselDialogComponent,
|
|
29
|
-
],
|
|
30
|
-
imports: [
|
|
31
|
-
CommonModule,
|
|
32
|
-
MatIconModule,
|
|
33
|
-
MatButtonModule,
|
|
34
|
-
MatDialogModule,
|
|
35
|
-
ObserversModule,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
NxsCarouselComponent,
|
|
39
|
-
],
|
|
40
|
-
})
|
|
41
|
-
], NxsCarouselModule);
|
|
42
|
-
return NxsCarouselModule;
|
|
43
|
-
}());
|
|
44
|
-
export { NxsCarouselModule };
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25leHRhbHlzLWNhcm91c2VsLyIsInNvdXJjZXMiOlsibGliL254cy1jYXJvdXNlbC9ueHMtY2Fyb3VzZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBa0J6RDtJQUFBO0lBU0EsQ0FBQzswQkFUWSxpQkFBaUI7SUFDWix5QkFBTyxHQUFyQixVQUFzQixNQUFnQztRQUNsRCxPQUFPO1lBQ0gsUUFBUSxFQUFFLG1CQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN6RDtTQUNKLENBQUM7SUFDTixDQUFDOztJQVJRLGlCQUFpQjtRQWhCN0IsUUFBUSxDQUFDO1lBQ04sWUFBWSxFQUFFO2dCQUNWLG9CQUFvQjtnQkFDcEIsMEJBQTBCO2FBQzdCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixlQUFlO2dCQUNmLGVBQWU7Z0JBQ2YsZUFBZTthQUNsQjtZQUNELE9BQU8sRUFBRTtnQkFDTCxvQkFBb0I7YUFDdkI7U0FDSixDQUFDO09BQ1csaUJBQWlCLENBUzdCO0lBQUQsd0JBQUM7Q0FBQSxBQVRELElBU0M7U0FUWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE54c0Nhcm91c2VsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE54c0Nhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwuY29tcG9uZW50JztcbmltcG9ydCB7IE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE54c0Nhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgT2JzZXJ2ZXJzTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOeHNDYXJvdXNlbENvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbE1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOeHNDYXJvdXNlbE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE54c0Nhcm91c2VsTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBOeHNDYXJvdXNlbE1vZHVsZUNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn0iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { NxsCarouselDialogComponent as ɵa } from './lib/nxs-carousel/nxs-carousel-dialog.component';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGFseXMtY2Fyb3VzZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZXh0YWx5cy1jYXJvdXNlbC8iLCJzb3VyY2VzIjpbIm5leHRhbHlzLWNhcm91c2VsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge054c0Nhcm91c2VsRGlhbG9nQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvbnhzLWNhcm91c2VsL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50JzsiXX0=
|
package/esm5/public-api.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './lib/nxs-carousel/nxs-carousel.component';
|
|
2
|
-
export * from './lib/nxs-carousel/nxs-carousel.module';
|
|
3
|
-
export * from './lib/nxs-carousel/nxs-carousel-types';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25leHRhbHlzLWNhcm91c2VsLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL254cy1jYXJvdXNlbC9ueHMtY2Fyb3VzZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL254cy1jYXJvdXNlbC9ueHMtY2Fyb3VzZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL254cy1jYXJvdXNlbC9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuIl19
|