ctt-puro 0.64.14 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/puro-events-form/puro-events-form.component.mjs +6 -5
- package/esm2022/lib/components/puro-info-slider/puro-info-slider.component.mjs +3 -3
- package/esm2022/lib/components/puro-photo-slider/puro-photo-slider.component.mjs +3 -3
- package/esm2022/lib/directives/puro-script/puro-datepicker.directive.mjs +84 -0
- package/esm2022/lib/services/mapper/mapper.service.mjs +2 -2
- package/fesm2022/ctt-puro.mjs +88 -8
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/directives/puro-script/puro-datepicker.directive.d.ts +14 -0
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
export class PuroInfoSliderComponent {
|
|
7
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoSliderComponent, isStandalone: true, selector: "lib-puro-info-slider", inputs: { items: "items", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoSliderComponent, isStandalone: true, selector: "lib-puro-info-slider", inputs: { items: "items", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title \"\n [innerHTML]=\"item.pretitle\"\n ></span>\n }\n @if (item.title) {\n <h2\n class=\"textPhotoCarousel__heading \" \n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading \"\n [innerHTML]=\"item.subtitle\"\n ></p>\n }\n @if (item.description) {\n <div>\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"item.description\"\n ></p>\n </div>\n }\n <div class=\"btn__group\">\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $even,\n btn__primary: $odd,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }] }); }
|
|
9
9
|
}
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoSliderComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
@@ -17,10 +17,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
17
17
|
AutoImageZoomWrapperDirective,
|
|
18
18
|
PuroResizeZoomDirective,
|
|
19
19
|
PuroResizeZoomDirective,
|
|
20
|
-
], template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
20
|
+
], template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title \"\n [innerHTML]=\"item.pretitle\"\n ></span>\n }\n @if (item.title) {\n <h2\n class=\"textPhotoCarousel__heading \" \n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading \"\n [innerHTML]=\"item.subtitle\"\n ></p>\n }\n @if (item.description) {\n <div>\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"item.description\"\n ></p>\n </div>\n }\n <div class=\"btn__group\">\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $even,\n btn__primary: $odd,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n" }]
|
|
21
21
|
}], propDecorators: { items: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], reverse: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWluZm8tc2xpZGVyL3B1cm8taW5mby1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLXNsaWRlci9wdXJvLWluZm8tc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixHQUN0QixNQUFNLGtCQUFrQixDQUFDOzs7QUFrQjFCLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLGdJQzVCcEMsNHJJQStGQSx5REQ5RVEsWUFBWSw2SEFDWixxQkFBcUIsNElBQ3JCLG1CQUFtQixpRkFDbkIsZ0JBQWdCLGdQQUNoQiw2QkFBNkIsaUVBQzdCLHVCQUF1Qjs7NEZBTWxCLHVCQUF1QjtrQkFmbkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDMUI7OEJBS1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dG9JbWFnZVpvb21XcmFwcGVyRGlyZWN0aXZlLFxuICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICBQdXJvUmVzaXplWm9vbURpcmVjdGl2ZSxcbiAgICBQdXJvU2xpZGVyRGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1zbGlkZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1NsaWRlckRpcmVjdGl2ZSxcbiAgICAgICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICAgICAgQXV0b0ltYWdlWm9vbVdyYXBwZXJEaXJlY3RpdmUsXG4gICAgICAgIFB1cm9SZXNpemVab29tRGlyZWN0aXZlLFxuICAgICAgICBQdXJvUmVzaXplWm9vbURpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWluZm8tc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1pbmZvLXNsaWRlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvU2xpZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpdGVtcz86IFB1cm9JbmZvU2xpZGVySXRlbVtdO1xuICAgIEBJbnB1dCgpIHJldmVyc2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9JbmZvU2xpZGVySXRlbSB7XG4gICAgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgaW1nPzogUHVyb0ltYWdlSTtcbiAgICBidXR0b25zPzogUHVyb0J1dHRvbklbXTtcbn1cbiIsIjxzZWN0aW9uXG4gICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbCBqcy1hY3RpdmUtc2xpZGVyXCJcbiAgICBbcHVyb1NsaWRlcl09XCJpdGVtc1wiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGV4dFBob3RvQ2Fyb3VzZWwtLXJpZ2h0JzogIXJldmVyc2UsXG4gICAgfVwiXG4gICAgZGF0YS1zbGlkZXNfaW5maW5pdGU9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtc2xpZGVyXCJcbiAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgIGRhdGEtc2xpZGVyX2FkYXB0aXZlaGVpZ2h0PVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXJfZmFkZT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX2F1dG9wbGF5PVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXNfcGM9XCIxXCJcbiAgICByZXNpemVab29tXG4+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXIganMtc2xpZGVyX2ZpeC1hcnJvd3NcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2ltYWdlLS1vdXRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2ltYWdlIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjk2MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4MDdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9faW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9fY29udGVudCB0ZXh0UGhvdG9DYXJvdXNlbF9fY29udGVudC0tYWxpZ25DZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5wcmV0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9fdGl0bGUgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS5wcmV0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2hlYWRpbmcgXCIgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9fc3ViSGVhZGluZyBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX3BhcmFncmFwaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24gb2YgaXRlbS5idXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX3ByaW1hcnktLW91dGxpbmUnOiAkZXZlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9fcHJpbWFyeTogJG9kZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective, PuroSliderDirecti
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class PuroPhotoSliderComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroPhotoSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroPhotoSliderComponent, isStandalone: true, selector: "lib-puro-photo-slider", inputs: { title: "title", subtitle: "subtitle", pretitle: "pretitle", description: "description", button: "button", img: "img", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroPhotoSliderComponent, isStandalone: true, selector: "lib-puro-photo-slider", inputs: { title: "title", subtitle: "subtitle", pretitle: "pretitle", description: "description", button: "button", img: "img", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title\"\n [innerHTML]=\"pretitle\"\n ></span>\n }\n\n @if (title) {\n <h2\n class=\"textPhotoCarousel__heading\"\n [innerHTML]=\"title\"\n ></h2>\n }\n\n @if (subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading\"\n [innerHTML]=\"subtitle\"\n ></p>\n }\n\n @if (description) {\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"description\"\n ></p>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"js-slider-arrows photoslider\"></div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroPhotoSliderComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
@@ -14,7 +14,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
14
14
|
PuroSliderDirective,
|
|
15
15
|
NgOptimizedImage,
|
|
16
16
|
AutoImageZoomWrapperDirective,
|
|
17
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
17
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title\"\n [innerHTML]=\"pretitle\"\n ></span>\n }\n\n @if (title) {\n <h2\n class=\"textPhotoCarousel__heading\"\n [innerHTML]=\"title\"\n ></h2>\n }\n\n @if (subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading\"\n [innerHTML]=\"subtitle\"\n ></p>\n }\n\n @if (description) {\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"description\"\n ></p>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"js-slider-arrows photoslider\"></div>\n </div>\n</section>\n" }]
|
|
18
18
|
}], propDecorators: { title: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}], subtitle: [{
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
30
30
|
}], reverse: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1waG90by1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1waG90by1zbGlkZXIvcHVyby1waG90by1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1waG90by1zbGlkZXIvcHVyby1waG90by1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsR0FDbkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQjdHLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCLHVPQ3RCckMsNnpHQWtGQSx5RER0RVEsWUFBWSwrQkFDWixxQkFBcUIsNElBQ3JCLG1CQUFtQixpRkFDbkIsZ0JBQWdCLGdQQUNoQiw2QkFBNkI7OzRGQU14Qix3QkFBd0I7a0JBZHBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLDZCQUE2QjtxQkFDaEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0ltYWdlWm9vbVdyYXBwZXJEaXJlY3RpdmUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby1waG90by1zbGlkZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1NsaWRlckRpcmVjdGl2ZSxcbiAgICAgICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICAgICAgQXV0b0ltYWdlWm9vbVdyYXBwZXJEaXJlY3RpdmUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1waG90by1zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLXBob3RvLXNsaWRlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9QaG90b1NsaWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgaW1nPzogUHVyb0ltYWdlSVtdO1xuICAgIEBJbnB1dCgpIHJldmVyc2U/OiBib29sZWFuO1xufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cInRleHRQaG90b0Nhcm91c2VsIGpzLWFjdGl2ZS1zbGlkZXJcIlxuICAgIFtwdXJvU2xpZGVyXT1cImltZ1wiXG4gICAgZGF0YS1zbGlkZXNfaW5maW5pdGU9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtc2xpZGVyXCJcbiAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVzX3BjPVwiMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXIganMtc2xpZGVyX2ZpeC1hcnJvd3NcIj5cbiAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIGltZzsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRQaG90b0Nhcm91c2VsX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gSU1BR0VOIEEgTEEgSVpRVUlFUkRBIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2ltYWdlLS1vdXRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2ltYWdlIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cImltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9faW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI5NjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4MDdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBURVhUTyBBIExBIERFUkVDSEEgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dFBob3RvQ2Fyb3VzZWxfX2NvbnRlbnQgdGV4dFBob3RvQ2Fyb3VzZWxfX2NvbnRlbnQtLWFsaWduQ2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRQaG90b0Nhcm91c2VsX190aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInByZXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9faGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0UGhvdG9DYXJvdXNlbF9fc3ViSGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRQaG90b0Nhcm91c2VsX19wYXJhZ3JhcGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93cyBwaG90b3NsaWRlclwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Directive, Inject, PLATFORM_ID, } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { DatepickerLocaleUtil } from '../../utils/datepicker-locale.util';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PuroDatepickerDirective {
|
|
6
|
+
constructor(el, ngZone, platformId) {
|
|
7
|
+
this.el = el;
|
|
8
|
+
this.ngZone = ngZone;
|
|
9
|
+
this.platformId = platformId;
|
|
10
|
+
this.inited = false;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (!isPlatformBrowser(this.platformId))
|
|
14
|
+
return;
|
|
15
|
+
if (typeof $ === 'undefined')
|
|
16
|
+
return;
|
|
17
|
+
// MUY IMPORTANTE: fuera del zone => no rompe stability
|
|
18
|
+
this.ngZone.runOutsideAngular(() => {
|
|
19
|
+
queueMicrotask(() => this.init());
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
init() {
|
|
23
|
+
if (this.inited)
|
|
24
|
+
return;
|
|
25
|
+
const input = this.el.nativeElement;
|
|
26
|
+
DatepickerLocaleUtil.setLocale(DatepickerLocaleUtil.detectLanguage());
|
|
27
|
+
// limpia instancias previas
|
|
28
|
+
if ($(input).hasClass('hasDatepicker')) {
|
|
29
|
+
$(input).datepicker('destroy');
|
|
30
|
+
}
|
|
31
|
+
$(input).datepicker({
|
|
32
|
+
showAnim: 'fadeIn',
|
|
33
|
+
changeMonth: true,
|
|
34
|
+
changeYear: true,
|
|
35
|
+
showOtherMonths: true,
|
|
36
|
+
selectOtherMonths: true,
|
|
37
|
+
dateFormat: 'dd/mm/yy',
|
|
38
|
+
onSelect: (dateText) => {
|
|
39
|
+
// el DOM lo actualiza el plugin
|
|
40
|
+
input.value = dateText;
|
|
41
|
+
// vuelve a Angular SOLO para notificar al formControl
|
|
42
|
+
this.ngZone.run(() => {
|
|
43
|
+
input.dispatchEvent(new Event('input', { bubbles: true }));
|
|
44
|
+
input.dispatchEvent(new Event('change', { bubbles: true }));
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
onClose: () => {
|
|
48
|
+
this.ngZone.run(() => {
|
|
49
|
+
input.dispatchEvent(new Event('input', { bubbles: true }));
|
|
50
|
+
input.dispatchEvent(new Event('change', { bubbles: true }));
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
this.inited = true;
|
|
55
|
+
}
|
|
56
|
+
ngOnDestroy() {
|
|
57
|
+
if (!isPlatformBrowser(this.platformId))
|
|
58
|
+
return;
|
|
59
|
+
if (typeof $ === 'undefined')
|
|
60
|
+
return;
|
|
61
|
+
const input = this.el.nativeElement;
|
|
62
|
+
try {
|
|
63
|
+
if ($(input).hasClass('hasDatepicker')) {
|
|
64
|
+
$(input).datepicker('destroy');
|
|
65
|
+
}
|
|
66
|
+
// por si el plugin dejó handlers
|
|
67
|
+
$(input).off();
|
|
68
|
+
}
|
|
69
|
+
catch { }
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroDatepickerDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
72
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PuroDatepickerDirective, isStandalone: true, selector: "[puroDatepicker]", ngImport: i0 }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroDatepickerDirective, decorators: [{
|
|
75
|
+
type: Directive,
|
|
76
|
+
args: [{
|
|
77
|
+
selector: '[puroDatepicker]',
|
|
78
|
+
standalone: true,
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
81
|
+
type: Inject,
|
|
82
|
+
args: [PLATFORM_ID]
|
|
83
|
+
}] }] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1kYXRlcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9kaXJlY3RpdmVzL3B1cm8tc2NyaXB0L3B1cm8tZGF0ZXBpY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBR04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVExRSxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQ1UsRUFBZ0MsRUFDaEMsTUFBYyxFQUNPLFVBQWtCO1FBRnZDLE9BQUUsR0FBRixFQUFFLENBQThCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDTyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBTHpDLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFNcEIsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFDaEQsSUFBSSxPQUFPLENBQUMsS0FBSyxXQUFXO1lBQUUsT0FBTztRQUVyQyx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUVwQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3RDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEM7UUFFRCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2xCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLFVBQVU7WUFFdEIsUUFBUSxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFO2dCQUM3QixnQ0FBZ0M7Z0JBQ2hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUV2QixzREFBc0Q7Z0JBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNELEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDOUQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFDaEQsSUFBSSxPQUFPLENBQUMsS0FBSyxXQUFXO1lBQUUsT0FBTztRQUVyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJO1lBQ0YsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN0QyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2hDO1lBQ0QsaUNBQWlDO1lBQ2pDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNoQjtRQUFDLE1BQU0sR0FBRTtJQUNaLENBQUM7K0dBeEVVLHVCQUF1QixrRUFNeEIsV0FBVzttR0FOVix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFPSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGVwaWNrZXJMb2NhbGVVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGF0ZXBpY2tlci1sb2NhbGUudXRpbCc7XG5cbmRlY2xhcmUgY29uc3QgJDogYW55O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcHVyb0RhdGVwaWNrZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb0RhdGVwaWNrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGluaXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2YgJCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcblxuICAgIC8vIE1VWSBJTVBPUlRBTlRFOiBmdWVyYSBkZWwgem9uZSA9PiBubyByb21wZSBzdGFiaWxpdHlcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB0aGlzLmluaXQoKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGVkKSByZXR1cm47XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBEYXRlcGlja2VyTG9jYWxlVXRpbC5zZXRMb2NhbGUoRGF0ZXBpY2tlckxvY2FsZVV0aWwuZGV0ZWN0TGFuZ3VhZ2UoKSk7XG5cbiAgICAvLyBsaW1waWEgaW5zdGFuY2lhcyBwcmV2aWFzXG4gICAgaWYgKCQoaW5wdXQpLmhhc0NsYXNzKCdoYXNEYXRlcGlja2VyJykpIHtcbiAgICAgICQoaW5wdXQpLmRhdGVwaWNrZXIoJ2Rlc3Ryb3knKTtcbiAgICB9XG5cbiAgICAkKGlucHV0KS5kYXRlcGlja2VyKHtcbiAgICAgIHNob3dBbmltOiAnZmFkZUluJyxcbiAgICAgIGNoYW5nZU1vbnRoOiB0cnVlLFxuICAgICAgY2hhbmdlWWVhcjogdHJ1ZSxcbiAgICAgIHNob3dPdGhlck1vbnRoczogdHJ1ZSxcbiAgICAgIHNlbGVjdE90aGVyTW9udGhzOiB0cnVlLFxuICAgICAgZGF0ZUZvcm1hdDogJ2RkL21tL3l5JyxcblxuICAgICAgb25TZWxlY3Q6IChkYXRlVGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIGVsIERPTSBsbyBhY3R1YWxpemEgZWwgcGx1Z2luXG4gICAgICAgIGlucHV0LnZhbHVlID0gZGF0ZVRleHQ7XG5cbiAgICAgICAgLy8gdnVlbHZlIGEgQW5ndWxhciBTT0xPIHBhcmEgbm90aWZpY2FyIGFsIGZvcm1Db250cm9sXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuXG4gICAgICBvbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5pbml0ZWQgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgaWYgKHR5cGVvZiAkID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdHJ5IHtcbiAgICAgIGlmICgkKGlucHV0KS5oYXNDbGFzcygnaGFzRGF0ZXBpY2tlcicpKSB7XG4gICAgICAgICQoaW5wdXQpLmRhdGVwaWNrZXIoJ2Rlc3Ryb3knKTtcbiAgICAgIH1cbiAgICAgIC8vIHBvciBzaSBlbCBwbHVnaW4gZGVqw7MgaGFuZGxlcnNcbiAgICAgICQoaW5wdXQpLm9mZigpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
|