@jooler/jooler-websites-shared 0.0.169 → 0.0.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/jooler-websites-shared.mjs +4 -4
- package/esm2020/lib/achievements/achievements.component.mjs +17 -17
- package/esm2020/lib/call-to-action-section/call-to-action-section.component.mjs +32 -32
- package/esm2020/lib/call-to-action-section-two/call-to-action-section-two.component.mjs +22 -22
- package/esm2020/lib/call-to-action-section-two/call-to-action-section-two.model.mjs +3 -3
- package/esm2020/lib/call-to-action-section-two/link-text.model.mjs +3 -3
- package/esm2020/lib/choose-country-with-flag/choose-country-with-flag.component.mjs +55 -55
- package/esm2020/lib/coming-soon/coming-soon.component.mjs +22 -22
- package/esm2020/lib/contact-us-page/contact-us-page.component.mjs +129 -129
- package/esm2020/lib/cta-section-style-four/cta-section-style-four.component.mjs +37 -37
- package/esm2020/lib/cta-section-style-three/cta-section-style-three.component.mjs +25 -25
- package/esm2020/lib/custom-tooltip/custom-tooltip.component.mjs +22 -22
- package/esm2020/lib/faq-category-listing/faq-category-listing.component.mjs +25 -25
- package/esm2020/lib/faq-listing/faq-listing.component.mjs +25 -25
- package/esm2020/lib/get-started-cta/get-started-cta.component.mjs +22 -22
- package/esm2020/lib/header-section-one/header-section-one.component.mjs +23 -23
- package/esm2020/lib/image-gallery-modal/image-gallery-modal.component.mjs +132 -132
- package/esm2020/lib/jooler-websites-shared.module.mjs +211 -211
- package/esm2020/lib/models/about-us-section.model.mjs +2 -2
- package/esm2020/lib/models/account-type.model.mjs +9 -9
- package/esm2020/lib/models/account.model.mjs +3 -3
- package/esm2020/lib/models/achievement.model.mjs +3 -3
- package/esm2020/lib/models/achievements.model.mjs +3 -3
- package/esm2020/lib/models/address.model.mjs +3 -3
- package/esm2020/lib/models/brand-logo.model.mjs +2 -2
- package/esm2020/lib/models/call-to-action-button.model.mjs +3 -3
- package/esm2020/lib/models/call-to-action-data.model.mjs +2 -2
- package/esm2020/lib/models/city.model.mjs +3 -3
- package/esm2020/lib/models/country.model.mjs +3 -3
- package/esm2020/lib/models/cta-cards.model.mjs +2 -2
- package/esm2020/lib/models/cta-one-type.model.mjs +2 -2
- package/esm2020/lib/models/cta-section-style-four.model.mjs +2 -2
- package/esm2020/lib/models/faq-category.model.mjs +3 -3
- package/esm2020/lib/models/faq-subcategory.model.mjs +3 -3
- package/esm2020/lib/models/faq.model.mjs +3 -3
- package/esm2020/lib/models/feature-section-nine.model.mjs +2 -2
- package/esm2020/lib/models/gallery-items-properties.model.mjs +2 -2
- package/esm2020/lib/models/get-started-cta.model.mjs +3 -3
- package/esm2020/lib/models/header-section-style-one.model.mjs +2 -2
- package/esm2020/lib/models/image-section-action.model.mjs +3 -3
- package/esm2020/lib/models/image-section.model.mjs +3 -3
- package/esm2020/lib/models/image-with-content.model.mjs +2 -2
- package/esm2020/lib/models/library-product-type.model.mjs +7 -7
- package/esm2020/lib/models/page-section-action.model.mjs +3 -3
- package/esm2020/lib/models/page-section-style-thirteen.model.mjs +6 -6
- package/esm2020/lib/models/page-section-style-three.model.mjs +2 -2
- package/esm2020/lib/models/page-section.model.mjs +3 -3
- package/esm2020/lib/models/page-style-section-five.model.mjs +2 -2
- package/esm2020/lib/models/perks.model.mjs +3 -3
- package/esm2020/lib/models/section-title.model.mjs +2 -2
- package/esm2020/lib/models/service-plan.model.mjs +3 -3
- package/esm2020/lib/models/team-member.model.mjs +3 -3
- package/esm2020/lib/models/team-section.model.mjs +3 -3
- package/esm2020/lib/models/user-type.model.mjs +8 -8
- package/esm2020/lib/models/user.model.mjs +3 -3
- package/esm2020/lib/models/value-prop-properties.model.mjs +2 -2
- package/esm2020/lib/models/vertical-side-tab.model.mjs +2 -2
- package/esm2020/lib/our-client-listing/our-client-listing.component.mjs +17 -17
- package/esm2020/lib/our-clients/our-clients.component.mjs +54 -54
- package/esm2020/lib/page-section-style-ten/page-section-style-ten.component.mjs +33 -33
- package/esm2020/lib/page-section-style-thirteen/page-section-style-thirteen.component.mjs +43 -43
- package/esm2020/lib/page-section-style-three/page-section-style-three.component.mjs +25 -25
- package/esm2020/lib/page-section-with-multiple-cards/page-section-with-multiple-cards.component.mjs +24 -24
- package/esm2020/lib/pricing-plans/pricing-plans.component.mjs +30 -30
- package/esm2020/lib/section-title/section-title.component.mjs +14 -14
- package/esm2020/lib/social-media-icons/social-media-icons.component.mjs +40 -40
- package/esm2020/lib/social-media-icons/social-media-links.model.mjs +3 -3
- package/esm2020/lib/success-message-dialog/success-message-dialog.component.mjs +22 -22
- package/esm2020/lib/team/team.component.mjs +52 -52
- package/esm2020/lib/value-prop-card/value-prop-card.component.mjs +20 -20
- package/esm2020/lib/value-props-section/value-props-section.component.mjs +33 -33
- package/esm2020/lib/values/values.component.mjs +43 -43
- package/esm2020/lib/vertical-side-tabs/vertical-side-tabs.component.mjs +33 -33
- package/esm2020/public-api.mjs +70 -70
- package/fesm2015/jooler-websites-shared.mjs +1065 -1065
- package/fesm2015/jooler-websites-shared.mjs.map +1 -1
- package/fesm2020/jooler-websites-shared.mjs +1065 -1065
- package/fesm2020/jooler-websites-shared.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/achievements/achievements.component.d.ts +10 -10
- package/lib/call-to-action-section/call-to-action-section.component.d.ts +14 -14
- package/lib/call-to-action-section-two/call-to-action-section-two.component.d.ts +13 -13
- package/lib/call-to-action-section-two/call-to-action-section-two.model.d.ts +11 -11
- package/lib/call-to-action-section-two/link-text.model.d.ts +4 -4
- package/lib/choose-country-with-flag/choose-country-with-flag.component.d.ts +19 -19
- package/lib/coming-soon/coming-soon.component.d.ts +8 -8
- package/lib/contact-us-page/contact-us-page.component.d.ts +50 -50
- package/lib/cta-section-style-four/cta-section-style-four.component.d.ts +15 -15
- package/lib/cta-section-style-three/cta-section-style-three.component.d.ts +12 -12
- package/lib/custom-tooltip/custom-tooltip.component.d.ts +9 -9
- package/lib/faq-category-listing/faq-category-listing.component.d.ts +14 -14
- package/lib/faq-listing/faq-listing.component.d.ts +13 -13
- package/lib/get-started-cta/get-started-cta.component.d.ts +13 -13
- package/lib/header-section-one/header-section-one.component.d.ts +11 -11
- package/lib/image-gallery-modal/image-gallery-modal.component.d.ts +27 -27
- package/lib/jooler-websites-shared.module.d.ts +44 -44
- package/lib/models/about-us-section.model.d.ts +6 -6
- package/lib/models/account-type.model.d.ts +7 -7
- package/lib/models/account.model.d.ts +16 -16
- package/lib/models/achievement.model.d.ts +4 -4
- package/lib/models/achievements.model.d.ts +6 -6
- package/lib/models/address.model.d.ts +18 -18
- package/lib/models/brand-logo.model.d.ts +4 -4
- package/lib/models/call-to-action-button.model.d.ts +4 -4
- package/lib/models/call-to-action-data.model.d.ts +17 -17
- package/lib/models/city.model.d.ts +5 -5
- package/lib/models/country.model.d.ts +5 -5
- package/lib/models/cta-cards.model.d.ts +7 -7
- package/lib/models/cta-one-type.model.d.ts +14 -14
- package/lib/models/cta-section-style-four.model.d.ts +8 -8
- package/lib/models/faq-category.model.d.ts +9 -9
- package/lib/models/faq-subcategory.model.d.ts +8 -8
- package/lib/models/faq.model.d.ts +7 -7
- package/lib/models/feature-section-nine.model.d.ts +6 -6
- package/lib/models/gallery-items-properties.model.d.ts +6 -6
- package/lib/models/get-started-cta.model.d.ts +8 -8
- package/lib/models/header-section-style-one.model.d.ts +16 -16
- package/lib/models/image-section-action.model.d.ts +7 -7
- package/lib/models/image-section.model.d.ts +12 -12
- package/lib/models/image-with-content.model.d.ts +5 -5
- package/lib/models/library-product-type.model.d.ts +5 -5
- package/lib/models/page-section-action.model.d.ts +5 -5
- package/lib/models/page-section-style-thirteen.model.d.ts +4 -4
- package/lib/models/page-section-style-three.model.d.ts +7 -7
- package/lib/models/page-section.model.d.ts +11 -11
- package/lib/models/page-style-section-five.model.d.ts +11 -11
- package/lib/models/perks.model.d.ts +4 -4
- package/lib/models/section-title.model.d.ts +7 -7
- package/lib/models/service-plan.model.d.ts +12 -12
- package/lib/models/team-member.model.d.ts +6 -6
- package/lib/models/team-section.model.d.ts +7 -7
- package/lib/models/user-type.model.d.ts +6 -6
- package/lib/models/user.model.d.ts +11 -11
- package/lib/models/value-prop-properties.model.d.ts +6 -6
- package/lib/models/vertical-side-tab.model.d.ts +6 -6
- package/lib/our-client-listing/our-client-listing.component.d.ts +10 -10
- package/lib/our-clients/our-clients.component.d.ts +15 -15
- package/lib/page-section-style-ten/page-section-style-ten.component.d.ts +15 -15
- package/lib/page-section-style-thirteen/page-section-style-thirteen.component.d.ts +21 -21
- package/lib/page-section-style-three/page-section-style-three.component.d.ts +13 -13
- package/lib/page-section-with-multiple-cards/page-section-with-multiple-cards.component.d.ts +12 -12
- package/lib/pricing-plans/pricing-plans.component.d.ts +15 -15
- package/lib/section-title/section-title.component.d.ts +7 -7
- package/lib/social-media-icons/social-media-icons.component.d.ts +20 -20
- package/lib/social-media-icons/social-media-links.model.d.ts +6 -6
- package/lib/success-message-dialog/success-message-dialog.component.d.ts +11 -11
- package/lib/team/team.component.d.ts +18 -18
- package/lib/value-prop-card/value-prop-card.component.d.ts +11 -11
- package/lib/value-props-section/value-props-section.component.d.ts +11 -11
- package/lib/values/values.component.d.ts +16 -16
- package/lib/vertical-side-tabs/vertical-side-tabs.component.d.ts +14 -14
- package/package.json +1 -1
- package/public-api.d.ts +66 -66
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/router";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/material/button";
|
|
6
|
-
import * as i4 from "../section-title/section-title.component";
|
|
7
|
-
export class HeaderSectionOneComponent {
|
|
8
|
-
constructor(_Router) {
|
|
9
|
-
this._Router = _Router;
|
|
10
|
-
}
|
|
11
|
-
onClickButton(route) {
|
|
12
|
-
this._Router.navigate([route]);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
HeaderSectionOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderSectionOneComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
HeaderSectionOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeaderSectionOneComponent, selector: "header-section-one", inputs: { sectionContent: "sectionContent" }, ngImport: i0, template: "<div class=\"detail-head-block\" [ngClass]=\"{'title-image-sort':sectionContent.titleImageSort , 'image-title-sort':!sectionContent.titleImageSort, 'image-background':sectionContent.backgroundImage != null }\" [ngStyle]=\"{'background-color': !sectionContent.backgroundImage ? sectionContent.backgroundColor :null }\">\
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderSectionOneComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: 'header-section-one', template: "<div class=\"detail-head-block\" [ngClass]=\"{'title-image-sort':sectionContent.titleImageSort , 'image-title-sort':!sectionContent.titleImageSort, 'image-background':sectionContent.backgroundImage != null }\" [ngStyle]=\"{'background-color': !sectionContent.backgroundImage ? sectionContent.backgroundColor :null }\">\
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { sectionContent: [{
|
|
21
|
-
type: Input
|
|
22
|
-
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/router";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/material/button";
|
|
6
|
+
import * as i4 from "../section-title/section-title.component";
|
|
7
|
+
export class HeaderSectionOneComponent {
|
|
8
|
+
constructor(_Router) {
|
|
9
|
+
this._Router = _Router;
|
|
10
|
+
}
|
|
11
|
+
onClickButton(route) {
|
|
12
|
+
this._Router.navigate([route]);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
HeaderSectionOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderSectionOneComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
HeaderSectionOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeaderSectionOneComponent, selector: "header-section-one", inputs: { sectionContent: "sectionContent" }, ngImport: i0, template: "<div class=\"detail-head-block\" [ngClass]=\"{'title-image-sort':sectionContent.titleImageSort , 'image-title-sort':!sectionContent.titleImageSort, 'image-background':sectionContent.backgroundImage != null }\" [ngStyle]=\"{'background-color': !sectionContent.backgroundImage ? sectionContent.backgroundColor :null }\">\n <img class=\"bg-image\" [src]=\"sectionContent.backgroundImage\" alt=\"\" *ngIf=\"sectionContent.backgroundImage\">\n <div class=\"section-content\">\n <div class=\"header-content-container\">\n <div class=\"title-desc\">\n <div class=\"title-part\">\n <section-title [sectionTitle]=\"sectionContent.sectionTitle\"></section-title>\n </div>\n <div *ngIf=\"sectionContent.actions\" class=\"main-buttons align-left-items\">\n <div class=\"button\" *ngFor=\"let button of sectionContent.actions ,let i = index\">\n <button mat-raised-button (click)=\"onClickButton(button.route)\">\n {{button.label}}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"img-head\" *ngIf=\"sectionContent.previewImage\">\n <img [src]=\"sectionContent.previewImage\">\n </div>\n </div>\n</div>", styles: ["html{font-size:62.5%;scroll-behavior:smooth}@media only screen and (max-width: 112.5em){html{font-size:56.25%}}@media only screen and (max-width: 75em){html{font-size:56.25%}}@media only screen and (max-width: 56.25em){html{font-size:50%}}@media only screen and (min-width: 112.5em){html{font-size:75%}}@font-face{font-family:maiandra;src:url(./assets/Maiandra.ttf)}app-root{font-size:1.6rem;font-family:maiandra}input{font-size:1.2rem;padding:.5rem}input:focus{outline:none}.image-title-sort{flex-direction:row-reverse}.title-image-sort{flex-direction:row}.image-background{position:relative}.image-background .bg-image{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;object-fit:cover;-moz-filter:blur(.2rem);filter:blur(.2rem)}.detail-head-block{box-shadow:#32325d40 0 .6rem 1.2rem -.2rem,#0000004d 0 .3rem .7rem -.3rem;margin-bottom:2rem;padding:10rem 0rem}.detail-head-block .section-content{display:flex;margin:auto;column-gap:2%;color:#fff;width:90%}@media only screen and (min-width: 1500px){.detail-head-block .section-content{width:150rem}}.detail-head-block .header-content-container{width:69%;padding-top:3rem}.detail-head-block .header-content-container .title-desc{width:100%;display:flex;flex-direction:column;row-gap:2rem}.detail-head-block .header-content-container .title-desc .title-part{width:80%;margin:auto}.detail-head-block .header-content-container .title-desc .main-buttons{display:flex;margin-top:4rem;column-gap:2rem;justify-content:center}.detail-head-block .header-content-container .title-desc .main-buttons button{padding:2rem;border-radius:.5rem;color:#fff;border:none;font-weight:400;font-size:2rem;font-weight:600;font-family:inherit;background-color:#155ed4}.detail-head-block .header-content-container .title-desc .main-buttons .orange-btn{transition:.15s ease-in-out}.detail-head-block .header-content-container .title-desc .main-buttons .orange-btn:hover{box-shadow:#64646f33 0 .7rem 2.9rem;transform:scale(1.05)}.detail-head-block .img-head{display:grid;height:100%;width:29%;padding:3rem 0rem;align-self:center;justify-items:center}.detail-head-block .img-head img{align-self:right;box-sizing:border-box;width:100%;height:35rem;object-fit:cover;border-radius:1rem;box-shadow:#959da533 0 .8rem 2.4rem}@media only screen and (max-width: 75em){.detail-head-block .header-content-container{width:59%}.detail-head-block .img-head{width:39%}.detail-head-block .img-head img{width:80%;height:40rem}}@media only screen and (min-width: 900px){.detail-head-block .header-content-container .title-desc .align-left-items{margin:auto;width:80%;justify-content:start}}@media only screen and (max-width: 56.25em){.detail-head-block{padding:0rem}.detail-head-block .section-content{display:flex;flex-wrap:wrap;flex-direction:column-reverse;width:100%}.detail-head-block .header-content-container{margin:auto;width:100%}.detail-head-block .header-content-container .title-desc{width:100%;display:grid;align-items:center;margin:2rem 0rem}.detail-head-block .img-head{justify-items:center;clip-path:none;border-radius:1.5rem;margin-top:3rem;width:100%}.detail-head-block .img-head img{height:40rem;width:65%;border-radius:1.5rem;object-fit:cover}}@media only screen and (max-width: 37.5em){.detail-head-block .img-head img{height:33rem;width:80%}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.SectionTitleComponent, selector: "section-title", inputs: ["sectionTitle"] }] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderSectionOneComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'header-section-one', template: "<div class=\"detail-head-block\" [ngClass]=\"{'title-image-sort':sectionContent.titleImageSort , 'image-title-sort':!sectionContent.titleImageSort, 'image-background':sectionContent.backgroundImage != null }\" [ngStyle]=\"{'background-color': !sectionContent.backgroundImage ? sectionContent.backgroundColor :null }\">\n <img class=\"bg-image\" [src]=\"sectionContent.backgroundImage\" alt=\"\" *ngIf=\"sectionContent.backgroundImage\">\n <div class=\"section-content\">\n <div class=\"header-content-container\">\n <div class=\"title-desc\">\n <div class=\"title-part\">\n <section-title [sectionTitle]=\"sectionContent.sectionTitle\"></section-title>\n </div>\n <div *ngIf=\"sectionContent.actions\" class=\"main-buttons align-left-items\">\n <div class=\"button\" *ngFor=\"let button of sectionContent.actions ,let i = index\">\n <button mat-raised-button (click)=\"onClickButton(button.route)\">\n {{button.label}}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"img-head\" *ngIf=\"sectionContent.previewImage\">\n <img [src]=\"sectionContent.previewImage\">\n </div>\n </div>\n</div>", styles: ["html{font-size:62.5%;scroll-behavior:smooth}@media only screen and (max-width: 112.5em){html{font-size:56.25%}}@media only screen and (max-width: 75em){html{font-size:56.25%}}@media only screen and (max-width: 56.25em){html{font-size:50%}}@media only screen and (min-width: 112.5em){html{font-size:75%}}@font-face{font-family:maiandra;src:url(./assets/Maiandra.ttf)}app-root{font-size:1.6rem;font-family:maiandra}input{font-size:1.2rem;padding:.5rem}input:focus{outline:none}.image-title-sort{flex-direction:row-reverse}.title-image-sort{flex-direction:row}.image-background{position:relative}.image-background .bg-image{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;object-fit:cover;-moz-filter:blur(.2rem);filter:blur(.2rem)}.detail-head-block{box-shadow:#32325d40 0 .6rem 1.2rem -.2rem,#0000004d 0 .3rem .7rem -.3rem;margin-bottom:2rem;padding:10rem 0rem}.detail-head-block .section-content{display:flex;margin:auto;column-gap:2%;color:#fff;width:90%}@media only screen and (min-width: 1500px){.detail-head-block .section-content{width:150rem}}.detail-head-block .header-content-container{width:69%;padding-top:3rem}.detail-head-block .header-content-container .title-desc{width:100%;display:flex;flex-direction:column;row-gap:2rem}.detail-head-block .header-content-container .title-desc .title-part{width:80%;margin:auto}.detail-head-block .header-content-container .title-desc .main-buttons{display:flex;margin-top:4rem;column-gap:2rem;justify-content:center}.detail-head-block .header-content-container .title-desc .main-buttons button{padding:2rem;border-radius:.5rem;color:#fff;border:none;font-weight:400;font-size:2rem;font-weight:600;font-family:inherit;background-color:#155ed4}.detail-head-block .header-content-container .title-desc .main-buttons .orange-btn{transition:.15s ease-in-out}.detail-head-block .header-content-container .title-desc .main-buttons .orange-btn:hover{box-shadow:#64646f33 0 .7rem 2.9rem;transform:scale(1.05)}.detail-head-block .img-head{display:grid;height:100%;width:29%;padding:3rem 0rem;align-self:center;justify-items:center}.detail-head-block .img-head img{align-self:right;box-sizing:border-box;width:100%;height:35rem;object-fit:cover;border-radius:1rem;box-shadow:#959da533 0 .8rem 2.4rem}@media only screen and (max-width: 75em){.detail-head-block .header-content-container{width:59%}.detail-head-block .img-head{width:39%}.detail-head-block .img-head img{width:80%;height:40rem}}@media only screen and (min-width: 900px){.detail-head-block .header-content-container .title-desc .align-left-items{margin:auto;width:80%;justify-content:start}}@media only screen and (max-width: 56.25em){.detail-head-block{padding:0rem}.detail-head-block .section-content{display:flex;flex-wrap:wrap;flex-direction:column-reverse;width:100%}.detail-head-block .header-content-container{margin:auto;width:100%}.detail-head-block .header-content-container .title-desc{width:100%;display:grid;align-items:center;margin:2rem 0rem}.detail-head-block .img-head{justify-items:center;clip-path:none;border-radius:1.5rem;margin-top:3rem;width:100%}.detail-head-block .img-head img{height:40rem;width:65%;border-radius:1.5rem;object-fit:cover}}@media only screen and (max-width: 37.5em){.detail-head-block .img-head img{height:33rem;width:80%}}\n"] }]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { sectionContent: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXNlY3Rpb24tb25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9oZWFkZXItc2VjdGlvbi1vbmUvaGVhZGVyLXNlY3Rpb24tb25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9oZWFkZXItc2VjdGlvbi1vbmUvaGVhZGVyLXNlY3Rpb24tb25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTakQsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUFJLENBQUM7SUFFeEMsYUFBYSxDQUFDLEtBQUs7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBRSxLQUFLLENBQUUsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7O3NIQVBVLHlCQUF5QjswR0FBekIseUJBQXlCLHdHQ1R0QyxxMUNBcUJNOzJGRFpPLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSxvQkFBb0I7NkZBTXJCLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSGVhZGVyU2VjdGlvblN0eWxlT25lIH0gZnJvbSAnLi4vbW9kZWxzL2hlYWRlci1zZWN0aW9uLXN0eWxlLW9uZS5tb2RlbCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZWFkZXItc2VjdGlvbi1vbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLXNlY3Rpb24tb25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2hlYWRlci1zZWN0aW9uLW9uZS5jb21wb25lbnQuc2NzcycgXVxufSlcblxuZXhwb3J0IGNsYXNzIEhlYWRlclNlY3Rpb25PbmVDb21wb25lbnQge1xuICBASW5wdXQoKSBzZWN0aW9uQ29udGVudDogSGVhZGVyU2VjdGlvblN0eWxlT25lO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1JvdXRlcjogUm91dGVyKSB7IH1cblxuICBvbkNsaWNrQnV0dG9uKHJvdXRlKSB7XG4gICAgdGhpcy5fUm91dGVyLm5hdmlnYXRlKFsgcm91dGUgXSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRldGFpbC1oZWFkLWJsb2NrXCIgW25nQ2xhc3NdPVwieyd0aXRsZS1pbWFnZS1zb3J0JzpzZWN0aW9uQ29udGVudC50aXRsZUltYWdlU29ydCAsICdpbWFnZS10aXRsZS1zb3J0Jzohc2VjdGlvbkNvbnRlbnQudGl0bGVJbWFnZVNvcnQsICdpbWFnZS1iYWNrZ3JvdW5kJzpzZWN0aW9uQ29udGVudC5iYWNrZ3JvdW5kSW1hZ2UgIT0gbnVsbCB9XCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogIXNlY3Rpb25Db250ZW50LmJhY2tncm91bmRJbWFnZSA/IHNlY3Rpb25Db250ZW50LmJhY2tncm91bmRDb2xvciA6bnVsbCB9XCI+XG4gICAgPGltZyBjbGFzcz1cImJnLWltYWdlXCIgW3NyY109XCJzZWN0aW9uQ29udGVudC5iYWNrZ3JvdW5kSW1hZ2VcIiBhbHQ9XCJcIiAqbmdJZj1cInNlY3Rpb25Db250ZW50LmJhY2tncm91bmRJbWFnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWRlc2NcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtcGFydFwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbi10aXRsZSBbc2VjdGlvblRpdGxlXT1cInNlY3Rpb25Db250ZW50LnNlY3Rpb25UaXRsZVwiPjwvc2VjdGlvbi10aXRsZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VjdGlvbkNvbnRlbnQuYWN0aW9uc1wiIGNsYXNzPVwibWFpbi1idXR0b25zIGFsaWduLWxlZnQtaXRlbXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvblwiICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygc2VjdGlvbkNvbnRlbnQuYWN0aW9ucyAsbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25DbGlja0J1dHRvbihidXR0b24ucm91dGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tidXR0b24ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWhlYWRcIiAqbmdJZj1cInNlY3Rpb25Db250ZW50LnByZXZpZXdJbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cInNlY3Rpb25Db250ZW50LnByZXZpZXdJbWFnZVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/cdk/layout";
|
|
5
|
-
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "primeng/galleria";
|
|
8
|
-
import * as i5 from "primeng/api";
|
|
9
|
-
export class ImageGalleryModal {
|
|
10
|
-
constructor(breakpointObserver) {
|
|
11
|
-
this.breakpointObserver = breakpointObserver;
|
|
12
|
-
this.galleryData = [];
|
|
13
|
-
this.showCount = false;
|
|
14
|
-
this.previewImage = false;
|
|
15
|
-
this.showMask = false;
|
|
16
|
-
this.currentImageGalleryModal = this.galleryData[0];
|
|
17
|
-
this.currentIndex = 0;
|
|
18
|
-
this.controls = true;
|
|
19
|
-
this.totalImageCount = 0;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.breakpointObserver.observe("(max-width: 900px)").subscribe((result) => {
|
|
23
|
-
if (result.matches) {
|
|
24
|
-
this.onClosePreview();
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
this.totalImageCount = this.galleryData.length;
|
|
28
|
-
this.responsiveOptions = [
|
|
29
|
-
{
|
|
30
|
-
breakpoint: '900px',
|
|
31
|
-
numVisible: 5
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
breakpoint: '600px',
|
|
35
|
-
numVisible: 4
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
breakpoint: '540px',
|
|
39
|
-
numVisible: 3
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
breakpoint: '400px',
|
|
43
|
-
numVisible: 2
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
breakpoint: '300px',
|
|
47
|
-
numVisible: 1
|
|
48
|
-
}
|
|
49
|
-
];
|
|
50
|
-
}
|
|
51
|
-
onKeydownHandler(event) {
|
|
52
|
-
this.onClosePreview();
|
|
53
|
-
}
|
|
54
|
-
onPreviewImage(index) {
|
|
55
|
-
document.body.style.overflowY = 'hidden';
|
|
56
|
-
this.showMask = true;
|
|
57
|
-
this.previewImage = true;
|
|
58
|
-
this.currentIndex = index;
|
|
59
|
-
this.currentImageGalleryModal = this.galleryData[index];
|
|
60
|
-
}
|
|
61
|
-
onAnimationEnd(event) {
|
|
62
|
-
if (event.toState === 'void') {
|
|
63
|
-
this.showMask = false;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
onClosePreview() {
|
|
67
|
-
document.body.style.overflowY = 'visible';
|
|
68
|
-
this.previewImage = false;
|
|
69
|
-
}
|
|
70
|
-
onclickPrev() {
|
|
71
|
-
this.currentIndex++;
|
|
72
|
-
if (this.currentIndex > this.galleryData.length - 1) {
|
|
73
|
-
this.currentIndex = 0;
|
|
74
|
-
}
|
|
75
|
-
this.currentImageGalleryModal = this.galleryData[this.currentIndex];
|
|
76
|
-
}
|
|
77
|
-
onclickNext() {
|
|
78
|
-
this.currentIndex--;
|
|
79
|
-
if (this.currentIndex < 0) {
|
|
80
|
-
this.currentIndex = this.galleryData.length - 1;
|
|
81
|
-
}
|
|
82
|
-
this.currentImageGalleryModal = this.galleryData[this.currentIndex];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
ImageGalleryModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageGalleryModal, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
ImageGalleryModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageGalleryModal, selector: "image-gallery-modal", inputs: { galleryData: "galleryData", showCount: "showCount" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div class=\"section\">\
|
|
87
|
-
trigger('animation', [
|
|
88
|
-
transition('void => visible', [
|
|
89
|
-
style({ transform: 'scale(0.5)' }),
|
|
90
|
-
animate('150ms', style({ transform: 'scale(1)' }))
|
|
91
|
-
]),
|
|
92
|
-
transition('visible => void', [
|
|
93
|
-
style({ transform: 'scale(1)' }),
|
|
94
|
-
animate('150ms', style({ transform: 'scale(0.5)' }))
|
|
95
|
-
]),
|
|
96
|
-
]),
|
|
97
|
-
trigger('animation2', [
|
|
98
|
-
transition(':leave', [
|
|
99
|
-
style({ opacity: 1 }),
|
|
100
|
-
animate('50ms', style({ opacity: 0.8 }))
|
|
101
|
-
])
|
|
102
|
-
])
|
|
103
|
-
] });
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageGalleryModal, decorators: [{
|
|
105
|
-
type: Component,
|
|
106
|
-
args: [{ selector: 'image-gallery-modal', animations: [
|
|
107
|
-
trigger('animation', [
|
|
108
|
-
transition('void => visible', [
|
|
109
|
-
style({ transform: 'scale(0.5)' }),
|
|
110
|
-
animate('150ms', style({ transform: 'scale(1)' }))
|
|
111
|
-
]),
|
|
112
|
-
transition('visible => void', [
|
|
113
|
-
style({ transform: 'scale(1)' }),
|
|
114
|
-
animate('150ms', style({ transform: 'scale(0.5)' }))
|
|
115
|
-
]),
|
|
116
|
-
]),
|
|
117
|
-
trigger('animation2', [
|
|
118
|
-
transition(':leave', [
|
|
119
|
-
style({ opacity: 1 }),
|
|
120
|
-
animate('50ms', style({ opacity: 0.8 }))
|
|
121
|
-
])
|
|
122
|
-
])
|
|
123
|
-
], template: "<div class=\"section\">\
|
|
124
|
-
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { galleryData: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], showCount: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], onKeydownHandler: [{
|
|
129
|
-
type: HostListener,
|
|
130
|
-
args: ['document:keydown.escape', ['$event']]
|
|
131
|
-
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qb29sZXItd2Vic2l0ZXMtc2hhcmVkL3NyYy9saWIvaW1hZ2UtZ2FsbGVyeS1tb2RhbC9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9pbWFnZS1nYWxsZXJ5LW1vZGFsL2ltYWdlLWdhbGxlcnktbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUEwQjFGLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVh2QyxnQkFBVyxHQUE2QixFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUEyQixJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsQ0FBRSxDQUFDO1FBQ3pFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7SUFNaEIsQ0FBQztJQUNMLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUM3QixvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUMxRCxJQUFJ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U0FBUztzQkFBakIsS0FBSztnQkE2Q2lELGdCQUFnQjtzQkFBdEUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdhbGxlcnlJdGVtc1Byb3BlcnRpZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FsbGVyeS1pdGVtcy1wcm9wZXJ0aWVzLm1vZGVsJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ltYWdlLWdhbGxlcnktbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuc2NzcycgXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdhbmltYXRpb24nLCBbXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gdmlzaWJsZScsIFtcclxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNSknIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSkpXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlID0+IHZvaWQnLCBbXHJcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNSknIH0pKVxyXG4gICAgICBdKSxcclxuICAgIF0pLFxyXG4gICAgdHJpZ2dlcignYW5pbWF0aW9uMicsIFtcclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSB9KSxcclxuICAgICAgICBhbmltYXRlKCc1MG1zJywgc3R5bGUoeyBvcGFjaXR5OiAwLjggfSkpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlR2FsbGVyeU1vZGFsIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBnYWxsZXJ5RGF0YTogR2FsbGVyeUl0ZW1zUHJvcGVydGllc1tdID0gW107XHJcbiAgQElucHV0KCkgc2hvd0NvdW50ID0gZmFsc2U7XHJcblxyXG4gIHByZXZpZXdJbWFnZSA9IGZhbHNlO1xyXG4gIHNob3dNYXNrID0gZmFsc2U7XHJcbiAgY3VycmVudEltYWdlR2FsbGVyeU1vZGFsOiBHYWxsZXJ5SXRlbXNQcm9wZXJ0aWVzID0gdGhpcy5nYWxsZXJ5RGF0YVsgMCBdO1xyXG4gIGN1cnJlbnRJbmRleCA9IDA7XHJcbiAgY29udHJvbHMgPSB0cnVlO1xyXG4gIHRvdGFsSW1hZ2VDb3VudCA9IDA7XHJcbiAgcmVzcG9uc2l2ZU9wdGlvbnM6IGFueVtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcclxuXHJcblxyXG4gICkgeyB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFxyXG4gICAgICBcIihtYXgtd2lkdGg6IDkwMHB4KVwiKS5zdWJzY3JpYmUoKHJlc3VsdDogQnJlYWtwb2ludFN0YXRlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2xvc2VQcmV2aWV3KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMudG90YWxJbWFnZUNvdW50ID0gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGg7XHJcbiAgICB0aGlzLnJlc3BvbnNpdmVPcHRpb25zID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgYnJlYWtwb2ludDogJzkwMHB4JyxcclxuICAgICAgICBudW1WaXNpYmxlOiA1XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBicmVha3BvaW50OiAnNjAwcHgnLFxyXG4gICAgICAgIG51bVZpc2libGU6IDRcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGJyZWFrcG9pbnQ6ICc1NDBweCcsXHJcbiAgICAgICAgbnVtVmlzaWJsZTogM1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgYnJlYWtwb2ludDogJzQwMHB4JyxcclxuICAgICAgICBudW1WaXNpYmxlOiAyXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBicmVha3BvaW50OiAnMzAwcHgnLFxyXG4gICAgICAgIG51bVZpc2libGU6IDFcclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbICckZXZlbnQnIF0pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMub25DbG9zZVByZXZpZXcoKTtcclxuICB9XHJcblxyXG4gIG9uUHJldmlld0ltYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dZID0gJ2hpZGRlbic7XHJcbiAgICB0aGlzLnNob3dNYXNrID0gdHJ1ZTtcclxuICAgIHRoaXMucHJldmlld0ltYWdlID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbCA9IHRoaXMuZ2FsbGVyeURhdGFbIGluZGV4IF07XHJcbiAgfVxyXG5cclxuICBvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcclxuICAgIGlmIChldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5zaG93TWFzayA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNsb3NlUHJldmlldygpIHtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dZID0gJ3Zpc2libGUnO1xyXG4gICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uY2xpY2tQcmV2KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50SW5kZXgrK1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID4gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gMDtcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudEltYWdlR2FsbGVyeU1vZGFsID0gdGhpcy5nYWxsZXJ5RGF0YVsgdGhpcy5jdXJyZW50SW5kZXggXVxyXG4gIH1cclxuICBvbmNsaWNrTmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEluZGV4LS07XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SW5kZXggPCAwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGggLSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwgPSB0aGlzLmdhbGxlcnlEYXRhWyB0aGlzLmN1cnJlbnRJbmRleCBdXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5LWltYWdlLWdhbGxlcnktbW9kYWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbGxlcnlcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgZ2FsbGVyeURhdGE7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImdhbGxlcnktaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cIm9uUHJldmlld0ltYWdlKGkpXCIgW3NyY109XCJpbWFnZS5maWxlXCIgW2FsdF09XCJpbWFnZS5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtY3RhXCIgKGNsaWNrKT1cIm9uUHJldmlld0ltYWdlKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQ2xpY2sgdG8gcHJldmlldyA8ZmEtaWNvbiBpY29uPVwibWFnbmlmeWluZy1nbGFzcy1wbHVzXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TWFza1wiIFtuZ0NsYXNzXT1cInsnaGlkZS1vdmVyZmxvdycgOiBzaG93TWFza31cIiBjbGFzcz1cImltYWdlLWdhbGxlcnktbW9kYWxcIiBAYW5pbWF0aW9uMj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDb3VudFwiIGNsYXNzPVwiY291bnRcIj5cclxuICAgICAgICAgICAgICAgIHt7Y3VycmVudEluZGV4ICsgMX19L3t7dG90YWxJbWFnZUNvdW50fX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uQ2xvc2VQcmV2aWV3KClcIiAqbmdJZj1cInByZXZpZXdJbWFnZVwiIGNsYXNzPVwiY2xvc2UtYnRuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwidGltZXNcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY29udHJvbHNcIiBjbGFzcz1cImJ0bi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGJ0bi1wcmV2XCIgKGNsaWNrKT1cIm9uY2xpY2tQcmV2KClcIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJhcnJvdy1jaXJjbGUtbGVmdFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tcHJldlwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjb250cm9sc1wiIGNsYXNzPVwiYnRuLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgYnRuLW5leHRcIiAoY2xpY2spPVwib25jbGlja05leHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gaWNvbj1cImFycm93LWNpcmNsZS1yaWdodFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tbmV4dFwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcmV2aWV3SW1hZ2VcIiBbQGFuaW1hdGlvbl09XCJ7dmFsdWUgOiAndmlzaWJsZSd9XCIgKEBhbmltYXRpb24uZG9uZSk9XCJvbkFuaW1hdGlvbkVuZCgkZXZlbnQpXCIgY2xhc3M9XCJpbWFnZS1nYWxsZXJ5LW1vZGFsLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbC5maWxlXCIgW2FsdF09XCJjdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwubmFtZVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8cC1nYWxsZXJpYSBbdmFsdWVdPVwiZ2FsbGVyeURhdGFcIiBjbGFzcz1cImdhbGxlcnktY3VzdG9tXCIgW3Jlc3BvbnNpdmVPcHRpb25zXT1cInJlc3BvbnNpdmVPcHRpb25zXCIgW2NvbnRhaW5lclN0eWxlXT1cInsgJ21heC13aWR0aCc6ICc5MDBweCcgfVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaXRlbVwiIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJiaWctaW1nXCIgW3NyY109XCJpdGVtLmZpbGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJ0aHVtYm5haWxcIiBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtbm9ndXR0ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmZpbGVcIiBjbGFzcz1cInNtYWxsLWltZ1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtZ2FsbGVyaWE+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
1
|
+
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/cdk/layout";
|
|
5
|
+
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "primeng/galleria";
|
|
8
|
+
import * as i5 from "primeng/api";
|
|
9
|
+
export class ImageGalleryModal {
|
|
10
|
+
constructor(breakpointObserver) {
|
|
11
|
+
this.breakpointObserver = breakpointObserver;
|
|
12
|
+
this.galleryData = [];
|
|
13
|
+
this.showCount = false;
|
|
14
|
+
this.previewImage = false;
|
|
15
|
+
this.showMask = false;
|
|
16
|
+
this.currentImageGalleryModal = this.galleryData[0];
|
|
17
|
+
this.currentIndex = 0;
|
|
18
|
+
this.controls = true;
|
|
19
|
+
this.totalImageCount = 0;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.breakpointObserver.observe("(max-width: 900px)").subscribe((result) => {
|
|
23
|
+
if (result.matches) {
|
|
24
|
+
this.onClosePreview();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
this.totalImageCount = this.galleryData.length;
|
|
28
|
+
this.responsiveOptions = [
|
|
29
|
+
{
|
|
30
|
+
breakpoint: '900px',
|
|
31
|
+
numVisible: 5
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
breakpoint: '600px',
|
|
35
|
+
numVisible: 4
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
breakpoint: '540px',
|
|
39
|
+
numVisible: 3
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
breakpoint: '400px',
|
|
43
|
+
numVisible: 2
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
breakpoint: '300px',
|
|
47
|
+
numVisible: 1
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
onKeydownHandler(event) {
|
|
52
|
+
this.onClosePreview();
|
|
53
|
+
}
|
|
54
|
+
onPreviewImage(index) {
|
|
55
|
+
document.body.style.overflowY = 'hidden';
|
|
56
|
+
this.showMask = true;
|
|
57
|
+
this.previewImage = true;
|
|
58
|
+
this.currentIndex = index;
|
|
59
|
+
this.currentImageGalleryModal = this.galleryData[index];
|
|
60
|
+
}
|
|
61
|
+
onAnimationEnd(event) {
|
|
62
|
+
if (event.toState === 'void') {
|
|
63
|
+
this.showMask = false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
onClosePreview() {
|
|
67
|
+
document.body.style.overflowY = 'visible';
|
|
68
|
+
this.previewImage = false;
|
|
69
|
+
}
|
|
70
|
+
onclickPrev() {
|
|
71
|
+
this.currentIndex++;
|
|
72
|
+
if (this.currentIndex > this.galleryData.length - 1) {
|
|
73
|
+
this.currentIndex = 0;
|
|
74
|
+
}
|
|
75
|
+
this.currentImageGalleryModal = this.galleryData[this.currentIndex];
|
|
76
|
+
}
|
|
77
|
+
onclickNext() {
|
|
78
|
+
this.currentIndex--;
|
|
79
|
+
if (this.currentIndex < 0) {
|
|
80
|
+
this.currentIndex = this.galleryData.length - 1;
|
|
81
|
+
}
|
|
82
|
+
this.currentImageGalleryModal = this.galleryData[this.currentIndex];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
ImageGalleryModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageGalleryModal, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
ImageGalleryModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageGalleryModal, selector: "image-gallery-modal", inputs: { galleryData: "galleryData", showCount: "showCount" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div class=\"section\">\n\n <div class=\"gallery-image-gallery-modal-container\">\n <div class=\"gallery\">\n <div *ngFor=\"let image of galleryData; let i = index\" class=\"gallery-image\">\n <img (click)=\"onPreviewImage(i)\" [src]=\"image.file\" [alt]=\"image.name\">\n <div class=\"image-cta\" (click)=\"onPreviewImage(i)\">\n Click to preview <fa-icon icon=\"magnifying-glass-plus\"></fa-icon>\n </div>\n </div>\n </div>\n <div *ngIf=\"showMask\" [ngClass]=\"{'hide-overflow' : showMask}\" class=\"image-gallery-modal\" @animation2>\n <div *ngIf=\"showCount\" class=\"count\">\n {{currentIndex + 1}}/{{totalImageCount}}\n </div>\n <button (click)=\"onClosePreview()\" *ngIf=\"previewImage\" class=\"close-btn\">\n <fa-icon icon=\"times\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-prev\" (click)=\"onclickPrev()\">\n <fa-icon icon=\"arrow-circle-left\" class=\"icon-image-gallery-modal-carousel icon-prev\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-next\" (click)=\"onclickNext()\">\n <fa-icon icon=\"arrow-circle-right\" class=\"icon-image-gallery-modal-carousel icon-next\"></fa-icon>\n </button>\n <div *ngIf=\"previewImage\" [@animation]=\"{value : 'visible'}\" (@animation.done)=\"onAnimationEnd($event)\" class=\"image-gallery-modal-img\">\n <img [src]=\"currentImageGalleryModal.file\" [alt]=\"currentImageGalleryModal.name\">\n </div>\n </div>\n </div>\n <div>\n <p-galleria [value]=\"galleryData\" class=\"gallery-custom\" [responsiveOptions]=\"responsiveOptions\" [containerStyle]=\"{ 'max-width': '900px' }\">\n <ng-template pTemplate=\"item\" let-item>\n <div class=\"img\">\n <img class=\"big-img\" [src]=\"item.file\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"thumbnail\" let-item>\n <div class=\"grid grid-nogutter justify-content-center\">\n <img [src]=\"item.file\" class=\"small-img\" />\n </div>\n </ng-template>\n </p-galleria>\n </div>\n</div>", styles: ["html{font-size:62.5%;scroll-behavior:smooth}@media only screen and (max-width: 112.5em){html{font-size:56.25%}}@media only screen and (max-width: 75em){html{font-size:56.25%}}@media only screen and (max-width: 56.25em){html{font-size:50%}}@media only screen and (min-width: 112.5em){html{font-size:75%}}@font-face{font-family:maiandra;src:url(./assets/Maiandra.ttf)}app-root{font-size:1.6rem;font-family:maiandra}input{font-size:1.2rem;padding:.5rem}input:focus{outline:none}.section{width:100%}.gallery-custom{display:none}.gallery-image-gallery-modal-container{position:relative;display:block;padding:2.5rem;margin:auto;width:90%}@media only screen and (min-width: 1500px){.gallery-image-gallery-modal-container{max-width:150rem}}.gallery-image-gallery-modal-container .gallery{line-height:0;column-count:4;column-gap:.8rem}.gallery-image-gallery-modal-container .gallery .gallery-image{overflow:hidden;transition:all .3s;position:relative;margin-bottom:1rem}.gallery-image-gallery-modal-container .gallery .gallery-image:hover{box-shadow:#00000026 0 1.5rem 2.5rem,#0000000d 0 .5rem 1rem}.gallery-image-gallery-modal-container .gallery .gallery-image:hover img{filter:brightness(.5)}.gallery-image-gallery-modal-container .gallery .gallery-image:hover .image-cta{opacity:1}.gallery-image-gallery-modal-container .gallery .gallery-image img{width:100%;height:auto;cursor:zoom-in;border-radius:.35rem}.gallery-image-gallery-modal-container .gallery .gallery-image .image-cta{opacity:0;position:absolute;width:100%;top:50%;text-align:center;color:#fff;font-size:2rem;cursor:zoom-in;transition:opacity .3s}.gallery-image-gallery-modal-container .gallery .gallery-image .image-cta fa-icon{font-size:2rem;margin-left:1rem;color:#fff}.gallery-image-gallery-modal-container .hide-overflow{overflow:hidden}.gallery-image-gallery-modal-container .image-gallery-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;background-color:#000000d9;z-index:101;height:100%;overflow-y:auto}.gallery-image-gallery-modal-container .image-gallery-modal .count{position:absolute;top:0;left:0;width:7%;height:10%;color:#fff;opacity:.7;font-size:1.8rem;display:flex;justify-content:center;align-items:center;margin-left:.5rem}.gallery-image-gallery-modal-container .image-gallery-modal .close-btn{position:absolute;top:0;right:0;padding:0;color:#fff;background:0 0;border:0;cursor:pointer;width:7%;height:10%;z-index:10}.gallery-image-gallery-modal-container .image-gallery-modal .close-btn fa-icon{font-size:2.5rem}.gallery-image-gallery-modal-container .image-gallery-modal .btn-image-gallery-modal-carousel{display:flex;justify-content:center;align-items:center;position:absolute;z-index:1;width:8%;height:8%;padding:0;color:#fff;text-align:center;background:0 0;border:0;cursor:pointer}.gallery-image-gallery-modal-container .image-gallery-modal .btn-prev{left:0}.gallery-image-gallery-modal-container .image-gallery-modal .btn-next{right:0}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel{color:#fff;opacity:.5;transition:all .15s ease}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel:hover{opacity:.9}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel:active{opacity:.5}.gallery-image-gallery-modal-container .image-gallery-modal .icon-prev,.gallery-image-gallery-modal-container .image-gallery-modal .icon-next{font-size:3rem}.gallery-image-gallery-modal-container .image-gallery-modal .image-gallery-modal-img img{width:100%;max-height:90vh;border-radius:1rem}@media only screen and (max-width: 75em){.gallery-image-gallery-modal-container .gallery-image-gallery-modal-container{display:none}.gallery-image-gallery-modal-container .gallery{column-count:3;width:100%}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-image-gallery-modal-container .gallery{column-count:2}.gallery-image-gallery-modal-container .gallery-img img{max-width:100%}}@media only screen and (max-width: 37.5em){.gallery-image-gallery-modal-container .gallery{column-count:1}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-custom{display:block;margin:auto;width:90%}.gallery-custom .img{width:90%}.gallery-custom .big-img{width:100%;height:50rem;object-fit:cover;border-radius:1.5rem;box-shadow:2rem 1rem 1.5rem -.5rem #e0e0e075;margin-bottom:2rem}.gallery-custom .small-img{object-fit:cover;border-radius:.7rem;box-shadow:1rem .4rem .5rem -.5rem #e0e0e075;width:100%;max-width:8rem;height:12rem}.gallery-image-gallery-modal-container{display:none}}\n"], dependencies: [{ kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Galleria, selector: "p-galleria", inputs: ["activeIndex", "fullScreen", "id", "value", "numVisible", "responsiveOptions", "showItemNavigators", "showThumbnailNavigators", "showItemNavigatorsOnHover", "changeItemOnIndicatorHover", "circular", "autoPlay", "transitionInterval", "showThumbnails", "thumbnailsPosition", "verticalThumbnailViewPortHeight", "showIndicators", "showIndicatorsOnItem", "indicatorsPosition", "baseZIndex", "maskClass", "containerClass", "containerStyle", "showTransitionOptions", "hideTransitionOptions", "visible"], outputs: ["activeIndexChange", "visibleChange"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], animations: [
|
|
87
|
+
trigger('animation', [
|
|
88
|
+
transition('void => visible', [
|
|
89
|
+
style({ transform: 'scale(0.5)' }),
|
|
90
|
+
animate('150ms', style({ transform: 'scale(1)' }))
|
|
91
|
+
]),
|
|
92
|
+
transition('visible => void', [
|
|
93
|
+
style({ transform: 'scale(1)' }),
|
|
94
|
+
animate('150ms', style({ transform: 'scale(0.5)' }))
|
|
95
|
+
]),
|
|
96
|
+
]),
|
|
97
|
+
trigger('animation2', [
|
|
98
|
+
transition(':leave', [
|
|
99
|
+
style({ opacity: 1 }),
|
|
100
|
+
animate('50ms', style({ opacity: 0.8 }))
|
|
101
|
+
])
|
|
102
|
+
])
|
|
103
|
+
] });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageGalleryModal, decorators: [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{ selector: 'image-gallery-modal', animations: [
|
|
107
|
+
trigger('animation', [
|
|
108
|
+
transition('void => visible', [
|
|
109
|
+
style({ transform: 'scale(0.5)' }),
|
|
110
|
+
animate('150ms', style({ transform: 'scale(1)' }))
|
|
111
|
+
]),
|
|
112
|
+
transition('visible => void', [
|
|
113
|
+
style({ transform: 'scale(1)' }),
|
|
114
|
+
animate('150ms', style({ transform: 'scale(0.5)' }))
|
|
115
|
+
]),
|
|
116
|
+
]),
|
|
117
|
+
trigger('animation2', [
|
|
118
|
+
transition(':leave', [
|
|
119
|
+
style({ opacity: 1 }),
|
|
120
|
+
animate('50ms', style({ opacity: 0.8 }))
|
|
121
|
+
])
|
|
122
|
+
])
|
|
123
|
+
], template: "<div class=\"section\">\n\n <div class=\"gallery-image-gallery-modal-container\">\n <div class=\"gallery\">\n <div *ngFor=\"let image of galleryData; let i = index\" class=\"gallery-image\">\n <img (click)=\"onPreviewImage(i)\" [src]=\"image.file\" [alt]=\"image.name\">\n <div class=\"image-cta\" (click)=\"onPreviewImage(i)\">\n Click to preview <fa-icon icon=\"magnifying-glass-plus\"></fa-icon>\n </div>\n </div>\n </div>\n <div *ngIf=\"showMask\" [ngClass]=\"{'hide-overflow' : showMask}\" class=\"image-gallery-modal\" @animation2>\n <div *ngIf=\"showCount\" class=\"count\">\n {{currentIndex + 1}}/{{totalImageCount}}\n </div>\n <button (click)=\"onClosePreview()\" *ngIf=\"previewImage\" class=\"close-btn\">\n <fa-icon icon=\"times\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-prev\" (click)=\"onclickPrev()\">\n <fa-icon icon=\"arrow-circle-left\" class=\"icon-image-gallery-modal-carousel icon-prev\"></fa-icon>\n </button>\n <button *ngIf=\"controls\" class=\"btn-image-gallery-modal-carousel btn-next\" (click)=\"onclickNext()\">\n <fa-icon icon=\"arrow-circle-right\" class=\"icon-image-gallery-modal-carousel icon-next\"></fa-icon>\n </button>\n <div *ngIf=\"previewImage\" [@animation]=\"{value : 'visible'}\" (@animation.done)=\"onAnimationEnd($event)\" class=\"image-gallery-modal-img\">\n <img [src]=\"currentImageGalleryModal.file\" [alt]=\"currentImageGalleryModal.name\">\n </div>\n </div>\n </div>\n <div>\n <p-galleria [value]=\"galleryData\" class=\"gallery-custom\" [responsiveOptions]=\"responsiveOptions\" [containerStyle]=\"{ 'max-width': '900px' }\">\n <ng-template pTemplate=\"item\" let-item>\n <div class=\"img\">\n <img class=\"big-img\" [src]=\"item.file\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"thumbnail\" let-item>\n <div class=\"grid grid-nogutter justify-content-center\">\n <img [src]=\"item.file\" class=\"small-img\" />\n </div>\n </ng-template>\n </p-galleria>\n </div>\n</div>", styles: ["html{font-size:62.5%;scroll-behavior:smooth}@media only screen and (max-width: 112.5em){html{font-size:56.25%}}@media only screen and (max-width: 75em){html{font-size:56.25%}}@media only screen and (max-width: 56.25em){html{font-size:50%}}@media only screen and (min-width: 112.5em){html{font-size:75%}}@font-face{font-family:maiandra;src:url(./assets/Maiandra.ttf)}app-root{font-size:1.6rem;font-family:maiandra}input{font-size:1.2rem;padding:.5rem}input:focus{outline:none}.section{width:100%}.gallery-custom{display:none}.gallery-image-gallery-modal-container{position:relative;display:block;padding:2.5rem;margin:auto;width:90%}@media only screen and (min-width: 1500px){.gallery-image-gallery-modal-container{max-width:150rem}}.gallery-image-gallery-modal-container .gallery{line-height:0;column-count:4;column-gap:.8rem}.gallery-image-gallery-modal-container .gallery .gallery-image{overflow:hidden;transition:all .3s;position:relative;margin-bottom:1rem}.gallery-image-gallery-modal-container .gallery .gallery-image:hover{box-shadow:#00000026 0 1.5rem 2.5rem,#0000000d 0 .5rem 1rem}.gallery-image-gallery-modal-container .gallery .gallery-image:hover img{filter:brightness(.5)}.gallery-image-gallery-modal-container .gallery .gallery-image:hover .image-cta{opacity:1}.gallery-image-gallery-modal-container .gallery .gallery-image img{width:100%;height:auto;cursor:zoom-in;border-radius:.35rem}.gallery-image-gallery-modal-container .gallery .gallery-image .image-cta{opacity:0;position:absolute;width:100%;top:50%;text-align:center;color:#fff;font-size:2rem;cursor:zoom-in;transition:opacity .3s}.gallery-image-gallery-modal-container .gallery .gallery-image .image-cta fa-icon{font-size:2rem;margin-left:1rem;color:#fff}.gallery-image-gallery-modal-container .hide-overflow{overflow:hidden}.gallery-image-gallery-modal-container .image-gallery-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;background-color:#000000d9;z-index:101;height:100%;overflow-y:auto}.gallery-image-gallery-modal-container .image-gallery-modal .count{position:absolute;top:0;left:0;width:7%;height:10%;color:#fff;opacity:.7;font-size:1.8rem;display:flex;justify-content:center;align-items:center;margin-left:.5rem}.gallery-image-gallery-modal-container .image-gallery-modal .close-btn{position:absolute;top:0;right:0;padding:0;color:#fff;background:0 0;border:0;cursor:pointer;width:7%;height:10%;z-index:10}.gallery-image-gallery-modal-container .image-gallery-modal .close-btn fa-icon{font-size:2.5rem}.gallery-image-gallery-modal-container .image-gallery-modal .btn-image-gallery-modal-carousel{display:flex;justify-content:center;align-items:center;position:absolute;z-index:1;width:8%;height:8%;padding:0;color:#fff;text-align:center;background:0 0;border:0;cursor:pointer}.gallery-image-gallery-modal-container .image-gallery-modal .btn-prev{left:0}.gallery-image-gallery-modal-container .image-gallery-modal .btn-next{right:0}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel{color:#fff;opacity:.5;transition:all .15s ease}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel:hover{opacity:.9}.gallery-image-gallery-modal-container .image-gallery-modal .icon-image-gallery-modal-carousel:active{opacity:.5}.gallery-image-gallery-modal-container .image-gallery-modal .icon-prev,.gallery-image-gallery-modal-container .image-gallery-modal .icon-next{font-size:3rem}.gallery-image-gallery-modal-container .image-gallery-modal .image-gallery-modal-img img{width:100%;max-height:90vh;border-radius:1rem}@media only screen and (max-width: 75em){.gallery-image-gallery-modal-container .gallery-image-gallery-modal-container{display:none}.gallery-image-gallery-modal-container .gallery{column-count:3;width:100%}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-image-gallery-modal-container .gallery{column-count:2}.gallery-image-gallery-modal-container .gallery-img img{max-width:100%}}@media only screen and (max-width: 37.5em){.gallery-image-gallery-modal-container .gallery{column-count:1}.gallery-image-gallery-modal-container .gallery-img img{width:100%}}@media only screen and (max-width: 56.25em){.gallery-custom{display:block;margin:auto;width:90%}.gallery-custom .img{width:90%}.gallery-custom .big-img{width:100%;height:50rem;object-fit:cover;border-radius:1.5rem;box-shadow:2rem 1rem 1.5rem -.5rem #e0e0e075;margin-bottom:2rem}.gallery-custom .small-img{object-fit:cover;border-radius:.7rem;box-shadow:1rem .4rem .5rem -.5rem #e0e0e075;width:100%;max-width:8rem;height:12rem}.gallery-image-gallery-modal-container{display:none}}\n"] }]
|
|
124
|
+
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { galleryData: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], showCount: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], onKeydownHandler: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['document:keydown.escape', ['$event']]
|
|
131
|
+
}] } });
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qb29sZXItd2Vic2l0ZXMtc2hhcmVkL3NyYy9saWIvaW1hZ2UtZ2FsbGVyeS1tb2RhbC9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pvb2xlci13ZWJzaXRlcy1zaGFyZWQvc3JjL2xpYi9pbWFnZS1nYWxsZXJ5LW1vZGFsL2ltYWdlLWdhbGxlcnktbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUEwQjFGLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVh2QyxnQkFBVyxHQUE2QixFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUEyQixJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsQ0FBRSxDQUFDO1FBQ3pFLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7SUFNaEIsQ0FBQztJQUNMLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUM3QixvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUMxRCxJQUFJ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U0FBUztzQkFBakIsS0FBSztnQkE2Q2lELGdCQUFnQjtzQkFBdEUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYWxsZXJ5SXRlbXNQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbGxlcnktaXRlbXMtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltYWdlLWdhbGxlcnktbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZ2FsbGVyeS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9pbWFnZS1nYWxsZXJ5LW1vZGFsLmNvbXBvbmVudC5zY3NzJyBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNSknIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlID0+IHZvaWQnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMC41KScgfSkpXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdhbmltYXRpb24yJywgW1xuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAuOCB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUdhbGxlcnlNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGdhbGxlcnlEYXRhOiBHYWxsZXJ5SXRlbXNQcm9wZXJ0aWVzW10gPSBbXTtcbiAgQElucHV0KCkgc2hvd0NvdW50ID0gZmFsc2U7XG5cbiAgcHJldmlld0ltYWdlID0gZmFsc2U7XG4gIHNob3dNYXNrID0gZmFsc2U7XG4gIGN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbDogR2FsbGVyeUl0ZW1zUHJvcGVydGllcyA9IHRoaXMuZ2FsbGVyeURhdGFbIDAgXTtcbiAgY3VycmVudEluZGV4ID0gMDtcbiAgY29udHJvbHMgPSB0cnVlO1xuICB0b3RhbEltYWdlQ291bnQgPSAwO1xuICByZXNwb25zaXZlT3B0aW9uczogYW55W107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cblxuICApIHsgfVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFxuICAgICAgXCIobWF4LXdpZHRoOiA5MDBweClcIikuc3Vic2NyaWJlKChyZXN1bHQ6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0Lm1hdGNoZXMpIHtcbiAgICAgICAgICB0aGlzLm9uQ2xvc2VQcmV2aWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMudG90YWxJbWFnZUNvdW50ID0gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGg7XG4gICAgdGhpcy5yZXNwb25zaXZlT3B0aW9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzkwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogNVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzYwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogNFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzU0MHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogM1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzQwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogMlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnJlYWtwb2ludDogJzMwMHB4JyxcbiAgICAgICAgbnVtVmlzaWJsZTogMVxuICAgICAgfVxuICAgIF07XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbICckZXZlbnQnIF0pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xvc2VQcmV2aWV3KCk7XG4gIH1cblxuICBvblByZXZpZXdJbWFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvd1kgPSAnaGlkZGVuJztcbiAgICB0aGlzLnNob3dNYXNrID0gdHJ1ZTtcbiAgICB0aGlzLnByZXZpZXdJbWFnZSA9IHRydWU7XG4gICAgdGhpcy5jdXJyZW50SW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbCA9IHRoaXMuZ2FsbGVyeURhdGFbIGluZGV4IF07XG4gIH1cblxuICBvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICB0aGlzLnNob3dNYXNrID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIG9uQ2xvc2VQcmV2aWV3KCkge1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dZID0gJ3Zpc2libGUnO1xuICAgIHRoaXMucHJldmlld0ltYWdlID0gZmFsc2U7XG4gIH1cblxuICBvbmNsaWNrUHJldigpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRJbmRleCsrXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID4gdGhpcy5nYWxsZXJ5RGF0YS5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IDA7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudEltYWdlR2FsbGVyeU1vZGFsID0gdGhpcy5nYWxsZXJ5RGF0YVsgdGhpcy5jdXJyZW50SW5kZXggXVxuICB9XG4gIG9uY2xpY2tOZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudEluZGV4LS07XG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4IDwgMCkge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSB0aGlzLmdhbGxlcnlEYXRhLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudEltYWdlR2FsbGVyeU1vZGFsID0gdGhpcy5nYWxsZXJ5RGF0YVsgdGhpcy5jdXJyZW50SW5kZXggXVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeS1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FsbGVyeVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgZ2FsbGVyeURhdGE7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImdhbGxlcnktaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIChjbGljayk9XCJvblByZXZpZXdJbWFnZShpKVwiIFtzcmNdPVwiaW1hZ2UuZmlsZVwiIFthbHRdPVwiaW1hZ2UubmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1jdGFcIiAoY2xpY2spPVwib25QcmV2aWV3SW1hZ2UoaSlcIj5cbiAgICAgICAgICAgICAgICAgICAgQ2xpY2sgdG8gcHJldmlldyA8ZmEtaWNvbiBpY29uPVwibWFnbmlmeWluZy1nbGFzcy1wbHVzXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hc2tcIiBbbmdDbGFzc109XCJ7J2hpZGUtb3ZlcmZsb3cnIDogc2hvd01hc2t9XCIgY2xhc3M9XCJpbWFnZS1nYWxsZXJ5LW1vZGFsXCIgQGFuaW1hdGlvbjI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0NvdW50XCIgY2xhc3M9XCJjb3VudFwiPlxuICAgICAgICAgICAgICAgIHt7Y3VycmVudEluZGV4ICsgMX19L3t7dG90YWxJbWFnZUNvdW50fX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25DbG9zZVByZXZpZXcoKVwiICpuZ0lmPVwicHJldmlld0ltYWdlXCIgY2xhc3M9XCJjbG9zZS1idG5cIj5cbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwidGltZXNcIj48L2ZhLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjb250cm9sc1wiIGNsYXNzPVwiYnRuLWltYWdlLWdhbGxlcnktbW9kYWwtY2Fyb3VzZWwgYnRuLXByZXZcIiAoY2xpY2spPVwib25jbGlja1ByZXYoKVwiPlxuICAgICAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJhcnJvdy1jaXJjbGUtbGVmdFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tcHJldlwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNvbnRyb2xzXCIgY2xhc3M9XCJidG4taW1hZ2UtZ2FsbGVyeS1tb2RhbC1jYXJvdXNlbCBidG4tbmV4dFwiIChjbGljayk9XCJvbmNsaWNrTmV4dCgpXCI+XG4gICAgICAgICAgICAgICAgPGZhLWljb24gaWNvbj1cImFycm93LWNpcmNsZS1yaWdodFwiIGNsYXNzPVwiaWNvbi1pbWFnZS1nYWxsZXJ5LW1vZGFsLWNhcm91c2VsIGljb24tbmV4dFwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByZXZpZXdJbWFnZVwiIFtAYW5pbWF0aW9uXT1cInt2YWx1ZSA6ICd2aXNpYmxlJ31cIiAoQGFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKCRldmVudClcIiBjbGFzcz1cImltYWdlLWdhbGxlcnktbW9kYWwtaW1nXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImN1cnJlbnRJbWFnZUdhbGxlcnlNb2RhbC5maWxlXCIgW2FsdF09XCJjdXJyZW50SW1hZ2VHYWxsZXJ5TW9kYWwubmFtZVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxwLWdhbGxlcmlhIFt2YWx1ZV09XCJnYWxsZXJ5RGF0YVwiIGNsYXNzPVwiZ2FsbGVyeS1jdXN0b21cIiBbcmVzcG9uc2l2ZU9wdGlvbnNdPVwicmVzcG9uc2l2ZU9wdGlvbnNcIiBbY29udGFpbmVyU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogJzkwMHB4JyB9XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaXRlbVwiIGxldC1pdGVtPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImJpZy1pbWdcIiBbc3JjXT1cIml0ZW0uZmlsZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInRodW1ibmFpbFwiIGxldC1pdGVtPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtbm9ndXR0ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbS5maWxlXCIgY2xhc3M9XCJzbWFsbC1pbWdcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLWdhbGxlcmlhPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|