nextalys-carousel 0.0.67 → 0.0.68

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.
@@ -22,6 +22,7 @@ export class NxsCarouselComponent {
22
22
  this.zone = zone;
23
23
  this.platformId = platformId;
24
24
  this.config = config;
25
+ this.swiperReady = false;
25
26
  this.lazy = true;
26
27
  this.eventsCollector = new EventsCollector();
27
28
  this.options = null;
@@ -206,6 +207,7 @@ export class NxsCarouselComponent {
206
207
  }
207
208
  });
208
209
  });
210
+ this.swiperReady = true;
209
211
  }
210
212
  runInZone(callback, ...args) {
211
213
  if (!this.zone) {
@@ -214,10 +216,18 @@ export class NxsCarouselComponent {
214
216
  return this.zone.run(() => callback(args));
215
217
  }
216
218
  onSlideChange(instances) {
219
+ if (!this.swiperReady) {
220
+ return;
221
+ }
222
+ if (!this.swiperInstance && instances?.length) {
223
+ this.swiperInstance = instances[0];
224
+ }
225
+ // console.log("Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:", instances);
217
226
  // this.swiperInstance = instance;
218
227
  // this.log('slide change - instance', instance);
219
228
  this.runInZone(() => {
220
229
  this.currentSlide = this.swiperInstance?.realIndex || 0;
230
+ // console.log("Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:", this.swiperInstance);
221
231
  this.log('slide change - currentSlide', this.currentSlide);
222
232
  this.slideChange.next(this.currentSlide);
223
233
  });
@@ -253,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
253
263
  }], slideClick: [{
254
264
  type: Output
255
265
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUUxTCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLDBDQUEwQztBQUMxQyxPQUFPLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBeUIsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNHLHdCQUF3QjtBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBRW5ELHlCQUF5QjtBQUN6QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxD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QUFjO3NCQURiLEtBQUs7Z0JBT04sV0FBVztzQkFEVixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBQTEFURk9STV9JRCwgSW5qZWN0LCBPcHRpb25hbCwgTmdab25lLCBDb250ZW50Q2hpbGRyZW4sIFRlbXBsYXRlUmVmLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhLCBOeHNDYXJvdXNlbE9wdGlvbnMgfSBmcm9tICcuL254cy1jYXJvdXNlbC10eXBlcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZlbnRzQ29sbGVjdG9yIH0gZnJvbSAnbmV4dGFseXMtanMtaGVscGVycy9kaXN0L2V2ZW50cyc7XG4vLyBpbXBvcnQgU3dpcGVyIGNvcmUgYW5kIHJlcXVpcmVkIG1vZHVsZXNcbmltcG9ydCBTd2lwZXJDb3JlLCB7IE5hdmlnYXRpb24sIFBhZ2luYXRpb24sIEF1dG9wbGF5LCBMYXp5LCBTd2lwZXIsIFN3aXBlck9wdGlvbnMsIFRodW1icyB9IGZyb20gJ3N3aXBlcic7XG4vL1ZpcnR1YWwsU2Nyb2xsYmFyLEExMXlcbmltcG9ydCB7IFN3aXBlckNvbXBvbmVudCB9IGZyb20gJ3N3aXBlci9hbmd1bGFyJztcbmltcG9ydCB7IE54c1N3aXBlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9zd2lwZXItZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOeHNDYXJvdXNlbEltYWdlLCBOeHNDYXJvdXNlbE1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi10eXBlcyc7XG5pbXBvcnQgeyBDYXJvdXNlbEV2ZW50cyB9IGZyb20gJy4vY2Fyb3VzZWwtZXZlbnRzJztcblxuLy8gaW5zdGFsbCBTd2lwZXIgbW9kdWxlc1xuU3dpcGVyQ29yZS51c2UoW05hdmlnYXRpb24sIFBhZ2luYXRpb24sIEF1dG9wbGF5LCBMYXp5LCBUaHVtYnNdKTtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbnhzLWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnhzLWNhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ueHMtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbENvbXBvbmVudCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihOeHNTd2lwZXJUZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGNvbnRlbnRzITogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3N3aXBlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHN3aXBlckNvbXBvbmVudD86IFN3aXBlckNvbXBvbmVudDtcbiAgICBASW5wdXQoKVxuICAgIGxhenkgPSB0cnVlO1xuICAgIHByaXZhdGUgZXZlbnRzQ29sbGVjdG9yID0gbmV3IEV2ZW50c0NvbGxlY3RvcigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2VzOiBOeHNDYXJvdXNlbEltYWdlW107XG4gICAgb3B0aW9uczogTnhzQ2Fyb3VzZWxPcHRpb25zID0gbnVsbDtcbiAgICB0aHVtYm5haWxzT3B0aW9uczogU3dpcGVyT3B0aW9ucyA9IG51bGw7XG4gICAgQElucHV0KCdvcHRpb25zJylcbiAgICBzZXQgc2V0T3B0aW9ucyh2YWw6IE54c0Nhcm91c2VsT3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnNldERlZmF1bHRPcHRpb25zKHZhbCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldFRodW1ibmFpbHNPcHRpb25zKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgaGFzSHRtbENvbnRlbnQgPSBmYWxzZTtcbiAgICBzbGlkZXNDb3VudDogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIHN3aXBlckluc3RhbmNlOiBTd2lwZXI7XG4gICAgdGh1bWJuYWlsc1N3aXBlckluc3RhbmNlOiBTd2lwZXI7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzbGlkZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIHB1YmxpYyBjdXJyZW50U2xpZGUgPSAwO1xuICAgIEBPdXRwdXQoKVxuICAgIHNsaWRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50IHwgUG9pbnRlckV2ZW50PigpO1xuICAgIGlzQnJvd3NlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWc/OiBOeHNDYXJvdXNlbE1vZHVsZUNvbmZpZyxcblxuICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnKVxuICAgICAgICAgICAgdGhpcy5jb25maWcgPSB7IGRlYnVnOiBmYWxzZSB9O1xuICAgICAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgICAgIHRoaXMubG9nKCdjb25zdHJ1Y3RvciAtIGlzQnJvd3NlcicsIHRoaXMuaXNCcm93c2VyKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5zZXREZWZhdWx0T3B0aW9ucyh1bmRlZmluZWQsIGZhbHNlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBsb2coLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5kZWJ1ZylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc29sZS5sb2coJ1tOeHNDYXJvdXNlbF0nLCAuLi5hcmdzKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBkZXN0cm95KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmVudHNDb2xsZWN0b3I/LnVuc3Vic2NyaWJlQWxsKCk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpLmNvbnRlbnRzJywgdGhpcy5jb250ZW50cyk7XG4gICAgICAgIC8vIHRoaXMuaW5pdFNsaWRlcygpO1xuICAgICAgICAvLyB0aGlzLmNyZWF0ZVNsaWRlcih0cnVlKTtcbiAgICB9XG4gICAgZ2V0TWFpblNsaWRlckhlaWdodCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpXG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscyAmJiB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMub25NYWluU2xpZGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICcxMDAlJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDEwMCAtIHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQpICsgJyUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0T3B0aW9ucyhvcHRpb25zOiBOeHNDYXJvdXNlbE9wdGlvbnMsIGZvckRpYWxvZzogYm9vbGVhbikge1xuICAgICAgICBpZiAoIW9wdGlvbnMgJiYgZm9yRGlhbG9nKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIG54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0czogdHJ1ZSwgbG9vcDogdHJ1ZSwgbnhzVGh1bWJuYWlsczogeyBzaG93OiB0cnVlIH0sIGVmZmVjdDogJ3NsaWRlJywgbnhzU2hvd05hdmlnYXRpb25BcnJvd3M6IHRydWUsIG54c1Nob3dJbWFnZXNDb3VudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBsYXp5OiB0aGlzLmxhenksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIG54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0czogdHJ1ZSwgbG9vcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBueHNUaHVtYm5haWxzOiB7IHNob3c6IGZhbHNlIH0sIGVmZmVjdDogJ3NsaWRlJywgbnhzU2hvd05hdmlnYXRpb25BcnJvd3M6IHRydWUsIG54c1Nob3dJbWFnZXNDb3VudDogZmFsc2UsIG54c0Nhcm91c2VsRGlhbG9nT3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgbGF6eTogdGhpcy5sYXp5LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscyA9IHsgc2hvdzogZmFsc2UgfTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMuZWZmZWN0ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5lZmZlY3QgPSAnc2xpZGUnO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNTaG93TmF2aWdhdGlvbkFycm93cyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzU2hvd05hdmlnYXRpb25BcnJvd3MgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAoISFvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzPy5zaG93KSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQgPSAyMDtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyA9IDEwO1xuICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMuYnJlYWtwb2ludHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIDY0MDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogNSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgNzY4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiA3LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAxMDI0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiA4LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb25zLm54c1RodW1ibmFpbHMpXG4gICAgICAgICAgICBvcHRpb25zLm54c1RodW1ibmFpbHMgPSB7IHNob3c6IGZhbHNlIH07XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5zaG93ICYmIHR5cGVvZiBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCA9IDIwO1xuXG4gICAgICAgIGlmIChvcHRpb25zLm54c1RodW1ibmFpbHMuc2hvdyAmJiB0eXBlb2Ygb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlclZpZXcgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlclZpZXcgPSAxMDtcblxuXG4gICAgICAgIGlmIChmb3JEaWFsb2cpXG4gICAgICAgICAgICBvcHRpb25zLm54c2Z1bGxzY3JlZW5PbkNsaWNrID0gZmFsc2U7XG4gICAgICAgIGlmIChvcHRpb25zLm54c1RodW1ibmFpbHMub25NYWluU2xpZGVyKVxuICAgICAgICAgICAgb3B0aW9ucy5ueHNTaG93TmF2aWdhdGlvbkJ1bGxldHMgPSBmYWxzZTtcblxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubGF6eSA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLmxhenkgPSB0cnVlO1xuXG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5uYXZpZ2F0aW9uID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMubmF2aWdhdGlvbiA9IHRydWU7XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5wYWdpbmF0aW9uID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMucGFnaW5hdGlvbiA9IHsgY2xpY2thYmxlOiB0cnVlIH07XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubnhzU2hvd05hdmlnYXRpb25CdWxsZXRzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgb3B0aW9ucy5wYWdpbmF0aW9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2cgfiBmaWxlOiBueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzIH4gbGluZSAyNzIgfiBOeHNDYXJvdXNlbENvbXBvbmVudCB+IHNldERlZmF1bHRPcHRpb25zIH4gb3B0aW9uc1wiLCBvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRodW1ibmFpbHNPcHRpb25zKCkge1xuICAgICAgICBpZiAoISF0aGlzLm9wdGlvbnM/Lm54c1RodW1ibmFpbHM/LnNob3cpIHtcbiAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc09wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMucGVyVmlldyxcbiAgICAgICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmcmVlTW9kZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAvLyB3YXRjaFNsaWRlc1Zpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgd2F0Y2hTbGlkZXNQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBicmVha3BvaW50czogdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMuYnJlYWtwb2ludHMsXG4gICAgICAgICAgICAgICAgLy8gc3BhY2VCZXR3ZWVuOiAxMCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBwcmVsb2FkaW5nIG9mIGFsbCBpbWFnZXNcbiAgICAgICAgICAgICAgICB0aGlzLnRodW1ibmFpbHNPcHRpb25zLnByZWxvYWRJbWFnZXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBFbmFibGUgbGF6eSBsb2FkaW5nXG4gICAgICAgICAgICAgICAgdGhpcy50aHVtYm5haWxzT3B0aW9ucy5sYXp5ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyB+IGxpbmUgMTg0IH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiBzZXRUaHVtYm5haWxzT3B0aW9ucyB+ICAgdGhpcy50aHVtYm5haWxzT3B0aW9ucy5sYXp5XCIsIHRoaXMudGh1bWJuYWlsc09wdGlvbnMubGF6eSk7XG5cbiAgICAgICAgICAgIC8vIHRoaXMudGh1bWJuYWlsc1NsaWRlckluc3RhbmNlID0gbmV3IFN3aXBlcih0aGlzLm54c1RodW1ibmFpbHNTbGlkZXJDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGh1bWJuYWlsc09wdGlvbnMpO1xuICAgICAgICAgICAgLy8gdGhpcy5vcHRpb25zLnRodW1icyA9IHsgc3dpcGVyOiB0aGlzLnRodW1ibmFpbHNTbGlkZXJJbnN0YW5jZSB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBzaG93RnVsbFNjcmVlbkNhcm91c2VsKGltYWdlczogTnhzQ2Fyb3VzZWxJbWFnZVtdLCB3cmFwcGVyQ2xhc3M/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucyA9IHRoaXMuc2V0RGVmYXVsdE9wdGlvbnModGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucywgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGRhdGE6IE54c0Nhcm91c2VsRGlhbG9nRGF0YSA9IHsgaW1hZ2VzLCB3cmFwcGVyQ2xhc3MsIG9wdGlvbnM6IHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMgfTtcbiAgICAgICAgQ2Fyb3VzZWxFdmVudHMub3BlbkNhcm91c2VsRGlhbG9nPy5lbWl0KHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnbnhzLWNhcm91c2VsLWRpYWxvZycsXG4gICAgICAgICAgICB3aWR0aDogISF0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dTaXplID8gdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZS53aWR0aCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhlaWdodDogISF0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dTaXplID8gdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZS5oZWlnaHQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6ICF0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dFeGl0YWJsZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdvVG9TbGlkZShpbmRleDogbnVtYmVyLCBzcGVlZD86IG51bWJlcikge1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlPy5zbGlkZVRvKGluZGV4LCBzcGVlZCk7XG4gICAgfVxuICAgIG5leHQoKSB7XG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2U/LnNsaWRlTmV4dCgpO1xuICAgIH1cbiAgICBwcmV2aW91cygpIHtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZT8uc2xpZGVQcmV2KCk7XG4gICAgfVxuICAgIG9uU3dpcGVyVGh1bWJuYWlscyhpbnN0YW5jZTogU3dpcGVyKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lm54c1RodW1ibmFpbHM/LnNob3cpXG4gICAgICAgICAgICB0aGlzLnRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLnRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgLy8gaWYgKHRoaXMub3B0aW9ucz8ubnhzVGh1bWJuYWlscz8uc2hvdykge1xuICAgICAgICAvLyAgICAgY29uc3Qgb3B0aW9uc0Nsb25lID0gTWFpbkhlbHBlcnMuY2xvbmVPYmplY3QodGhpcy5vcHRpb25zKTtcbiAgICAgICAgLy8gICAgIG9wdGlvbnNDbG9uZS50aHVtYnMgPSB7IHN3aXBlcjogdGhpcy50aHVtYm5haWxzU3dpcGVySW5zdGFuY2UgfTtcbiAgICAgICAgLy8gICAgIC8vIHRoaXMub3B0aW9ucyA9IG9wdGlvbnNDbG9uZTtcbiAgICAgICAgLy8gICAgIC8vIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCB0aHVtYnM6IHsgc3dpcGVyOiB0aGlzLnRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSB9IH07XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIkxvZyB+IGZpbGU6IG54cy1jYXJvdXNlbC5jb21wb25lbnQudHMgfiBsaW5lIDQxNiB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gb25Td2lwZXJUaHVtYm5haWxzIH4gICAgdGhpcy5vcHRpb25zIFwiLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICAvLyAgICAgdGhpcy5vcHRpb25zLnRodW1icyA9IHsgc3dpcGVyOiB0aGlzLnRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZSB9O1xuICAgICAgICAvLyB9XG4gICAgfVxuICAgIG9uU3dpcGVyKGluc3RhbmNlOiBTd2lwZXIpIHtcbiAgICAgICAgdGhpcy5sb2coJ3N3aXBlciByZWFkeSAtIGluc3RhbmNlJywgaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2Uub24oJ2NsaWNrJywgKHN3aXBlckluc3RhbmNlLCBldnQpID0+IHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyB+IGxpbmUgMzkyIH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiB0aGlzLnN3aXBlckluc3RhbmNlLm9uIH4gZXZ0XCIsIGV2dCk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKHRhcmdldC5jbGFzc05hbWUuaW5kZXhPZignbnhzLWNhcm91c2VsLWJ1dHRvbicpICE9PSAtMSB8fCB0YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ3N3aXBlci1wYWdpbmF0aW9uJykgIT09IC0xKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMucnVuSW5ab25lKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNsaWRlQ2xpY2submV4dChldnQpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMubnhzZnVsbHNjcmVlbk9uQ2xpY2sgJiYgdGhpcy5pbWFnZXMgJiYgdGhpcy5pbWFnZXMubGVuZ3RoICYmICF0aGlzLmhhc0h0bWxDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Z1bGxTY3JlZW5DYXJvdXNlbCh0aGlzLmltYWdlcywgJ2Z1bGxzY3JlZW4tY2Fyb3VzZWwnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBydW5JblpvbmU8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZD4oY2FsbGJhY2s6IFQsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy56b25lKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiBjYWxsYmFjayhhcmdzKSk7XG4gICAgfVxuXG4gICAgb25TbGlkZUNoYW5nZShpbnN0YW5jZXM6IFN3aXBlcltdKSB7XG4gICAgICAgIC8vIHRoaXMuc3dpcGVySW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgLy8gdGhpcy5sb2coJ3NsaWRlIGNoYW5nZSAtIGluc3RhbmNlJywgaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLnJ1bkluWm9uZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IHRoaXMuc3dpcGVySW5zdGFuY2U/LnJlYWxJbmRleCB8fCAwO1xuICAgICAgICAgICAgdGhpcy5sb2coJ3NsaWRlIGNoYW5nZSAtIGN1cnJlbnRTbGlkZScsIHRoaXMuY3VycmVudFNsaWRlKTtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVDaGFuZ2UubmV4dCh0aGlzLmN1cnJlbnRTbGlkZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJvcHRpb25zXCJcbiAgICBbbmdDbGFzc109XCJ7J3N3aXBlci1jb250YWluZXInOnRydWUsJ254cy1zbGlkZXItd2l0aC10aHVtYm5haWxzJzohIW9wdGlvbnMubnhzVGh1bWJuYWlscyAmJiBvcHRpb25zLm54c1RodW1ibmFpbHMuc2hvd31cIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiZ2V0TWFpblNsaWRlckhlaWdodCgpXCI+XG4gICAgPHN3aXBlciBbY29uZmlnXT1cIm9wdGlvbnNcIiAoc3dpcGVyKT1cIm9uU3dpcGVyKCRldmVudClcIiAoc2xpZGVDaGFuZ2UpPVwib25TbGlkZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3RodW1ic109XCJ7IHN3aXBlcjogdGh1bWJuYWlsc1N3aXBlckluc3RhbmNlIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0h0bWxDb250ZW50XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IHNsaWRlIG9mIGNvbnRlbnRzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNsaWRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNsaWRlXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzSHRtbENvbnRlbnQgJiYgaW1hZ2VzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBzd2lwZXJTbGlkZSAqbmdGb3I9XCJsZXQgc2xpZGVJbWFnZSBvZiBpbWFnZXNcIj5cbiAgICAgICAgICAgICAgICA8aW1nIFtuZ0NsYXNzXT1cInsnbnhzLWltYWdlLXNsaWRlJzp0cnVlLCdzd2lwZXItbGF6eSc6bGF6eX1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXNyY109XCJsYXp5ID8gc2xpZGVJbWFnZS5zcmMgOiBudWxsXCIgW3NyY109XCJsYXp5ID8gbnVsbCA6IHNsaWRlSW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cInNsaWRlSW1hZ2UuYWx0XCIgLz5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGF6eVwiIGNsYXNzPVwic3dpcGVyLWxhenktcHJlbG9hZGVyIHN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zd2lwZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlcyAmJiBvcHRpb25zLm54c1Nob3dJbWFnZXNDb3VudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibnhzLWltYWdlLWNvdW50ZXJcIj5cbiAgICAgICAgICAgIHt7Y3VycmVudFNsaWRlKzF9fSAvIHt7aW1hZ2VzLmxlbmd0aH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJ0aHVtYm5haWxzT3B0aW9ucyAmJiBpbWFnZXM/Lmxlbmd0aFwiXG4gICAgW3N0eWxlLmhlaWdodF09XCIoISFvcHRpb25zLm54c1RodW1ibmFpbHMgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgISFvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkgPyAgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ICsgJyUnKTonJ1wiXG4gICAgW3N0eWxlLnRvcF09XCIoISFvcHRpb25zLm54c1RodW1ibmFpbHMgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgISFvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCAmJiBvcHRpb25zLm54c1RodW1ibmFpbHMub25NYWluU2xpZGVyKSA/ICAoJy0nICsgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0KSArICclJyk6JydcIlxuICAgIFtuZ0NsYXNzXT1cInsnc3dpcGVyLWNvbnRhaW5lcic6dHJ1ZSwgJ254cy1zbGlkZXItdGh1bWJuYWlscy1jb250YWluZXInOnRydWUsJ254cy1zbGlkZXItdGh1bWJuYWlscy1vbi1tYWluLXNsaWRlcic6b3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIG9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXJ9XCI+XG4gICAgPHN3aXBlciBbY29uZmlnXT1cInRodW1ibmFpbHNPcHRpb25zXCIgKHN3aXBlcik9XCJvblN3aXBlclRodW1ibmFpbHMoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgc3dpcGVyU2xpZGUgKm5nRm9yPVwibGV0IHNsaWRlSW1hZ2Ugb2YgaW1hZ2VzXCI+XG4gICAgICAgICAgICA8aW1nIFtuZ0NsYXNzXT1cInsnbnhzLWltYWdlLXNsaWRlJzp0cnVlLCdzd2lwZXItbGF6eSc6bGF6eX1cIiBbYXR0ci5kYXRhLXNyY109XCJsYXp5ID8gc2xpZGVJbWFnZS5zcmMgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImxhenkgPyBudWxsIDogc2xpZGVJbWFnZS5zcmNcIiBbYXR0ci5hbHRdPVwic2xpZGVJbWFnZS5hbHRcIiAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxhenlcIiBjbGFzcz1cInN3aXBlci1sYXp5LXByZWxvYWRlciBzd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2tcIj48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3N3aXBlcj5cbjwvZGl2PiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhzLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9ueHMtY2Fyb3VzZWwvbnhzLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUUxTCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLDBDQUEwQztBQUMxQyxPQUFPLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBeUIsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNHLHdCQUF3QjtBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBRW5ELHlCQUF5QjtBQUN6QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxD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QkFxQ2hDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7NENBakNiLFFBQVE7c0JBRFAsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBR2xFLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUd0QyxJQUFJO3NCQURILEtBQUs7Z0JBS0MsTUFBTTtzQkFEWixLQUFLO2dCQUtGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQU1oQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sV0FBVztzQkFEVixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBQTEFURk9STV9JRCwgSW5qZWN0LCBPcHRpb25hbCwgTmdab25lLCBDb250ZW50Q2hpbGRyZW4sIFRlbXBsYXRlUmVmLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnhzQ2Fyb3VzZWxEaWFsb2dEYXRhLCBOeHNDYXJvdXNlbE9wdGlvbnMgfSBmcm9tICcuL254cy1jYXJvdXNlbC10eXBlcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZlbnRzQ29sbGVjdG9yIH0gZnJvbSAnbmV4dGFseXMtanMtaGVscGVycy9kaXN0L2V2ZW50cyc7XG4vLyBpbXBvcnQgU3dpcGVyIGNvcmUgYW5kIHJlcXVpcmVkIG1vZHVsZXNcbmltcG9ydCBTd2lwZXJDb3JlLCB7IE5hdmlnYXRpb24sIFBhZ2luYXRpb24sIEF1dG9wbGF5LCBMYXp5LCBTd2lwZXIsIFN3aXBlck9wdGlvbnMsIFRodW1icyB9IGZyb20gJ3N3aXBlcic7XG4vL1ZpcnR1YWwsU2Nyb2xsYmFyLEExMXlcbmltcG9ydCB7IFN3aXBlckNvbXBvbmVudCB9IGZyb20gJ3N3aXBlci9hbmd1bGFyJztcbmltcG9ydCB7IE54c1N3aXBlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9zd2lwZXItZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOeHNDYXJvdXNlbEltYWdlLCBOeHNDYXJvdXNlbE1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi10eXBlcyc7XG5pbXBvcnQgeyBDYXJvdXNlbEV2ZW50cyB9IGZyb20gJy4vY2Fyb3VzZWwtZXZlbnRzJztcblxuLy8gaW5zdGFsbCBTd2lwZXIgbW9kdWxlc1xuU3dpcGVyQ29yZS51c2UoW05hdmlnYXRpb24sIFBhZ2luYXRpb24sIEF1dG9wbGF5LCBMYXp5LCBUaHVtYnNdKTtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbnhzLWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnhzLWNhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ueHMtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBOeHNDYXJvdXNlbENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBzd2lwZXJSZWFkeSA9IGZhbHNlO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTnhzU3dpcGVyVGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBjb250ZW50cyE6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdzd2lwZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzd2lwZXJDb21wb25lbnQ/OiBTd2lwZXJDb21wb25lbnQ7XG4gICAgQElucHV0KClcbiAgICBsYXp5ID0gdHJ1ZTtcbiAgICBwcml2YXRlIGV2ZW50c0NvbGxlY3RvciA9IG5ldyBFdmVudHNDb2xsZWN0b3IoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGltYWdlczogTnhzQ2Fyb3VzZWxJbWFnZVtdO1xuICAgIG9wdGlvbnM6IE54c0Nhcm91c2VsT3B0aW9ucyA9IG51bGw7XG4gICAgdGh1bWJuYWlsc09wdGlvbnM6IFN3aXBlck9wdGlvbnMgPSBudWxsO1xuICAgIEBJbnB1dCgnb3B0aW9ucycpXG4gICAgc2V0IHNldE9wdGlvbnModmFsOiBOeHNDYXJvdXNlbE9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5zZXREZWZhdWx0T3B0aW9ucyh2YWwsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZXRUaHVtYm5haWxzT3B0aW9ucygpO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIGhhc0h0bWxDb250ZW50ID0gZmFsc2U7XG4gICAgc2xpZGVzQ291bnQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBzd2lwZXJJbnN0YW5jZTogU3dpcGVyO1xuICAgIHRodW1ibmFpbHNTd2lwZXJJbnN0YW5jZTogU3dpcGVyO1xuXG4gICAgQE91dHB1dCgpXG4gICAgc2xpZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBwdWJsaWMgY3VycmVudFNsaWRlID0gMDtcbiAgICBAT3V0cHV0KClcbiAgICBzbGlkZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCB8IFBvaW50ZXJFdmVudD4oKTtcbiAgICBpc0Jyb3dzZXIgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnPzogTnhzQ2Fyb3VzZWxNb2R1bGVDb25maWcsXG5cbiAgICApIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZylcbiAgICAgICAgICAgIHRoaXMuY29uZmlnID0geyBkZWJ1ZzogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICAgICAgICB0aGlzLmxvZygnY29uc3RydWN0b3IgLSBpc0Jyb3dzZXInLCB0aGlzLmlzQnJvd3Nlcik7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuc2V0RGVmYXVsdE9wdGlvbnModW5kZWZpbmVkLCBmYWxzZSk7XG4gICAgfVxuICAgIHByaXZhdGUgbG9nKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZGVidWcpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnNvbGUubG9nKCdbTnhzQ2Fyb3VzZWxdJywgLi4uYXJncyk7XG4gICAgfVxuICAgIHByaXZhdGUgZGVzdHJveSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXZlbnRzQ29sbGVjdG9yPy51bnN1YnNjcmliZUFsbCgpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaS5jb250ZW50cycsIHRoaXMuY29udGVudHMpO1xuICAgICAgICAvLyB0aGlzLmluaXRTbGlkZXMoKTtcbiAgICAgICAgLy8gdGhpcy5jcmVhdGVTbGlkZXIodHJ1ZSk7XG4gICAgfVxuICAgIGdldE1haW5TbGlkZXJIZWlnaHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zKVxuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMgJiYgdGhpcy5vcHRpb25zLm54c1RodW1ibmFpbHMuc2hvdykge1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLm9uTWFpblNsaWRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiAnMTAwJSc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgxMDAgLSB0aGlzLm9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0KSArICclJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHByaXZhdGUgc2V0RGVmYXVsdE9wdGlvbnMob3B0aW9uczogTnhzQ2Fyb3VzZWxPcHRpb25zLCBmb3JEaWFsb2c6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFvcHRpb25zICYmIGZvckRpYWxvZykge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBueHNTaG93TmF2aWdhdGlvbkJ1bGxldHM6IHRydWUsIGxvb3A6IHRydWUsIG54c1RodW1ibmFpbHM6IHsgc2hvdzogdHJ1ZSB9LCBlZmZlY3Q6ICdzbGlkZScsIG54c1Nob3dOYXZpZ2F0aW9uQXJyb3dzOiB0cnVlLCBueHNTaG93SW1hZ2VzQ291bnQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbGF6eTogdGhpcy5sYXp5LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghb3B0aW9ucykge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBueHNTaG93TmF2aWdhdGlvbkJ1bGxldHM6IHRydWUsIGxvb3A6IHRydWUsXG4gICAgICAgICAgICAgICAgbnhzVGh1bWJuYWlsczogeyBzaG93OiBmYWxzZSB9LCBlZmZlY3Q6ICdzbGlkZScsIG54c1Nob3dOYXZpZ2F0aW9uQXJyb3dzOiB0cnVlLCBueHNTaG93SW1hZ2VzQ291bnQ6IGZhbHNlLCBueHNDYXJvdXNlbERpYWxvZ09wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIGxhenk6IHRoaXMubGF6eSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1RodW1ibmFpbHMgPSB7IHNob3c6IGZhbHNlIH07XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLmVmZmVjdCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMuZWZmZWN0ID0gJ3NsaWRlJztcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzU2hvd05hdmlnYXRpb25BcnJvd3MgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgIG9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQXJyb3dzID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKCEhb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscz8uc2hvdykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ID0gMjA7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlclZpZXcgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlclZpZXcgPSAxMDtcbiAgICAgICAgICAgICAgICBvcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nT3B0aW9ucy5ueHNUaHVtYm5haWxzLmJyZWFrcG9pbnRzID0ge1xuICAgICAgICAgICAgICAgICAgICA2NDA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIDc2ODoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogNyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgMTAyNDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogOCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5ueHNUaHVtYm5haWxzKVxuICAgICAgICAgICAgb3B0aW9ucy5ueHNUaHVtYm5haWxzID0geyBzaG93OiBmYWxzZSB9O1xuXG4gICAgICAgIGlmIChvcHRpb25zLm54c1RodW1ibmFpbHMuc2hvdyAmJiB0eXBlb2Ygb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlcmNlbnRIZWlnaHQgPSAyMDtcblxuICAgICAgICBpZiAob3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgdHlwZW9mIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJWaWV3ID0gMTA7XG5cblxuICAgICAgICBpZiAoZm9yRGlhbG9nKVxuICAgICAgICAgICAgb3B0aW9ucy5ueHNmdWxsc2NyZWVuT25DbGljayA9IGZhbHNlO1xuICAgICAgICBpZiAob3B0aW9ucy5ueHNUaHVtYm5haWxzLm9uTWFpblNsaWRlcilcbiAgICAgICAgICAgIG9wdGlvbnMubnhzU2hvd05hdmlnYXRpb25CdWxsZXRzID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxhenkgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgb3B0aW9ucy5sYXp5ID0gdHJ1ZTtcblxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubmF2aWdhdGlvbiA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLm5hdmlnYXRpb24gPSB0cnVlO1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMucGFnaW5hdGlvbiA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICBvcHRpb25zLnBhZ2luYXRpb24gPSB7IGNsaWNrYWJsZTogdHJ1ZSB9O1xuXG4gICAgICAgIGlmIChvcHRpb25zLm54c1Nob3dOYXZpZ2F0aW9uQnVsbGV0cyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG9wdGlvbnMucGFnaW5hdGlvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50cyB+IGxpbmUgMjcyIH4gTnhzQ2Fyb3VzZWxDb21wb25lbnQgfiBzZXREZWZhdWx0T3B0aW9ucyB+IG9wdGlvbnNcIiwgb3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUaHVtYm5haWxzT3B0aW9ucygpIHtcbiAgICAgICAgaWYgKCEhdGhpcy5vcHRpb25zPy5ueHNUaHVtYm5haWxzPy5zaG93KSB7XG4gICAgICAgICAgICB0aGlzLnRodW1ibmFpbHNPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLnBlclZpZXcsXG4gICAgICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZnJlZU1vZGU6IHRydWUsXG4gICAgICAgICAgICAgICAgLy8gd2F0Y2hTbGlkZXNWaXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgICAgIHdhdGNoU2xpZGVzUHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgYnJlYWtwb2ludHM6IHRoaXMub3B0aW9ucy5ueHNUaHVtYm5haWxzLmJyZWFrcG9pbnRzLFxuICAgICAgICAgICAgICAgIC8vIHNwYWNlQmV0d2VlbjogMTAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgcHJlbG9hZGluZyBvZiBhbGwgaW1hZ2VzXG4gICAgICAgICAgICAgICAgdGhpcy50aHVtYm5haWxzT3B0aW9ucy5wcmVsb2FkSW1hZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgLy8gRW5hYmxlIGxhenkgbG9hZGluZ1xuICAgICAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsc09wdGlvbnMubGF6eSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkxvZyB+IGZpbGU6IG54cy1jYXJvdXNlbC5jb21wb25lbnQudHMgfiBsaW5lIDE4NCB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gc2V0VGh1bWJuYWlsc09wdGlvbnMgfiAgIHRoaXMudGh1bWJuYWlsc09wdGlvbnMubGF6eVwiLCB0aGlzLnRodW1ibmFpbHNPcHRpb25zLmxhenkpO1xuXG4gICAgICAgICAgICAvLyB0aGlzLnRodW1ibmFpbHNTbGlkZXJJbnN0YW5jZSA9IG5ldyBTd2lwZXIodGhpcy5ueHNUaHVtYm5haWxzU2xpZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRodW1ibmFpbHNPcHRpb25zKTtcbiAgICAgICAgICAgIC8vIHRoaXMub3B0aW9ucy50aHVtYnMgPSB7IHN3aXBlcjogdGhpcy50aHVtYm5haWxzU2xpZGVySW5zdGFuY2UgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgc2hvd0Z1bGxTY3JlZW5DYXJvdXNlbChpbWFnZXM6IE54c0Nhcm91c2VsSW1hZ2VbXSwgd3JhcHBlckNsYXNzPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMgPSB0aGlzLnNldERlZmF1bHRPcHRpb25zKHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ09wdGlvbnMsIHRydWUpO1xuICAgICAgICBjb25zdCBkYXRhOiBOeHNDYXJvdXNlbERpYWxvZ0RhdGEgPSB7IGltYWdlcywgd3JhcHBlckNsYXNzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMubnhzQ2Fyb3VzZWxEaWFsb2dPcHRpb25zIH07XG4gICAgICAgIENhcm91c2VsRXZlbnRzLm9wZW5DYXJvdXNlbERpYWxvZz8uZW1pdCh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ254cy1jYXJvdXNlbC1kaWFsb2cnLFxuICAgICAgICAgICAgd2lkdGg6ICEhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZSA/IHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUud2lkdGggOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBoZWlnaHQ6ICEhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nU2l6ZSA/IHRoaXMub3B0aW9ucy5ueHNDYXJvdXNlbERpYWxvZ1NpemUuaGVpZ2h0IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiAhdGhpcy5vcHRpb25zLm54c0Nhcm91c2VsRGlhbG9nRXhpdGFibGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlciwgc3BlZWQ/OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZT8uc2xpZGVUbyhpbmRleCwgc3BlZWQpO1xuICAgIH1cbiAgICBuZXh0KCkge1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlPy5zbGlkZU5leHQoKTtcbiAgICB9XG4gICAgcHJldmlvdXMoKSB7XG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2U/LnNsaWRlUHJldigpO1xuICAgIH1cbiAgICBvblN3aXBlclRodW1ibmFpbHMoaW5zdGFuY2U6IFN3aXBlcikge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5ueHNUaHVtYm5haWxzPy5zaG93KVxuICAgICAgICAgICAgdGhpcy50aHVtYm5haWxzU3dpcGVySW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy50aHVtYm5haWxzU3dpcGVySW5zdGFuY2UgPSBudWxsO1xuXG4gICAgICAgIC8vIGlmICh0aGlzLm9wdGlvbnM/Lm54c1RodW1ibmFpbHM/LnNob3cpIHtcbiAgICAgICAgLy8gICAgIGNvbnN0IG9wdGlvbnNDbG9uZSA9IE1haW5IZWxwZXJzLmNsb25lT2JqZWN0KHRoaXMub3B0aW9ucyk7XG4gICAgICAgIC8vICAgICBvcHRpb25zQ2xvbmUudGh1bWJzID0geyBzd2lwZXI6IHRoaXMudGh1bWJuYWlsc1N3aXBlckluc3RhbmNlIH07XG4gICAgICAgIC8vICAgICAvLyB0aGlzLm9wdGlvbnMgPSBvcHRpb25zQ2xvbmU7XG4gICAgICAgIC8vICAgICAvLyB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgdGh1bWJzOiB7IHN3aXBlcjogdGhpcy50aHVtYm5haWxzU3dpcGVySW5zdGFuY2UgfSB9O1xuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCJMb2cgfiBmaWxlOiBueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzIH4gbGluZSA0MTYgfiBOeHNDYXJvdXNlbENvbXBvbmVudCB+IG9uU3dpcGVyVGh1bWJuYWlscyB+ICAgIHRoaXMub3B0aW9ucyBcIiwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgLy8gICAgIHRoaXMub3B0aW9ucy50aHVtYnMgPSB7IHN3aXBlcjogdGhpcy50aHVtYm5haWxzU3dpcGVySW5zdGFuY2UgfTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBvblN3aXBlcihpbnN0YW5jZTogU3dpcGVyKSB7XG4gICAgICAgIHRoaXMubG9nKCdzd2lwZXIgcmVhZHkgLSBpbnN0YW5jZScsIGluc3RhbmNlKTtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlLm9uKCdjbGljaycsIChzd2lwZXJJbnN0YW5jZSwgZXZ0KSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkxvZyB+IGZpbGU6IG54cy1jYXJvdXNlbC5jb21wb25lbnQudHMgfiBsaW5lIDM5MiB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gdGhpcy5zd2lwZXJJbnN0YW5jZS5vbiB+IGV2dFwiLCBldnQpO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGlmICh0YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ254cy1jYXJvdXNlbC1idXR0b24nKSAhPT0gLTEgfHwgdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdzd2lwZXItcGFnaW5hdGlvbicpICE9PSAtMSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnJ1bkluWm9uZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zbGlkZUNsaWNrLm5leHQoZXZ0KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm54c2Z1bGxzY3JlZW5PbkNsaWNrICYmIHRoaXMuaW1hZ2VzICYmIHRoaXMuaW1hZ2VzLmxlbmd0aCAmJiAhdGhpcy5oYXNIdG1sQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dGdWxsU2NyZWVuQ2Fyb3VzZWwodGhpcy5pbWFnZXMsICdmdWxsc2NyZWVuLWNhcm91c2VsJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3dpcGVyUmVhZHkgPSB0cnVlO1xuICAgIH1cbiAgICBwcml2YXRlIHJ1bkluWm9uZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPihjYWxsYmFjazogVCwgLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKCF0aGlzLnpvbmUpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IGNhbGxiYWNrKGFyZ3MpKTtcbiAgICB9XG5cbiAgICBvblNsaWRlQ2hhbmdlKGluc3RhbmNlczogU3dpcGVyW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLnN3aXBlclJlYWR5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnN3aXBlckluc3RhbmNlICYmIGluc3RhbmNlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlID0gaW5zdGFuY2VzWzBdO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiTG9nIH4gZmlsZTogbnhzLWNhcm91c2VsLmNvbXBvbmVudC50czoyNTIgfiBOeHNDYXJvdXNlbENvbXBvbmVudCB+IG9uU2xpZGVDaGFuZ2UgfiBpbnN0YW5jZXM6XCIsIGluc3RhbmNlcyk7XG4gICAgICAgIC8vIHRoaXMuc3dpcGVySW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgLy8gdGhpcy5sb2coJ3NsaWRlIGNoYW5nZSAtIGluc3RhbmNlJywgaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLnJ1bkluWm9uZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IHRoaXMuc3dpcGVySW5zdGFuY2U/LnJlYWxJbmRleCB8fCAwO1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2cgfiBmaWxlOiBueHMtY2Fyb3VzZWwuY29tcG9uZW50LnRzOjI1NiB+IE54c0Nhcm91c2VsQ29tcG9uZW50IH4gdGhpcy5ydW5JblpvbmUgfiB0aGlzLnN3aXBlckluc3RhbmNlPy5yZWFsSW5kZXg6XCIsIHRoaXMuc3dpcGVySW5zdGFuY2UpO1xuICAgICAgICAgICAgdGhpcy5sb2coJ3NsaWRlIGNoYW5nZSAtIGN1cnJlbnRTbGlkZScsIHRoaXMuY3VycmVudFNsaWRlKTtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVDaGFuZ2UubmV4dCh0aGlzLmN1cnJlbnRTbGlkZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJvcHRpb25zXCJcbiAgICBbbmdDbGFzc109XCJ7J3N3aXBlci1jb250YWluZXInOnRydWUsJ254cy1zbGlkZXItd2l0aC10aHVtYm5haWxzJzohIW9wdGlvbnMubnhzVGh1bWJuYWlscyAmJiBvcHRpb25zLm54c1RodW1ibmFpbHMuc2hvd31cIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiZ2V0TWFpblNsaWRlckhlaWdodCgpXCI+XG4gICAgPHN3aXBlciBbY29uZmlnXT1cIm9wdGlvbnNcIiAoc3dpcGVyKT1cIm9uU3dpcGVyKCRldmVudClcIiAoc2xpZGVDaGFuZ2UpPVwib25TbGlkZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3RodW1ic109XCJ7IHN3aXBlcjogdGh1bWJuYWlsc1N3aXBlckluc3RhbmNlIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0h0bWxDb250ZW50XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IHNsaWRlIG9mIGNvbnRlbnRzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNsaWRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNsaWRlXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzSHRtbENvbnRlbnQgJiYgaW1hZ2VzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBzd2lwZXJTbGlkZSAqbmdGb3I9XCJsZXQgc2xpZGVJbWFnZSBvZiBpbWFnZXNcIj5cbiAgICAgICAgICAgICAgICA8aW1nIFtuZ0NsYXNzXT1cInsnbnhzLWltYWdlLXNsaWRlJzp0cnVlLCdzd2lwZXItbGF6eSc6bGF6eX1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXNyY109XCJsYXp5ID8gc2xpZGVJbWFnZS5zcmMgOiBudWxsXCIgW3NyY109XCJsYXp5ID8gbnVsbCA6IHNsaWRlSW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cInNsaWRlSW1hZ2UuYWx0XCIgLz5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGF6eVwiIGNsYXNzPVwic3dpcGVyLWxhenktcHJlbG9hZGVyIHN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zd2lwZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlcyAmJiBvcHRpb25zLm54c1Nob3dJbWFnZXNDb3VudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibnhzLWltYWdlLWNvdW50ZXJcIj5cbiAgICAgICAgICAgIHt7Y3VycmVudFNsaWRlKzF9fSAvIHt7aW1hZ2VzLmxlbmd0aH19XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJ0aHVtYm5haWxzT3B0aW9ucyAmJiBpbWFnZXM/Lmxlbmd0aFwiXG4gICAgW3N0eWxlLmhlaWdodF09XCIoISFvcHRpb25zLm54c1RodW1ibmFpbHMgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgISFvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCkgPyAgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0ICsgJyUnKTonJ1wiXG4gICAgW3N0eWxlLnRvcF09XCIoISFvcHRpb25zLm54c1RodW1ibmFpbHMgJiYgb3B0aW9ucy5ueHNUaHVtYm5haWxzLnNob3cgJiYgISFvcHRpb25zLm54c1RodW1ibmFpbHMucGVyY2VudEhlaWdodCAmJiBvcHRpb25zLm54c1RodW1ibmFpbHMub25NYWluU2xpZGVyKSA/ICAoJy0nICsgKG9wdGlvbnMubnhzVGh1bWJuYWlscy5wZXJjZW50SGVpZ2h0KSArICclJyk6JydcIlxuICAgIFtuZ0NsYXNzXT1cInsnc3dpcGVyLWNvbnRhaW5lcic6dHJ1ZSwgJ254cy1zbGlkZXItdGh1bWJuYWlscy1jb250YWluZXInOnRydWUsJ254cy1zbGlkZXItdGh1bWJuYWlscy1vbi1tYWluLXNsaWRlcic6b3B0aW9ucy5ueHNUaHVtYm5haWxzICYmIG9wdGlvbnMubnhzVGh1bWJuYWlscy5vbk1haW5TbGlkZXJ9XCI+XG4gICAgPHN3aXBlciBbY29uZmlnXT1cInRodW1ibmFpbHNPcHRpb25zXCIgKHN3aXBlcik9XCJvblN3aXBlclRodW1ibmFpbHMoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgc3dpcGVyU2xpZGUgKm5nRm9yPVwibGV0IHNsaWRlSW1hZ2Ugb2YgaW1hZ2VzXCI+XG4gICAgICAgICAgICA8aW1nIFtuZ0NsYXNzXT1cInsnbnhzLWltYWdlLXNsaWRlJzp0cnVlLCdzd2lwZXItbGF6eSc6bGF6eX1cIiBbYXR0ci5kYXRhLXNyY109XCJsYXp5ID8gc2xpZGVJbWFnZS5zcmMgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImxhenkgPyBudWxsIDogc2xpZGVJbWFnZS5zcmNcIiBbYXR0ci5hbHRdPVwic2xpZGVJbWFnZS5hbHRcIiAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxhenlcIiBjbGFzcz1cInN3aXBlci1sYXp5LXByZWxvYWRlciBzd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2tcIj48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3N3aXBlcj5cbjwvZGl2PiJdfQ==
@@ -43,6 +43,7 @@ class NxsCarouselComponent {
43
43
  this.zone = zone;
44
44
  this.platformId = platformId;
45
45
  this.config = config;
46
+ this.swiperReady = false;
46
47
  this.lazy = true;
47
48
  this.eventsCollector = new EventsCollector();
48
49
  this.options = null;
@@ -235,6 +236,7 @@ class NxsCarouselComponent {
235
236
  }
236
237
  });
237
238
  });
239
+ this.swiperReady = true;
238
240
  }
239
241
  runInZone(callback, ...args) {
240
242
  if (!this.zone) {
@@ -243,11 +245,19 @@ class NxsCarouselComponent {
243
245
  return this.zone.run(() => callback(args));
244
246
  }
245
247
  onSlideChange(instances) {
248
+ if (!this.swiperReady) {
249
+ return;
250
+ }
251
+ if (!this.swiperInstance && (instances === null || instances === void 0 ? void 0 : instances.length)) {
252
+ this.swiperInstance = instances[0];
253
+ }
254
+ // console.log("Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:", instances);
246
255
  // this.swiperInstance = instance;
247
256
  // this.log('slide change - instance', instance);
248
257
  this.runInZone(() => {
249
258
  var _a;
250
259
  this.currentSlide = ((_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.realIndex) || 0;
260
+ // console.log("Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:", this.swiperInstance);
251
261
  this.log('slide change - currentSlide', this.currentSlide);
252
262
  this.slideChange.next(this.currentSlide);
253
263
  });
@@ -1 +1 @@
1
- {"version":3,"file":"nextalys-carousel-lib-nxs-carousel.mjs","sources":["../../lib/nxs-carousel/swiper-directives.ts","../../lib/nxs-carousel/carousel-events.ts","../../lib/common-types.ts","../../lib/nxs-carousel/nxs-carousel.component.ts","../../lib/nxs-carousel/nxs-carousel.component.html","../../lib/nxs-carousel/nxs-carousel-dialog.component.ts","../../lib/nxs-carousel/nxs-carousel.module.ts","../../lib/nextalys-carousel-lib-nxs-carousel.ts"],"sourcesContent":["import { Directive } from \"@angular/core\";\n\n@Directive({\n selector: '[nxsSwiperTemplate]',\n})\nexport class NxsSwiperTemplateDirective { }\n","import { NxsEvent } from \"nextalys-js-helpers\";\nimport { NxsCarouselDialogData } from \"./nxs-carousel-types\";\n\nexport class CarouselEvents {\n static openCarouselDialog = new NxsEvent<{\n data: NxsCarouselDialogData;\n panelClass: string;\n width?: string;\n height?: string;\n disableClose: boolean;\n }>();\n}","\nexport interface NxsCarouselImage {\n alt?: string;\n src: string;\n}\nexport class NxsCarouselModuleConfig {\n debug?: boolean = false;\n}","import { Component, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, ContentChildren, TemplateRef, InjectionToken } from '@angular/core';\nimport { NxsCarouselDialogData, NxsCarouselOptions } from './nxs-carousel-types';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EventsCollector } from 'nextalys-js-helpers/dist/events';\n// import Swiper core and required modules\nimport SwiperCore, { Navigation, Pagination, Autoplay, Lazy, Swiper, SwiperOptions, Thumbs } from 'swiper';\n//Virtual,Scrollbar,A11y\nimport { SwiperComponent } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselImage, NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n// install Swiper modules\nSwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);\n@Component({\n selector: 'nxs-carousel',\n templateUrl: './nxs-carousel.component.html',\n styleUrls: ['./nxs-carousel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselComponent {\n @ContentChildren(NxsSwiperTemplateDirective, { read: TemplateRef })\n contents!: TemplateRef<HTMLElement>;\n @ViewChild('swiper', { static: false })\n swiperComponent?: SwiperComponent;\n @Input()\n lazy = true;\n private eventsCollector = new EventsCollector();\n\n @Input()\n public images: NxsCarouselImage[];\n options: NxsCarouselOptions = null;\n thumbnailsOptions: SwiperOptions = null;\n @Input('options')\n set setOptions(val: NxsCarouselOptions) {\n this.options = this.setDefaultOptions(val, false);\n this.setThumbnailsOptions();\n }\n @Input()\n hasHtmlContent = false;\n slidesCount: number = 0;\n private swiperInstance: Swiper;\n thumbnailsSwiperInstance: Swiper;\n\n @Output()\n slideChange = new EventEmitter<number>();\n public currentSlide = 0;\n @Output()\n slideClick = new EventEmitter<MouseEvent | TouchEvent | PointerEvent>();\n isBrowser = false;\n\n constructor(\n private matDialog: MatDialog,\n private zone: NgZone,\n @Inject(PLATFORM_ID) private platformId: any,\n @Optional() private config?: NxsCarouselModuleConfig,\n\n ) {\n if (!this.config)\n this.config = { debug: false };\n this.isBrowser = isPlatformBrowser(this.platformId);\n this.log('constructor - isBrowser', this.isBrowser);\n this.options = this.setDefaultOptions(undefined, false);\n }\n private log(...args: any[]) {\n if (!this.config.debug)\n return;\n console.log('[NxsCarousel]', ...args);\n }\n private destroy() {\n if (!this.isBrowser) {\n return;\n }\n this.eventsCollector?.unsubscribeAll();\n }\n ngOnDestroy(): void {\n this.destroy();\n }\n ngAfterViewInit(): void {\n // console.log('thi.contents', this.contents);\n // this.initSlides();\n // this.createSlider(true);\n }\n getMainSliderHeight() {\n if (!this.options)\n return '';\n if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {\n if (this.options.nxsThumbnails.onMainSlider) {\n return '100%';\n }\n else if (this.options.nxsThumbnails.percentHeight) {\n return (100 - this.options.nxsThumbnails.percentHeight) + '%';\n }\n }\n return '';\n }\n private setDefaultOptions(options: NxsCarouselOptions, forDialog: boolean) {\n if (!options && forDialog) {\n options = {\n nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,\n lazy: this.lazy,\n };\n }\n else if (!options) {\n options = {\n nxsShowNavigationBullets: true, loop: true,\n nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},\n lazy: this.lazy,\n };\n }\n if (options.nxsCarouselDialogOptions) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };\n if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')\n options.nxsCarouselDialogOptions.effect = 'slide';\n if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')\n options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;\n\n if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;\n options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {\n 640: {\n slidesPerView: 5,\n },\n 768: {\n slidesPerView: 7,\n },\n 1024: {\n slidesPerView: 8,\n },\n };\n }\n }\n if (!options.nxsThumbnails)\n options.nxsThumbnails = { show: false };\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')\n options.nxsThumbnails.percentHeight = 20;\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')\n options.nxsThumbnails.perView = 10;\n\n\n if (forDialog)\n options.nxsfullscreenOnClick = false;\n if (options.nxsThumbnails.onMainSlider)\n options.nxsShowNavigationBullets = false;\n\n if (typeof options.lazy === 'undefined')\n options.lazy = true;\n\n if (typeof options.navigation === 'undefined')\n options.navigation = true;\n if (typeof options.pagination === 'undefined')\n options.pagination = { clickable: true };\n\n if (options.nxsShowNavigationBullets === false) {\n options.pagination = false;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options\", options);\n\n return options;\n }\n\n private setThumbnailsOptions() {\n if (!!this.options?.nxsThumbnails?.show) {\n this.thumbnailsOptions = {\n slidesPerView: this.options.nxsThumbnails.perView,\n loop: false,\n freeMode: true,\n // watchSlidesVisibility: true,\n watchSlidesProgress: true,\n breakpoints: this.options.nxsThumbnails.breakpoints,\n // spaceBetween: 10,\n };\n if (this.lazy) {\n // Disable preloading of all images\n this.thumbnailsOptions.preloadImages = false;\n // Enable lazy loading\n this.thumbnailsOptions.lazy = true;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy\", this.thumbnailsOptions.lazy);\n\n // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);\n // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };\n }\n }\n public showFullScreenCarousel(images: NxsCarouselImage[], wrapperClass?: string) {\n this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);\n const data: NxsCarouselDialogData = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };\n CarouselEvents.openCarouselDialog?.emit({\n data,\n panelClass: 'nxs-carousel-dialog',\n width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,\n height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,\n disableClose: !this.options.nxsCarouselDialogExitable,\n });\n }\n goToSlide(index: number, speed?: number) {\n this.swiperInstance?.slideTo(index, speed);\n }\n next() {\n this.swiperInstance?.slideNext();\n }\n previous() {\n this.swiperInstance?.slidePrev();\n }\n onSwiperThumbnails(instance: Swiper) {\n if (this.options?.nxsThumbnails?.show)\n this.thumbnailsSwiperInstance = instance;\n else\n this.thumbnailsSwiperInstance = null;\n\n // if (this.options?.nxsThumbnails?.show) {\n // const optionsClone = MainHelpers.cloneObject(this.options);\n // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // // this.options = optionsClone;\n // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options \", this.options);\n // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // }\n }\n onSwiper(instance: Swiper) {\n this.log('swiper ready - instance', instance);\n this.swiperInstance = instance;\n this.swiperInstance.on('click', (swiperInstance, evt) => {\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt\", evt);\n const target = evt.target as HTMLElement;\n if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)\n return;\n this.runInZone(() => {\n this.slideClick.next(evt);\n if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {\n this.showFullScreenCarousel(this.images, 'fullscreen-carousel');\n }\n });\n\n });\n }\n private runInZone<T extends (...args: any[]) => void>(callback: T, ...args: any[]) {\n if (!this.zone) {\n callback(args);\n }\n return this.zone.run(() => callback(args));\n }\n\n onSlideChange(instances: Swiper[]) {\n // this.swiperInstance = instance;\n // this.log('slide change - instance', instance);\n this.runInZone(() => {\n this.currentSlide = this.swiperInstance?.realIndex || 0;\n this.log('slide change - currentSlide', this.currentSlide);\n this.slideChange.next(this.currentSlide);\n });\n }\n}\n","<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>","import { Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NxsCarouselDialogData } from './nxs-carousel-types';\n\n@Component({\n selector: 'nxs-carousel-dialog',\n 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 `,\n styleUrls: ['./nxs-carousel-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselDialogComponent {\n static dialogOpened = false;\n public wrapperClass: string = 'nxs-carousel-wrapper';\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: NxsCarouselDialogData,\n public dialogRef: MatDialogRef<NxsCarouselDialogComponent>,\n ) {\n if (data.wrapperClass)\n this.wrapperClass += ' ' + data.wrapperClass;\n\n this.dialogRef.afterOpened().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = true;\n }\n );\n this.dialogRef.afterClosed().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = false;\n }\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { NxsCarouselComponent } from './nxs-carousel.component';\nimport { SwiperModule } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n@NgModule({\n declarations: [\n NxsCarouselComponent,\n NxsCarouselDialogComponent,\n NxsSwiperTemplateDirective,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n SwiperModule,\n ],\n exports: [\n NxsCarouselComponent,\n NxsSwiperTemplateDirective,\n ],\n})\nexport class NxsCarouselModule {\n static openDialogSubscribed = false;\n constructor(\n matDialog: MatDialog,\n ) {\n NxsCarouselModule.subscribeToOpenDialog(matDialog);\n }\n static subscribeToOpenDialog(matDialog: MatDialog) {\n if (this.openDialogSubscribed) {\n return;\n }\n this.openDialogSubscribed = true;\n CarouselEvents.openCarouselDialog.subscribe((data) => {\n if (NxsCarouselDialogComponent.dialogOpened) {\n return;\n }\n matDialog.open(NxsCarouselDialogComponent, data);\n });\n }\n public static forRoot(config?: NxsCarouselModuleConfig): ModuleWithProviders<NxsCarouselModule> {\n return {\n ngModule: NxsCarouselModule,\n providers: [\n { provide: NxsCarouselModuleConfig, useValue: config },\n ],\n };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-carousel';\n"],"names":["i2.NxsCarouselModuleConfig","i3","i4.NxsCarouselComponent"],"mappings":";;;;;;;;;;;;;;;;MAKa,0BAA0B,CAAA;;uHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;iBAClC,CAAA;;;MCDY,cAAc,CAAA;;AAChB,cAAA,CAAA,kBAAkB,GAAG,IAAI,QAAQ,EAMpC;;MCLK,uBAAuB,CAAA;AAApC,IAAA,WAAA,GAAA;AACI,QAAA,IAAK,CAAA,KAAA,GAAa,KAAK,CAAC;KAC3B;AAAA;;ACMD;AACA,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;MAOpD,oBAAoB,CAAA;AA+B7B,IAAA,WAAA,CACY,SAAoB,EACpB,IAAY,EACS,UAAe,EACxB,MAAgC,EAAA;AAH5C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACS,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;AACxB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAA0B;AA7BxD,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACJ,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAIhD,QAAA,IAAO,CAAA,OAAA,GAAuB,IAAI,CAAC;AACnC,QAAA,IAAiB,CAAA,iBAAA,GAAkB,IAAI,CAAC;AAOxC,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;AAKxB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AAClC,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;AAExB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA0C,CAAC;AACxE,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QASd,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC3D;IA9BD,IACI,UAAU,CAAC,GAAuB,EAAA;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IA2BO,GAAG,CAAC,GAAG,IAAW,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,OAAO;QACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;KACzC;IACO,OAAO,GAAA;;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO;AACV,SAAA;AACD,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,EAAE,CAAC;KAC1C;IACD,WAAW,GAAA;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IACD,eAAe,GAAA;;;;KAId;IACD,mBAAmB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,OAAO;AACb,YAAA,OAAO,EAAE,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;AAC/D,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE;AACzC,gBAAA,OAAO,MAAM,CAAC;AACjB,aAAA;AACI,iBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE;AAC/C,gBAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,IAAI,GAAG,CAAC;AACjE,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACb;IACO,iBAAiB,CAAC,OAA2B,EAAE,SAAkB,EAAA;;AACrE,QAAA,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;AACvB,YAAA,OAAO,GAAG;gBACN,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI;gBACnJ,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC;AACL,SAAA;aACI,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,OAAO,GAAG;AACN,gBAAA,wBAAwB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;gBAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE;gBACvI,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC;AACL,SAAA;QACD,IAAI,OAAO,CAAC,wBAAwB,EAAE;AAClC,YAAA,IAAI,OAAO,OAAO,CAAC,wBAAwB,CAAC,aAAa,KAAK,WAAW;gBACrE,OAAO,CAAC,wBAAwB,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACrE,YAAA,IAAI,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,KAAK,WAAW;AAC9D,gBAAA,OAAO,CAAC,wBAAwB,CAAC,MAAM,GAAG,OAAO,CAAC;AACtD,YAAA,IAAI,OAAO,OAAO,CAAC,wBAAwB,CAAC,uBAAuB,KAAK,WAAW;AAC/E,gBAAA,OAAO,CAAC,wBAAwB,CAAC,uBAAuB,GAAG,IAAI,CAAC;AAEpE,YAAA,IAAI,CAAC,EAAC,CAAA,EAAA,GAAA,OAAO,CAAC,wBAAwB,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAA,EAAE;gBACxD,IAAI,OAAO,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,aAAa,KAAK,WAAW;oBACnF,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC;gBACtE,IAAI,OAAO,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,KAAK,WAAW;oBAC7E,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;AAChE,gBAAA,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,WAAW,GAAG;AACzD,oBAAA,GAAG,EAAE;AACD,wBAAA,aAAa,EAAE,CAAC;AACnB,qBAAA;AACD,oBAAA,GAAG,EAAE;AACD,wBAAA,aAAa,EAAE,CAAC;AACnB,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,aAAa,EAAE,CAAC;AACnB,qBAAA;iBACJ,CAAC;AACL,aAAA;AACJ,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,aAAa;YACtB,OAAO,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAE5C,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC,aAAa,KAAK,WAAW;AACxF,YAAA,OAAO,CAAC,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC;AAE7C,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,KAAK,WAAW;AAClF,YAAA,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;AAGvC,QAAA,IAAI,SAAS;AACT,YAAA,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;AACzC,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY;AAClC,YAAA,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;AAE7C,QAAA,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;AACnC,YAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AAExB,QAAA,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW;AACzC,YAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW;YACzC,OAAO,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE7C,QAAA,IAAI,OAAO,CAAC,wBAAwB,KAAK,KAAK,EAAE;AAC5C,YAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AAC9B,SAAA;;AAGD,QAAA,OAAO,OAAO,CAAC;KAClB;IAEO,oBAAoB,GAAA;;AACxB,QAAA,IAAI,CAAC,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAA,EAAE;YACrC,IAAI,CAAC,iBAAiB,GAAG;AACrB,gBAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO;AACjD,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,QAAQ,EAAE,IAAI;;AAEd,gBAAA,mBAAmB,EAAE,IAAI;AACzB,gBAAA,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW;;aAEtD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEX,gBAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC;;AAE7C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;AACtC,aAAA;;;;AAKJ,SAAA;KACJ;IACM,sBAAsB,CAAC,MAA0B,EAAE,YAAqB,EAAA;;AAC3E,QAAA,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;AAC5G,QAAA,MAAM,IAAI,GAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;AAC7G,QAAA,CAAA,EAAA,GAAA,cAAc,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;YACpC,IAAI;AACJ,YAAA,UAAU,EAAE,qBAAqB;YACjC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,GAAG,SAAS;YAClG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,GAAG,SAAS;AACpG,YAAA,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB;AACxD,SAAA,CAAC,CAAC;KACN;IACD,SAAS,CAAC,KAAa,EAAE,KAAc,EAAA;;QACnC,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC9C;IACD,IAAI,GAAA;;AACA,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,EAAE,CAAC;KACpC;IACD,QAAQ,GAAA;;AACJ,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,EAAE,CAAC;KACpC;AACD,IAAA,kBAAkB,CAAC,QAAgB,EAAA;;QAC/B,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,0CAAE,IAAI;AACjC,YAAA,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;;AAEzC,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;;;;;;;;;KAU5C;AACD,IAAA,QAAQ,CAAC,QAAgB,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,GAAG,KAAI;;AAEpD,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAAqB,CAAC;YACzC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC9G,OAAO;AACX,YAAA,IAAI,CAAC,SAAS,CAAC,MAAK;AAChB,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBAChG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AACnE,iBAAA;AACL,aAAC,CAAC,CAAC;AAEP,SAAC,CAAC,CAAC;KACN;AACO,IAAA,SAAS,CAAqC,QAAW,EAAE,GAAG,IAAW,EAAA;AAC7E,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;AAED,IAAA,aAAa,CAAC,SAAmB,EAAA;;;AAG7B,QAAA,IAAI,CAAC,SAAS,CAAC,MAAK;;AAChB,YAAA,IAAI,CAAC,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,KAAI,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;KACN;;AA7OQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iEAkCjB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAlCd,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EACZ,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAA,SAAA,EAAA,YAAA,CAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,0BAA0B,EAAU,IAAA,EAAA,WAAW,wICtBpE,ojFAuCM,EAAA,MAAA,EAAA,CAAA,6wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,WAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,cAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDlBO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACI,cAAc,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ojFAAA,EAAA,MAAA,EAAA,CAAA,6wCAAA,CAAA,EAAA,CAAA;;;8BAoChC,MAAM;+BAAC,WAAW,CAAA;;8BAClB,QAAQ;;yBAjCb,QAAQ,EAAA,CAAA;sBADP,eAAe;gBAAC,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;gBAGlE,eAAe,EAAA,CAAA;sBADd,SAAS;gBAAC,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAGtC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAKF,UAAU,EAAA,CAAA;sBADb,KAAK;uBAAC,SAAS,CAAA;gBAMhB,cAAc,EAAA,CAAA;sBADb,KAAK;gBAON,WAAW,EAAA,CAAA;sBADV,MAAM;gBAIP,UAAU,EAAA,CAAA;sBADT,MAAM;;;ME7BE,0BAA0B,CAAA;IAGnC,WACoC,CAAA,IAA2B,EACpD,SAAmD,EAAA;AAD1B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAuB;AACpD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA0C;AAHvD,QAAA,IAAY,CAAA,YAAA,GAAW,sBAAsB,CAAC;QAKjD,IAAI,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAClC,MAAK;AACD,YAAA,0BAA0B,CAAC,YAAY,GAAG,IAAI,CAAC;AACnD,SAAC,CACJ,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAClC,MAAK;AACD,YAAA,0BAA0B,CAAC,YAAY,GAAG,KAAK,CAAC;AACpD,SAAC,CACJ,CAAC;KACL;;AAnBM,0BAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AADnB,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAIvB,eAAe,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAJlB,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAbzB,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ugBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAIQ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAftC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACrB,QAAA,EAAA,CAAA;;;;;;;;;AAST,IAAA,CAAA,EAEc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,ugBAAA,CAAA,EAAA,CAAA;;;8BAMhC,MAAM;+BAAC,eAAe,CAAA;;;;MCOlB,iBAAiB,CAAA;AAE1B,IAAA,WAAA,CACI,SAAoB,EAAA;AAEpB,QAAA,iBAAiB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,OAAO,qBAAqB,CAAC,SAAoB,EAAA;QAC7C,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;YACjD,IAAI,0BAA0B,CAAC,YAAY,EAAE;gBACzC,OAAO;AACV,aAAA;AACD,YAAA,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;KACN;IACM,OAAO,OAAO,CAAC,MAAgC,EAAA;QAClD,OAAO;AACH,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE;AACP,gBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE;AACzD,aAAA;SACJ,CAAC;KACL;;AAzBM,iBAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;8GAD3B,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAhBtB,oBAAoB;QACpB,0BAA0B;AAC1B,QAAA,0BAA0B,aAG1B,YAAY;QACZ,aAAa;QACb,eAAe;QACf,eAAe;AACf,QAAA,YAAY,aAGZ,oBAAoB;QACpB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGrB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAXtB,YAAY;QACZ,aAAa;QACb,eAAe;QACf,eAAe;QACf,YAAY,CAAA,EAAA,CAAA,CAAA;2FAOP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAlB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,oBAAoB;wBACpB,0BAA0B;wBAC1B,0BAA0B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,YAAY;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,0BAA0B;AAC7B,qBAAA;iBACJ,CAAA;;;AC7BD;;AAEG;;;;"}
1
+ {"version":3,"file":"nextalys-carousel-lib-nxs-carousel.mjs","sources":["../../lib/nxs-carousel/swiper-directives.ts","../../lib/nxs-carousel/carousel-events.ts","../../lib/common-types.ts","../../lib/nxs-carousel/nxs-carousel.component.ts","../../lib/nxs-carousel/nxs-carousel.component.html","../../lib/nxs-carousel/nxs-carousel-dialog.component.ts","../../lib/nxs-carousel/nxs-carousel.module.ts","../../lib/nextalys-carousel-lib-nxs-carousel.ts"],"sourcesContent":["import { Directive } from \"@angular/core\";\n\n@Directive({\n selector: '[nxsSwiperTemplate]',\n})\nexport class NxsSwiperTemplateDirective { }\n","import { NxsEvent } from \"nextalys-js-helpers\";\nimport { NxsCarouselDialogData } from \"./nxs-carousel-types\";\n\nexport class CarouselEvents {\n static openCarouselDialog = new NxsEvent<{\n data: NxsCarouselDialogData;\n panelClass: string;\n width?: string;\n height?: string;\n disableClose: boolean;\n }>();\n}","\nexport interface NxsCarouselImage {\n alt?: string;\n src: string;\n}\nexport class NxsCarouselModuleConfig {\n debug?: boolean = false;\n}","import { Component, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, ContentChildren, TemplateRef, InjectionToken } from '@angular/core';\nimport { NxsCarouselDialogData, NxsCarouselOptions } from './nxs-carousel-types';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EventsCollector } from 'nextalys-js-helpers/dist/events';\n// import Swiper core and required modules\nimport SwiperCore, { Navigation, Pagination, Autoplay, Lazy, Swiper, SwiperOptions, Thumbs } from 'swiper';\n//Virtual,Scrollbar,A11y\nimport { SwiperComponent } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselImage, NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n// install Swiper modules\nSwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);\n@Component({\n selector: 'nxs-carousel',\n templateUrl: './nxs-carousel.component.html',\n styleUrls: ['./nxs-carousel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselComponent {\n private swiperReady = false;\n @ContentChildren(NxsSwiperTemplateDirective, { read: TemplateRef })\n contents!: TemplateRef<HTMLElement>;\n @ViewChild('swiper', { static: false })\n swiperComponent?: SwiperComponent;\n @Input()\n lazy = true;\n private eventsCollector = new EventsCollector();\n\n @Input()\n public images: NxsCarouselImage[];\n options: NxsCarouselOptions = null;\n thumbnailsOptions: SwiperOptions = null;\n @Input('options')\n set setOptions(val: NxsCarouselOptions) {\n this.options = this.setDefaultOptions(val, false);\n this.setThumbnailsOptions();\n }\n @Input()\n hasHtmlContent = false;\n slidesCount: number = 0;\n private swiperInstance: Swiper;\n thumbnailsSwiperInstance: Swiper;\n\n @Output()\n slideChange = new EventEmitter<number>();\n public currentSlide = 0;\n @Output()\n slideClick = new EventEmitter<MouseEvent | TouchEvent | PointerEvent>();\n isBrowser = false;\n\n constructor(\n private matDialog: MatDialog,\n private zone: NgZone,\n @Inject(PLATFORM_ID) private platformId: any,\n @Optional() private config?: NxsCarouselModuleConfig,\n\n ) {\n if (!this.config)\n this.config = { debug: false };\n this.isBrowser = isPlatformBrowser(this.platformId);\n this.log('constructor - isBrowser', this.isBrowser);\n this.options = this.setDefaultOptions(undefined, false);\n }\n private log(...args: any[]) {\n if (!this.config.debug)\n return;\n console.log('[NxsCarousel]', ...args);\n }\n private destroy() {\n if (!this.isBrowser) {\n return;\n }\n this.eventsCollector?.unsubscribeAll();\n }\n ngOnDestroy(): void {\n this.destroy();\n }\n ngAfterViewInit(): void {\n // console.log('thi.contents', this.contents);\n // this.initSlides();\n // this.createSlider(true);\n }\n getMainSliderHeight() {\n if (!this.options)\n return '';\n if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {\n if (this.options.nxsThumbnails.onMainSlider) {\n return '100%';\n }\n else if (this.options.nxsThumbnails.percentHeight) {\n return (100 - this.options.nxsThumbnails.percentHeight) + '%';\n }\n }\n return '';\n }\n private setDefaultOptions(options: NxsCarouselOptions, forDialog: boolean) {\n if (!options && forDialog) {\n options = {\n nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,\n lazy: this.lazy,\n };\n }\n else if (!options) {\n options = {\n nxsShowNavigationBullets: true, loop: true,\n nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},\n lazy: this.lazy,\n };\n }\n if (options.nxsCarouselDialogOptions) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };\n if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')\n options.nxsCarouselDialogOptions.effect = 'slide';\n if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')\n options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;\n\n if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;\n options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {\n 640: {\n slidesPerView: 5,\n },\n 768: {\n slidesPerView: 7,\n },\n 1024: {\n slidesPerView: 8,\n },\n };\n }\n }\n if (!options.nxsThumbnails)\n options.nxsThumbnails = { show: false };\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')\n options.nxsThumbnails.percentHeight = 20;\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')\n options.nxsThumbnails.perView = 10;\n\n\n if (forDialog)\n options.nxsfullscreenOnClick = false;\n if (options.nxsThumbnails.onMainSlider)\n options.nxsShowNavigationBullets = false;\n\n if (typeof options.lazy === 'undefined')\n options.lazy = true;\n\n if (typeof options.navigation === 'undefined')\n options.navigation = true;\n if (typeof options.pagination === 'undefined')\n options.pagination = { clickable: true };\n\n if (options.nxsShowNavigationBullets === false) {\n options.pagination = false;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options\", options);\n\n return options;\n }\n\n private setThumbnailsOptions() {\n if (!!this.options?.nxsThumbnails?.show) {\n this.thumbnailsOptions = {\n slidesPerView: this.options.nxsThumbnails.perView,\n loop: false,\n freeMode: true,\n // watchSlidesVisibility: true,\n watchSlidesProgress: true,\n breakpoints: this.options.nxsThumbnails.breakpoints,\n // spaceBetween: 10,\n };\n if (this.lazy) {\n // Disable preloading of all images\n this.thumbnailsOptions.preloadImages = false;\n // Enable lazy loading\n this.thumbnailsOptions.lazy = true;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy\", this.thumbnailsOptions.lazy);\n\n // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);\n // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };\n }\n }\n public showFullScreenCarousel(images: NxsCarouselImage[], wrapperClass?: string) {\n this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);\n const data: NxsCarouselDialogData = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };\n CarouselEvents.openCarouselDialog?.emit({\n data,\n panelClass: 'nxs-carousel-dialog',\n width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,\n height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,\n disableClose: !this.options.nxsCarouselDialogExitable,\n });\n }\n goToSlide(index: number, speed?: number) {\n this.swiperInstance?.slideTo(index, speed);\n }\n next() {\n this.swiperInstance?.slideNext();\n }\n previous() {\n this.swiperInstance?.slidePrev();\n }\n onSwiperThumbnails(instance: Swiper) {\n if (this.options?.nxsThumbnails?.show)\n this.thumbnailsSwiperInstance = instance;\n else\n this.thumbnailsSwiperInstance = null;\n\n // if (this.options?.nxsThumbnails?.show) {\n // const optionsClone = MainHelpers.cloneObject(this.options);\n // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // // this.options = optionsClone;\n // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options \", this.options);\n // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // }\n }\n onSwiper(instance: Swiper) {\n this.log('swiper ready - instance', instance);\n this.swiperInstance = instance;\n this.swiperInstance.on('click', (swiperInstance, evt) => {\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt\", evt);\n const target = evt.target as HTMLElement;\n if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)\n return;\n this.runInZone(() => {\n this.slideClick.next(evt);\n if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {\n this.showFullScreenCarousel(this.images, 'fullscreen-carousel');\n }\n });\n\n });\n this.swiperReady = true;\n }\n private runInZone<T extends (...args: any[]) => void>(callback: T, ...args: any[]) {\n if (!this.zone) {\n callback(args);\n }\n return this.zone.run(() => callback(args));\n }\n\n onSlideChange(instances: Swiper[]) {\n if (!this.swiperReady) {\n return;\n }\n if (!this.swiperInstance && instances?.length) {\n this.swiperInstance = instances[0];\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:\", instances);\n // this.swiperInstance = instance;\n // this.log('slide change - instance', instance);\n this.runInZone(() => {\n this.currentSlide = this.swiperInstance?.realIndex || 0;\n // console.log(\"Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:\", this.swiperInstance);\n this.log('slide change - currentSlide', this.currentSlide);\n this.slideChange.next(this.currentSlide);\n });\n }\n}\n","<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>","import { Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NxsCarouselDialogData } from './nxs-carousel-types';\n\n@Component({\n selector: 'nxs-carousel-dialog',\n 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 `,\n styleUrls: ['./nxs-carousel-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselDialogComponent {\n static dialogOpened = false;\n public wrapperClass: string = 'nxs-carousel-wrapper';\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: NxsCarouselDialogData,\n public dialogRef: MatDialogRef<NxsCarouselDialogComponent>,\n ) {\n if (data.wrapperClass)\n this.wrapperClass += ' ' + data.wrapperClass;\n\n this.dialogRef.afterOpened().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = true;\n }\n );\n this.dialogRef.afterClosed().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = false;\n }\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { NxsCarouselComponent } from './nxs-carousel.component';\nimport { SwiperModule } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n@NgModule({\n declarations: [\n NxsCarouselComponent,\n NxsCarouselDialogComponent,\n NxsSwiperTemplateDirective,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n SwiperModule,\n ],\n exports: [\n NxsCarouselComponent,\n NxsSwiperTemplateDirective,\n ],\n})\nexport class NxsCarouselModule {\n static openDialogSubscribed = false;\n constructor(\n matDialog: MatDialog,\n ) {\n NxsCarouselModule.subscribeToOpenDialog(matDialog);\n }\n static subscribeToOpenDialog(matDialog: MatDialog) {\n if (this.openDialogSubscribed) {\n return;\n }\n this.openDialogSubscribed = true;\n CarouselEvents.openCarouselDialog.subscribe((data) => {\n if (NxsCarouselDialogComponent.dialogOpened) {\n return;\n }\n matDialog.open(NxsCarouselDialogComponent, data);\n });\n }\n public static forRoot(config?: NxsCarouselModuleConfig): ModuleWithProviders<NxsCarouselModule> {\n return {\n ngModule: NxsCarouselModule,\n providers: [\n { provide: NxsCarouselModuleConfig, useValue: config },\n ],\n };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-carousel';\n"],"names":["i2.NxsCarouselModuleConfig","i3","i4.NxsCarouselComponent"],"mappings":"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"}
@@ -43,6 +43,7 @@ class NxsCarouselComponent {
43
43
  this.zone = zone;
44
44
  this.platformId = platformId;
45
45
  this.config = config;
46
+ this.swiperReady = false;
46
47
  this.lazy = true;
47
48
  this.eventsCollector = new EventsCollector();
48
49
  this.options = null;
@@ -227,6 +228,7 @@ class NxsCarouselComponent {
227
228
  }
228
229
  });
229
230
  });
231
+ this.swiperReady = true;
230
232
  }
231
233
  runInZone(callback, ...args) {
232
234
  if (!this.zone) {
@@ -235,10 +237,18 @@ class NxsCarouselComponent {
235
237
  return this.zone.run(() => callback(args));
236
238
  }
237
239
  onSlideChange(instances) {
240
+ if (!this.swiperReady) {
241
+ return;
242
+ }
243
+ if (!this.swiperInstance && instances?.length) {
244
+ this.swiperInstance = instances[0];
245
+ }
246
+ // console.log("Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:", instances);
238
247
  // this.swiperInstance = instance;
239
248
  // this.log('slide change - instance', instance);
240
249
  this.runInZone(() => {
241
250
  this.currentSlide = this.swiperInstance?.realIndex || 0;
251
+ // console.log("Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:", this.swiperInstance);
242
252
  this.log('slide change - currentSlide', this.currentSlide);
243
253
  this.slideChange.next(this.currentSlide);
244
254
  });
@@ -1 +1 @@
1
- {"version":3,"file":"nextalys-carousel-lib-nxs-carousel.mjs","sources":["../../lib/nxs-carousel/swiper-directives.ts","../../lib/common-types.ts","../../lib/nxs-carousel/carousel-events.ts","../../lib/nxs-carousel/nxs-carousel.component.ts","../../lib/nxs-carousel/nxs-carousel.component.html","../../lib/nxs-carousel/nxs-carousel-dialog.component.ts","../../lib/nxs-carousel/nxs-carousel.module.ts","../../lib/nextalys-carousel-lib-nxs-carousel.ts"],"sourcesContent":["import { Directive } from \"@angular/core\";\n\n@Directive({\n selector: '[nxsSwiperTemplate]',\n})\nexport class NxsSwiperTemplateDirective { }\n","\nexport interface NxsCarouselImage {\n alt?: string;\n src: string;\n}\nexport class NxsCarouselModuleConfig {\n debug?: boolean = false;\n}","import { NxsEvent } from \"nextalys-js-helpers\";\nimport { NxsCarouselDialogData } from \"./nxs-carousel-types\";\n\nexport class CarouselEvents {\n static openCarouselDialog = new NxsEvent<{\n data: NxsCarouselDialogData;\n panelClass: string;\n width?: string;\n height?: string;\n disableClose: boolean;\n }>();\n}","import { Component, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, ContentChildren, TemplateRef, InjectionToken } from '@angular/core';\nimport { NxsCarouselDialogData, NxsCarouselOptions } from './nxs-carousel-types';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EventsCollector } from 'nextalys-js-helpers/dist/events';\n// import Swiper core and required modules\nimport SwiperCore, { Navigation, Pagination, Autoplay, Lazy, Swiper, SwiperOptions, Thumbs } from 'swiper';\n//Virtual,Scrollbar,A11y\nimport { SwiperComponent } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselImage, NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n// install Swiper modules\nSwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);\n@Component({\n selector: 'nxs-carousel',\n templateUrl: './nxs-carousel.component.html',\n styleUrls: ['./nxs-carousel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselComponent {\n @ContentChildren(NxsSwiperTemplateDirective, { read: TemplateRef })\n contents!: TemplateRef<HTMLElement>;\n @ViewChild('swiper', { static: false })\n swiperComponent?: SwiperComponent;\n @Input()\n lazy = true;\n private eventsCollector = new EventsCollector();\n\n @Input()\n public images: NxsCarouselImage[];\n options: NxsCarouselOptions = null;\n thumbnailsOptions: SwiperOptions = null;\n @Input('options')\n set setOptions(val: NxsCarouselOptions) {\n this.options = this.setDefaultOptions(val, false);\n this.setThumbnailsOptions();\n }\n @Input()\n hasHtmlContent = false;\n slidesCount: number = 0;\n private swiperInstance: Swiper;\n thumbnailsSwiperInstance: Swiper;\n\n @Output()\n slideChange = new EventEmitter<number>();\n public currentSlide = 0;\n @Output()\n slideClick = new EventEmitter<MouseEvent | TouchEvent | PointerEvent>();\n isBrowser = false;\n\n constructor(\n private matDialog: MatDialog,\n private zone: NgZone,\n @Inject(PLATFORM_ID) private platformId: any,\n @Optional() private config?: NxsCarouselModuleConfig,\n\n ) {\n if (!this.config)\n this.config = { debug: false };\n this.isBrowser = isPlatformBrowser(this.platformId);\n this.log('constructor - isBrowser', this.isBrowser);\n this.options = this.setDefaultOptions(undefined, false);\n }\n private log(...args: any[]) {\n if (!this.config.debug)\n return;\n console.log('[NxsCarousel]', ...args);\n }\n private destroy() {\n if (!this.isBrowser) {\n return;\n }\n this.eventsCollector?.unsubscribeAll();\n }\n ngOnDestroy(): void {\n this.destroy();\n }\n ngAfterViewInit(): void {\n // console.log('thi.contents', this.contents);\n // this.initSlides();\n // this.createSlider(true);\n }\n getMainSliderHeight() {\n if (!this.options)\n return '';\n if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {\n if (this.options.nxsThumbnails.onMainSlider) {\n return '100%';\n }\n else if (this.options.nxsThumbnails.percentHeight) {\n return (100 - this.options.nxsThumbnails.percentHeight) + '%';\n }\n }\n return '';\n }\n private setDefaultOptions(options: NxsCarouselOptions, forDialog: boolean) {\n if (!options && forDialog) {\n options = {\n nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,\n lazy: this.lazy,\n };\n }\n else if (!options) {\n options = {\n nxsShowNavigationBullets: true, loop: true,\n nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},\n lazy: this.lazy,\n };\n }\n if (options.nxsCarouselDialogOptions) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };\n if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')\n options.nxsCarouselDialogOptions.effect = 'slide';\n if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')\n options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;\n\n if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;\n options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {\n 640: {\n slidesPerView: 5,\n },\n 768: {\n slidesPerView: 7,\n },\n 1024: {\n slidesPerView: 8,\n },\n };\n }\n }\n if (!options.nxsThumbnails)\n options.nxsThumbnails = { show: false };\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')\n options.nxsThumbnails.percentHeight = 20;\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')\n options.nxsThumbnails.perView = 10;\n\n\n if (forDialog)\n options.nxsfullscreenOnClick = false;\n if (options.nxsThumbnails.onMainSlider)\n options.nxsShowNavigationBullets = false;\n\n if (typeof options.lazy === 'undefined')\n options.lazy = true;\n\n if (typeof options.navigation === 'undefined')\n options.navigation = true;\n if (typeof options.pagination === 'undefined')\n options.pagination = { clickable: true };\n\n if (options.nxsShowNavigationBullets === false) {\n options.pagination = false;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options\", options);\n\n return options;\n }\n\n private setThumbnailsOptions() {\n if (!!this.options?.nxsThumbnails?.show) {\n this.thumbnailsOptions = {\n slidesPerView: this.options.nxsThumbnails.perView,\n loop: false,\n freeMode: true,\n // watchSlidesVisibility: true,\n watchSlidesProgress: true,\n breakpoints: this.options.nxsThumbnails.breakpoints,\n // spaceBetween: 10,\n };\n if (this.lazy) {\n // Disable preloading of all images\n this.thumbnailsOptions.preloadImages = false;\n // Enable lazy loading\n this.thumbnailsOptions.lazy = true;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy\", this.thumbnailsOptions.lazy);\n\n // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);\n // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };\n }\n }\n public showFullScreenCarousel(images: NxsCarouselImage[], wrapperClass?: string) {\n this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);\n const data: NxsCarouselDialogData = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };\n CarouselEvents.openCarouselDialog?.emit({\n data,\n panelClass: 'nxs-carousel-dialog',\n width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,\n height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,\n disableClose: !this.options.nxsCarouselDialogExitable,\n });\n }\n goToSlide(index: number, speed?: number) {\n this.swiperInstance?.slideTo(index, speed);\n }\n next() {\n this.swiperInstance?.slideNext();\n }\n previous() {\n this.swiperInstance?.slidePrev();\n }\n onSwiperThumbnails(instance: Swiper) {\n if (this.options?.nxsThumbnails?.show)\n this.thumbnailsSwiperInstance = instance;\n else\n this.thumbnailsSwiperInstance = null;\n\n // if (this.options?.nxsThumbnails?.show) {\n // const optionsClone = MainHelpers.cloneObject(this.options);\n // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // // this.options = optionsClone;\n // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options \", this.options);\n // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // }\n }\n onSwiper(instance: Swiper) {\n this.log('swiper ready - instance', instance);\n this.swiperInstance = instance;\n this.swiperInstance.on('click', (swiperInstance, evt) => {\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt\", evt);\n const target = evt.target as HTMLElement;\n if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)\n return;\n this.runInZone(() => {\n this.slideClick.next(evt);\n if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {\n this.showFullScreenCarousel(this.images, 'fullscreen-carousel');\n }\n });\n\n });\n }\n private runInZone<T extends (...args: any[]) => void>(callback: T, ...args: any[]) {\n if (!this.zone) {\n callback(args);\n }\n return this.zone.run(() => callback(args));\n }\n\n onSlideChange(instances: Swiper[]) {\n // this.swiperInstance = instance;\n // this.log('slide change - instance', instance);\n this.runInZone(() => {\n this.currentSlide = this.swiperInstance?.realIndex || 0;\n this.log('slide change - currentSlide', this.currentSlide);\n this.slideChange.next(this.currentSlide);\n });\n }\n}\n","<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>","import { Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NxsCarouselDialogData } from './nxs-carousel-types';\n\n@Component({\n selector: 'nxs-carousel-dialog',\n 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 `,\n styleUrls: ['./nxs-carousel-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselDialogComponent {\n static dialogOpened = false;\n public wrapperClass: string = 'nxs-carousel-wrapper';\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: NxsCarouselDialogData,\n public dialogRef: MatDialogRef<NxsCarouselDialogComponent>,\n ) {\n if (data.wrapperClass)\n this.wrapperClass += ' ' + data.wrapperClass;\n\n this.dialogRef.afterOpened().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = true;\n }\n );\n this.dialogRef.afterClosed().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = false;\n }\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { NxsCarouselComponent } from './nxs-carousel.component';\nimport { SwiperModule } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n@NgModule({\n declarations: [\n NxsCarouselComponent,\n NxsCarouselDialogComponent,\n NxsSwiperTemplateDirective,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n SwiperModule,\n ],\n exports: [\n NxsCarouselComponent,\n NxsSwiperTemplateDirective,\n ],\n})\nexport class NxsCarouselModule {\n static openDialogSubscribed = false;\n constructor(\n matDialog: MatDialog,\n ) {\n NxsCarouselModule.subscribeToOpenDialog(matDialog);\n }\n static subscribeToOpenDialog(matDialog: MatDialog) {\n if (this.openDialogSubscribed) {\n return;\n }\n this.openDialogSubscribed = true;\n CarouselEvents.openCarouselDialog.subscribe((data) => {\n if (NxsCarouselDialogComponent.dialogOpened) {\n return;\n }\n matDialog.open(NxsCarouselDialogComponent, data);\n });\n }\n public static forRoot(config?: NxsCarouselModuleConfig): ModuleWithProviders<NxsCarouselModule> {\n return {\n ngModule: NxsCarouselModule,\n providers: [\n { provide: NxsCarouselModuleConfig, useValue: config },\n ],\n };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-carousel';\n"],"names":["i2.NxsCarouselModuleConfig","i3","i4.NxsCarouselComponent"],"mappings":"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"}
1
+ {"version":3,"file":"nextalys-carousel-lib-nxs-carousel.mjs","sources":["../../lib/nxs-carousel/swiper-directives.ts","../../lib/common-types.ts","../../lib/nxs-carousel/carousel-events.ts","../../lib/nxs-carousel/nxs-carousel.component.ts","../../lib/nxs-carousel/nxs-carousel.component.html","../../lib/nxs-carousel/nxs-carousel-dialog.component.ts","../../lib/nxs-carousel/nxs-carousel.module.ts","../../lib/nextalys-carousel-lib-nxs-carousel.ts"],"sourcesContent":["import { Directive } from \"@angular/core\";\n\n@Directive({\n selector: '[nxsSwiperTemplate]',\n})\nexport class NxsSwiperTemplateDirective { }\n","\nexport interface NxsCarouselImage {\n alt?: string;\n src: string;\n}\nexport class NxsCarouselModuleConfig {\n debug?: boolean = false;\n}","import { NxsEvent } from \"nextalys-js-helpers\";\nimport { NxsCarouselDialogData } from \"./nxs-carousel-types\";\n\nexport class CarouselEvents {\n static openCarouselDialog = new NxsEvent<{\n data: NxsCarouselDialogData;\n panelClass: string;\n width?: string;\n height?: string;\n disableClose: boolean;\n }>();\n}","import { Component, ViewEncapsulation, Input, ViewChild, Output, EventEmitter, PLATFORM_ID, Inject, Optional, NgZone, ContentChildren, TemplateRef, InjectionToken } from '@angular/core';\nimport { NxsCarouselDialogData, NxsCarouselOptions } from './nxs-carousel-types';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EventsCollector } from 'nextalys-js-helpers/dist/events';\n// import Swiper core and required modules\nimport SwiperCore, { Navigation, Pagination, Autoplay, Lazy, Swiper, SwiperOptions, Thumbs } from 'swiper';\n//Virtual,Scrollbar,A11y\nimport { SwiperComponent } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselImage, NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n// install Swiper modules\nSwiperCore.use([Navigation, Pagination, Autoplay, Lazy, Thumbs]);\n@Component({\n selector: 'nxs-carousel',\n templateUrl: './nxs-carousel.component.html',\n styleUrls: ['./nxs-carousel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselComponent {\n private swiperReady = false;\n @ContentChildren(NxsSwiperTemplateDirective, { read: TemplateRef })\n contents!: TemplateRef<HTMLElement>;\n @ViewChild('swiper', { static: false })\n swiperComponent?: SwiperComponent;\n @Input()\n lazy = true;\n private eventsCollector = new EventsCollector();\n\n @Input()\n public images: NxsCarouselImage[];\n options: NxsCarouselOptions = null;\n thumbnailsOptions: SwiperOptions = null;\n @Input('options')\n set setOptions(val: NxsCarouselOptions) {\n this.options = this.setDefaultOptions(val, false);\n this.setThumbnailsOptions();\n }\n @Input()\n hasHtmlContent = false;\n slidesCount: number = 0;\n private swiperInstance: Swiper;\n thumbnailsSwiperInstance: Swiper;\n\n @Output()\n slideChange = new EventEmitter<number>();\n public currentSlide = 0;\n @Output()\n slideClick = new EventEmitter<MouseEvent | TouchEvent | PointerEvent>();\n isBrowser = false;\n\n constructor(\n private matDialog: MatDialog,\n private zone: NgZone,\n @Inject(PLATFORM_ID) private platformId: any,\n @Optional() private config?: NxsCarouselModuleConfig,\n\n ) {\n if (!this.config)\n this.config = { debug: false };\n this.isBrowser = isPlatformBrowser(this.platformId);\n this.log('constructor - isBrowser', this.isBrowser);\n this.options = this.setDefaultOptions(undefined, false);\n }\n private log(...args: any[]) {\n if (!this.config.debug)\n return;\n console.log('[NxsCarousel]', ...args);\n }\n private destroy() {\n if (!this.isBrowser) {\n return;\n }\n this.eventsCollector?.unsubscribeAll();\n }\n ngOnDestroy(): void {\n this.destroy();\n }\n ngAfterViewInit(): void {\n // console.log('thi.contents', this.contents);\n // this.initSlides();\n // this.createSlider(true);\n }\n getMainSliderHeight() {\n if (!this.options)\n return '';\n if (this.options.nxsThumbnails && this.options.nxsThumbnails.show) {\n if (this.options.nxsThumbnails.onMainSlider) {\n return '100%';\n }\n else if (this.options.nxsThumbnails.percentHeight) {\n return (100 - this.options.nxsThumbnails.percentHeight) + '%';\n }\n }\n return '';\n }\n private setDefaultOptions(options: NxsCarouselOptions, forDialog: boolean) {\n if (!options && forDialog) {\n options = {\n nxsShowNavigationBullets: true, loop: true, nxsThumbnails: { show: true }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: true,\n lazy: this.lazy,\n };\n }\n else if (!options) {\n options = {\n nxsShowNavigationBullets: true, loop: true,\n nxsThumbnails: { show: false }, effect: 'slide', nxsShowNavigationArrows: true, nxsShowImagesCount: false, nxsCarouselDialogOptions: {},\n lazy: this.lazy,\n };\n }\n if (options.nxsCarouselDialogOptions) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails = { show: false };\n if (typeof options.nxsCarouselDialogOptions.effect === 'undefined')\n options.nxsCarouselDialogOptions.effect = 'slide';\n if (typeof options.nxsCarouselDialogOptions.nxsShowNavigationArrows === 'undefined')\n options.nxsCarouselDialogOptions.nxsShowNavigationArrows = true;\n\n if (!!options.nxsCarouselDialogOptions.nxsThumbnails?.show) {\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.percentHeight = 20;\n if (typeof options.nxsCarouselDialogOptions.nxsThumbnails.perView === 'undefined')\n options.nxsCarouselDialogOptions.nxsThumbnails.perView = 10;\n options.nxsCarouselDialogOptions.nxsThumbnails.breakpoints = {\n 640: {\n slidesPerView: 5,\n },\n 768: {\n slidesPerView: 7,\n },\n 1024: {\n slidesPerView: 8,\n },\n };\n }\n }\n if (!options.nxsThumbnails)\n options.nxsThumbnails = { show: false };\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.percentHeight === 'undefined')\n options.nxsThumbnails.percentHeight = 20;\n\n if (options.nxsThumbnails.show && typeof options.nxsThumbnails.perView === 'undefined')\n options.nxsThumbnails.perView = 10;\n\n\n if (forDialog)\n options.nxsfullscreenOnClick = false;\n if (options.nxsThumbnails.onMainSlider)\n options.nxsShowNavigationBullets = false;\n\n if (typeof options.lazy === 'undefined')\n options.lazy = true;\n\n if (typeof options.navigation === 'undefined')\n options.navigation = true;\n if (typeof options.pagination === 'undefined')\n options.pagination = { clickable: true };\n\n if (options.nxsShowNavigationBullets === false) {\n options.pagination = false;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 272 ~ NxsCarouselComponent ~ setDefaultOptions ~ options\", options);\n\n return options;\n }\n\n private setThumbnailsOptions() {\n if (!!this.options?.nxsThumbnails?.show) {\n this.thumbnailsOptions = {\n slidesPerView: this.options.nxsThumbnails.perView,\n loop: false,\n freeMode: true,\n // watchSlidesVisibility: true,\n watchSlidesProgress: true,\n breakpoints: this.options.nxsThumbnails.breakpoints,\n // spaceBetween: 10,\n };\n if (this.lazy) {\n // Disable preloading of all images\n this.thumbnailsOptions.preloadImages = false;\n // Enable lazy loading\n this.thumbnailsOptions.lazy = true;\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 184 ~ NxsCarouselComponent ~ setThumbnailsOptions ~ this.thumbnailsOptions.lazy\", this.thumbnailsOptions.lazy);\n\n // this.thumbnailsSliderInstance = new Swiper(this.nxsThumbnailsSliderContainer.nativeElement, thumbnailsOptions);\n // this.options.thumbs = { swiper: this.thumbnailsSliderInstance };\n }\n }\n public showFullScreenCarousel(images: NxsCarouselImage[], wrapperClass?: string) {\n this.options.nxsCarouselDialogOptions = this.setDefaultOptions(this.options.nxsCarouselDialogOptions, true);\n const data: NxsCarouselDialogData = { images, wrapperClass, options: this.options.nxsCarouselDialogOptions };\n CarouselEvents.openCarouselDialog?.emit({\n data,\n panelClass: 'nxs-carousel-dialog',\n width: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.width : undefined,\n height: !!this.options.nxsCarouselDialogSize ? this.options.nxsCarouselDialogSize.height : undefined,\n disableClose: !this.options.nxsCarouselDialogExitable,\n });\n }\n goToSlide(index: number, speed?: number) {\n this.swiperInstance?.slideTo(index, speed);\n }\n next() {\n this.swiperInstance?.slideNext();\n }\n previous() {\n this.swiperInstance?.slidePrev();\n }\n onSwiperThumbnails(instance: Swiper) {\n if (this.options?.nxsThumbnails?.show)\n this.thumbnailsSwiperInstance = instance;\n else\n this.thumbnailsSwiperInstance = null;\n\n // if (this.options?.nxsThumbnails?.show) {\n // const optionsClone = MainHelpers.cloneObject(this.options);\n // optionsClone.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // // this.options = optionsClone;\n // // this.options = { ...this.options, thumbs: { swiper: this.thumbnailsSwiperInstance } };\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 416 ~ NxsCarouselComponent ~ onSwiperThumbnails ~ this.options \", this.options);\n // this.options.thumbs = { swiper: this.thumbnailsSwiperInstance };\n // }\n }\n onSwiper(instance: Swiper) {\n this.log('swiper ready - instance', instance);\n this.swiperInstance = instance;\n this.swiperInstance.on('click', (swiperInstance, evt) => {\n // console.log(\"Log ~ file: nxs-carousel.component.ts ~ line 392 ~ NxsCarouselComponent ~ this.swiperInstance.on ~ evt\", evt);\n const target = evt.target as HTMLElement;\n if (target.className.indexOf('nxs-carousel-button') !== -1 || target.className.indexOf('swiper-pagination') !== -1)\n return;\n this.runInZone(() => {\n this.slideClick.next(evt);\n if (this.options.nxsfullscreenOnClick && this.images && this.images.length && !this.hasHtmlContent) {\n this.showFullScreenCarousel(this.images, 'fullscreen-carousel');\n }\n });\n\n });\n this.swiperReady = true;\n }\n private runInZone<T extends (...args: any[]) => void>(callback: T, ...args: any[]) {\n if (!this.zone) {\n callback(args);\n }\n return this.zone.run(() => callback(args));\n }\n\n onSlideChange(instances: Swiper[]) {\n if (!this.swiperReady) {\n return;\n }\n if (!this.swiperInstance && instances?.length) {\n this.swiperInstance = instances[0];\n }\n // console.log(\"Log ~ file: nxs-carousel.component.ts:252 ~ NxsCarouselComponent ~ onSlideChange ~ instances:\", instances);\n // this.swiperInstance = instance;\n // this.log('slide change - instance', instance);\n this.runInZone(() => {\n this.currentSlide = this.swiperInstance?.realIndex || 0;\n // console.log(\"Log ~ file: nxs-carousel.component.ts:256 ~ NxsCarouselComponent ~ this.runInZone ~ this.swiperInstance?.realIndex:\", this.swiperInstance);\n this.log('slide change - currentSlide', this.currentSlide);\n this.slideChange.next(this.currentSlide);\n });\n }\n}\n","<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>","import { Component, Inject, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NxsCarouselDialogData } from './nxs-carousel-types';\n\n@Component({\n selector: 'nxs-carousel-dialog',\n 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 `,\n styleUrls: ['./nxs-carousel-dialog.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NxsCarouselDialogComponent {\n static dialogOpened = false;\n public wrapperClass: string = 'nxs-carousel-wrapper';\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: NxsCarouselDialogData,\n public dialogRef: MatDialogRef<NxsCarouselDialogComponent>,\n ) {\n if (data.wrapperClass)\n this.wrapperClass += ' ' + data.wrapperClass;\n\n this.dialogRef.afterOpened().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = true;\n }\n );\n this.dialogRef.afterClosed().subscribe(\n () => {\n NxsCarouselDialogComponent.dialogOpened = false;\n }\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NxsCarouselDialogComponent } from './nxs-carousel-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { NxsCarouselComponent } from './nxs-carousel.component';\nimport { SwiperModule } from 'swiper/angular';\nimport { NxsSwiperTemplateDirective } from './swiper-directives';\nimport { NxsCarouselModuleConfig } from '../common-types';\nimport { CarouselEvents } from './carousel-events';\n\n@NgModule({\n declarations: [\n NxsCarouselComponent,\n NxsCarouselDialogComponent,\n NxsSwiperTemplateDirective,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n SwiperModule,\n ],\n exports: [\n NxsCarouselComponent,\n NxsSwiperTemplateDirective,\n ],\n})\nexport class NxsCarouselModule {\n static openDialogSubscribed = false;\n constructor(\n matDialog: MatDialog,\n ) {\n NxsCarouselModule.subscribeToOpenDialog(matDialog);\n }\n static subscribeToOpenDialog(matDialog: MatDialog) {\n if (this.openDialogSubscribed) {\n return;\n }\n this.openDialogSubscribed = true;\n CarouselEvents.openCarouselDialog.subscribe((data) => {\n if (NxsCarouselDialogComponent.dialogOpened) {\n return;\n }\n matDialog.open(NxsCarouselDialogComponent, data);\n });\n }\n public static forRoot(config?: NxsCarouselModuleConfig): ModuleWithProviders<NxsCarouselModule> {\n return {\n ngModule: NxsCarouselModule,\n providers: [\n { provide: NxsCarouselModuleConfig, useValue: config },\n ],\n };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api-carousel';\n"],"names":["i2.NxsCarouselModuleConfig","i3","i4.NxsCarouselComponent"],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare class NxsCarouselComponent {
10
10
  private zone;
11
11
  private platformId;
12
12
  private config?;
13
+ private swiperReady;
13
14
  contents: TemplateRef<HTMLElement>;
14
15
  swiperComponent?: SwiperComponent;
15
16
  lazy: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"nxs-carousel.component.d.ts","sourceRoot":"","sources":["../../../../lib/nxs-carousel/nxs-carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,YAAY,EAAiC,MAAM,EAAmB,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC1L,OAAO,EAAyB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAIrD,OAAmB,EAA0C,MAAM,EAAE,aAAa,EAAU,MAAM,QAAQ,CAAC;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;;AAK5E,qBAMa,oBAAoB;IAgCzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,IAAI;IACS,OAAO,CAAC,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAC;IAjC/B,QAAQ,EAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,IAAI,UAAQ;IACZ,OAAO,CAAC,eAAe,CAAyB;IAGzC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAQ;IACnC,iBAAiB,EAAE,aAAa,CAAQ;IACxC,IACI,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAGrC;IAED,cAAc,UAAS;IACvB,WAAW,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IAGjC,WAAW,uBAA8B;IAClC,YAAY,SAAK;IAExB,UAAU,uDAA8D;IACxE,SAAS,UAAS;gBAGN,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACS,UAAU,EAAE,GAAG,EACxB,MAAM,CAAC,EAAE,uBAAuB;IASxD,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,OAAO;IAMf,WAAW,IAAI,IAAI;IAGnB,eAAe,IAAI,IAAI;IAKvB,mBAAmB;IAanB,OAAO,CAAC,iBAAiB;IAuEzB,OAAO,CAAC,oBAAoB;IAuBrB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAW/E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAGvC,IAAI;IAGJ,QAAQ;IAGR,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAenC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAiBzB,OAAO,CAAC,SAAS;IAOjB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE;yCArOxB,oBAAoB;2CAApB,oBAAoB;CA8OhC"}
1
+ {"version":3,"file":"nxs-carousel.component.d.ts","sourceRoot":"","sources":["../../../../lib/nxs-carousel/nxs-carousel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,YAAY,EAAiC,MAAM,EAAmB,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC1L,OAAO,EAAyB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAIrD,OAAmB,EAA0C,MAAM,EAAE,aAAa,EAAU,MAAM,QAAQ,CAAC;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;;AAK5E,qBAMa,oBAAoB;IAiCzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,IAAI;IACS,OAAO,CAAC,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAC;IAnC/B,OAAO,CAAC,WAAW,CAAS;IAE5B,QAAQ,EAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,IAAI,UAAQ;IACZ,OAAO,CAAC,eAAe,CAAyB;IAGzC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAClC,OAAO,EAAE,kBAAkB,CAAQ;IACnC,iBAAiB,EAAE,aAAa,CAAQ;IACxC,IACI,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAGrC;IAED,cAAc,UAAS;IACvB,WAAW,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IAGjC,WAAW,uBAA8B;IAClC,YAAY,SAAK;IAExB,UAAU,uDAA8D;IACxE,SAAS,UAAS;gBAGN,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACS,UAAU,EAAE,GAAG,EACxB,MAAM,CAAC,EAAE,uBAAuB;IASxD,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,OAAO;IAMf,WAAW,IAAI,IAAI;IAGnB,eAAe,IAAI,IAAI;IAKvB,mBAAmB;IAanB,OAAO,CAAC,iBAAiB;IAuEzB,OAAO,CAAC,oBAAoB;IAuBrB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAW/E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAGvC,IAAI;IAGJ,QAAQ;IAGR,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAenC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAkBzB,OAAO,CAAC,SAAS;IAOjB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE;yCAvOxB,oBAAoB;2CAApB,oBAAoB;CAwPhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextalys-carousel",
3
- "version": "0.0.67",
3
+ "version": "0.0.68",
4
4
  "dependencies": {
5
5
  "swiper": "^8.2.4",
6
6
  "tslib": "^2.3.0"