@net7/boilerplate-muruca 5.2.2 → 5.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/esm2022/lib/components/advanced-result/advanced-result.mjs +3 -3
  2. package/esm2022/lib/components/form/form.mjs +3 -3
  3. package/esm2022/lib/components/form-wrapper-accordion/form-wrapper-accordion.mjs +3 -3
  4. package/esm2022/lib/components/gallery/gallery.mjs +5 -5
  5. package/esm2022/lib/components/metadata-dynamic/metadata-dynamic.mjs +3 -3
  6. package/esm2022/lib/components/metadata-with-readmore/metadata-with-readmore.mjs +3 -3
  7. package/esm2022/lib/components/read-more/read-more.mjs +3 -3
  8. package/esm2022/lib/components/resource-modal/resource-modal.mjs +3 -3
  9. package/esm2022/lib/components/search-page-description/search-page-description.mjs +3 -3
  10. package/esm2022/lib/data-sources/static-metadata.ds.mjs +11 -5
  11. package/esm2022/lib/event-handlers/gallery.eh.mjs +3 -1
  12. package/esm2022/lib/guards/dynamic-path.guard.mjs +3 -3
  13. package/esm2022/lib/guards/locale-dependencies.guard.mjs +3 -3
  14. package/esm2022/lib/layouts/advanced-results-layout/advanced-results-layout.mjs +3 -3
  15. package/esm2022/lib/layouts/advanced-search-layout/advanced-search-layout.mjs +3 -3
  16. package/esm2022/lib/layouts/home-layout/home-layout.mjs +3 -3
  17. package/esm2022/lib/layouts/itinerary-layout/itinerary-layout.mjs +3 -3
  18. package/esm2022/lib/layouts/map-layout/map-layout.mjs +3 -3
  19. package/esm2022/lib/layouts/posts-layout/posts-layout.mjs +3 -3
  20. package/esm2022/lib/layouts/resource-layout/resource-layout.eh.mjs +9 -9
  21. package/esm2022/lib/layouts/resource-layout/resource-layout.mjs +3 -3
  22. package/esm2022/lib/layouts/search-facets-layout/search-facets-layout.mjs +3 -3
  23. package/esm2022/lib/layouts/search-layout/search-layout.mjs +3 -3
  24. package/esm2022/lib/layouts/static-layout/static-layout.mjs +3 -3
  25. package/esm2022/lib/layouts/timeline-layout/timeline-layout.ds.mjs +5 -2
  26. package/esm2022/lib/layouts/timeline-layout/timeline-layout.mjs +23 -6
  27. package/esm2022/lib/n7-boilerplate-muruca.module.mjs +4 -4
  28. package/esm2022/lib/pipes/keep-html.pipe.mjs +3 -3
  29. package/esm2022/lib/services/footer.service.mjs +3 -3
  30. package/esm2022/lib/services/layout-state.service.mjs +3 -3
  31. package/esm2022/lib/services/locale.service.mjs +3 -3
  32. package/esm2022/lib/services/menu.service.mjs +3 -3
  33. package/esm2022/lib/services/resource-modal.service.mjs +3 -3
  34. package/esm2022/lib/services/search.service.mjs +3 -3
  35. package/esm2022/lib/services/translations-loader.service.mjs +3 -3
  36. package/fesm2022/net7-boilerplate-muruca.mjs +157 -132
  37. package/fesm2022/net7-boilerplate-muruca.mjs.map +1 -1
  38. package/lib/components/gallery/gallery.d.ts +4 -4
  39. package/lib/layouts/timeline-layout/timeline-layout.d.ts +1 -0
  40. package/lib/layouts/timeline-layout/timeline-layout.ds.d.ts +1 -0
  41. package/package.json +1 -1
  42. package/src/lib/styles/muruca/components/_gallery.scss +1 -1
  43. package/src/lib/styles/muruca/components/_wp-content.scss +45 -15
  44. package/src/lib/styles/muruca/layouts/_timeline.scss +2 -1
@@ -75,10 +75,10 @@ export class MrHomeLayoutComponent extends AbstractLayout {
75
75
  });
76
76
  }
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrHomeLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i3.MrLayoutStateService }, { token: i4.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrHomeLayoutComponent, selector: "mr-home-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-home mr-layout\"\n *ngIf=\"lb.dataSource\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- HOME CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <section *ngFor=\"let section of lb.dataSource.pageConfig.sections\" class=\"{{ 'mr-layout__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- SLIDER -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <n7-carousel \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-carousel> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <div class=\"mr-layout__maxwidth mr-items-preview\">\n <n7-inner-title \n [data]=\"(lb.widgets[section.id].ds.out$ | async)?.header\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n <div class=\"{{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview\n *ngFor=\"let item of (lb.widgets[section.id].ds.out$ | async)?.items\"\n [data]=\"item\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- HERO -->\n <ng-container *ngSwitchCase=\"'hero'\">\n <n7-hero \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-hero> \n </ng-container>\n \n <!-- CONTENT -->\n <ng-container *ngSwitchCase=\"'content'\">\n <div [innerHTML]=\"lb.widgets[section.id].ds.out$ | async\"></div>\n </ng-container>\n \n </ng-container>\n </section>\n </ng-container>\n\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.CarouselComponent, selector: "n7-carousel", inputs: ["data", "emit"] }, { kind: "component", type: i6.HeroComponent, selector: "n7-hero", inputs: ["data", "emit"] }, { kind: "component", type: i6.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i6.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i6.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrHomeLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i3.MrLayoutStateService }, { token: i4.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrHomeLayoutComponent, selector: "mr-home-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-home mr-layout\"\n *ngIf=\"lb.dataSource\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- HOME CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <section *ngFor=\"let section of lb.dataSource.pageConfig.sections\" class=\"{{ 'mr-layout__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- SLIDER -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <n7-carousel \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-carousel> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <div class=\"mr-layout__maxwidth mr-items-preview\">\n <n7-inner-title \n [data]=\"(lb.widgets[section.id].ds.out$ | async)?.header\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n <div class=\"{{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview\n *ngFor=\"let item of (lb.widgets[section.id].ds.out$ | async)?.items\"\n [data]=\"item\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- HERO -->\n <ng-container *ngSwitchCase=\"'hero'\">\n <n7-hero \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-hero> \n </ng-container>\n \n <!-- CONTENT -->\n <ng-container *ngSwitchCase=\"'content'\">\n <div [innerHTML]=\"lb.widgets[section.id].ds.out$ | async\"></div>\n </ng-container>\n \n </ng-container>\n </section>\n </ng-container>\n\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.CarouselComponent, selector: "n7-carousel", inputs: ["data", "emit"] }, { kind: "component", type: i6.HeroComponent, selector: "n7-hero", inputs: ["data", "emit"] }, { kind: "component", type: i6.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i6.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i6.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrHomeLayoutComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrHomeLayoutComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'mr-home-layout', template: "<div class=\"mr-home mr-layout\"\n *ngIf=\"lb.dataSource\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- HOME CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <section *ngFor=\"let section of lb.dataSource.pageConfig.sections\" class=\"{{ 'mr-layout__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- SLIDER -->\n <ng-container *ngSwitchCase=\"'slider'\">\n <n7-carousel \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-carousel> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <div class=\"mr-layout__maxwidth mr-items-preview\">\n <n7-inner-title \n [data]=\"(lb.widgets[section.id].ds.out$ | async)?.header\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n <div class=\"{{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview\n *ngFor=\"let item of (lb.widgets[section.id].ds.out$ | async)?.items\"\n [data]=\"item\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- HERO -->\n <ng-container *ngSwitchCase=\"'hero'\">\n <n7-hero \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-hero> \n </ng-container>\n \n <!-- CONTENT -->\n <ng-container *ngSwitchCase=\"'content'\">\n <div [innerHTML]=\"lb.widgets[section.id].ds.out$ | async\"></div>\n </ng-container>\n \n </ng-container>\n </section>\n </ng-container>\n\n </ng-container>\n</div>\n" }]
84
84
  }], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i3.MrLayoutStateService }, { type: i4.MrLocaleService }] });
@@ -77,10 +77,10 @@ export class MrItineraryLayoutComponent extends AbstractLayout {
77
77
  });
78
78
  }
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrItineraryLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MrLayoutStateService }, { token: i4.MrResourceModalService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrItineraryLayoutComponent, selector: "mr-itinerary-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-static mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- ITINERARY LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"mr-static__top\">\n <h1 class=\"mr-static__title mr-generated-title-WP\">{{lb.dataSource.title}}</h1>\n <div class=\"mr-static__metadata\">\n <n7-metadata-viewer \n [data]=\"lb.widgets['mr-static-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </div>\n\n <div class=\"mr-static__content mr-side-margin\">\n <!-- Page content html -->\n <div class=\"mr-wp-content\" [innerHTML]=\"lb.dataSource.content | keepHtml\"></div>\n \n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-static__related-resources\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: lb.dataSource.pageConfig.sections }\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <n7-metadata-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </mr-read-more>\n </div>\n </div>\n\n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n \n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n\n </ng-container>\n </ng-container>\n \n <!-- GALLERY -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <div class=\"mr-content-block mr-content-block-gallery\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-gallery [grid]=\"section.grid\" [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </mr-gallery>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i8.ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: i9.MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.EscapeHtmlPipe, name: "keepHtml" }] }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrItineraryLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MrLayoutStateService }, { token: i4.MrResourceModalService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrItineraryLayoutComponent, selector: "mr-itinerary-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-static mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- ITINERARY LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"mr-static__top\">\n <h1 class=\"mr-static__title mr-generated-title-WP\">{{lb.dataSource.title}}</h1>\n <div class=\"mr-static__metadata\">\n <n7-metadata-viewer \n [data]=\"lb.widgets['mr-static-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </div>\n\n <div class=\"mr-static__content mr-side-margin\">\n <!-- Page content html -->\n <div class=\"mr-wp-content\" [innerHTML]=\"lb.dataSource.content | keepHtml\"></div>\n \n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-static__related-resources\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: lb.dataSource.pageConfig.sections }\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <n7-metadata-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </mr-read-more>\n </div>\n </div>\n\n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n \n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n\n </ng-container>\n </ng-container>\n \n <!-- GALLERY -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <div class=\"mr-content-block mr-content-block-gallery\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-gallery [grid]=\"section.grid\" [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </mr-gallery>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i8.ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: i9.MrGalleryComponent, selector: "mr-gallery", inputs: ["data", "emit", "grid"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.EscapeHtmlPipe, name: "keepHtml" }] }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrItineraryLayoutComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrItineraryLayoutComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'mr-itinerary-layout', template: "<div class=\"mr-static mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- ITINERARY LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"mr-static__top\">\n <h1 class=\"mr-static__title mr-generated-title-WP\">{{lb.dataSource.title}}</h1>\n <div class=\"mr-static__metadata\">\n <n7-metadata-viewer \n [data]=\"lb.widgets['mr-static-metadata'].ds.out$ | async\">\n </n7-metadata-viewer>\n </div>\n </div>\n\n <div class=\"mr-static__content mr-side-margin\">\n <!-- Page content html -->\n <div class=\"mr-wp-content\" [innerHTML]=\"lb.dataSource.content | keepHtml\"></div>\n \n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-static__related-resources\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: lb.dataSource.pageConfig.sections }\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <n7-metadata-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </mr-read-more>\n </div>\n </div>\n\n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n \n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n\n </ng-container>\n </ng-container>\n \n <!-- GALLERY -->\n <ng-container *ngSwitchCase=\"'gallery'\">\n <div class=\"mr-content-block mr-content-block-gallery\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-gallery [grid]=\"section.grid\" [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </mr-gallery>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n" }]
86
86
  }], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.MrLayoutStateService }, { type: i4.MrResourceModalService }, { type: i5.MrLocaleService }] });
@@ -45,10 +45,10 @@ export class MrMapLayoutComponent extends AbstractLayout {
45
45
  ngOnDestroy() {
46
46
  this.onDestroy();
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrMapLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.Location }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i4.MrLayoutStateService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrMapLayoutComponent, selector: "mr-map-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-map-layout mr-layout\"\n *ngIf=\"lb.dataSource\">\n <div class=\"mr-map-layout__map\">\n <div class=\"mr-map-layout__map-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n </div>\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n <!-- <n7-timeline [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\">\n </n7-timeline> -->\n </div>\n\n <div class=\"mr-map-layout__page mr-side-margin\">\n <div class=\"mr-map-layout__date\">\n <n7-inner-title [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\">\n </n7-inner-title>\n </div>\n <!--\n <h1 class=\"mr-map-layout__title\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n {{lb.dataSource.eventHeader}}\n </h1>\n -->\n <div class=\"mr-map-layout__content\">\n <!-- DESCRIZIONE -->\n <div class=\"mr-content-block mr-content-block-description\" *ngIf=\"lb.dataSource.eventDescription\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\">\n <p>\n </div>\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n\n <!-- GALLERIA -->\n <div class=\"mr-content-block n7-grid-6\">\n <ng-container *ngFor=\"let image of lb.dataSource.collectionGalleryData\">\n <a [href]=\"image.image\" class=\"mr-gallery__image\">\n <img [src]=\"image.thumbnail\" alt=\"image.title\">\n </a>\n </ng-container>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-map-layout__collection-content\">\n <n7-item-preview [data]=\"item\"></n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- TESTIMONI -->\n <ng-container *ngIf=\"lb.dataSource.collectionWitnessData as wit\">\n <ng-container *ngIf=\"wit.items && wit.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ wit.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of wit.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- OPERE -->\n <ng-container *ngIf=\"lb.dataSource.collectionWorksData as works\">\n <ng-container *ngIf=\"works.items && works.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ works.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of works.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i6.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i6.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrMapLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.Location }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i4.MrLayoutStateService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrMapLayoutComponent, selector: "mr-map-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-map-layout mr-layout\"\n *ngIf=\"lb.dataSource\">\n <div class=\"mr-map-layout__map\">\n <div class=\"mr-map-layout__map-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n </div>\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n <!-- <n7-timeline [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\">\n </n7-timeline> -->\n </div>\n\n <div class=\"mr-map-layout__page mr-side-margin\">\n <div class=\"mr-map-layout__date\">\n <n7-inner-title [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\">\n </n7-inner-title>\n </div>\n <!--\n <h1 class=\"mr-map-layout__title\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n {{lb.dataSource.eventHeader}}\n </h1>\n -->\n <div class=\"mr-map-layout__content\">\n <!-- DESCRIZIONE -->\n <div class=\"mr-content-block mr-content-block-description\" *ngIf=\"lb.dataSource.eventDescription\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\">\n <p>\n </div>\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n\n <!-- GALLERIA -->\n <div class=\"mr-content-block n7-grid-6\">\n <ng-container *ngFor=\"let image of lb.dataSource.collectionGalleryData\">\n <a [href]=\"image.image\" class=\"mr-gallery__image\">\n <img [src]=\"image.thumbnail\" alt=\"image.title\">\n </a>\n </ng-container>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-map-layout__collection-content\">\n <n7-item-preview [data]=\"item\"></n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- TESTIMONI -->\n <ng-container *ngIf=\"lb.dataSource.collectionWitnessData as wit\">\n <ng-container *ngIf=\"wit.items && wit.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ wit.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of wit.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- OPERE -->\n <ng-container *ngIf=\"lb.dataSource.collectionWorksData as works\">\n <ng-container *ngIf=\"works.items && works.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ works.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of works.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i6.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i6.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrMapLayoutComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrMapLayoutComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'mr-map-layout', template: "<div class=\"mr-map-layout mr-layout\"\n *ngIf=\"lb.dataSource\">\n <div class=\"mr-map-layout__map\">\n <div class=\"mr-map-layout__map-loading\"\n *ngIf=\"lb.dataSource.loading.timeline\">\n </div>\n <n7-map [data]=\"lb.widgets['mr-map'].ds.out$ | async\"></n7-map>\n <!-- <n7-timeline [data]=\"lb.widgets['mr-timeline'].ds.out$ | async\"\n *ngIf=\"!lb.dataSource.loading.timeline\">\n </n7-timeline> -->\n </div>\n\n <div class=\"mr-map-layout__page mr-side-margin\">\n <div class=\"mr-map-layout__date\">\n <n7-inner-title [data]=\"lb.widgets['mr-year-header'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-year-header'].emit\">\n </n7-inner-title>\n </div>\n <!--\n <h1 class=\"mr-map-layout__title\"\n *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n {{lb.dataSource.eventHeader}}\n </h1>\n -->\n <div class=\"mr-map-layout__content\">\n <!-- DESCRIZIONE -->\n <div class=\"mr-content-block mr-content-block-description\" *ngIf=\"lb.dataSource.eventDescription\">\n <p [innerHTML]=\"lb.dataSource.eventDescription\">\n <p>\n </div>\n <ng-container *ngIf=\"!lb.dataSource.loading.resourceDetails\">\n\n <!-- GALLERIA -->\n <div class=\"mr-content-block n7-grid-6\">\n <ng-container *ngFor=\"let image of lb.dataSource.collectionGalleryData\">\n <a [href]=\"image.image\" class=\"mr-gallery__image\">\n <img [src]=\"image.thumbnail\" alt=\"image.title\">\n </a>\n </ng-container>\n </div>\n\n <!-- BIBLIOGRAFIA -->\n <ng-container *ngIf=\"lb.dataSource.bibliographyData as biblio\">\n <ng-container *ngIf=\"biblio.items && biblio.items.length > 0\">\n <div class=\"mr-content-block mr-content-block-collection\">\n <h3 class=\"mr-content-block__title\">{{ biblio.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-1\">\n <ng-container *ngFor=\"let item of biblio.items\">\n <div class=\"mr-map-layout__collection-content\">\n <n7-item-preview [data]=\"item\"></n7-item-preview>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- TESTIMONI -->\n <ng-container *ngIf=\"lb.dataSource.collectionWitnessData as wit\">\n <ng-container *ngIf=\"wit.items && wit.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ wit.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of wit.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <!-- OPERE -->\n <ng-container *ngIf=\"lb.dataSource.collectionWorksData as works\">\n <ng-container *ngIf=\"works.items && works.items.length > 0\">\n <div class=\"mr-content-block-collection mr-content-block\">\n <h3 class=\"mr-content-block__title\">{{ works.header.title }}</h3>\n <div class=\"mr-content-block__content n7-grid-3\">\n <n7-item-preview *ngFor=\"let item of works.items\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n</div>\n" }]
54
54
  }], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.Location }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i4.MrLayoutStateService }, { type: i5.MrLocaleService }] });
@@ -40,10 +40,10 @@ export class MrPostsLayoutComponent extends AbstractLayout {
40
40
  ngOnDestroy() {
41
41
  this.onDestroy();
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrPostsLayoutComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MainStateService }, { token: i2.ConfigurationService }, { token: i2.CommunicationService }, { token: i3.MrLayoutStateService }, { token: i2.LayoutsConfigurationService }], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrPostsLayoutComponent, selector: "mr-posts-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <div class=\"scroll-ref\">&nbsp;</div>\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div class=\"mr-search__results-content\">\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.pageConfig['filters']\" class=\"mr-search__results-filters\">\n <span *ngIf=\"lb.dataSource.pageConfig['filters'].title\" \n class=\"mr-search__results-filters-title\">{{ lb.dataSource.pageConfig['filters'].title }}</span>\n <div class=\"mr-search__results-filters-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-advanced-search-tags'].ds.out$ | async)\"\n [data]=\"tag\">\n </n7-tag>\n </div>\n </div>\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i5.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i5.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i5.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { kind: "component", type: i2.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrPostsLayoutComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.MainStateService }, { token: i2.ConfigurationService }, { token: i2.CommunicationService }, { token: i3.MrLayoutStateService }, { token: i2.LayoutsConfigurationService }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrPostsLayoutComponent, selector: "mr-posts-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <div class=\"scroll-ref\">&nbsp;</div>\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div class=\"mr-search__results-content\">\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.pageConfig['filters']\" class=\"mr-search__results-filters\">\n <span *ngIf=\"lb.dataSource.pageConfig['filters'].title\" \n class=\"mr-search__results-filters-title\">{{ lb.dataSource.pageConfig['filters'].title }}</span>\n <div class=\"mr-search__results-filters-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-advanced-search-tags'].ds.out$ | async)\"\n [data]=\"tag\">\n </n7-tag>\n </div>\n </div>\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i5.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i5.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i5.TagComponent, selector: "n7-tag", inputs: ["data", "emit"] }, { kind: "component", type: i2.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrPostsLayoutComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrPostsLayoutComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'mr-posts-layout', template: "<div class=\"mr-search mr-layout\"\n *ngIf=\"lb.dataSource\">\n <section class=\"mr-layout__maxwidth mr-side-margin\">\n\n <div class=\"mr-search__title\">\n <div class=\"scroll-ref\">&nbsp;</div>\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-page-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-page-title'].emit\">\n </n7-inner-title>\n </div>\n \n <div class=\"mr-search__results-content\">\n <div class=\"mr-search__results-wrapper\">\n <div class=\"mr-search__results-info\">\n <n7-inner-title\n [data]=\"lb.widgets['mr-search-results-title'].ds.out$ | async\"\n [emit]=\"lb.widgets['mr-search-results-title'].emit\">\n </n7-inner-title>\n </div>\n <div *ngIf=\"lb.dataSource.pageConfig['filters']\" class=\"mr-search__results-filters\">\n <span *ngIf=\"lb.dataSource.pageConfig['filters'].title\" \n class=\"mr-search__results-filters-title\">{{ lb.dataSource.pageConfig['filters'].title }}</span>\n <div class=\"mr-search__results-filters-wrapper\">\n <n7-tag *ngFor=\"let tag of (lb.widgets['mr-advanced-search-tags'].ds.out$ | async)\"\n [data]=\"tag\">\n </n7-tag>\n </div>\n </div>\n <main class=\"mr-search__results\">\n <!-- SEARCH RESULTS -->\n <ng-container [ngSwitch]=\"layoutState.get$('results') | async\">\n \n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-search__results-loading n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\" [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n </ng-container>\n \n <!-- success: items > 0 -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <div class=\"n7-grid-{{ lb.dataSource.pageConfig.grid || 3 }}\">\n <n7-item-preview *ngFor=\"let item of (lb.widgets['mr-search-results'].ds.out$ | async)\"\n [data]=\"item\">\n </n7-item-preview>\n </div>\n </ng-container>\n\n <!-- empty: items === 0 -->\n <ng-container *ngSwitchCase=\"'EMPTY'\">\n <div class=\"mr-search__results-fallback\">\n <p class=\"mr-search__results-fallback-string\">\n {{ lb.dataSource.pageConfig.fallback.text }}\n </p>\n <button class=\"n7-btn mr-search__results-fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.fallback.button }}\n </button>\n </div>\n </ng-container>\n\n <!-- error: request problem -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <p class=\"mr-search__results-ko-string\">\n {{ lb.dataSource.pageConfig.ko.text }}\n </p>\n <button class=\"n7-btn mr-search__results-ko-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset')\">\n {{ lb.dataSource.pageConfig.ko.button }}\n </button>\n </ng-container>\n \n </ng-container>\n </main> \n <n7-smart-pagination\n *ngIf=\"(layoutState.get$('results') | async) === 'SUCCESS'\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n\n </section>\n</div>\n" }]
49
49
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.MainStateService }, { type: i2.ConfigurationService }, { type: i2.CommunicationService }, { type: i3.MrLayoutStateService }, { type: i2.LayoutsConfigurationService }] });
@@ -60,14 +60,7 @@ export class MrResourceLayoutEH extends EventHandler {
60
60
  eventData: payload
61
61
  });
62
62
  }
63
- // image viewer overlay events
64
- if (type.includes('overlayclick')) {
65
- this.emitOuter('showoverlaydetails', payload);
66
- }
67
- if (type.includes('overlaypagechange')) {
68
- this.emitOuter('hideoverlaydetails', payload);
69
- }
70
- if (type.indexOf('download-pdf')) {
63
+ if (type.indexOf('download-pdf') !== -1) {
71
64
  this.dataSource.pdfRequest$(this.dataSource.id).subscribe((pdf) => {
72
65
  const blobObj = pdf;
73
66
  const a = document.createElement('a');
@@ -78,6 +71,13 @@ export class MrResourceLayoutEH extends EventHandler {
78
71
  URL.revokeObjectURL(objectURL);
79
72
  });
80
73
  }
74
+ // image viewer overlay events
75
+ if (type.includes('overlayclick')) {
76
+ this.emitOuter('showoverlaydetails', payload);
77
+ }
78
+ if (type.includes('overlaypagechange')) {
79
+ this.emitOuter('hideoverlaydetails', payload);
80
+ }
81
81
  });
82
82
  }
83
83
  listenRoute() {
@@ -103,4 +103,4 @@ export class MrResourceLayoutEH extends EventHandler {
103
103
  });
104
104
  }
105
105
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmVoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQ0wsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUMvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYscURBQXFEO0FBQ3JELHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUFwRDs7UUFXVSxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFxR2xELENBQUM7SUFuR1EsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNoRCxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUsseUJBQXlCO29CQUFFLENBQUM7d0JBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7d0JBQ3pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO3dCQUNoRCxNQUFNLEVBQUUsR0FBRyxF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SyxHQUFHLEVBQUUsQ0FBQztnQkFDdkIseUJBQXlCO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sT0FBTyxHQUFHLFFBQVEsRUFBRSxJQUFJLElBQUksVUFBVSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUNKLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6Qyx3Q0FBd0M7WUFDeEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRIYW5kbGVyIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICB0YWtlVW50aWwsIHN3aXRjaE1hcCwgbWFwLCB0YXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UsIExheW91dFN0YXRlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc291cmNlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZUxheW91dERTIH0gZnJvbSAnLi9yZXNvdXJjZS1sYXlvdXQuZHMnO1xuLy8gaW1wb3J0IG1vY2sgZnJvbSAnLi9yZXNvdXJjZS1sYXlvdXQtbW9jay1taXJhZG9yJztcbi8vIGltcG9ydCBtb2NrIGZyb20gJy4vcmVzb3VyY2UtbGF5b3V0LW1vY2stY2FtYnJpZGdlJztcblxuZXhwb3J0IGNsYXNzIE1yUmVzb3VyY2VMYXlvdXRFSCBleHRlbmRzIEV2ZW50SGFuZGxlciB7XG4gIGRhdGFTb3VyY2U6IE1yUmVzb3VyY2VMYXlvdXREUztcblxuICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcblxuICBwcml2YXRlIHJvdXRlcjogUm91dGVyO1xuXG4gIHByaXZhdGUgbGF5b3V0U3RhdGU6IE1yTGF5b3V0U3RhdGVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNclJlc291cmNlTW9kYWxTZXJ2aWNlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ21yLXJlc291cmNlLWxheW91dC5pbml0Jzoge1xuICAgICAgICAgIHRoaXMucm91dGUgPSBwYXlsb2FkLnJvdXRlO1xuICAgICAgICAgIHRoaXMucm91dGVyID0gcGF5bG9hZC5yb3V0ZXI7XG4gICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UgPSBwYXlsb2FkLm1vZGFsU2VydmljZTtcbiAgICAgICAgICBjb25zdCB7IHNsdWcsIGlkIH0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcztcbiAgICAgICAgICBjb25zdCB7IHVybCB9ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdDtcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UudGFiID0gdXJsW3VybC5sZW5ndGggLSAxXS5wYXRoO1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zbHVnID0gc2x1ZztcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuaWQgPSBpZDtcbiAgICAgICAgICB0aGlzLmxheW91dFN0YXRlID0gcGF5bG9hZC5sYXlvdXRTdGF0ZTtcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub25Jbml0KHBheWxvYWQpO1xuICAgICAgICAgIHRoaXMubGlzdGVuUm91dGUoKTtcbiAgICAgICAgICAvLyBzY3JvbGwgdG9wXG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuXG4gICAgICAgICAgLy8gZW1pdCBzaWduYWxcbiAgICAgICAgICB0aGlzLmVtaXRPdXRlcignaW5pdCcpO1xuICAgICAgICB9IGJyZWFrO1xuICAgICAgICBjYXNlICdtci1yZXNvdXJjZS1sYXlvdXQuZGVzdHJveSc6XG4gICAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc29sZS53YXJuKCd1bmhhbmRsZWQgaW5uZXIgZXZlbnQgb2YgdHlwZScsIHR5cGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vdXRlckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgaWYgKHR5cGUuaW5kZXhPZignb3BlbnJlc291cmNlbW9kYWwnKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBpZCwgdHlwZTogcmVzb3VyY2VUeXBlIH0gPSBwYXlsb2FkO1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGlkLCByZXNvdXJjZVR5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUuaW5kZXhPZigndGh1bWJjbGljaycpICE9PSAtMSkge1xuICAgICAgICBjb25zdCBbc291cmNlSWRdID0gdHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCB0YXJnZXRJZCA9IHNvdXJjZUlkLnJlcGxhY2UoJy10b29scycsICcnKTtcbiAgICAgICAgdGhpcy5lbWl0T3V0ZXIoJ3RodW1iY2xpY2snLCB7XG4gICAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgICAgdGh1bWJpbmRleDogcGF5bG9hZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlLmluZGV4T2YoJ3BhZ2VjaGFuZ2UnKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgW3NvdXJjZUlkXSA9IHR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0SWQgPSBgJHtzb3VyY2VJZH0tdG9vbHNgO1xuICAgICAgICB0aGlzLmVtaXRPdXRlcigncGFnZWNoYW5nZScsIHtcbiAgICAgICAgICB0YXJnZXRJZCxcbiAgICAgICAgICBldmVudERhdGE6IHBheWxvYWRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBpbWFnZSB2aWV3ZXIgb3ZlcmxheSBldmVudHNcbiAgICAgIGlmICh0eXBlLmluY2x1ZGVzKCdvdmVybGF5Y2xpY2snKSkge1xuICAgICAgICB0aGlzLmVtaXRPdXRlcignc2hvd292ZXJsYXlkZXRhaWxzJywgcGF5bG9hZCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZS5pbmNsdWRlcygnb3ZlcmxheXBhZ2VjaGFuZ2UnKSkge1xuICAgICAgICB0aGlzLmVtaXRPdXRlcignaGlkZW92ZXJsYXlkZXRhaWxzJywgcGF5bG9hZCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZS5pbmRleE9mKCdkb3dubG9hZC1wZGYnKSkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucGRmUmVxdWVzdCQodGhpcy5kYXRhU291cmNlLmlkKS5zdWJzY3JpYmUoKHBkZikgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2JPYmogPSBwZGYgYXMgQmxvYjtcbiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICAgIGNvbnN0IG9iamVjdFVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYk9iaik7XG4gICAgICAgICAgYS5ocmVmID0gb2JqZWN0VVJMO1xuICAgICAgICAgIGEuZG93bmxvYWQgPSBgJHt0aGlzLmRhdGFTb3VyY2Uuc2x1Z31gO1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVSTCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Sb3V0ZSgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtTWFwLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLmxheW91dFN0YXRlLnNldCgnY29udGVudCcsIExheW91dFN0YXRlLkxPQURJTkcpO1xuICAgICAgfSksXG4gICAgICBtYXAoKHBhcmFtczogUGFyYW1NYXApID0+IHBhcmFtcy5nZXQoJ2lkJykpLFxuICAgICAgc3dpdGNoTWFwKChpZCkgPT4gdGhpcy5kYXRhU291cmNlLnBhZ2VSZXF1ZXN0JChpZCwgKGVycikgPT4ge1xuICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgLy8gZ2V0dGluZyBub3QgZm91bmQgcGF0aFxuICAgICAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzLnJvdXRlcjtcbiAgICAgICAgICBjb25zdCByb3V0ZTQwNCA9IGNvbmZpZy5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YT8uaWQgPT09ICdwYWdlLTQwNCcpO1xuICAgICAgICAgIGNvbnN0IHBhdGg0MDQgPSByb3V0ZTQwND8ucGF0aCB8fCAncGFnZS00MDQnO1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXRoNDA0XSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS53YXJuKGBFcnJvciBsb2FkaW5nIHJlc291cmNlIGxheW91dCBmb3IgJHtpZH1gLCBlcnIubWVzc2FnZSk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5pZCA9IGlkO1xuICAgICAgICB0aGlzLmxheW91dFN0YXRlLnNldCgnY29udGVudCcsIExheW91dFN0YXRlLkVSUk9SKTtcbiAgICAgIH0pKVxuICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5sYXlvdXRTdGF0ZS5zZXQoJ2NvbnRlbnQnLCBMYXlvdXRTdGF0ZS5TVUNDRVNTKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5oYW5kbGVSZXNwb25zZShyZXNwb25zZSk7XG4gICAgICAvLyB0aGlzLmRhdGFTb3VyY2UuaGFuZGxlUmVzcG9uc2UobW9jayk7XG4gICAgICAvLyBzY3JvbGwgdG9wXG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtbGF5b3V0LmVoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbjctYm9pbGVycGxhdGUtbXVydWNhL3NyYy9saWIvbGF5b3V0cy9yZXNvdXJjZS1sYXlvdXQvcmVzb3VyY2UtbGF5b3V0LmVoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQ0wsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUMvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYscURBQXFEO0FBQ3JELHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUFwRDs7UUFXVSxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFxR2xELENBQUM7SUFuR1EsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNoRCxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUsseUJBQXlCO29CQUFFLENBQUM7d0JBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7d0JBQ3pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO3dCQUNoRCxNQUFNLEVBQUUsR0FBRyxF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RyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdkIseUJBQXlCO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sT0FBTyxHQUFHLFFBQVEsRUFBRSxJQUFJLElBQUksVUFBVSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUNKLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6Qyx3Q0FBd0M7WUFDeEMsYUFBYTtZQUNiLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRIYW5kbGVyIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICB0YWtlVW50aWwsIHN3aXRjaE1hcCwgbWFwLCB0YXBcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTXJMYXlvdXRTdGF0ZVNlcnZpY2UsIExheW91dFN0YXRlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZU1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc291cmNlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXJSZXNvdXJjZUxheW91dERTIH0gZnJvbSAnLi9yZXNvdXJjZS1sYXlvdXQuZHMnO1xuLy8gaW1wb3J0IG1vY2sgZnJvbSAnLi9yZXNvdXJjZS1sYXlvdXQtbW9jay1taXJhZG9yJztcbi8vIGltcG9ydCBtb2NrIGZyb20gJy4vcmVzb3VyY2UtbGF5b3V0LW1vY2stY2FtYnJpZGdlJztcblxuZXhwb3J0IGNsYXNzIE1yUmVzb3VyY2VMYXlvdXRFSCBleHRlbmRzIEV2ZW50SGFuZGxlciB7XG4gIGRhdGFTb3VyY2U6IE1yUmVzb3VyY2VMYXlvdXREUztcblxuICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcblxuICBwcml2YXRlIHJvdXRlcjogUm91dGVyO1xuXG4gIHByaXZhdGUgbGF5b3V0U3RhdGU6IE1yTGF5b3V0U3RhdGVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNclJlc291cmNlTW9kYWxTZXJ2aWNlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBsaXN0ZW4oKSB7XG4gICAgdGhpcy5pbm5lckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ21yLXJlc291cmNlLWxheW91dC5pbml0Jzoge1xuICAgICAgICAgIHRoaXMucm91dGUgPSBwYXlsb2FkLnJvdXRlO1xuICAgICAgICAgIHRoaXMucm91dGVyID0gcGF5bG9hZC5yb3V0ZXI7XG4gICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UgPSBwYXlsb2FkLm1vZGFsU2VydmljZTtcbiAgICAgICAgICBjb25zdCB7IHNsdWcsIGlkIH0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcztcbiAgICAgICAgICBjb25zdCB7IHVybCB9ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdDtcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UudGFiID0gdXJsW3VybC5sZW5ndGggLSAxXS5wYXRoO1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zbHVnID0gc2x1ZztcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuaWQgPSBpZDtcbiAgICAgICAgICB0aGlzLmxheW91dFN0YXRlID0gcGF5bG9hZC5sYXlvdXRTdGF0ZTtcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uub25Jbml0KHBheWxvYWQpO1xuICAgICAgICAgIHRoaXMubGlzdGVuUm91dGUoKTtcbiAgICAgICAgICAvLyBzY3JvbGwgdG9wXG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuXG4gICAgICAgICAgLy8gZW1pdCBzaWduYWxcbiAgICAgICAgICB0aGlzLmVtaXRPdXRlcignaW5pdCcpO1xuICAgICAgICB9IGJyZWFrO1xuICAgICAgICBjYXNlICdtci1yZXNvdXJjZS1sYXlvdXQuZGVzdHJveSc6XG4gICAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY29uc29sZS53YXJuKCd1bmhhbmRsZWQgaW5uZXIgZXZlbnQgb2YgdHlwZScsIHR5cGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vdXRlckV2ZW50cyQuc3Vic2NyaWJlKCh7IHR5cGUsIHBheWxvYWQgfSkgPT4ge1xuICAgICAgaWYgKHR5cGUuaW5kZXhPZignb3BlbnJlc291cmNlbW9kYWwnKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBpZCwgdHlwZTogcmVzb3VyY2VUeXBlIH0gPSBwYXlsb2FkO1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGlkLCByZXNvdXJjZVR5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUuaW5kZXhPZigndGh1bWJjbGljaycpICE9PSAtMSkge1xuICAgICAgICBjb25zdCBbc291cmNlSWRdID0gdHlwZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCB0YXJnZXRJZCA9IHNvdXJjZUlkLnJlcGxhY2UoJy10b29scycsICcnKTtcbiAgICAgICAgdGhpcy5lbWl0T3V0ZXIoJ3RodW1iY2xpY2snLCB7XG4gICAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgICAgdGh1bWJpbmRleDogcGF5bG9hZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlLmluZGV4T2YoJ3BhZ2VjaGFuZ2UnKSAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgW3NvdXJjZUlkXSA9IHR5cGUuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0SWQgPSBgJHtzb3VyY2VJZH0tdG9vbHNgO1xuICAgICAgICB0aGlzLmVtaXRPdXRlcigncGFnZWNoYW5nZScsIHtcbiAgICAgICAgICB0YXJnZXRJZCxcbiAgICAgICAgICBldmVudERhdGE6IHBheWxvYWRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZS5pbmRleE9mKCdkb3dubG9hZC1wZGYnKSAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnBkZlJlcXVlc3QkKHRoaXMuZGF0YVNvdXJjZS5pZCkuc3Vic2NyaWJlKChwZGYpID0+IHtcbiAgICAgICAgICBjb25zdCBibG9iT2JqID0gcGRmIGFzIEJsb2I7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBjb25zdCBvYmplY3RVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2JPYmopO1xuICAgICAgICAgIGEuaHJlZiA9IG9iamVjdFVSTDtcbiAgICAgICAgICBhLmRvd25sb2FkID0gYCR7dGhpcy5kYXRhU291cmNlLnNsdWd9YDtcbiAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVUkwpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIGltYWdlIHZpZXdlciBvdmVybGF5IGV2ZW50c1xuICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoJ292ZXJsYXljbGljaycpKSB7XG4gICAgICAgIHRoaXMuZW1pdE91dGVyKCdzaG93b3ZlcmxheWRldGFpbHMnLCBwYXlsb2FkKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlLmluY2x1ZGVzKCdvdmVybGF5cGFnZWNoYW5nZScpKSB7XG4gICAgICAgIHRoaXMuZW1pdE91dGVyKCdoaWRlb3ZlcmxheWRldGFpbHMnLCBwYXlsb2FkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUm91dGUoKSB7XG4gICAgdGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5sYXlvdXRTdGF0ZS5zZXQoJ2NvbnRlbnQnLCBMYXlvdXRTdGF0ZS5MT0FESU5HKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChwYXJhbXM6IFBhcmFtTWFwKSA9PiBwYXJhbXMuZ2V0KCdpZCcpKSxcbiAgICAgIHN3aXRjaE1hcCgoaWQpID0+IHRoaXMuZGF0YVNvdXJjZS5wYWdlUmVxdWVzdCQoaWQsIChlcnIpID0+IHtcbiAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIC8vIGdldHRpbmcgbm90IGZvdW5kIHBhdGhcbiAgICAgICAgICBjb25zdCB7IGNvbmZpZyB9ID0gdGhpcy5yb3V0ZXI7XG4gICAgICAgICAgY29uc3Qgcm91dGU0MDQgPSBjb25maWcuZmluZCgoeyBkYXRhIH0pID0+IGRhdGE/LmlkID09PSAncGFnZS00MDQnKTtcbiAgICAgICAgICBjb25zdCBwYXRoNDA0ID0gcm91dGU0MDQ/LnBhdGggfHwgJ3BhZ2UtNDA0JztcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aDQwNF0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihgRXJyb3IgbG9hZGluZyByZXNvdXJjZSBsYXlvdXQgZm9yICR7aWR9YCwgZXJyLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5sYXlvdXRTdGF0ZS5zZXQoJ2NvbnRlbnQnLCBMYXlvdXRTdGF0ZS5FUlJPUik7XG4gICAgICB9KSlcbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMubGF5b3V0U3RhdGUuc2V0KCdjb250ZW50JywgTGF5b3V0U3RhdGUuU1VDQ0VTUyk7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgLy8gdGhpcy5kYXRhU291cmNlLmhhbmRsZVJlc3BvbnNlKG1vY2spO1xuICAgICAgLy8gc2Nyb2xsIHRvcFxuICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -122,10 +122,10 @@ export class MrResourceLayoutComponent extends AbstractLayout {
122
122
  });
123
123
  }
124
124
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrResourceLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MrLayoutStateService }, { token: i4.MrResourceModalService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrResourceLayoutComponent, selector: "mr-resource-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n \n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i7.BreadcrumbsComponent, selector: "n7-breadcrumbs", inputs: ["data", "emit"] }, { kind: "component", type: i7.ButtonComponent, selector: "n7-button", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: ["data", "emit"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.MiradorComponent, selector: "n7-mirador", inputs: ["data"] }, { kind: "component", type: i7.TextViewerComponent, selector: "n7-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i8.MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: ["data", "emit"] }, { kind: "component", type: i9.ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: i10.MrMetadataDynamicComponent, selector: "mr-metadata-dynamic", inputs: ["data", "emit"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrResourceLayoutComponent, deps: [{ token: i1.LayoutsConfigurationService }, { token: i2.ActivatedRoute }, { token: i1.ConfigurationService }, { token: i1.CommunicationService }, { token: i1.MainStateService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MrLayoutStateService }, { token: i4.MrResourceModalService }, { token: i5.MrLocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrResourceLayoutComponent, selector: "mr-resource-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n \n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i7.BreadcrumbsComponent, selector: "n7-breadcrumbs", inputs: ["data", "emit"] }, { kind: "component", type: i7.ButtonComponent, selector: "n7-button", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerComponent, selector: "n7-image-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: ["data", "emit"] }, { kind: "component", type: i7.InnerTitleComponent, selector: "n7-inner-title", inputs: ["data", "emit"] }, { kind: "component", type: i7.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i7.LoaderComponent, selector: "n7-loader", inputs: ["data"] }, { kind: "component", type: i7.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "component", type: i7.MetadataViewerComponent, selector: "n7-metadata-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i7.MiradorComponent, selector: "n7-mirador", inputs: ["data"] }, { kind: "component", type: i7.TextViewerComponent, selector: "n7-text-viewer", inputs: ["data", "emit"] }, { kind: "component", type: i8.MrMetadataReadmoreComponent, selector: "mr-metadata-readmore", inputs: ["data", "emit"] }, { kind: "component", type: i9.ReadMoreComponent, selector: "mr-read-more", inputs: ["data"] }, { kind: "component", type: i10.MrMetadataDynamicComponent, selector: "mr-metadata-dynamic", inputs: ["data", "emit"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrResourceLayoutComponent, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrResourceLayoutComponent, decorators: [{
129
129
  type: Component,
130
130
  args: [{ selector: 'mr-resource-layout', template: "<div class=\"mr-resource mr-layout\" \n *ngIf=\"lb.dataSource && lb.dataSource.pageConfig\"\n [ngClass]=\"{\n 'is-loading': ( layoutState.get$('content') | async ) == 'LOADING',\n 'is-error': ( layoutState.get$('content') | async ) == 'ERROR'\n }\">\n <!-- RESOURCE LAYOUT CONTENT -->\n <ng-container [ngSwitch]=\"layoutState.get$('content') | async\">\n <!-- loading -->\n <ng-container *ngSwitchCase=\"'LOADING'\">\n <div class=\"mr-layout__loader\">\n <n7-loader></n7-loader>\n </div>\n </ng-container>\n\n <!-- error -->\n <ng-container *ngSwitchCase=\"'ERROR'\">\n <div class=\"mr-layout__error\">\n <h2>{{ lb.dataSource.errorTitle }}</h2>\n <p>{{ lb.dataSource.errorDescription }}</p>\n </div>\n </ng-container>\n\n <!-- success -->\n <ng-container *ngSwitchCase=\"'SUCCESS'\">\n <ng-container *ngIf=\"lb.dataSource.pageConfig.sections as sections\">\n <!-- Pass the list of blocks to render to the block template -->\n <div class=\"mr-resource__top\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.top }\"></ng-container>\n </div>\n <div class=\"mr-resource__content mr-side-margin\">\n <ng-container *ngTemplateOutlet=\"blocks; context: { $implicit: sections.content }\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n\n </ng-container>\n</div>\n\n<ng-template #blocks let-list>\n <ng-container *ngFor=\"let section of list\">\n <section *ngIf=\"lb.widgets[section.id].ds.out$ | async\"\n class=\"{{ 'mr-resource__section mr-resource__' + section.type }}\">\n <ng-container [ngSwitch]=\"section.type\">\n\n <!-- TABS -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <ng-container *ngFor=\"let tab of lb.widgets[section.id].ds.out$ | async\">\n <n7-anchor-wrapper [data]=\"tab.anchor\" [classes]=\"tab.classes\">\n <span class=\"mr-resource__tabs-item\">{{ tab.label }}</span>\n </n7-anchor-wrapper>\n </ng-container>\n </ng-container>\n\n <!-- INNER TITLE -->\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"mr-resource__title-content mr-side-margin\">\n <n7-inner-title \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-inner-title>\n </div>\n </ng-container>\n\n <!-- CUSTOM BUTTON -->\n <ng-container *ngSwitchCase=\"'button'\">\n <div class=\"mr-resource__button\">\n <n7-button \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-button>\n </div>\n </ng-container>\n \n <!-- IMAGE VIEWER IIIF -->\n <ng-container *ngSwitchCase=\"'viewer-iiif'\">\n <n7-mirador\n [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-mirador>\n </ng-container>\n \n <!-- IMAGE VIEWER -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n\n <n7-image-viewer \n [data]=\"lb.widgets[section.id].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id].emit\">\n </n7-image-viewer>\n <!-- IMAGE VIEWER TOOLS -->\n <n7-image-viewer-tools *ngIf=\"section.tools\" \n [data]=\"lb.widgets[section.id + '-tools'].ds.out$ | async\" \n [emit]=\"lb.widgets[section.id + '-tools'].emit\">\n </n7-image-viewer-tools>\n <!-- IMAGE VIEWER OVERLAY DETAILS -->\n <div *ngIf=\"lb.widgets[section.id + '-overlay-details'].ds.out$ | async as viewerDetailsData\" \n class=\"mr-resource__viewer-overlay-details\">\n <div class=\"mr-resource__viewer-overlay-details__close\">\n <a class=\"mr-resource__viewer-overlay-details__close-link\" \n (click)=\"lb.eventHandler.emitOuter('overlaycloseclick')\">\n <span class=\"n7-icon-close\"></span>\n </a>\n </div>\n <n7-item-preview \n [data]=\"viewerDetailsData\" \n [emit]=\"lb.widgets[section.id + '-overlay-details'].emit\">\n </n7-item-preview>\n </div>\n\n </ng-container>\n \n <!-- METADATA VIEWER -->\n <ng-container *ngSwitchCase=\"'metadata'\">\n \n <div class=\"mr-content-block mr-content-block-metadata\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <mr-read-more [data]=\"section.readmore\">\n <ng-container *ngIf=\" section?.options?.readmore || section?.options?.groupReadmore;\n else wihoutReadmore\">\n <mr-metadata-readmore\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-readmore>\n </ng-container>\n <ng-template #wihoutReadmore>\n <n7-metadata-viewer\n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </n7-metadata-viewer>\n </ng-template>\n </mr-read-more>\n </div>\n </div>\n \n </ng-container>\n \n <!-- METADATA DYNAMIC -->\n <ng-container *ngSwitchCase=\"'metadata-dynamic'\">\n <mr-metadata-dynamic \n [data]=\"lb.widgets[section.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.id].emit\">\n </mr-metadata-dynamic> \n </ng-container>\n \n <!-- COLLECTION -->\n <ng-container *ngSwitchCase=\"'collection'\">\n <ng-container *ngIf=\"lb.widgets[section.id].ds.out$ | async as collection$\">\n <div *ngIf=\"collection$.items?.length > 0\" class=\"mr-content-block mr-content-block-collection\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content {{ section.grid ? 'n7-grid-' + section.grid : '' }}\">\n <n7-item-preview *ngFor=\"let item of collection$?.items\"\n [data]=\"item\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- ITEM PREVIEW -->\n <ng-container *ngSwitchCase=\"'preview'\">\n <div class=\"mr-content-block mr-content-block-item-preview\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-item-preview [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"> \n </n7-item-preview>\n </div>\n </div>\n </ng-container>\n \n <!-- TEXT VIEWER -->\n <ng-container *ngSwitchCase=\"'text-viewer'\">\n <div class=\"mr-content-block mr-content-block-text-viewer\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <n7-text-viewer [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\">\n </n7-text-viewer>\n </div>\n </div>\n \n </ng-container>\n\n <!-- MAP -->\n <ng-container *ngSwitchCase=\"'map'\">\n <div class=\"mr-content-block mr-content-block-map\">\n <div class=\"mr-content-block__content\">\n <n7-map [data]=\"lb.widgets[section.id].ds.out$ | async\" [emit]=\"lb.widgets[section.id].emit\"></n7-map>\n </div>\n </div>\n </ng-container>\n \n <!-- INFO BOX -->\n <ng-container *ngSwitchCase=\"'info-box'\">\n <div class=\"mr-content-block mr-content-block-info-box\">\n <h3 *ngIf=\"section.title\" class=\"mr-content-block__title\">\n {{ section.title }}\n </h3>\n <div class=\"mr-content-block__content\">\n <div class=\"info-box__mock\">info-box</div> \n </div>\n </div>\n </ng-container>\n \n <!-- BREADCRUMBS -->\n <ng-container *ngSwitchCase=\"'breadcrumbs'\">\n <n7-breadcrumbs [data]=\"lb.widgets[section.id].ds.out$ | async\">\n </n7-breadcrumbs>\n </ng-container>\n\n </ng-container>\n </section>\n </ng-container>\n</ng-template>\n" }]
131
131
  }], ctorParameters: () => [{ type: i1.LayoutsConfigurationService }, { type: i2.ActivatedRoute }, { type: i1.ConfigurationService }, { type: i1.CommunicationService }, { type: i1.MainStateService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.MrLayoutStateService }, { type: i4.MrResourceModalService }, { type: i5.MrLocaleService }] });
@@ -90,10 +90,10 @@ export class MrSearchFacetsLayoutComponent extends AbstractLayout {
90
90
  });
91
91
  });
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrSearchFacetsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: { searchService: "searchService" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { kind: "component", type: i2.HistogramRangeComponent, selector: "n7-histogram-range", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputLinkComponent, selector: "n7-input-link", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i2.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchFacetsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MrSearchFacetsLayoutComponent, selector: "mr-search-facets-layout", inputs: { searchService: "searchService" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.FacetHeaderComponent, selector: "n7-facet-header", inputs: ["data", "emit"] }, { kind: "component", type: i2.HistogramRangeComponent, selector: "n7-histogram-range", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputCheckboxComponent, selector: "n7-input-checkbox", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputLinkComponent, selector: "n7-input-link", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }, { kind: "component", type: i2.InputTextComponent, selector: "n7-input-text", inputs: ["data", "emit"] }, { kind: "component", type: i2.MapComponent, selector: "n7-map", inputs: ["data", "emit"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MrSearchFacetsLayoutComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MrSearchFacetsLayoutComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'mr-search-facets-layout', template: "<div *ngIf=\"lb.dataSource.facets\" class=\"mr-facets__facets-wrapper {{ lb.dataSource.facets.classes || '' }}\">\n <div *ngFor=\"let section of lb.dataSource.facets.sections\" \n class=\"mr-facets__single-facet {{ section.classes || '' }}\"\n [ngClass]=\"lb.dataSource.searchService.getState$('section', section.id) | async\">\n <n7-facet-header\n *ngIf=\"section.header\"\n [data]=\"lb.widgets[section.header.id].ds.out$ | async\"\n [emit]=\"lb.widgets[section.header.id].emit\"\n ></n7-facet-header>\n\n <div [hidden]=\"section.header && !lb.widgets[section.header.id].ds.isOpen()\" class=\"mr-facets__single-facet-content\">\n <div *ngFor=\"let input of section.inputs\" \n [attr.id]=\"'facet-container-' + input.id\"\n class=\"mr-facets__single-facet-inner-content {{ input.classes || '' }}\">\n <ng-container [ngSwitch]=\"input.type\">\n \n <!-- INPUT TEXT -->\n <n7-input-text \n *ngSwitchCase=\"'text'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-text>\n \n <!-- INPUT CHECKBOX -->\n <n7-input-checkbox \n *ngSwitchCase=\"'checkbox'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-checkbox>\n \n <!-- INPUT SELECT -->\n <n7-input-select \n *ngSwitchCase=\"'select'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-select>\n \n <!-- INPUT LINK -->\n <n7-input-link \n *ngSwitchCase=\"'link'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n\n <!-- INPUT LINKMULTI -->\n <n7-input-link \n *ngSwitchCase=\"'linkMulti'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-input-link>\n \n <!-- INPUT MAP -->\n <n7-map \n *ngSwitchCase=\"'map'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-map>\n\n <!-- INPUT HISTOGRAM -->\n <n7-histogram-range \n *ngSwitchCase=\"'histogram'\"\n [data]=\"lb.widgets[input.id].ds.out$ | async\"\n [emit]=\"lb.widgets[input.id].emit\"></n7-histogram-range>\n \n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
99
99
  }], ctorParameters: () => [], propDecorators: { searchService: [{