nextalys-carousel 0.0.68 → 0.0.69

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.
Files changed (48) hide show
  1. package/esm2022/common-types.mjs +4 -0
  2. package/esm2022/lib/nxs-carousel/common-types.mjs +4 -0
  3. package/esm2022/lib/nxs-carousel/nxs-carousel/carousel-events.mjs +5 -0
  4. package/{esm2020 → esm2022}/lib/nxs-carousel/nxs-carousel/nxs-carousel-dialog.component.mjs +11 -9
  5. package/esm2022/lib/nxs-carousel/nxs-carousel/nxs-carousel.component.mjs +288 -0
  6. package/esm2022/lib/nxs-carousel/nxs-carousel/nxs-carousel.module.mjs +75 -0
  7. package/{esm2020 → esm2022}/lib/nxs-carousel/nxs-carousel/swiper-directives.mjs +4 -4
  8. package/esm2022/lib/nxs-carousel-mock/common-types.mjs +4 -0
  9. package/esm2022/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.component.mjs +45 -0
  10. package/{esm2020 → esm2022}/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.module.mjs +7 -7
  11. package/{esm2020 → esm2022}/lib/nxs-carousel-mock/nxs-carousel-mock/swiper-directives.mjs +4 -4
  12. package/{fesm2015 → fesm2022}/nextalys-carousel-lib-nxs-carousel-mock.mjs +23 -24
  13. package/{fesm2020 → fesm2022}/nextalys-carousel-lib-nxs-carousel-mock.mjs.map +1 -1
  14. package/{fesm2020 → fesm2022}/nextalys-carousel-lib-nxs-carousel.mjs +75 -53
  15. package/fesm2022/nextalys-carousel-lib-nxs-carousel.mjs.map +1 -0
  16. package/{fesm2015 → fesm2022}/nextalys-carousel.mjs +3 -3
  17. package/{fesm2020 → fesm2022}/nextalys-carousel.mjs.map +1 -1
  18. package/lib/nxs-carousel/nxs-carousel/nxs-carousel-dialog.component.d.ts +1 -1
  19. package/lib/nxs-carousel/nxs-carousel/nxs-carousel.component.d.ts +2 -2
  20. package/lib/nxs-carousel/nxs-carousel/nxs-carousel.component.d.ts.map +1 -1
  21. package/lib/nxs-carousel/nxs-carousel/swiper-directives.d.ts +1 -1
  22. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.component.d.ts +1 -1
  23. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-types.d.ts +1 -1
  24. package/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-types.d.ts.map +1 -1
  25. package/lib/nxs-carousel-mock/nxs-carousel-mock/swiper-directives.d.ts +1 -1
  26. package/package.json +11 -21
  27. package/esm2020/common-types.mjs +0 -6
  28. package/esm2020/lib/nxs-carousel/common-types.mjs +0 -6
  29. package/esm2020/lib/nxs-carousel/nxs-carousel/carousel-events.mjs +0 -5
  30. package/esm2020/lib/nxs-carousel/nxs-carousel/nxs-carousel.component.mjs +0 -266
  31. package/esm2020/lib/nxs-carousel/nxs-carousel/nxs-carousel.module.mjs +0 -75
  32. package/esm2020/lib/nxs-carousel-mock/common-types.mjs +0 -6
  33. package/esm2020/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-mock.component.mjs +0 -44
  34. package/fesm2015/nextalys-carousel-lib-nxs-carousel-mock.mjs.map +0 -1
  35. package/fesm2015/nextalys-carousel-lib-nxs-carousel.mjs +0 -412
  36. package/fesm2015/nextalys-carousel-lib-nxs-carousel.mjs.map +0 -1
  37. package/fesm2015/nextalys-carousel.mjs.map +0 -1
  38. package/fesm2020/nextalys-carousel-lib-nxs-carousel-mock.mjs +0 -101
  39. package/fesm2020/nextalys-carousel-lib-nxs-carousel.mjs.map +0 -1
  40. package/fesm2020/nextalys-carousel.mjs +0 -14
  41. /package/{esm2020 → esm2022}/lib/nxs-carousel/nextalys-carousel-lib-nxs-carousel.mjs +0 -0
  42. /package/{esm2020 → esm2022}/lib/nxs-carousel/nxs-carousel/nxs-carousel-types.mjs +0 -0
  43. /package/{esm2020 → esm2022}/lib/nxs-carousel/public-api-carousel.mjs +0 -0
  44. /package/{esm2020 → esm2022}/lib/nxs-carousel-mock/nextalys-carousel-lib-nxs-carousel-mock.mjs +0 -0
  45. /package/{esm2020 → esm2022}/lib/nxs-carousel-mock/nxs-carousel-mock/nxs-carousel-types.mjs +0 -0
  46. /package/{esm2020 → esm2022}/lib/nxs-carousel-mock/public-api-carousel-mock.mjs +0 -0
  47. /package/{esm2020 → esm2022}/nextalys-carousel.mjs +0 -0
  48. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,4 @@
1
+ export class NxsCarouselModuleConfig {
2
+ debug = false;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssR0FBYSxLQUFLLENBQUM7Q0FDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgTnhzQ2Fyb3VzZWxJbWFnZSB7XG4gICAgYWx0Pzogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW4gPSBmYWxzZTtcbn0iXX0=
@@ -0,0 +1,4 @@
1
+ export class NxsCarouselModuleConfig {
2
+ debug = false;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssR0FBYSxLQUFLLENBQUM7Q0FDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgTnhzQ2Fyb3VzZWxJbWFnZSB7XG4gICAgYWx0Pzogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW4gPSBmYWxzZTtcbn0iXX0=
@@ -0,0 +1,5 @@
1
+ import { NxsEvent } from "nextalys-js-helpers";
2
+ export class CarouselEvents {
3
+ static openCarouselDialog = new NxsEvent();
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL254cy1jYXJvdXNlbC9jYXJvdXNlbC1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRy9DLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLFFBQVEsRUFNcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE54c0V2ZW50IH0gZnJvbSBcIm5leHRhbHlzLWpzLWhlbHBlcnNcIjtcbmltcG9ydCB7IE54c0Nhcm91c2VsRGlhbG9nRGF0YSB9IGZyb20gXCIuL254cy1jYXJvdXNlbC10eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxFdmVudHMge1xuICAgIHN0YXRpYyBvcGVuQ2Fyb3VzZWxEaWFsb2cgPSBuZXcgTnhzRXZlbnQ8e1xuICAgICAgICBkYXRhOiBOeHNDYXJvdXNlbERpYWxvZ0RhdGE7XG4gICAgICAgIHBhbmVsQ2xhc3M6IHN0cmluZztcbiAgICAgICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgICAgIGhlaWdodD86IHN0cmluZztcbiAgICAgICAgZGlzYWJsZUNsb3NlOiBib29sZWFuO1xuICAgIH0+KCk7XG59Il19
@@ -6,10 +6,13 @@ import * as i2 from "@angular/material/icon";
6
6
  import * as i3 from "@angular/material/button";
7
7
  import * as i4 from "./nxs-carousel.component";
8
8
  export class NxsCarouselDialogComponent {
9
+ data;
10
+ dialogRef;
11
+ static dialogOpened = false;
12
+ wrapperClass = 'nxs-carousel-wrapper';
9
13
  constructor(data, dialogRef) {
10
14
  this.data = data;
11
15
  this.dialogRef = dialogRef;
12
- this.wrapperClass = 'nxs-carousel-wrapper';
13
16
  if (data.wrapperClass)
14
17
  this.wrapperClass += ' ' + data.wrapperClass;
15
18
  this.dialogRef.afterOpened().subscribe(() => {
@@ -19,10 +22,8 @@ export class NxsCarouselDialogComponent {
19
22
  NxsCarouselDialogComponent.dialogOpened = false;
20
23
  });
21
24
  }
22
- }
23
- NxsCarouselDialogComponent.dialogOpened = false;
24
- NxsCarouselDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NxsCarouselDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
25
- NxsCarouselDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: NxsCarouselDialogComponent, selector: "nxs-carousel-dialog", ngImport: i0, template: `
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: NxsCarouselDialogComponent, selector: "nxs-carousel-dialog", ngImport: i0, template: `
26
27
  <div class="nxs-carousel-dialog-flex-wrapper">
27
28
  <div class="nxs-carousel-dialog-header">
28
29
  <button (click)="dialogRef.close()" mat-icon-button><mat-icon>close</mat-icon></button>
@@ -32,7 +33,8 @@ NxsCarouselDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
32
33
  </div>
33
34
  </div>
34
35
  `, isInline: true, 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%}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.NxsCarouselComponent, selector: "nxs-carousel", inputs: ["lazy", "images", "options", "hasHtmlContent"], outputs: ["slideChange", "slideClick"] }], encapsulation: i0.ViewEncapsulation.None });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NxsCarouselDialogComponent, decorators: [{
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselDialogComponent, decorators: [{
36
38
  type: Component,
37
39
  args: [{ selector: 'nxs-carousel-dialog', template: `
38
40
  <div class="nxs-carousel-dialog-flex-wrapper">
@@ -44,8 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
44
46
  </div>
45
47
  </div>
46
48
  `, encapsulation: ViewEncapsulation.None, 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%}\n"] }]
47
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
49
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
48
50
  type: Inject,
49
51
  args: [MAT_DIALOG_DATA]
50
- }] }, { type: i1.MatDialogRef }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbnhzLWNhcm91c2VsL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWtCekUsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUNvQyxJQUEyQixFQUNwRCxTQUFtRDtRQUQxQixTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUNwRCxjQUFTLEdBQVQsU0FBUyxDQUEwQztRQUh2RCxpQkFBWSxHQUFXLHNCQUFzQixDQUFDO1FBS2pELElBQUksSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLFlBQVksSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FDbEMsR0FBRyxFQUFFO1lBQ0QsMEJBQTBCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNuRCxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUNsQyxHQUFHLEVBQUU7WUFDRCwwQkFBMEIsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3BELENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7QUFuQk0sdUNBQVksR0FBRyxLQUFLLENBQUM7dUhBRG5CLDBCQUEwQixrQkFJdkIsZUFBZTsyR0FKbEIsMEJBQTBCLDJEQWJ6Qjs7Ozs7Ozs7O0tBU1Q7MkZBSVEsMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNJLHFCQUFxQixZQUNyQjs7Ozs7Ozs7O0tBU1QsaUJBRWMsaUJBQWlCLENBQUMsSUFBSTs7MEJBTWhDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhIH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254cy1jYXJvdXNlbC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctZmxleC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctaGVhZGVyXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCIgbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCI+XG4gICAgPG54cy1jYXJvdXNlbCBbb3B0aW9uc109XCJkYXRhLm9wdGlvbnNcIiBbaW1hZ2VzXT1cImRhdGEuaW1hZ2VzXCI+PC9ueHMtY2Fyb3VzZWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCB7XG4gICAgc3RhdGljIGRpYWxvZ09wZW5lZCA9IGZhbHNlO1xuICAgIHB1YmxpYyB3cmFwcGVyQ2xhc3M6IHN0cmluZyA9ICdueHMtY2Fyb3VzZWwtd3JhcHBlcic7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhLFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TnhzQ2Fyb3VzZWxEaWFsb2dDb21wb25lbnQ+LFxuICAgICkge1xuICAgICAgICBpZiAoZGF0YS53cmFwcGVyQ2xhc3MpXG4gICAgICAgICAgICB0aGlzLndyYXBwZXJDbGFzcyArPSAnICcgKyBkYXRhLndyYXBwZXJDbGFzcztcblxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudC5kaWFsb2dPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudC5kaWFsb2dPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
52
+ }] }, { type: i1.MatDialogRef }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbnhzLWNhcm91c2VsL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWtCekUsTUFBTSxPQUFPLDBCQUEwQjtJQUlDO0lBQ3pCO0lBSlgsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDckIsWUFBWSxHQUFXLHNCQUFzQixDQUFDO0lBQ3JELFlBQ29DLElBQTJCLEVBQ3BELFNBQW1EO1FBRDFCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBRTFELElBQUksSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLFlBQVksSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FDbEMsR0FBRyxFQUFFO1lBQ0QsMEJBQTBCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNuRCxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUNsQyxHQUFHLEVBQUU7WUFDRCwwQkFBMEIsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3BELENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzt1R0FwQlEsMEJBQTBCLGtCQUl2QixlQUFlOzJGQUpsQiwwQkFBMEIsMkRBYnpCOzs7Ozs7Ozs7S0FTVDs7MkZBSVEsMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNJLHFCQUFxQixZQUNyQjs7Ozs7Ozs7O0tBU1QsaUJBRWMsaUJBQWlCLENBQUMsSUFBSTs7MEJBTWhDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhIH0gZnJvbSAnLi9ueHMtY2Fyb3VzZWwtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ254cy1jYXJvdXNlbC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctZmxleC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm54cy1jYXJvdXNlbC1kaWFsb2ctaGVhZGVyXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCIgbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCI+XG4gICAgPG54cy1jYXJvdXNlbCBbb3B0aW9uc109XCJkYXRhLm9wdGlvbnNcIiBbaW1hZ2VzXT1cImRhdGEuaW1hZ2VzXCI+PC9ueHMtY2Fyb3VzZWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCB7XG4gICAgc3RhdGljIGRpYWxvZ09wZW5lZCA9IGZhbHNlO1xuICAgIHB1YmxpYyB3cmFwcGVyQ2xhc3M6IHN0cmluZyA9ICdueHMtY2Fyb3VzZWwtd3JhcHBlcic7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhLFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TnhzQ2Fyb3VzZWxEaWFsb2dDb21wb25lbnQ+LFxuICAgICkge1xuICAgICAgICBpZiAoZGF0YS53cmFwcGVyQ2xhc3MpXG4gICAgICAgICAgICB0aGlzLndyYXBwZXJDbGFzcyArPSAnICcgKyBkYXRhLndyYXBwZXJDbGFzcztcblxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudC5kaWFsb2dPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudC5kaWFsb2dPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,288 @@
1
+ import { Component, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, ContentChildren, TemplateRef } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { isPlatformBrowser } from '@angular/common';
4
+ import { EventsCollector } from 'nextalys-js-helpers/dist/events';
5
+ // import Swiper core and required modules
6
+ import SwiperCore, { Navigation, Pagination, Autoplay, Lazy, Thumbs } from 'swiper';
7
+ //Virtual,Scrollbar,A11y
8
+ import { SwiperComponent } from 'swiper/angular';
9
+ import { NxsSwiperTemplateDirective } from './swiper-directives';
10
+ import { NxsCarouselModuleConfig } from '../common-types';
11
+ import { CarouselEvents } from './carousel-events';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/material/dialog";
14
+ import * as i2 from "../common-types";
15
+ import * as i3 from "@angular/common";
16
+ import * as i4 from "swiper/angular";
17
+ // install Swiper modules
18
+ SwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);
19
+ export class NxsCarouselComponent {
20
+ matDialog;
21
+ zone;
22
+ platformId;
23
+ config;
24
+ swiperReady = false;
25
+ contents;
26
+ swiperComponent;
27
+ lazy = true;
28
+ eventsCollector = new EventsCollector();
29
+ images;
30
+ options = null;
31
+ thumbnailsOptions = null;
32
+ set setOptions(val) {
33
+ this.options = this.setDefaultOptions(val, false);
34
+ this.setThumbnailsOptions();
35
+ }
36
+ hasHtmlContent = false;
37
+ slidesCount = 0;
38
+ swiperInstance;
39
+ thumbnailsSwiperInstance;
40
+ slideChange = new EventEmitter();
41
+ currentSlide = 0;
42
+ slideClick = new EventEmitter();
43
+ isBrowser = false;
44
+ constructor(matDialog, zone, platformId, config) {
45
+ this.matDialog = matDialog;
46
+ this.zone = zone;
47
+ this.platformId = platformId;
48
+ this.config = config;
49
+ if (!this.config)
50
+ this.config = { debug: false };
51
+ this.isBrowser = isPlatformBrowser(this.platformId);
52
+ this.log('constructor - isBrowser', this.isBrowser);
53
+ this.options = this.setDefaultOptions(undefined, false);
54
+ }
55
+ log(...args) {
56
+ if (!this.config.debug)
57
+ return;
58
+ console.log('[NxsCarousel]', ...args);
59
+ }
60
+ destroy() {
61
+ if (!this.isBrowser) {
62
+ return;
63
+ }
64
+ this.eventsCollector?.unsubscribeAll();
65
+ }
66
+ ngOnDestroy() {
67
+ this.destroy();
68
+ }
69
+ ngAfterViewInit() {
70
+ // console.log('thi.contents', this.contents);
71
+ // this.initSlides();
72
+ // this.createSlider(true);
73
+ }
74
+ getMainSliderHeight() {
75
+ if (!this.options)
76
+ return '';
77
+ if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {
78
+ if (this.options.nxsThumbnails.onMainSlider) {
79
+ return '100%';
80
+ }
81
+ else if (this.options.nxsThumbnails.percentHeight) {
82
+ return (100 - this.options.nxsThumbnails.percentHeight) + '%';
83
+ }
84
+ }
85
+ return '';
86
+ }
87
+ setDefaultOptions(options, forDialog) {
88
+ if (!options && forDialog) {
89
+ options = {
90
+ nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,
91
+ lazy: this.lazy,
92
+ };
93
+ }
94
+ else if (!options) {
95
+ options = {
96
+ nxsShowNavigationBullets: true, loop: true,
97
+ nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},
98
+ lazy: this.lazy,
99
+ };
100
+ }
101
+ if (options.nxsCarouselDialogOptions) {
102
+ if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')
103
+ options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };
104
+ if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')
105
+ options.nxsCarouselDialogOptions.effect = 'slide';
106
+ if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')
107
+ options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;
108
+ if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {
109
+ if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')
110
+ options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;
111
+ if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')
112
+ options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;
113
+ options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {
114
+ 640: {
115
+ slidesPerView: 5,
116
+ },
117
+ 768: {
118
+ slidesPerView: 7,
119
+ },
120
+ 1024: {
121
+ slidesPerView: 8,
122
+ },
123
+ };
124
+ }
125
+ }
126
+ if (!options.nxsThumbnails)
127
+ options.nxsThumbnails = { show: false };
128
+ if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')
129
+ options.nxsThumbnails.percentHeight = 20;
130
+ if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')
131
+ options.nxsThumbnails.perView = 10;
132
+ if (forDialog)
133
+ options.nxsfullscreenOnClick = false;
134
+ if (options.nxsThumbnails.onMainSlider)
135
+ options.nxsShowNavigationBullets = false;
136
+ if (typeof options.lazy === 'undefined')
137
+ options.lazy = true;
138
+ if (typeof options.navigation === 'undefined')
139
+ options.navigation = true;
140
+ if (typeof options.pagination === 'undefined')
141
+ options.pagination = { clickable: true };
142
+ if (options.nxsShowNavigationBullets === false) {
143
+ options.pagination = false;
144
+ }
145
+ // console.log("Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options", options);
146
+ return options;
147
+ }
148
+ setThumbnailsOptions() {
149
+ if (!!this.options?.nxsThumbnails?.show) {
150
+ this.thumbnailsOptions = {
151
+ slidesPerView: this.options.nxsThumbnails.perView,
152
+ loop: false,
153
+ freeMode: true,
154
+ // watchSlidesVisibility: true,
155
+ watchSlidesProgress: true,
156
+ breakpoints: this.options.nxsThumbnails.breakpoints,
157
+ // spaceBetween: 10,
158
+ };
159
+ if (this.lazy) {
160
+ // Disable preloading of all images
161
+ this.thumbnailsOptions.preloadImages = false;
162
+ // Enable lazy loading
163
+ this.thumbnailsOptions.lazy = true;
164
+ }
165
+ // console.log("Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy", this.thumbnailsOptions.lazy);
166
+ // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);
167
+ // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };
168
+ }
169
+ }
170
+ showFullScreenCarousel(images, wrapperClass) {
171
+ this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);
172
+ const data = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };
173
+ CarouselEvents.openCarouselDialog?.emit({
174
+ data,
175
+ panelClass: 'nxs-carousel-dialog',
176
+ width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,
177
+ height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,
178
+ disableClose: !this.options.nxsCarouselDialogExitable,
179
+ });
180
+ }
181
+ goToSlide(index, speed) {
182
+ this.swiperInstance?.slideTo(index, speed);
183
+ }
184
+ next() {
185
+ this.swiperInstance?.slideNext();
186
+ }
187
+ previous() {
188
+ this.swiperInstance?.slidePrev();
189
+ }
190
+ onSwiperThumbnails(instance) {
191
+ if (this.options?.nxsThumbnails?.show)
192
+ this.thumbnailsSwiperInstance = instance;
193
+ else
194
+ this.thumbnailsSwiperInstance = null;
195
+ // if (this.options?.nxsThumbnails?.show) {
196
+ // const optionsClone = MainHelpers.cloneObject(this.options);
197
+ // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };
198
+ // // this.options = optionsClone;
199
+ // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };
200
+ // console.log("Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options ", this.options);
201
+ // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };
202
+ // }
203
+ }
204
+ onSwiper(instance) {
205
+ this.log('swiper ready - instance', instance);
206
+ this.swiperInstance = instance;
207
+ this.swiperInstance?.on('click', (swiperInstance, evt) => {
208
+ // console.log("Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt", evt);
209
+ const target = evt.target;
210
+ if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)
211
+ return;
212
+ this.runInZone(() => {
213
+ this.slideClick.next(evt);
214
+ if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {
215
+ this.showFullScreenCarousel(this.images, 'fullscreen-carousel');
216
+ }
217
+ });
218
+ });
219
+ this.swiperReady = true;
220
+ // $('.swiper-container').on('keydown keyup', function(e){
221
+ // if (e.keyCode==9) $('.swiper-container')[0].scrollLeft = 0;
222
+ // })
223
+ // console.log("Log ~ file: nxs-carousel.component.ts:254 ~ NxsCarouselComponent ~ this.swiperInstance.el.addEventListener ~ this.swiperInstance.el:", this.swiperInstance.el);
224
+ // this.swiperInstance.el.addEventListener('keydown', (evt) => {
225
+ // if (evt.keyCode === 9) {
226
+ // // evt.preventDefault();
227
+ // // this.swiperInstance.el.scrollLeft = 0;
228
+ // // this.swiperInstance.el.querySelectorAll('.swiper-wrapper')[0].scrollLeft = 0;
229
+ // // $('.swiper-container')[0].scrollLeft = 0;
230
+ // }
231
+ // });
232
+ // document.querySelectorAll()
233
+ }
234
+ runInZone(callback, ...args) {
235
+ if (!this.zone) {
236
+ callback(args);
237
+ }
238
+ return this.zone.run(() => callback(args));
239
+ }
240
+ onSlideChange(instances) {
241
+ if (!this.swiperReady) {
242
+ return;
243
+ }
244
+ if (!this.swiperInstance && instances?.length) {
245
+ this.swiperInstance = instances[0];
246
+ }
247
+ // console.log("Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:", instances);
248
+ // this.swiperInstance = instance;
249
+ // this.log('slide change - instance', instance);
250
+ this.runInZone(() => {
251
+ this.currentSlide = this.swiperInstance?.realIndex || 0;
252
+ // console.log("Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:", this.swiperInstance);
253
+ this.log('slide change - currentSlide', this.currentSlide);
254
+ this.slideChange.next(this.currentSlide);
255
+ });
256
+ }
257
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselComponent, deps: [{ token: i1.MatDialog }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: i2.NxsCarouselModuleConfig, optional: true }], target: i0.ɵɵFactoryTarget.Component });
258
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: NxsCarouselComponent, selector: "nxs-carousel", inputs: { lazy: "lazy", images: "images", setOptions: ["options", "setOptions"], hasHtmlContent: "hasHtmlContent" }, outputs: { slideChange: "slideChange", slideClick: "slideClick" }, queries: [{ propertyName: "contents", predicate: NxsSwiperTemplateDirective, read: TemplateRef }], viewQueries: [{ propertyName: "swiperComponent", first: true, predicate: ["swiper"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"options\"\n [ngClass]=\"{'swiper-container':true,'nxs-slider-with-thumbnails':!!options.nxsThumbnails && options.nxsThumbnails.show}\"\n [style.height]=\"getMainSliderHeight()\">\n <swiper [config]=\"options\" (swiper)=\"onSwiper($event)\" (slideChange)=\"onSlideChange($event)\"\n [thumbs]=\"{ swiper: thumbnailsSwiperInstance }\">\n <ng-container *ngIf=\"hasHtmlContent\">\n <ng-template *ngFor=\"let slide of contents\" swiperSlide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!hasHtmlContent && images?.length\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\"\n [attr.data-src]=\"lazy ? slideImage.src : null\" [src]=\"lazy ? null : slideImage.src\"\n [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </ng-container>\n </swiper>\n <ng-container *ngIf=\"images && options.nxsShowImagesCount\">\n <div class=\"nxs-image-counter\">\n {{currentSlide+1}} / {{images.length}}\n </div>\n </ng-container>\n</div>\n\n<div *ngIf=\"thumbnailsOptions && images?.length\"\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 <swiper [config]=\"thumbnailsOptions\" (swiper)=\"onSwiperThumbnails($event)\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.data-src]=\"lazy ? slideImage.src : null\"\n [src]=\"lazy ? null : slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </swiper>\n</div>", styles: ["nxs-carousel{display:block;height:100%;position:relative;--swiper-navigation-color: #fff;--swiper-pagination-color: #fff;--swiper-theme-color: #fff}nxs-carousel .swiper-container{width:100%;height:100%;display:block;position:relative}nxs-carousel .swiper-container swiper{height:100%}nxs-carousel .swiper-container .swiper-wrapper .swiper-slide{height:100%;position:relative;width:auto;min-height:50px;background-size:cover;background-position:center;background-repeat:no-repeat}nxs-carousel .swiper-container .nxs-image-slide{height:100%;-o-object-fit:cover;object-fit:cover;width:100%;-o-object-position:center;object-position:center}nxs-carousel .swiper-container.nxs-slider-with-thumbnails{height:80%}nxs-carousel .swiper-container.nxs-slider-thumbnails-container{height:20%;background:transparent;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 lightblue}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}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i4.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }], encapsulation: i0.ViewEncapsulation.None });
259
+ }
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselComponent, decorators: [{
261
+ type: Component,
262
+ args: [{ selector: 'nxs-carousel', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"options\"\n [ngClass]=\"{'swiper-container':true,'nxs-slider-with-thumbnails':!!options.nxsThumbnails && options.nxsThumbnails.show}\"\n [style.height]=\"getMainSliderHeight()\">\n <swiper [config]=\"options\" (swiper)=\"onSwiper($event)\" (slideChange)=\"onSlideChange($event)\"\n [thumbs]=\"{ swiper: thumbnailsSwiperInstance }\">\n <ng-container *ngIf=\"hasHtmlContent\">\n <ng-template *ngFor=\"let slide of contents\" swiperSlide>\n <ng-template [ngTemplateOutlet]=\"slide\" [ngTemplateOutletContext]=\"{\n $implicit: slide\n }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!hasHtmlContent && images?.length\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\"\n [attr.data-src]=\"lazy ? slideImage.src : null\" [src]=\"lazy ? null : slideImage.src\"\n [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </ng-container>\n </swiper>\n <ng-container *ngIf=\"images && options.nxsShowImagesCount\">\n <div class=\"nxs-image-counter\">\n {{currentSlide+1}} / {{images.length}}\n </div>\n </ng-container>\n</div>\n\n<div *ngIf=\"thumbnailsOptions && images?.length\"\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 <swiper [config]=\"thumbnailsOptions\" (swiper)=\"onSwiperThumbnails($event)\">\n <ng-template swiperSlide *ngFor=\"let slideImage of images\">\n <img [ngClass]=\"{'nxs-image-slide':true,'swiper-lazy':lazy}\" [attr.data-src]=\"lazy ? slideImage.src : null\"\n [src]=\"lazy ? null : slideImage.src\" [attr.alt]=\"slideImage.alt\" />\n <div *ngIf=\"lazy\" class=\"swiper-lazy-preloader swiper-lazy-preloader-black\"></div>\n </ng-template>\n </swiper>\n</div>", styles: ["nxs-carousel{display:block;height:100%;position:relative;--swiper-navigation-color: #fff;--swiper-pagination-color: #fff;--swiper-theme-color: #fff}nxs-carousel .swiper-container{width:100%;height:100%;display:block;position:relative}nxs-carousel .swiper-container swiper{height:100%}nxs-carousel .swiper-container .swiper-wrapper .swiper-slide{height:100%;position:relative;width:auto;min-height:50px;background-size:cover;background-position:center;background-repeat:no-repeat}nxs-carousel .swiper-container .nxs-image-slide{height:100%;-o-object-fit:cover;object-fit:cover;width:100%;-o-object-position:center;object-position:center}nxs-carousel .swiper-container.nxs-slider-with-thumbnails{height:80%}nxs-carousel .swiper-container.nxs-slider-thumbnails-container{height:20%;background:transparent;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 lightblue}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}\n"] }]
263
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i0.NgZone }, { type: undefined, decorators: [{
264
+ type: Inject,
265
+ args: [PLATFORM_ID]
266
+ }] }, { type: i2.NxsCarouselModuleConfig, decorators: [{
267
+ type: Optional
268
+ }] }], propDecorators: { contents: [{
269
+ type: ContentChildren,
270
+ args: [NxsSwiperTemplateDirective, { read: TemplateRef }]
271
+ }], swiperComponent: [{
272
+ type: ViewChild,
273
+ args: ['swiper', { static: false }]
274
+ }], lazy: [{
275
+ type: Input
276
+ }], images: [{
277
+ type: Input
278
+ }], setOptions: [{
279
+ type: Input,
280
+ args: ['options']
281
+ }], hasHtmlContent: [{
282
+ type: Input
283
+ }], slideChange: [{
284
+ type: Output
285
+ }], slideClick: [{
286
+ type: Output
287
+ }] } });
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUUxTCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLDBDQUEwQztBQUMxQyxPQUFPLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBeUIsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNHLHdCQUF3QjtBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBRW5ELHlCQUF5QjtBQUN6QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxD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SUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBdlFRLG9CQUFvQixpRUFtQ2pCLFdBQVc7MkZBbkNkLG9CQUFvQixxUUFFWiwwQkFBMEIsUUFBVSxXQUFXLHdJQ3ZCcEUsb2pGQXVDTTs7MkZEbEJPLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDSSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUk7OzBCQXFDaEMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsUUFBUTt5Q0FqQ2IsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHbEUsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR3RDLElBQUk7c0JBREgsS0FBSztnQkFLQyxNQUFNO3NCQURaLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO3VCQUFDLFNBQVM7Z0JBTWhCLGNBQWM7c0JBRGIsS0FBSztnQkFPTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFBMQVRGT1JNX0lELCBJbmplY3QsIE9wdGlvbmFsLCBOZ1pvbmUsIENvbnRlbnRDaGlsZHJlbiwgVGVtcGxhdGVSZWYsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOeHNDYXJvdXNlbERpYWxvZ0RhdGEsIE54c0Nhcm91c2VsT3B0aW9ucyB9IGZyb20gJy4vbnhzLWNhcm91c2VsLXR5cGVzJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdmVudHNDb2xsZWN0b3IgfSBmcm9tICduZXh0YWx5cy1qcy1oZWxwZXJzL2Rpc3QvZXZlbnRzJztcbi8vIGltcG9ydCBTd2lwZXIgY29yZSBhbmQgcmVxdWlyZWQgbW9kdWxlc1xuaW1wb3J0IFN3aXBlckNvcmUsIHsgTmF2aWdhdGlvbiwgUGFnaW5hdGlvbiwgQXV0b3BsYXksIExhenksIFN3aXBlciwgU3dpcGVyT3B0aW9ucywgVGh1bWJzIH0gZnJvbSAnc3dpcGVyJztcbi8vVmlydHVhbCxTY3JvbGxiYXIsQTExeVxuaW1wb3J0IHsgU3dpcGVyQ29tcG9uZW50IH0gZnJvbSAnc3dpcGVyL2FuZ3VsYXInO1xuaW1wb3J0IHsgTnhzU3dpcGVyVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3N3aXBlci1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE54c0Nhcm91c2VsSW1hZ2UsIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uLXR5cGVzJztcbmltcG9ydCB7IENhcm91c2VsRXZlbnRzIH0gZnJvbSAnLi9jYXJvdXNlbC1ldmVudHMnO1xuXG4vLyBpbnN0YWxsIFN3aXBlciBtb2R1bGVzXG5Td2lwZXJDb3JlLnVzZShbTmF2aWdhdGlvbiwgUGFnaW5hdGlvbiwgQXV0b3BsYXksIExhenksIFRodW1ic10pO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdueHMtY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ueHMtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL254cy1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHN3aXBlclJlYWR5ID0gZmFsc2U7XG4gICAgQENvbnRlbnRDaGlsZHJlbihOeHNTd2lwZXJUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGNvbnRlbnRzITogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+W107XG4gICAgQFZpZXdDaGlsZCgnc3dpcGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgc3dpcGVyQ29tcG9uZW50PzogU3dpcGVyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpXG4gICAgbGF6eSA9IHRydWU7XG4gICAgcHJpdmF0ZSBldmVudHNDb2xsZWN0b3IgPSBuZXcgRXZlbnRzQ29sbGVjdG9yKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZXM6IE54c0Nhcm91c2VsSW1hZ2VbXTtcbiAgICBvcHRpb25zOiBOeHNDYXJvdXNlbE9wdGlvbnMgPSBudWxsO1xuICAgIHRodW1ibmFpbHNPcHRpb25zOiBTd2lwZXJPcHRpb25zID0gbnVsbDtcbiAgICBASW5wdXQoJ29wdGlvbnMnKVxuICAgIHNldCBzZXRPcHRpb25zKHZhbDogTnhzQ2Fyb3VzZWxPcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuc2V0RGVmYXVsdE9wdGlvbnModmFsLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0VGh1bWJuYWlsc09wdGlvbnMoKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBoYXNIdG1sQ29udGVudCA9IGZhbHNlO1xuICAgIHNsaWRlc0NvdW50OiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgc3dpcGVySW5zdGFuY2U6IFN3aXBlcjtcbiAgICB0aHVtYm5haWxzU3dpcGVySW5zdGFuY2U6IFN3aXBlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHNsaWRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgcHVibGljIGN1cnJlbnRTbGlkZSA9IDA7XG4gICAgQE91dHB1dCgpXG4gICAgc2xpZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IFRvdWNoRXZlbnQgfCBQb2ludGVyRXZlbnQ+KCk7XG4gICAgaXNCcm93c2VyID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZz86IE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnLFxuXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcpXG4gICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHsgZGVidWc6IGZhbHNlIH07XG4gICAgICAgIHRoaXMuaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgICAgICAgdGhpcy5sb2coJ2NvbnN0cnVjdG9yIC0gaXNCcm93c2VyJywgdGhpcy5pc0Jyb3dzZXIpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnNldERlZmF1bHRPcHRpb25zKHVuZGVmaW5lZCwgZmFsc2UpO1xuICAgIH1cbiAgICBwcml2YXRlIGxvZyguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmRlYnVnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zb2xlLmxvZygnW054c0Nhcm91c2VsXScsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICBwcml2YXRlIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50c0NvbGxlY3Rvcj8udW5zdWJzY3JpYmVBbGwoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGkuY29udGVudHMnLCB0aGlzLmNvbnRlbnRzKTtcbiAgICAgICAgLy8gdGhpcy5pbml0U2xpZGVzKCk7XG4gICAgICAgIC8vIHRoaXMuY3JlYXRlU2xpZGVyKHRydWUpO1xuICAgIH1cbiAgICBnZXRNYWluU2xpZGVySGVpZ2h0KCkge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucylcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMTAwIC0gdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkgKyAnJSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBwcml2YXRlIHNldERlZmF1bHRPcHRpb25zKG9wdGlvbnM6IE54c0Nhcm91c2VsT3B0aW9ucywgZm9yRGlhbG9nOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghb3B0aW9ucyAmJiBmb3JEaWFsb2cpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgbnhzU2hvd05hdmlnYXRpb25CdWxsZXRzOiB0cnVlLCBsb29wOiB0cnVlLCBueHNUaHVtYm5haWxzOiB7IHNob3c6IHRydWUgfSwgZWZmZWN0OiAnc2xpZGUnLCBueHNTaG93TmF2aWdhdGlvbkFycm93czogdHJ1ZSwgbnhzU2hvd0ltYWdlc0NvdW50OiB0cnVlLFxuICAgICAgICAgICAgICAgIGxhenk6IHRoaXMubGF6eSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIW9wdGlvbnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgbnhzU2hvd05hdmlnYXRpb25CdWxsZXRzOiB0cnVlLCBsb29wOiB0cnVlLFxuICAgICAgICAgICAgICAgIG54c1RodW1ibmFpbHM6IHsgc2hvdzogZmFsc2UgfSwgZWZmZWN0OiAnc2xpZGUnLCBueHNTaG93TmF2aWdhdGlvbkFycm93czogdHJ1ZSwgbnhzU2hvd0ltYWdlc0NvdW50OiBmYWxzZSwgbnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zOiB7fSxcbiAgICAgICAgICAgICAgICBsYXp5OiB0aGlzLmxhenksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzID0geyBzaG93OiBmYWxzZSB9O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5lZmZlY3QgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLmVmZmVjdCA9ICdzbGlkZSc7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQXJyb3dzID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNTaG93TmF2aWdhdGlvbkFycm93cyA9IHRydWU7XG5cbiAgICAgICAgICAgIGlmICghIW9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHM/LnNob3cpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9IDIwO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID0gMTA7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5icmVha3BvaW50cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgNjQwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiA1LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICA3Njg6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIDEwMjQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDgsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9wdGlvbnMubnhzVGh1bWJuYWlscylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzVGh1bWJuYWlscyA9IHsgc2hvdzogZmFsc2UgfTtcblxuICAgICAgICBpZiAob3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgdHlwZW9mIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID0gMjA7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93ICYmIHR5cGVvZiBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9IDEwO1xuXG5cbiAgICAgICAgaWYgKGZvckRpYWxvZylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzZnVsbHNjcmVlbk9uQ2xpY2sgPSBmYWxzZTtcbiAgICAgICAgaWYgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXIpXG4gICAgICAgICAgICBvcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0cyA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5sYXp5ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMubGF6eSA9IHRydWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm5hdmlnYXRpb24gPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgb3B0aW9ucy5uYXZpZ2F0aW9uID0gdHJ1ZTtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLnBhZ2luYXRpb24gPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgb3B0aW9ucy5wYWdpbmF0aW9uID0geyBjbGlja2FibGU6IHRydWUgfTtcblxuICAgICAgICBpZiAob3B0aW9ucy5ueHNTaG93TmF2aWdhdGlvbkJ1bGxldHMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvcHRpb25zLnBhZ2luYXRpb24gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkxvZyB+IGZpbGU6IG54cy1jYXJvdXNlbC5jb21wb25lbnQudHMgfiBsaW5lIDI3MiB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gc2V0RGVmYXVsdE9wdGlvbnMgfiBvcHRpb25zXCIsIG9wdGlvbnMpO1xuXG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VGh1bWJuYWlsc09wdGlvbnMoKSB7XG4gICAgICAgIGlmICghIXRoaXMub3B0aW9ucz8ubnhzVGh1bWJuYWlscz8uc2hvdykge1xuICAgICAgICAgICAgdGhpcy50aHVtYm5haWxzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3LFxuICAgICAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZyZWVNb2RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIHdhdGNoU2xpZGVzVmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3YXRjaFNsaWRlc1Byb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRzOiB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5icmVha3BvaW50cyxcbiAgICAgICAgICAgICAgICAvLyBzcGFjZUJldHdlZW46IDEwLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIHByZWxvYWRpbmcgb2YgYWxsIGltYWdlc1xuICAgICAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc09wdGlvbnMucHJlbG9hZEltYWdlcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBsYXp5IGxvYWRpbmdcbiAgICAgICAgICAgICAgICB0aGlzLnRodW1ibmFpbHNPcHRpb25zLmxhenkgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2cgfiBmaWxlOiBueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzIH4gbGluZSAxODQgfiBOeHNDYXJvdXNlbENvbXBvbmVudCB+IHNldFRodW1ibmFpbHNPcHRpb25zIH4gICB0aGlzLnRodW1ibmFpbHNPcHRpb25zLmxhenlcIiwgdGhpcy50aHVtYm5haWxzT3B0aW9ucy5sYXp5KTtcblxuICAgICAgICAgICAgLy8gdGhpcy50aHVtYm5haWxzU2xpZGVySW5zdGFuY2UgPSBuZXcgU3dpcGVyKHRoaXMubnhzVGh1bWJuYWlsc1NsaWRlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aHVtYm5haWxzT3B0aW9ucyk7XG4gICAgICAgICAgICAvLyB0aGlzLm9wdGlvbnMudGh1bWJzID0geyBzd2lwZXI6IHRoaXMudGh1bWJuYWlsc1NsaWRlckluc3RhbmNlIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIHNob3dGdWxsU2NyZWVuQ2Fyb3VzZWwoaW1hZ2VzOiBOeHNDYXJvdXNlbEltYWdlW10sIHdyYXBwZXJDbGFzcz86IHN0cmluZykge1xuICAgICAgICB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zID0gdGhpcy5zZXREZWZhdWx0T3B0aW9ucyh0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZGF0YTogTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhID0geyBpbWFnZXMsIHdyYXBwZXJDbGFzcywgb3B0aW9uczogdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucyB9O1xuICAgICAgICBDYXJvdXNlbEV2ZW50cy5vcGVuQ2Fyb3VzZWxEaWFsb2c/LmVtaXQoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdueHMtY2Fyb3VzZWwtZGlhbG9nJyxcbiAgICAgICAgICAgIHdpZHRoOiAhIXRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUgPyB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dTaXplLndpZHRoIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaGVpZ2h0OiAhIXRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUgPyB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dTaXplLmhlaWdodCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogIXRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ0V4aXRhYmxlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ29Ub1NsaWRlKGluZGV4OiBudW1iZXIsIHNwZWVkPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2U/LnNsaWRlVG8oaW5kZXgsIHNwZWVkKTtcbiAgICB9XG4gICAgbmV4dCgpIHtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZT8uc2xpZGVOZXh0KCk7XG4gICAgfVxuICAgIHByZXZpb3VzKCkge1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlPy5zbGlkZVByZXYoKTtcbiAgICB9XG4gICAgb25Td2lwZXJUaHVtYm5haWxzKGluc3RhbmNlOiBTd2lwZXIpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubnhzVGh1bWJuYWlscz8uc2hvdylcbiAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc1N3aXBlckluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc1N3aXBlckluc3RhbmNlID0gbnVsbDtcblxuICAgICAgICAvLyBpZiAodGhpcy5vcHRpb25zPy5ueHNUaHVtYm5haWxzPy5zaG93KSB7XG4gICAgICAgIC8vICAgICBjb25zdCBvcHRpb25zQ2xvbmUgPSBNYWluSGVscGVycy5jbG9uZU9iamVjdCh0aGlzLm9wdGlvbnMpO1xuICAgICAgICAvLyAgICAgb3B0aW9uc0Nsb25lLnRodW1icyA9IHsgc3dpcGVyOiB0aGlzLnRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSB9O1xuICAgICAgICAvLyAgICAgLy8gdGhpcy5vcHRpb25zID0gb3B0aW9uc0Nsb25lO1xuICAgICAgICAvLyAgICAgLy8gdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIHRodW1iczogeyBzd2lwZXI6IHRoaXMudGh1bWJuYWlsc1N3aXBlckluc3RhbmNlIH0gfTtcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyB+IGxpbmUgNDE2IH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiBvblN3aXBlclRodW1ibmFpbHMgfiAgICB0aGlzLm9wdGlvbnMgXCIsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIC8vICAgICB0aGlzLm9wdGlvbnMudGh1bWJzID0geyBzd2lwZXI6IHRoaXMudGh1bWJuYWlsc1N3aXBlckluc3RhbmNlIH07XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgb25Td2lwZXIoaW5zdGFuY2U6IFN3aXBlcikge1xuICAgICAgICB0aGlzLmxvZygnc3dpcGVyIHJlYWR5IC0gaW5zdGFuY2UnLCBpbnN0YW5jZSk7XG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZT8ub24oJ2NsaWNrJywgKHN3aXBlckluc3RhbmNlLCBldnQpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyB+IGxpbmUgMzkyIH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiB0aGlzLnN3aXBlckluc3RhbmNlLm9uIH4gZXZ0XCIsIGV2dCk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKHRhcmdldC5jbGFzc05hbWUuaW5kZXhPZignbnhzLWNhcm91c2VsLWJ1dHRvbicpICE9PSAtMSB8fCB0YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ3N3aXBlci1wYWdpbmF0aW9uJykgIT09IC0xKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMucnVuSW5ab25lKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNsaWRlQ2xpY2submV4dChldnQpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubnhzZnVsbHNjcmVlbk9uQ2xpY2sgJiYgdGhpcy5pbWFnZXMgJiYgdGhpcy5pbWFnZXMubGVuZ3RoICYmICF0aGlzLmhhc0h0bWxDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Z1bGxTY3JlZW5DYXJvdXNlbCh0aGlzLmltYWdlcywgJ2Z1bGxzY3JlZW4tY2Fyb3VzZWwnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3dpcGVyUmVhZHkgPSB0cnVlO1xuXG4gICAgICAgIC8vICQoJy5zd2lwZXItY29udGFpbmVyJykub24oJ2tleWRvd24ga2V5dXAnLCBmdW5jdGlvbihlKXtcbiAgICAgICAgLy8gICAgIGlmIChlLmtleUNvZGU9PTkpICQoJy5zd2lwZXItY29udGFpbmVyJylbMF0uc2Nyb2xsTGVmdCA9IDA7XG4gICAgICAgIC8vICAgfSlcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2cgfiBmaWxlOiBueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzOjI1NCB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gdGhpcy5zd2lwZXJJbnN0YW5jZS5lbC5hZGRFdmVudExpc3RlbmVyIH4gICB0aGlzLnN3aXBlckluc3RhbmNlLmVsOlwiLCB0aGlzLnN3aXBlckluc3RhbmNlLmVsKTtcblxuICAgICAgICAvLyB0aGlzLnN3aXBlckluc3RhbmNlLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZ0KSA9PiB7XG5cbiAgICAgICAgLy8gICAgIGlmIChldnQua2V5Q29kZSA9PT0gOSkge1xuICAgICAgICAvLyAgICAgICAgIC8vIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAvLyAgICAgICAgIC8vIHRoaXMuc3dpcGVySW5zdGFuY2UuZWwuc2Nyb2xsTGVmdCA9IDA7XG5cbiAgICAgICAgLy8gICAgICAgICAvLyB0aGlzLnN3aXBlckluc3RhbmNlLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zd2lwZXItd3JhcHBlcicpWzBdLnNjcm9sbExlZnQgPSAwO1xuICAgICAgICAvLyAgICAgICAgIC8vICQoJy5zd2lwZXItY29udGFpbmVyJylbMF0uc2Nyb2xsTGVmdCA9IDA7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0pO1xuICAgICAgICAvLyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKClcbiAgICB9XG4gICAgcHJpdmF0ZSBydW5JblpvbmU8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZD4oY2FsbGJhY2s6IFQsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy56b25lKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiBjYWxsYmFjayhhcmdzKSk7XG4gICAgfVxuXG4gICAgb25TbGlkZUNoYW5nZShpbnN0YW5jZXM6IFN3aXBlcltdKSB7XG4gICAgICAgIGlmICghdGhpcy5zd2lwZXJSZWFkeSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5zd2lwZXJJbnN0YW5jZSAmJiBpbnN0YW5jZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IGluc3RhbmNlc1swXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkxvZyB+IGZpbGU6IG54cy1jYXJvdXNlbC5jb21wb25lbnQudHM6MjUyIH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiBvblNsaWRlQ2hhbmdlIH4gaW5zdGFuY2VzOlwiLCBpbnN0YW5jZXMpO1xuICAgICAgICAvLyB0aGlzLnN3aXBlckluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIC8vIHRoaXMubG9nKCdzbGlkZSBjaGFuZ2UgLSBpbnN0YW5jZScsIGluc3RhbmNlKTtcbiAgICAgICAgdGhpcy5ydW5JblpvbmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUgPSB0aGlzLnN3aXBlckluc3RhbmNlPy5yZWFsSW5kZXggfHwgMDtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50czoyNTYgfiBOeHNDYXJvdXNlbENvbXBvbmVudCB+IHRoaXMucnVuSW5ab25lIH4gdGhpcy5zd2lwZXJJbnN0YW5jZT8ucmVhbEluZGV4OlwiLCB0aGlzLnN3aXBlckluc3RhbmNlKTtcbiAgICAgICAgICAgIHRoaXMubG9nKCdzbGlkZSBjaGFuZ2UgLSBjdXJyZW50U2xpZGUnLCB0aGlzLmN1cnJlbnRTbGlkZSk7XG4gICAgICAgICAgICB0aGlzLnNsaWRlQ2hhbmdlLm5leHQodGhpcy5jdXJyZW50U2xpZGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwib3B0aW9uc1wiXG4gICAgW25nQ2xhc3NdPVwieydzd2lwZXItY29udGFpbmVyJzp0cnVlLCdueHMtc2xpZGVyLXdpdGgtdGh1bWJuYWlscyc6ISFvcHRpb25zLm54c1RodW1ibmFpbHMgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3d9XCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImdldE1haW5TbGlkZXJIZWlnaHQoKVwiPlxuICAgIDxzd2lwZXIgW2NvbmZpZ109XCJvcHRpb25zXCIgKHN3aXBlcik9XCJvblN3aXBlcigkZXZlbnQpXCIgKHNsaWRlQ2hhbmdlKT1cIm9uU2xpZGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFt0aHVtYnNdPVwieyBzd2lwZXI6IHRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSB9XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNIdG1sQ29udGVudFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBjb250ZW50c1wiIHN3aXBlclNsaWRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzbGlkZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzbGlkZVxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0h0bWxDb250ZW50ICYmIGltYWdlcz8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgc3dpcGVyU2xpZGUgKm5nRm9yPVwibGV0IHNsaWRlSW1hZ2Ugb2YgaW1hZ2VzXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbbmdDbGFzc109XCJ7J254cy1pbWFnZS1zbGlkZSc6dHJ1ZSwnc3dpcGVyLWxhenknOmxhenl9XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1zcmNdPVwibGF6eSA/IHNsaWRlSW1hZ2Uuc3JjIDogbnVsbFwiIFtzcmNdPVwibGF6eSA/IG51bGwgOiBzbGlkZUltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFsdF09XCJzbGlkZUltYWdlLmFsdFwiIC8+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxhenlcIiBjbGFzcz1cInN3aXBlci1sYXp5LXByZWxvYWRlciBzd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2tcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3dpcGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbWFnZXMgJiYgb3B0aW9ucy5ueHNTaG93SW1hZ2VzQ291bnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm54cy1pbWFnZS1jb3VudGVyXCI+XG4gICAgICAgICAgICB7e2N1cnJlbnRTbGlkZSsxfX0gLyB7e2ltYWdlcy5sZW5ndGh9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwidGh1bWJuYWlsc09wdGlvbnMgJiYgaW1hZ2VzPy5sZW5ndGhcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiKCEhb3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIG9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93ICYmICEhb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQpID8gIChvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCArICclJyk6JydcIlxuICAgIFtzdHlsZS50b3BdPVwiKCEhb3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIG9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93ICYmICEhb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLm9uTWFpblNsaWRlcikgPyAgKCctJyArIChvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkgKyAnJScpOicnXCJcbiAgICBbbmdDbGFzc109XCJ7J3N3aXBlci1jb250YWluZXInOnRydWUsICdueHMtc2xpZGVyLXRodW1ibmFpbHMtY29udGFpbmVyJzp0cnVlLCdueHMtc2xpZGVyLXRodW1ibmFpbHMtb24tbWFpbi1zbGlkZXInOm9wdGlvbnMubnhzVGh1bWJuYWlscyAmJiBvcHRpb25zLm54c1RodW1ibmFpbHMub25NYWluU2xpZGVyfVwiPlxuICAgIDxzd2lwZXIgW2NvbmZpZ109XCJ0aHVtYm5haWxzT3B0aW9uc1wiIChzd2lwZXIpPVwib25Td2lwZXJUaHVtYm5haWxzKCRldmVudClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHN3aXBlclNsaWRlICpuZ0Zvcj1cImxldCBzbGlkZUltYWdlIG9mIGltYWdlc1wiPlxuICAgICAgICAgICAgPGltZyBbbmdDbGFzc109XCJ7J254cy1pbWFnZS1zbGlkZSc6dHJ1ZSwnc3dpcGVyLWxhenknOmxhenl9XCIgW2F0dHIuZGF0YS1zcmNdPVwibGF6eSA/IHNsaWRlSW1hZ2Uuc3JjIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJsYXp5ID8gbnVsbCA6IHNsaWRlSW1hZ2Uuc3JjXCIgW2F0dHIuYWx0XT1cInNsaWRlSW1hZ2UuYWx0XCIgLz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsYXp5XCIgY2xhc3M9XCJzd2lwZXItbGF6eS1wcmVsb2FkZXIgc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrXCI+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zd2lwZXI+XG48L2Rpdj4iXX0=
@@ -0,0 +1,75 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatDialog, MatDialogModule } from '@angular/material/dialog';
7
+ import { NxsCarouselComponent } from './nxs-carousel.component';
8
+ import { SwiperModule } from 'swiper/angular';
9
+ import { NxsSwiperTemplateDirective } from './swiper-directives';
10
+ import { NxsCarouselModuleConfig } from '../common-types';
11
+ import { CarouselEvents } from './carousel-events';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/material/dialog";
14
+ export class NxsCarouselModule {
15
+ static openDialogSubscribed = false;
16
+ constructor(matDialog) {
17
+ NxsCarouselModule.subscribeToOpenDialog(matDialog);
18
+ }
19
+ static subscribeToOpenDialog(matDialog) {
20
+ if (this.openDialogSubscribed) {
21
+ return;
22
+ }
23
+ this.openDialogSubscribed = true;
24
+ CarouselEvents.openCarouselDialog.subscribe((data) => {
25
+ if (NxsCarouselDialogComponent.dialogOpened) {
26
+ return;
27
+ }
28
+ matDialog.open(NxsCarouselDialogComponent, data);
29
+ });
30
+ }
31
+ static forRoot(config) {
32
+ return {
33
+ ngModule: NxsCarouselModule,
34
+ providers: [
35
+ { provide: NxsCarouselModuleConfig, useValue: config },
36
+ ],
37
+ };
38
+ }
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselModule, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.NgModule });
40
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselModule, declarations: [NxsCarouselComponent,
41
+ NxsCarouselDialogComponent,
42
+ NxsSwiperTemplateDirective], imports: [CommonModule,
43
+ MatIconModule,
44
+ MatButtonModule,
45
+ MatDialogModule,
46
+ SwiperModule], exports: [NxsCarouselComponent,
47
+ NxsSwiperTemplateDirective] });
48
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselModule, imports: [CommonModule,
49
+ MatIconModule,
50
+ MatButtonModule,
51
+ MatDialogModule,
52
+ SwiperModule] });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsCarouselModule, decorators: [{
55
+ type: NgModule,
56
+ args: [{
57
+ declarations: [
58
+ NxsCarouselComponent,
59
+ NxsCarouselDialogComponent,
60
+ NxsSwiperTemplateDirective,
61
+ ],
62
+ imports: [
63
+ CommonModule,
64
+ MatIconModule,
65
+ MatButtonModule,
66
+ MatDialogModule,
67
+ SwiperModule,
68
+ ],
69
+ exports: [
70
+ NxsCarouselComponent,
71
+ NxsSwiperTemplateDirective,
72
+ ],
73
+ }]
74
+ }], ctorParameters: () => [{ type: i1.MatDialog }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQW9CbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixNQUFNLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLFlBQ0ksU0FBb0I7UUFFcEIsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxTQUFvQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqRCxJQUFJLDBCQUEwQixDQUFDLFlBQVksRUFBRTtnQkFDekMsT0FBTzthQUNWO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDTSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWdDO1FBQ2xELE9BQU87WUFDSCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDUCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQ3pEO1NBQ0osQ0FBQztJQUNOLENBQUM7dUdBMUJRLGlCQUFpQjt3R0FBakIsaUJBQWlCLGlCQWhCdEIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwwQkFBMEIsYUFHMUIsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVksYUFHWixvQkFBb0I7WUFDcEIsMEJBQTBCO3dHQUdyQixpQkFBaUIsWUFYdEIsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7OzJGQU9QLGlCQUFpQjtrQkFsQjdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3FCQUM3QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL254cy1jYXJvdXNlbC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOeHNDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vbnhzLWNhcm91c2VsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICdzd2lwZXIvYW5ndWxhcic7XG5pbXBvcnQgeyBOeHNTd2lwZXJUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vc3dpcGVyLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxNb2R1bGVDb25maWcgfSBmcm9tICcuLi9jb21tb24tdHlwZXMnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxFdmVudHMgfSBmcm9tICcuL2Nhcm91c2VsLWV2ZW50cyc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE54c0Nhcm91c2VsQ29tcG9uZW50LFxuICAgICAgICBOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTnhzU3dpcGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIFN3aXBlck1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTnhzQ2Fyb3VzZWxDb21wb25lbnQsXG4gICAgICAgIE54c1N3aXBlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsTW9kdWxlIHtcbiAgICBzdGF0aWMgb3BlbkRpYWxvZ1N1YnNjcmliZWQgPSBmYWxzZTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgKSB7XG4gICAgICAgIE54c0Nhcm91c2VsTW9kdWxlLnN1YnNjcmliZVRvT3BlbkRpYWxvZyhtYXREaWFsb2cpO1xuICAgIH1cbiAgICBzdGF0aWMgc3Vic2NyaWJlVG9PcGVuRGlhbG9nKG1hdERpYWxvZzogTWF0RGlhbG9nKSB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5EaWFsb2dTdWJzY3JpYmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nU3Vic2NyaWJlZCA9IHRydWU7XG4gICAgICAgIENhcm91c2VsRXZlbnRzLm9wZW5DYXJvdXNlbERpYWxvZy5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgIGlmIChOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudC5kaWFsb2dPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXREaWFsb2cub3BlbihOeHNDYXJvdXNlbERpYWxvZ0NvbXBvbmVudCwgZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnPzogTnhzQ2Fyb3VzZWxNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE54c0Nhcm91c2VsTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTnhzQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn0iXX0=
@@ -1,13 +1,13 @@
1
1
  import { Directive } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class NxsSwiperTemplateDirective {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsSwiperTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: NxsSwiperTemplateDirective, selector: "[nxsSwiperTemplate]", ngImport: i0 });
4
6
  }
5
- NxsSwiperTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- NxsSwiperTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: NxsSwiperTemplateDirective, selector: "[nxsSwiperTemplate]", ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NxsSwiperTemplateDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NxsSwiperTemplateDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[nxsSwiperTemplate]',
11
11
  }]
12
12
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbnhzLWNhcm91c2VsL3N3aXBlci1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFDLE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbnhzU3dpcGVyVGVtcGxhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgTnhzU3dpcGVyVGVtcGxhdGVEaXJlY3RpdmUgeyB9XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbnhzLWNhcm91c2VsL3N3aXBlci1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFDLE1BQU0sT0FBTywwQkFBMEI7dUdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbnhzU3dpcGVyVGVtcGxhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgTnhzU3dpcGVyVGVtcGxhdGVEaXJlY3RpdmUgeyB9XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export class NxsCarouselModuleConfig {
2
+ debug = false;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2NvbW1vbi10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssR0FBYSxLQUFLLENBQUM7Q0FDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgTnhzQ2Fyb3VzZWxJbWFnZSB7XG4gICAgYWx0Pzogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIE54c0Nhcm91c2VsTW9kdWxlQ29uZmlnIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW4gPSBmYWxzZTtcbn0iXX0=