simpo-component-library 2.2.3 → 2.2.31
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/elements/index.mjs +6 -6
- package/esm2022/lib/elements/my-documents/my-documents.component.mjs +11 -0
- package/esm2022/lib/elements/my-orders/my-orders.component.mjs +64 -0
- package/esm2022/lib/elements/my-statement/my-statement.component.mjs +26 -0
- package/esm2022/lib/elements/need-help/need-help.component.mjs +11 -0
- package/esm2022/lib/elements/payment-confirmation/payment-confirmation.component.mjs +90 -0
- package/esm2022/lib/elements/portfolio/portfolio.component.mjs +3 -3
- package/esm2022/lib/elements/properties/properties.component.mjs +70 -0
- package/esm2022/lib/elements/property-view/property-view.component.mjs +42 -0
- package/esm2022/lib/sections/kyc-details/kyc-details.component.mjs +163 -0
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +41 -12
- package/esm2022/lib/sections/profile-section/profile-section.component.mjs +52 -0
- package/esm2022/lib/sections/profile-section/profile-section.modal.mjs +2 -0
- package/esm2022/lib/sections/property-component/property-component.component.mjs +78 -7
- package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
- package/esm2022/lib/sections/property-detail/property-detail.component.mjs +121 -0
- package/esm2022/lib/sections/property-detail/property-detail.model.mjs +2 -0
- package/esm2022/lib/sections/property-list/property-list.component.mjs +101 -48
- package/esm2022/lib/sections/signup-signin/signup-signin.component.mjs +278 -0
- package/esm2022/lib/sections/signup-signin/signup-signin.model.mjs +2 -0
- package/esm2022/lib/sections/verify-property-payment/verify-property-payment.component.mjs +55 -0
- package/esm2022/lib/services/events.service.mjs +2 -1
- package/esm2022/lib/services/rest.service.mjs +73 -5
- package/esm2022/lib/styles/index.mjs +6 -1
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/simpo-component-library.mjs +3027 -1993
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/elements/index.d.ts +3 -3
- package/lib/elements/my-documents/my-documents.component.d.ts +5 -0
- package/lib/elements/my-orders/my-orders.component.d.ts +10 -0
- package/lib/elements/my-statement/my-statement.component.d.ts +8 -0
- package/lib/elements/need-help/need-help.component.d.ts +5 -0
- package/lib/elements/payment-confirmation/payment-confirmation.component.d.ts +25 -0
- package/lib/elements/properties/properties.component.d.ts +12 -0
- package/lib/elements/property-view/property-view.component.d.ts +8 -0
- package/lib/sections/kyc-details/kyc-details.component.d.ts +38 -0
- package/lib/sections/navbar-section/navbar-section.component.d.ts +9 -1
- package/lib/sections/profile-section/profile-section.component.d.ts +16 -0
- package/lib/sections/profile-section/profile-section.modal.d.ts +5 -0
- package/lib/sections/property-component/property-component.component.d.ts +24 -4
- package/lib/sections/property-component/property-component.modal.d.ts +11 -18
- package/lib/sections/property-detail/property-detail.component.d.ts +32 -0
- package/lib/sections/property-detail/property-detail.model.d.ts +5 -0
- package/lib/sections/property-list/property-list.component.d.ts +7 -1
- package/lib/sections/signup-signin/signup-signin.component.d.ts +49 -0
- package/lib/sections/signup-signin/signup-signin.model.d.ts +10 -0
- package/lib/sections/verify-property-payment/verify-property-payment.component.d.ts +16 -0
- package/lib/services/events.service.d.ts +1 -0
- package/lib/services/rest.service.d.ts +18 -0
- package/lib/styles/index.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/simpo-component-library-2.2.31.tgz +0 -0
- package/esm2022/lib/elements/property/property.component.mjs +0 -41
- package/lib/elements/property/property.component.d.ts +0 -8
- package/simpo-component-library-2.2.3.tgz +0 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { PortfolioComponent } from '../../elements/portfolio/portfolio.component';
|
3
|
+
import { PropertiesComponent } from '../../elements/properties/properties.component';
|
4
|
+
import { MyDocumentsComponent } from '../../elements/my-documents/my-documents.component';
|
5
|
+
import { MyOrdersComponent } from '../../elements/my-orders/my-orders.component';
|
6
|
+
import { MyStatementComponent } from '../../elements/my-statement/my-statement.component';
|
7
|
+
import { NeedHelpComponent } from '../../elements/need-help/need-help.component';
|
8
|
+
import { MatIcon } from '@angular/material/icon';
|
9
|
+
import { CommonModule } from '@angular/common';
|
10
|
+
import { KycDetailsComponent } from '../kyc-details/kyc-details.component';
|
11
|
+
import * as i0 from "@angular/core";
|
12
|
+
import * as i1 from "../../services/rest.service";
|
13
|
+
import * as i2 from "@angular/common";
|
14
|
+
export class ProfileSectionComponent {
|
15
|
+
constructor(restService) {
|
16
|
+
this.restService = restService;
|
17
|
+
this.selectedPanel = "PORTFOLIO";
|
18
|
+
this.sidePanelTabs = [
|
19
|
+
{ value: "PORTFOLIO", viewValue: "My Portfolio" },
|
20
|
+
{ value: "PROPERTIES", viewValue: "My Properties" },
|
21
|
+
// {value : "ORDERS" , viewValue : "My Orders"},
|
22
|
+
// {value : "DOCUMENTS" , viewValue : "My Documents"},
|
23
|
+
// {value : "STATEMENT" , viewValue : "My Statements"},
|
24
|
+
{ value: "KYC", viewValue: "KYC" },
|
25
|
+
// {value : "HELP" , viewValue : "Need Help"},
|
26
|
+
];
|
27
|
+
}
|
28
|
+
ngOnInit() {
|
29
|
+
this.getInvestorDetails();
|
30
|
+
}
|
31
|
+
getInvestorDetails() {
|
32
|
+
this.restService.getInvesterById().subscribe((res) => {
|
33
|
+
this.investorDetails = res.message;
|
34
|
+
});
|
35
|
+
}
|
36
|
+
getInitials() {
|
37
|
+
const nameParts = this.investorDetails?.fullName?.split(' ');
|
38
|
+
const initials = nameParts?.map((part) => part.charAt(0).toUpperCase()).join('');
|
39
|
+
return initials;
|
40
|
+
}
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ProfileSectionComponent, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Component }); }
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ProfileSectionComponent, isStandalone: true, selector: "simpo-profile-section", inputs: { data: "data" }, ngImport: i0, template: "<section class=\"main-container d-flex justify-content-center\">\r\n <div class=\"side-panel\">\r\n <div class=\"details\">\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"logo left w-15\">{{ getInitials() }}</div><div class=\"right name w-85\">{{investorDetails?.fullName || 'N/A'}}</div>\r\n </div>\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"left w-15\"><mat-icon class=\"d-flex align-items-center justify-content-center f-18\"> phone</mat-icon>\r\n </div><div class=\"right w-80\">{{investorDetails?.phoneNumber || 'N/A'}}</div>\r\n </div>\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"left w-15\"><mat-icon class=\" d-flex align-items-center justify-content-center f-18\"> email</mat-icon>\r\n </div><div class=\"right w-80\">{{investorDetails?.emailId || 'N/A'}}</div>\r\n </div>\r\n </div>\r\n <div class=\"tab-section\">\r\n <div class=\"tabs cursor-pointer\" *ngFor=\"let ele of sidePanelTabs\" (click)=\"selectedPanel = ele.value\" [class.activeTab]=\"selectedPanel == ele.value\">\r\n {{ele.viewValue}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"display-section\">\r\n <ng-container *ngIf=\"selectedPanel == 'KYC'\">\r\n <simpo-kyc-details></simpo-kyc-details>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'PORTFOLIO'\">\r\n <simpo-portfolio></simpo-portfolio>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'PROPERTIES'\">\r\n <simpo-properties></simpo-properties>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'ORDERS'\">\r\n <simpo-my-orders></simpo-my-orders>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'DOCUMENTS'\">\r\n <simpo-my-documents></simpo-my-documents>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'STATEMENT'\">\r\n <simpo-my-statement></simpo-my-statement>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'HELP'\">\r\n <simpo-need-help></simpo-need-help>\r\n </ng-container>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans}mat-icon{font-family:Material Icons!important}.main-container{height:85vh;width:100%;padding:10px 0;gap:15px;background:#f1f6ff}.side-panel{width:18%;background:#fff;border:2px solid rgba(241,246,255,1);border-radius:10px}.display-section{width:60%}.w-15{width:15%}.w-85{width:85%}.cursor-pointer{cursor:pointer}.details{background:#19a6c6;border-radius:10px;padding:10px;margin:15px}.left-right{gap:10px;margin-bottom:10px}.logo{background:#e6f0ff;border-radius:50%;font-size:14px;text-align:center;font-weight:600;line-height:24px;padding:3px;color:#405071!important}.name{font-size:14px;font-weight:600;line-height:24px;color:#fff!important}.f-18{font-size:18px}.gap-10{gap:10px}.left{color:#fffc}.right{font-weight:500;font-size:14px;line-height:24px;color:#fffc}.tab-section{margin-top:15px}.tabs{margin-bottom:25px;font-weight:500;font-size:16px;line-height:24px;color:#01161e;margin-left:8px}.activeTab{border-left:8px solid rgba(248,169,56,1);font-weight:700!important;color:#219ebc;margin-right:15px;background:#f1f3f7;padding:10px;border-radius:0 6px 6px 0;margin-left:unset}\n"], dependencies: [{ kind: "component", type: PortfolioComponent, selector: "simpo-portfolio" }, { kind: "component", type: PropertiesComponent, selector: "simpo-properties" }, { kind: "component", type: MyDocumentsComponent, selector: "simpo-my-documents" }, { kind: "component", type: MyOrdersComponent, selector: "simpo-my-orders" }, { kind: "component", type: MyStatementComponent, selector: "simpo-my-statement" }, { kind: "component", type: NeedHelpComponent, selector: "simpo-need-help" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: KycDetailsComponent, selector: "simpo-kyc-details" }] }); }
|
43
|
+
}
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ProfileSectionComponent, decorators: [{
|
45
|
+
type: Component,
|
46
|
+
args: [{ selector: 'simpo-profile-section', standalone: true, imports: [PortfolioComponent, PropertiesComponent, MyDocumentsComponent, MyOrdersComponent, MyStatementComponent, NeedHelpComponent, MatIcon, CommonModule,
|
47
|
+
KycDetailsComponent
|
48
|
+
], template: "<section class=\"main-container d-flex justify-content-center\">\r\n <div class=\"side-panel\">\r\n <div class=\"details\">\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"logo left w-15\">{{ getInitials() }}</div><div class=\"right name w-85\">{{investorDetails?.fullName || 'N/A'}}</div>\r\n </div>\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"left w-15\"><mat-icon class=\"d-flex align-items-center justify-content-center f-18\"> phone</mat-icon>\r\n </div><div class=\"right w-80\">{{investorDetails?.phoneNumber || 'N/A'}}</div>\r\n </div>\r\n <div class=\"left-right d-flex align-items-center gap-10\">\r\n <div class=\"left w-15\"><mat-icon class=\" d-flex align-items-center justify-content-center f-18\"> email</mat-icon>\r\n </div><div class=\"right w-80\">{{investorDetails?.emailId || 'N/A'}}</div>\r\n </div>\r\n </div>\r\n <div class=\"tab-section\">\r\n <div class=\"tabs cursor-pointer\" *ngFor=\"let ele of sidePanelTabs\" (click)=\"selectedPanel = ele.value\" [class.activeTab]=\"selectedPanel == ele.value\">\r\n {{ele.viewValue}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"display-section\">\r\n <ng-container *ngIf=\"selectedPanel == 'KYC'\">\r\n <simpo-kyc-details></simpo-kyc-details>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'PORTFOLIO'\">\r\n <simpo-portfolio></simpo-portfolio>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'PROPERTIES'\">\r\n <simpo-properties></simpo-properties>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'ORDERS'\">\r\n <simpo-my-orders></simpo-my-orders>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'DOCUMENTS'\">\r\n <simpo-my-documents></simpo-my-documents>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'STATEMENT'\">\r\n <simpo-my-statement></simpo-my-statement>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedPanel == 'HELP'\">\r\n <simpo-need-help></simpo-need-help>\r\n </ng-container>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans}mat-icon{font-family:Material Icons!important}.main-container{height:85vh;width:100%;padding:10px 0;gap:15px;background:#f1f6ff}.side-panel{width:18%;background:#fff;border:2px solid rgba(241,246,255,1);border-radius:10px}.display-section{width:60%}.w-15{width:15%}.w-85{width:85%}.cursor-pointer{cursor:pointer}.details{background:#19a6c6;border-radius:10px;padding:10px;margin:15px}.left-right{gap:10px;margin-bottom:10px}.logo{background:#e6f0ff;border-radius:50%;font-size:14px;text-align:center;font-weight:600;line-height:24px;padding:3px;color:#405071!important}.name{font-size:14px;font-weight:600;line-height:24px;color:#fff!important}.f-18{font-size:18px}.gap-10{gap:10px}.left{color:#fffc}.right{font-weight:500;font-size:14px;line-height:24px;color:#fffc}.tab-section{margin-top:15px}.tabs{margin-bottom:25px;font-weight:500;font-size:16px;line-height:24px;color:#01161e;margin-left:8px}.activeTab{border-left:8px solid rgba(248,169,56,1);font-weight:700!important;color:#219ebc;margin-right:15px;background:#f1f3f7;padding:10px;border-radius:0 6px 6px 0;margin-left:unset}\n"] }]
|
49
|
+
}], ctorParameters: () => [{ type: i1.RestService }], propDecorators: { data: [{
|
50
|
+
type: Input
|
51
|
+
}] } });
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvZmlsZS1zZWN0aW9uL3Byb2ZpbGUtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQWEzRSxNQUFNLE9BQU8sdUJBQXVCO0lBR2hDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUTVDLGtCQUFhLEdBQVksV0FBVyxDQUFBO1FBRXBDLGtCQUFhLEdBQVc7WUFDdEIsRUFBQyxLQUFLLEVBQUcsV0FBVyxFQUFHLFNBQVMsRUFBRyxjQUFjLEVBQUM7WUFDbEQsRUFBQyxLQUFLLEVBQUcsWUFBWSxFQUFHLFNBQVMsRUFBRyxlQUFlLEVBQUM7WUFDcEQsZ0RBQWdEO1lBQ2hELHNEQUFzRDtZQUN0RCx1REFBdUQ7WUFDdkQsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUM7WUFDaEMsOENBQThDO1NBQy9DLENBQUE7SUFoQkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBZUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzhHQWxDUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwyR0N2QnBDLGcxRUE2Q0EsK29DRDVCWSxrQkFBa0IsNERBQUMsbUJBQW1CLDZEQUFDLG9CQUFvQiwrREFBQyxpQkFBaUIsNERBQUMsb0JBQW9CLCtEQUFDLGlCQUFpQiw0REFBQyxPQUFPLDBJQUFDLFlBQVksZ1FBQ2pKLG1CQUFtQjs7MkZBS1YsdUJBQXVCO2tCQVRuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBQyxtQkFBbUIsRUFBQyxvQkFBb0IsRUFBQyxpQkFBaUIsRUFBQyxvQkFBb0IsRUFBQyxpQkFBaUIsRUFBQyxPQUFPLEVBQUMsWUFBWTt3QkFDakosbUJBQW1CO3FCQUNwQjtnRkFLVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBvcnRmb2xpb0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3BvcnRmb2xpby9wb3J0Zm9saW8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvcGVydGllc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3Byb3BlcnRpZXMvcHJvcGVydGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNeURvY3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL215LWRvY3VtZW50cy9teS1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTXlPcmRlcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9teS1vcmRlcnMvbXktb3JkZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE15U3RhdGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvbXktc3RhdGVtZW50L215LXN0YXRlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZWVkSGVscENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL25lZWQtaGVscC9uZWVkLWhlbHAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZmlsZVNlY3Rpb25Nb2RlbCB9IGZyb20gJy4vcHJvZmlsZS1zZWN0aW9uLm1vZGFsJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBLeWNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4va3ljLWRldGFpbHMva3ljLWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvZmlsZS1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtQb3J0Zm9saW9Db21wb25lbnQsUHJvcGVydGllc0NvbXBvbmVudCxNeURvY3VtZW50c0NvbXBvbmVudCxNeU9yZGVyc0NvbXBvbmVudCxNeVN0YXRlbWVudENvbXBvbmVudCxOZWVkSGVscENvbXBvbmVudCxNYXRJY29uLENvbW1vbk1vZHVsZSxcclxuICAgIEt5Y0RldGFpbHNDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZWN0aW9uQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGRhdGE/OlByb2ZpbGVTZWN0aW9uTW9kZWw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2Upe1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpe1xyXG4gICAgICB0aGlzLmdldEludmVzdG9yRGV0YWlscygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdGVkUGFuZWwgOiBzdHJpbmcgPSBcIlBPUlRGT0xJT1wiXHJcblxyXG4gICAgc2lkZVBhbmVsVGFicyA6IGFueVtdID0gW1xyXG4gICAgICB7dmFsdWUgOiBcIlBPUlRGT0xJT1wiICwgdmlld1ZhbHVlIDogXCJNeSBQb3J0Zm9saW9cIn0sXHJcbiAgICAgIHt2YWx1ZSA6IFwiUFJPUEVSVElFU1wiICwgdmlld1ZhbHVlIDogXCJNeSBQcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAvLyB7dmFsdWUgOiBcIk9SREVSU1wiICwgdmlld1ZhbHVlIDogXCJNeSBPcmRlcnNcIn0sXHJcbiAgICAgIC8vIHt2YWx1ZSA6IFwiRE9DVU1FTlRTXCIgLCB2aWV3VmFsdWUgOiBcIk15IERvY3VtZW50c1wifSxcclxuICAgICAgLy8ge3ZhbHVlIDogXCJTVEFURU1FTlRcIiAsIHZpZXdWYWx1ZSA6IFwiTXkgU3RhdGVtZW50c1wifSxcclxuICAgICAge3ZhbHVlOiBcIktZQ1wiLCB2aWV3VmFsdWU6IFwiS1lDXCJ9LFxyXG4gICAgICAvLyB7dmFsdWUgOiBcIkhFTFBcIiAsIHZpZXdWYWx1ZSA6IFwiTmVlZCBIZWxwXCJ9LFxyXG4gICAgXVxyXG4gICAgaW52ZXN0b3JEZXRhaWxzOiBhbnk7XHJcblxyXG4gICAgZ2V0SW52ZXN0b3JEZXRhaWxzKCkge1xyXG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldEludmVzdGVyQnlJZCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmludmVzdG9yRGV0YWlscyA9IHJlcy5tZXNzYWdlO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldEluaXRpYWxzKCk6IHN0cmluZyB7XHJcbiAgICAgIGNvbnN0IG5hbWVQYXJ0cyA9IHRoaXMuaW52ZXN0b3JEZXRhaWxzPy5mdWxsTmFtZT8uc3BsaXQoJyAnKTtcclxuICAgICAgY29uc3QgaW5pdGlhbHMgPSBuYW1lUGFydHM/Lm1hcCgocGFydDogYW55KSA9PiBwYXJ0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpKS5qb2luKCcnKTtcclxuICAgICAgcmV0dXJuIGluaXRpYWxzO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9nbyBsZWZ0IHctMTVcIj57eyBnZXRJbml0aWFscygpIH19PC9kaXY+PGRpdiBjbGFzcz1cInJpZ2h0IG5hbWUgdy04NVwiPnt7aW52ZXN0b3JEZXRhaWxzPy5mdWxsTmFtZSB8fCAnTi9BJ319PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1yaWdodCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdy0xNVwiPjxtYXQtaWNvbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmLTE4XCI+IHBob25lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodCB3LTgwXCI+e3tpbnZlc3RvckRldGFpbHM/LnBob25lTnVtYmVyIHx8ICdOL0EnfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXJpZ2h0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB3LTE1XCI+PG1hdC1pY29uIGNsYXNzPVwiIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmLTE4XCI+IGVtYWlsPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9XCJyaWdodCB3LTgwXCI+e3tpbnZlc3RvckRldGFpbHM/LmVtYWlsSWQgfHwgJ04vQSd9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYnMgY3Vyc29yLXBvaW50ZXJcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIHNpZGVQYW5lbFRhYnNcIiAoY2xpY2spPVwic2VsZWN0ZWRQYW5lbCA9IGVsZS52YWx1ZVwiIFtjbGFzcy5hY3RpdmVUYWJdPVwic2VsZWN0ZWRQYW5lbCA9PSBlbGUudmFsdWVcIj5cclxuICAgICAgICAgICAgICB7e2VsZS52aWV3VmFsdWV9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXktc2VjdGlvblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRQYW5lbCA9PSAnS1lDJ1wiPlxyXG4gICAgICAgIDxzaW1wby1reWMtZGV0YWlscz48L3NpbXBvLWt5Yy1kZXRhaWxzPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ1BPUlRGT0xJTydcIj5cclxuICAgICAgICA8c2ltcG8tcG9ydGZvbGlvPjwvc2ltcG8tcG9ydGZvbGlvPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ1BST1BFUlRJRVMnXCI+XHJcbiAgICAgICAgPHNpbXBvLXByb3BlcnRpZXM+PC9zaW1wby1wcm9wZXJ0aWVzPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ09SREVSUydcIj5cclxuICAgICAgICA8c2ltcG8tbXktb3JkZXJzPjwvc2ltcG8tbXktb3JkZXJzPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ0RPQ1VNRU5UUydcIj5cclxuICAgICAgICA8c2ltcG8tbXktZG9jdW1lbnRzPjwvc2ltcG8tbXktZG9jdW1lbnRzPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ1NUQVRFTUVOVCdcIj5cclxuICAgICAgICA8c2ltcG8tbXktc3RhdGVtZW50Pjwvc2ltcG8tbXktc3RhdGVtZW50PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkUGFuZWwgPT0gJ0hFTFAnXCI+XHJcbiAgICAgICAgPHNpbXBvLW5lZWQtaGVscD48L3NpbXBvLW5lZWQtaGVscD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zZWN0aW9uLm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9maWxlLXNlY3Rpb24vcHJvZmlsZS1zZWN0aW9uLm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVTZWN0aW9uTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZyxcclxuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nXHJcbn0iXX0=
|
@@ -1,22 +1,93 @@
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
2
|
+
import { SimpoElementsModule } from './../../elements/index';
|
2
3
|
import { CommonModule } from '@angular/common';
|
4
|
+
import { SimpoComponentModule } from '../../components/index';
|
5
|
+
import { AnimationDirective } from '../../directive/animation-directive';
|
6
|
+
import { BackgroundDirective } from '../../directive/background-directive';
|
7
|
+
import { BorderDirective } from '../../directive/border-directive';
|
8
|
+
import { CornerDirective } from '../../directive/corner-directive';
|
9
|
+
import { HoverDirective } from '../../directive/hover-element-directive';
|
10
|
+
import { OverlayDirective } from '../../directive/overlay-directive';
|
11
|
+
import { TextBackgroundDirectiveDirective } from '../../directive/text-background-directive.directive';
|
12
|
+
import { ColorDirective } from './../../directive/color.directive';
|
13
|
+
import { SimpoHoverBorderDirective } from "../../directive/hoverborder.directive";
|
14
|
+
import { SanitizeHtmlPipe } from '../../services/sanitizeHtml';
|
15
|
+
import { SpacingHorizontalDirective } from '../../directive/spacing-horizontal.directive';
|
16
|
+
import BaseSection from '../BaseSection';
|
17
|
+
import { ContentFitDirective } from '../../directive/content-fit-directive';
|
3
18
|
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "
|
5
|
-
|
19
|
+
import * as i1 from "../../services/rest.service";
|
20
|
+
import * as i2 from "@angular/router";
|
21
|
+
import * as i3 from "../../services/events.service";
|
22
|
+
import * as i4 from "@angular/common";
|
23
|
+
import * as i5 from "../../elements/svg-divider/svg-divider.component";
|
24
|
+
import * as i6 from "../../components/hover-elements/hover-elements.component";
|
25
|
+
import * as i7 from "../../components/delete-hover-element/delete-hover-element.component";
|
26
|
+
export class PropertyComponentComponent extends BaseSection {
|
27
|
+
constructor(restService, router, eventsService) {
|
28
|
+
super();
|
29
|
+
this.restService = restService;
|
30
|
+
this.router = router;
|
31
|
+
this.eventsService = eventsService;
|
32
|
+
this.propertyList = [];
|
33
|
+
}
|
6
34
|
ngOnInit() {
|
7
35
|
this.content = this.data?.content;
|
36
|
+
this.styles = this.data?.styles;
|
37
|
+
this.getPropertyList();
|
38
|
+
this.propertyListEventSubscription = this.eventsService.propertyListEvent.subscribe((res) => {
|
39
|
+
this.getPropertyList();
|
40
|
+
});
|
41
|
+
}
|
42
|
+
ngOnDestroy() {
|
43
|
+
this.propertyListEventSubscription?.unsubscribe();
|
44
|
+
}
|
45
|
+
getPropertyList() {
|
46
|
+
this.restService.getFeaturedProperty(this.content?.propertyIds || []).subscribe((res) => {
|
47
|
+
this.propertyList = res;
|
48
|
+
});
|
49
|
+
}
|
50
|
+
get stylesLayout() {
|
51
|
+
return { ...this.styles?.layout };
|
52
|
+
}
|
53
|
+
redirectToPropertyDetails(propertyId) {
|
54
|
+
this.router.navigate([`details`], { queryParams: { id: propertyId } });
|
8
55
|
}
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyComponentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyComponentComponent, isStandalone: true, selector: "simpo-property-component", inputs: { data: "data", index: "index" }, ngImport: i0, template: "<div class=\"
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyComponentComponent, deps: [{ token: i1.RestService }, { token: i2.Router }, { token: i3.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyComponentComponent, isStandalone: true, selector: "simpo-property-component", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", nextComponentColor: "nextComponentColor" }, usesInheritance: true, ngImport: i0, template: "<div class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\" [simpoBackground]=\"styles?.background\" [id]=\"data?.id\">\r\n <div class=\"content-side\" [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"header-section mb-3\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" [ngClass]=\"{'head-text':text.label == 'Heading' , 'sub-text-1':text.label == 'Subtext'}\">{{text.value}}</div>\r\n </div>\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let property of propertyList\">\r\n <div class=\"col-md-6 col-12\" (click)=\"redirectToPropertyDetails(property.propertyId)\">\r\n <div class=\"w-100 card-container\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + property.imgUrl[0] + ')' }\">\r\n <div class=\"data p-3 w-100\">\r\n <div class=\"top-data d-flex justify-content-between align-items-center\">\r\n <div class=\"top-left d-flex g-10\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/155859c1737715323470Logo.png\"\r\n alt=\"logo-text\" class=\"\">\r\n <div class=\"top-left-text text-left d-flex flex-column justify-content-center\">\r\n <div class=\"text-heading clr-white\">{{property.name}}</div>\r\n <div class=\"d-flex sub-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\">{{property.location}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"top-right text-right\">\r\n <div class=\"xl-text mb-10\">{{property.minimumInvestment}}</div>\r\n <div class=\"nrml-text\">Min.Investment (Sq.ft)</div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-data d-flex justify-content-around align-items-center\">\r\n <div class=\"key-value d-flex flex-column\" *ngFor=\"let item of [1,2,3]\">\r\n <div class=\"text-heading clr-grey text-center\">10%</div>\r\n <div class=\"text-heading clr-grey text-center\">Annual Returns</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</div>\r\n", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.head-text{font-family:Open Sans;font-size:32px;font-weight:600;line-height:44px;color:#000}.sub-text-1{font-family:Open Sans;font-size:18px;font-weight:400;line-height:44px;color:#000000b3}.g-10{gap:10px}.mb-10{margin-bottom:10px}.text-heading{font-weight:700;font-size:18px;margin-bottom:5px}.clr-white{color:#fff}.clr-grey{color:#000000b3}.sub-text{font-weight:600;font-size:16px;color:#ffffffb3}.xl-text{font-size:28px;line-height:17px;font-weight:700;color:#f09819}.nrml-text{font-size:16px;font-weight:500;color:#fff6}.bottom-data{background:#fff;padding:10px;border-radius:8px;margin-top:10px}.card-container{height:60vh;background-repeat:no-repeat;background-size:cover;position:relative;border-radius:10px}.top-left-text{text-align:left!important}.text-right{text-align:left}.data{position:absolute;bottom:0}.g-3{gap:3rem}.logo-img{width:60px;height:60px}.row{row-gap:2rem}.content-side{display:block!important}@media only screen and (max-width: 475px){.cards-section{flex-direction:column;gap:1rem!important}.card{width:100%!important}.head-text{font-size:25px;line-height:38px;text-align:start!important;margin-bottom:10px}.sub-text-1{font-size:16px;line-height:20px;text-align:start!important}.xl-text{font-size:22px}.nrml-text{font-size:12px}.text-heading{font-size:13px}.sub-text{font-size:12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i5.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i6.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i7.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type:
|
58
|
+
//directive
|
59
|
+
AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }] }); }
|
11
60
|
}
|
12
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyComponentComponent, decorators: [{
|
13
62
|
type: Component,
|
14
63
|
args: [{ selector: 'simpo-property-component', standalone: true, imports: [
|
15
64
|
CommonModule,
|
16
|
-
|
17
|
-
|
65
|
+
SimpoElementsModule,
|
66
|
+
CommonModule,
|
67
|
+
SimpoComponentModule,
|
68
|
+
SimpoHoverBorderDirective,
|
69
|
+
//directive
|
70
|
+
AnimationDirective,
|
71
|
+
BackgroundDirective,
|
72
|
+
ContentFitDirective,
|
73
|
+
BorderDirective,
|
74
|
+
CornerDirective,
|
75
|
+
HoverDirective,
|
76
|
+
OverlayDirective,
|
77
|
+
TextBackgroundDirectiveDirective,
|
78
|
+
ColorDirective,
|
79
|
+
SanitizeHtmlPipe,
|
80
|
+
SpacingHorizontalDirective,
|
81
|
+
], template: "<div class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\" [simpoBackground]=\"styles?.background\" [id]=\"data?.id\">\r\n <div class=\"content-side\" [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\"\r\n [simpoBorder]=\"styles?.border\" [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\">\r\n <div class=\"header-section mb-3\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" [ngClass]=\"{'head-text':text.label == 'Heading' , 'sub-text-1':text.label == 'Subtext'}\">{{text.value}}</div>\r\n </div>\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let property of propertyList\">\r\n <div class=\"col-md-6 col-12\" (click)=\"redirectToPropertyDetails(property.propertyId)\">\r\n <div class=\"w-100 card-container\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + property.imgUrl[0] + ')' }\">\r\n <div class=\"data p-3 w-100\">\r\n <div class=\"top-data d-flex justify-content-between align-items-center\">\r\n <div class=\"top-left d-flex g-10\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/155859c1737715323470Logo.png\"\r\n alt=\"logo-text\" class=\"\">\r\n <div class=\"top-left-text text-left d-flex flex-column justify-content-center\">\r\n <div class=\"text-heading clr-white\">{{property.name}}</div>\r\n <div class=\"d-flex sub-text\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\">{{property.location}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"top-right text-right\">\r\n <div class=\"xl-text mb-10\">{{property.minimumInvestment}}</div>\r\n <div class=\"nrml-text\">Min.Investment (Sq.ft)</div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-data d-flex justify-content-around align-items-center\">\r\n <div class=\"key-value d-flex flex-column\" *ngFor=\"let item of [1,2,3]\">\r\n <div class=\"text-heading clr-grey text-center\">10%</div>\r\n <div class=\"text-heading clr-grey text-center\">Annual Returns</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</div>\r\n", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.head-text{font-family:Open Sans;font-size:32px;font-weight:600;line-height:44px;color:#000}.sub-text-1{font-family:Open Sans;font-size:18px;font-weight:400;line-height:44px;color:#000000b3}.g-10{gap:10px}.mb-10{margin-bottom:10px}.text-heading{font-weight:700;font-size:18px;margin-bottom:5px}.clr-white{color:#fff}.clr-grey{color:#000000b3}.sub-text{font-weight:600;font-size:16px;color:#ffffffb3}.xl-text{font-size:28px;line-height:17px;font-weight:700;color:#f09819}.nrml-text{font-size:16px;font-weight:500;color:#fff6}.bottom-data{background:#fff;padding:10px;border-radius:8px;margin-top:10px}.card-container{height:60vh;background-repeat:no-repeat;background-size:cover;position:relative;border-radius:10px}.top-left-text{text-align:left!important}.text-right{text-align:left}.data{position:absolute;bottom:0}.g-3{gap:3rem}.logo-img{width:60px;height:60px}.row{row-gap:2rem}.content-side{display:block!important}@media only screen and (max-width: 475px){.cards-section{flex-direction:column;gap:1rem!important}.card{width:100%!important}.head-text{font-size:25px;line-height:38px;text-align:start!important;margin-bottom:10px}.sub-text-1{font-size:16px;line-height:20px;text-align:start!important}.xl-text{font-size:22px}.nrml-text{font-size:12px}.text-heading{font-size:13px}.sub-text{font-size:12px}}\n"] }]
|
82
|
+
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.Router }, { type: i3.EventsService }], propDecorators: { data: [{
|
18
83
|
type: Input
|
19
84
|
}], index: [{
|
20
85
|
type: Input
|
86
|
+
}], edit: [{
|
87
|
+
type: Input
|
88
|
+
}], delete: [{
|
89
|
+
type: Input
|
90
|
+
}], nextComponentColor: [{
|
91
|
+
type: Input
|
21
92
|
}] } });
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvcGVydHktY29tcG9uZW50L3Byb3BlcnR5LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWNvbXBvbmVudC9wcm9wZXJ0eS1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFXL0MsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQTtJQUNuQyxDQUFDOzhHQVJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDhIQ2J2Qyw4a0ZBcUNNLHl6Q0Q3QkYsWUFBWTs7MkZBS0gsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTtxQkFDYjs4QkFNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUNvbnRlbnRNb2RlbCwgUHJvcGVydHlTZWN0aW9uTW9kZWwgfSBmcm9tICcuL3Byb3BlcnR5LWNvbXBvbmVudC5tb2RhbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LWNvbXBvbmVudCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNvbXBvbmVudENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OlByb3BlcnR5U2VjdGlvbk1vZGVsO1xyXG4gIGNvbnRlbnQ/OiBQcm9wZXJ0eUNvbnRlbnRNb2RlbDtcclxuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnRcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXIgY29udGVudC1zaWRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlY3Rpb24gdGV4dC1jZW50ZXIgbWItM1wiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRleHQgb2YgZGF0YT8uY29udGVudD8uaW5wdXRUZXh0XCIgW25nQ2xhc3NdPVwieydoZWFkLXRleHQnOnRleHQubGFiZWwgPT0gJ0hlYWRpbmcnICwgJ3N1Yi10ZXh0LTEnOnRleHQubGFiZWwgPT0gJ1N1YnRleHQnfVwiPnt7dGV4dC52YWx1ZX19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkcy1zZWN0aW9uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBnLTNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGUgb2YgZGF0YT8uY29udGVudD8ubGlzdEl0ZW0/LmRhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBjYXJkLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGVsZS5iYWNrZ3JvdW5kSW1hZ2VVcmwgKyAnKScgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhIHAtMyB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRhdGEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1sZWZ0IGQtZmxleCBnLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE1NTg1OWMxNzM3NzE1MzIzNDcwTG9nby5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJsb2dvLXRleHRcIiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtbGVmdC10ZXh0IHRleHQtbGVmdCBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1oZWFkaW5nIGNsci13aGl0ZVwiPnt7ZWxlLmhlYWRpbmd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHN1Yi10ZXh0XCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMzg0Mjc1YzE3Mzc2Mjk3Mjk1NDVsb2NhdGlvbl9vbi5wbmdcIj57e2VsZS5sb2NhdGlvbi5jaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIFwiLCBcIiArIGVsZS5sb2NhdGlvbi5zdGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtcmlnaHQgdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4bC10ZXh0IG1iLTEwXCI+e3tlbGUubWluSW52ZXN0bWVudH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5ybWwtdGV4dFwiPk1pbi5JbnZlc3RtZW50PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGF0YSBkLWZsZXgganVzdGlmeS1jb250ZW50LWFyb3VuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJrZXktdmFsdWUgZC1mbGV4IGZsZXgtY29sdW1uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZWxlLmZlYXR1cmVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtaGVhZGluZyBjbHItZ3JleSB0ZXh0LWNlbnRlclwiPnt7aXRlbS52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtaGVhZGluZyBjbHItZ3JleSB0ZXh0LWNlbnRlclwiPnt7aXRlbS5rZXl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvcGVydHktY29tcG9uZW50L3Byb3BlcnR5LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWNvbXBvbmVudC9wcm9wZXJ0eS1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztB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cm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlDb250ZW50TW9kZWwsIFByb3BlcnR5U2VjdGlvbk1vZGVsLCBQcm9wZXJ0eVN0eWxlc01vZGVsIH0gZnJvbSAnLi9wcm9wZXJ0eS1jb21wb25lbnQubW9kYWwnO1xyXG5pbXBvcnQgeyBTaW1wb0VsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9lbGVtZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcblxyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xyXG5cclxuaW1wb3J0IHsgQmFubmVyQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYW5uZXItY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRleHRCYWNrZ3JvdW5kRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3RleHQtYmFja2dyb3VuZC1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29sb3JEaXJlY3RpdmUgfSBmcm9tICcuLy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTaW1wb0hvdmVyQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZS9ob3ZlcmJvcmRlci5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nhbml0aXplSHRtbCc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1wcm9wZXJ0eS1jb21wb25lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2ltcG9FbGVtZW50c01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgU2ltcG9Ib3ZlckJvcmRlckRpcmVjdGl2ZSxcclxuICAgIC8vZGlyZWN0aXZlXHJcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcclxuICAgIFRleHRCYWNrZ3JvdW5kRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29sb3JEaXJlY3RpdmUsXHJcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFxyXG4gICAgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJvcGVydHktY29tcG9uZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNvbXBvbmVudENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBldmVudHNTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgZGF0YT86IFByb3BlcnR5U2VjdGlvbk1vZGVsO1xyXG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGVkaXQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xyXG5cclxuXHJcbiAgY29udGVudD86IFByb3BlcnR5Q29udGVudE1vZGVsO1xyXG4gIHN0eWxlcz86IFByb3BlcnR5U3R5bGVzTW9kZWw7XHJcbiAgcHJvcGVydHlMaXN0RXZlbnRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuZ2V0UHJvcGVydHlMaXN0KCk7XHJcblxyXG4gICAgdGhpcy5wcm9wZXJ0eUxpc3RFdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuZXZlbnRzU2VydmljZS5wcm9wZXJ0eUxpc3RFdmVudC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0UHJvcGVydHlMaXN0KCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnByb3BlcnR5TGlzdEV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlMaXN0KCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRGZWF0dXJlZFByb3BlcnR5KHRoaXMuY29udGVudD8ucHJvcGVydHlJZHMgfHwgW10pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eUxpc3QgPSByZXNcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcm9wZXJ0eUxpc3Q6IGFueVtdID0gW107XHJcblxyXG4gIGdldCBzdHlsZXNMYXlvdXQoKSB7XHJcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG5cclxuICByZWRpcmVjdFRvUHJvcGVydHlEZXRhaWxzKHByb3BlcnR5SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BkZXRhaWxzYF0sIHtxdWVyeVBhcmFtczoge2lkOiBwcm9wZXJ0eUlkfX0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiICBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1zaWRlXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCJcclxuICAgIFtzaW1wb0JvcmRlcl09XCJzdHlsZXM/LmJvcmRlclwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXNlY3Rpb24gbWItM1wiPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIiBbbmdDbGFzc109XCJ7J2hlYWQtdGV4dCc6dGV4dC5sYWJlbCA9PSAnSGVhZGluZycgLCAnc3ViLXRleHQtMSc6dGV4dC5sYWJlbCA9PSAnU3VidGV4dCd9XCI+e3t0ZXh0LnZhbHVlfX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIHByb3BlcnR5TGlzdFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBjb2wtMTJcIiAoY2xpY2spPVwicmVkaXJlY3RUb1Byb3BlcnR5RGV0YWlscyhwcm9wZXJ0eS5wcm9wZXJ0eUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgY2FyZC1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIHByb3BlcnR5LmltZ1VybFswXSArICcpJyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YSBwLTMgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWRhdGEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWxlZnQgZC1mbGV4IGctMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xNTU4NTljMTczNzcxNTMyMzQ3MExvZ28ucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJsb2dvLXRleHRcIiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1sZWZ0LXRleHQgdGV4dC1sZWZ0IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtaGVhZGluZyBjbHItd2hpdGVcIj57e3Byb3BlcnR5Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggc3ViLXRleHRcIj48aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzM4NDI3NWMxNzM3NjI5NzI5NTQ1bG9jYXRpb25fb24ucG5nXCI+e3twcm9wZXJ0eS5sb2NhdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtcmlnaHQgdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInhsLXRleHQgbWItMTBcIj57e3Byb3BlcnR5Lm1pbmltdW1JbnZlc3RtZW50fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJucm1sLXRleHRcIj5NaW4uSW52ZXN0bWVudCAoU3EuZnQpPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tZGF0YSBkLWZsZXgganVzdGlmeS1jb250ZW50LWFyb3VuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImtleS12YWx1ZSBkLWZsZXggZmxleC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBbMSwyLDNdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1oZWFkaW5nIGNsci1ncmV5IHRleHQtY2VudGVyXCI+MTAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1oZWFkaW5nIGNsci1ncmV5IHRleHQtY2VudGVyXCI+QW5udWFsIFJldHVybnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdHlsZXM/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGVzPy5kZXZpZGVyPy5kZXZpZGVyVHlwZVwiXHJcbiAgICAgIFtjb2xvcl09XCJuZXh0Q29tcG9uZW50Q29sb3I/LmNvbG9yXCI+PC9zaW1wby1zdmctZGl2aWRlcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29tcG9uZW50Lm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9wZXJ0eS1jb21wb25lbnQvcHJvcGVydHktY29tcG9uZW50Lm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JuZXJzIH0gZnJvbSAnLi8uLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25Nb2RlbCwgQmFja2dyb3VuZE1vZGVsLCBCb3JkZXJNb2RlbCwgRGV2aWRlck1vZGVsLCBJbnB1dFRleHRNb2RlbCwgTGF5T3V0TW9kZWwsIExpc3RJdGVtTW9kYWwgfSBmcm9tICcuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5U2VjdGlvbk1vZGVsIHtcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uVHlwZTogc3RyaW5nLFxyXG4gICAgc2VjdGlvbk5hbWU6IHN0cmluZyxcclxuICAgIGNvbnRlbnQ6IFByb3BlcnR5Q29udGVudE1vZGVsO1xyXG4gICAgc3R5bGVzOiBQcm9wZXJ0eVN0eWxlc01vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlDb250ZW50TW9kZWwge1xyXG4gICAgaW5wdXRUZXh0OiBJbnB1dFRleHRNb2RlbFtdO1xyXG4gICAgcHJvcGVydHlJZHM6IG51bWJlcltdXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0eVN0eWxlc01vZGVsIHtcclxuICBsYXlvdXQ6IExheU91dE1vZGVsO1xyXG4gIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxuICBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsO1xyXG4gIGJvcmRlcjogQm9yZGVyTW9kZWw7XHJcbiAgZGV2aWRlcjogRGV2aWRlck1vZGVsO1xyXG4gIGNvcm5lcnM6IENvcm5lcnM7XHJcbn1cclxuXHJcbiJdfQ==
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import { NgFor, NgIf } from '@angular/common';
|
3
|
+
import { MatIcon } from '@angular/material/icon';
|
4
|
+
import { FormsModule } from '@angular/forms';
|
5
|
+
import { StorageKeys } from '../../styles/index';
|
6
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
7
|
+
import { PaymentConfirmationComponent } from '../../elements/payment-confirmation/payment-confirmation.component';
|
8
|
+
import { KycDetailsComponent } from '../kyc-details/kyc-details.component';
|
9
|
+
import * as i0 from "@angular/core";
|
10
|
+
import * as i1 from "../../services/rest.service";
|
11
|
+
import * as i2 from "@angular/router";
|
12
|
+
import * as i3 from "@angular/material/dialog";
|
13
|
+
import * as i4 from "@angular/forms";
|
14
|
+
export class PropertyDetailComponent {
|
15
|
+
constructor(restService, activatedRoute, router, matDialog) {
|
16
|
+
this.restService = restService;
|
17
|
+
this.activatedRoute = activatedRoute;
|
18
|
+
this.router = router;
|
19
|
+
this.matDialog = matDialog;
|
20
|
+
this.propertyId = '';
|
21
|
+
this.propertyDetails = {
|
22
|
+
"propertyId": 10,
|
23
|
+
"name": "Ananta One",
|
24
|
+
"minimumInvestment": 100,
|
25
|
+
"propertyType": "Coliving",
|
26
|
+
"description": null,
|
27
|
+
"location": "samta colony Chhattisgarh",
|
28
|
+
"documents": [],
|
29
|
+
"financeDetails": {
|
30
|
+
"id": 11,
|
31
|
+
"propertyId": 10,
|
32
|
+
"guaranteedROI": 10,
|
33
|
+
"pricePerSqFeet": 10,
|
34
|
+
"indicativeMarketValue": 10,
|
35
|
+
"annualReturn": 10,
|
36
|
+
"guaranteedAnnualCapitalGrowth": 10,
|
37
|
+
"createdTimeStamp": "2025-02-15T05:30:00",
|
38
|
+
"irr": 10
|
39
|
+
},
|
40
|
+
"year": 2020,
|
41
|
+
"totalAreaSqFeet": 10,
|
42
|
+
"soldOutArea": 0,
|
43
|
+
"blockingPrice": 0,
|
44
|
+
"blockingDuration": 0,
|
45
|
+
"benefits": [],
|
46
|
+
"imgUrl": [
|
47
|
+
"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png",
|
48
|
+
"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png"
|
49
|
+
],
|
50
|
+
"createdTimeStamp": "2025-02-15T05:30:00",
|
51
|
+
"createdById": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
52
|
+
"createdByName": "string",
|
53
|
+
"active": true,
|
54
|
+
"updatedTimeStamp": "2025-02-15T05:30:00",
|
55
|
+
"deleted": false
|
56
|
+
};
|
57
|
+
this.index = 0;
|
58
|
+
this.propertyNumbers = [
|
59
|
+
{ icon: "", number: "₹3230", text: "Price/Sq.ft" },
|
60
|
+
{ icon: "", number: "₹4830", text: "Indicative Market Value" },
|
61
|
+
{ icon: "", number: "18%", text: "Internal Returns Rate" },
|
62
|
+
{ icon: "", number: "12%", text: "Annual Returns" },
|
63
|
+
{ icon: "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/273918c1739173355725checked%201.png", number: "5%", text: "Guaranteed annual capital growth" },
|
64
|
+
];
|
65
|
+
this.aboutText = "Ananta one Apartments is a premium residential development located in the bustling heart of hyderabad. It offers modern amenities and a luxurious lifestyle designed to meet the needs of urban families and professionals.";
|
66
|
+
this.keyValue = [
|
67
|
+
{ key: "Property Type:", value: "Rental" },
|
68
|
+
{ key: "Property Size:", value: "12 Acre" },
|
69
|
+
{ key: "Year:", value: "2023" }
|
70
|
+
];
|
71
|
+
this.investmentCards = [
|
72
|
+
{ img: "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/697943c1739176853348fi_12875395.png", head: "Reduce risk", text: " Zero Risk with High Returns" },
|
73
|
+
{ img: "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/718819c1739177134935shield%201.png", head: "Gurantee Growth", text: "Guaranteed Annual Capital Appreciation" },
|
74
|
+
{ img: "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/421883c1739177144880fi_12875395%20%281%29.png", head: "Free Holiday stay", text: "Get 3 days 2 nights free holiday stay" }
|
75
|
+
];
|
76
|
+
this.pdfCards = ["Title deed", "Property Registration Certificate"];
|
77
|
+
this.sqft = 3230;
|
78
|
+
this.noOfSqft = 1;
|
79
|
+
}
|
80
|
+
ngOnInit() {
|
81
|
+
this.activatedRoute.queryParams.subscribe((param) => {
|
82
|
+
this.propertyId = param['id'];
|
83
|
+
if (this.propertyId)
|
84
|
+
this.getPropertyDetails();
|
85
|
+
});
|
86
|
+
}
|
87
|
+
ngOnDestroy() {
|
88
|
+
this.kycDetailsSubscription?.unsubscribe();
|
89
|
+
}
|
90
|
+
getPropertyDetails() {
|
91
|
+
this.restService.getPropertyDetails(this.propertyId).subscribe((res) => {
|
92
|
+
this.propertyDetails = res;
|
93
|
+
});
|
94
|
+
}
|
95
|
+
purchaseProperty() {
|
96
|
+
if (!localStorage.getItem(StorageKeys.INVESTOR_ID)) {
|
97
|
+
this.router.navigate(['login-signup'], { queryParams: { id: this.propertyDetails.propertyId } });
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
this.getKycDetails();
|
101
|
+
}
|
102
|
+
getKycDetails() {
|
103
|
+
this.kycDetailsSubscription = this.restService.getKycDetails().subscribe((res) => {
|
104
|
+
if (res?.message?.panVerified === 'VALID' && res?.message?.aadhaarVerified === 'VALID') {
|
105
|
+
this.matDialog.open(PaymentConfirmationComponent, { panelClass: 'payment-confirmation', data: { details: this.propertyDetails, totalArea: this.noOfSqft } });
|
106
|
+
}
|
107
|
+
else {
|
108
|
+
this.matDialog.open(KycDetailsComponent, { panelClass: "login-signup" });
|
109
|
+
}
|
110
|
+
});
|
111
|
+
}
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyDetailComponent, deps: [{ token: i1.RestService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyDetailComponent, isStandalone: true, selector: "simpo-property-detail", inputs: { data: "data" }, ngImport: i0, template: "<section class=\"main-container\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative\" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item active\" data-bs-interval=\"2000\" *ngFor=\"let img of propertyDetails.imgUrl\">\r\n <img [src]=\"img\" class=\"d-block w-100 height-30 h-50\" alt=\"property-image\">\r\n </div>\r\n <!-- <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div>\r\n <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div> -->\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-between\">\r\n <div class=\"property-details\">\r\n <p class=\"pname\">{{propertyDetails.name}}</p>\r\n <span class=\"plocation d-flex align-items-center gap-5\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\"> {{propertyDetails.location}}</span>\r\n </div>\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <!-- d-flex justify-content-end align-items-end -->\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <!-- additional-properties-1 -->\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" [attr.data-bs-slide-to]=\"i\"\r\n class=\"active additional-properties\" aria-current=\"true\" aria-label=\"Slide 1\"\r\n *ngFor=\"let slide of propertyDetails.imgUrl;let i = index\"></button>\r\n <!-- class=\"additional-properties\" -->\r\n <!-- <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"1\" aria-label=\"Slide 2\" class=\"additional-properties\"></button>\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"2\" aria-label=\"Slide 3\" class=\"additional-properties\"></button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-numbers d-flex justify-content-between\">\r\n <ng-container>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.pricePerSqFeet || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Price/Sq.ft</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.indicativeMarketValue || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Indicative Market Value</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.irr || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Internal Returns Rate</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Annual Returns</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <ng-container>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/273918c1739173355725checked%201.png\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container>\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0}}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Guaranteed annual capital growth</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-section w-70 d-flex g-40\">\r\n <div class=\"right w-60 \">\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails.description}}</div>\r\n <div class=\"about-property-details d-flex gap-10\">\r\n <ng-container>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Type: </div>\r\n <div class=\"left-text\">{{propertyDetails.propertyType}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Size:</div>\r\n <div class=\"left-text\">{{propertyDetails.totalAreaSqFeet}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">year:</div>\r\n <div class=\"left-text\">{{propertyDetails.year}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\" *ngIf=\"(propertyDetails?.benefits?.length || 0) > 0\">\r\n <div class=\"head-about-property\">Investment Benefit</div>\r\n <div class=\"card-container d-flex gap-10\">\r\n <ng-container *ngFor=\"let benefits of propertyDetails.benefits\">\r\n <div class=\"cards\">\r\n <div class=\"image-container w-100 d-flex justify-content-center\">\r\n <img [src]=\"benefits.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"card-head\">{{benefits.title}}</div>\r\n <div class=\"card-text\">{{benefits.description}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex justify-content-between gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of pdfCards\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"left w-40\">\r\n <div class=\"sqft\">\r\n <div class=\"head-about-property\">Buy SQFT</div>\r\n <div class=\"price justify-content-between d-flex\">\r\n <div class=\"left-price\">Price/Sq.ft</div>\r\n <div class=\"right-price\">\u20B9{{propertyDetails.financeDetails.pricePerSqFeet}}</div>\r\n </div>\r\n <div class=\"sqft-quantity d-flex justify-content-between w-100 align-items-center\">\r\n <div class=\"left-sqft\">SQFT Quantity</div>\r\n <div class=\"right-sqft d-flex align-items-center\">\r\n <mat-icon (click)=\"noOfSqft > 0 ? noOfSqft = noOfSqft - 1 : noOfSqft = 0\"\r\n class=\"d-flex align-items-center justify-content-center icon\">remove</mat-icon>\r\n <div class=\"sqft-number d-flex justify-content-center\"><input type=\"number\" [(ngModel)]=\"noOfSqft\"\r\n class=\"sqft-number additional-properties-2 text-center p-0 \"></div>\r\n <mat-icon (click)=\"noOfSqft = noOfSqft + 1\"\r\n class=\"d-flex align-items-center justify-content-center icon\">add</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"payable d-flex justify-content-between align-items-center w-100\">\r\n <div class=\"payable-left\">\r\n <p class=\"pay-text\">Payable Amount</p><span class=\"pay-subtext\">(Incl. Fees & Other\r\n Levies)</span>\r\n </div>\r\n <div class=\"payable-right\">\r\n \u20B9{{ noOfSqft * propertyDetails.financeDetails.pricePerSqFeet}}\r\n </div>\r\n </div>\r\n <div class=\"buy\" (click)=\"purchaseProperty()\">\r\n Buy SQFT\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}.main-container{overflow-x:hidden}mat-icon{font-family:Material Icons!important}.property-numbers{padding:40px 60px 10px;background:#f2910b}.number-text{font-weight:700;font-size:35px;line-height:40px;color:#102031;font-family:DM Sans}.property-text{font-size:20px;font-weight:600;line-height:28px;color:#ffffffe6}.w-18{width:18%}.last-card{width:21%}.w-70{width:70%}.about-section{margin:30px auto}.about-property{background:#fff;border:1px solid rgba(0,0,0,.03);border-radius:10px;padding:10px;margin-bottom:15px}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.gap-10{gap:10px}.w-60{width:60%}.about-property-details{width:100%;justify-content:space-between;padding:13px 10px;background:#f6f5f5;border-radius:7px;margin-top:15px;margin-bottom:5px}.right-text{font-weight:500;font-size:16px;line-height:20px;color:#01161ecc}.left-text{font-weight:600;font-size:16px;line-height:20px;color:#01161e}.cards{width:30%;background:#f9fbff;border-radius:10px;padding:15px}.card-head{font-weight:600;font-size:16px;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.card-text{font-size:14px;font-weight:500;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.image-container img{height:8vh}.file{background:#f7f7f7;border-radius:5px;padding:12px;width:50%}.w-75{width:75%}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.download-image{width:28px}.g-40{gap:40px}.w-40{width:40%}.sqft{background:linear-gradient(180deg,#0d1b2a,#172b40);color:#fff;width:85%;border-radius:8px;padding:15px}.right-price{width:50%;color:#fc9a11;font-size:28px;font-weight:700;line-height:32px;text-align:end}.left-price{width:50%;font-size:18px;font-weight:600;line-height:32px}.price{display:flex;background:#263f5a;border-radius:8px;padding:15px 10px}.buy{background:#36b37e;color:#fff;padding:15px;border-radius:8px;font-size:15px;font-weight:700;line-height:20px;text-align:center;cursor:pointer}.payable{padding:10px;background:#ffffffb3;border-radius:8px;margin-bottom:10px}.pay-text{font-size:14px;line-height:20px;font-weight:600;color:#000;margin-bottom:unset;border-radius:8px}.pay-subtext{font-size:10px;font-weight:500;color:#0006}.payable-right{font-weight:700;font-size:22px;line-height:32px;color:#fff}.card-container{overflow-x:scroll}.sqft-quantity{padding:15px 2px}.left-sqft{font-weight:600;font-size:16px;line-height:32px;color:#fff}.right-sqft{padding:4px;background:#f8a938;border-radius:4px;width:50%}.icon{font-size:16px;font-weight:700;color:#000;line-height:19px;width:30%;margin:0 2px}.sqft-number{background:#fff;width:70%;border-radius:4px;font-weight:700;font-size:20px;line-height:19px;color:#000;padding:10px;outline:unset}.tick-img{width:30px}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%;padding:30px}.pname{font-weight:600;font-size:34px;line-height:44px;color:#fff}.plocation{font-size:16px;font-weight:500;line-height:12px;color:#fff9}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.additional-properties-2{border:unset}.gap-5{gap:5px!important}.h-50{height:70vh!important}@media screen and (max-width : 475px){.property-numbers{flex-wrap:wrap;width:100%;padding:15px!important;margin-bottom:15px}.icon-text{width:50%}.last-card{width:100%!important}.right-text,.left-text{white-space:nowrap}.card-container{flex-direction:column;gap:10px;align-items:center}.cards{width:70%}.about-section{flex-direction:column;width:100%!important;margin:unset!important}.right{width:100%!important}.about-property{width:100%;border:none!important}.left{width:100%;margin:10px}.file-container{flex-direction:column}.file{width:100%!important}.sqft{width:95%}.height-30{height:30vh}.about-property-details{display:grid!important;width:100%}.propertyName{padding:10px!important}.pname{font-size:21px;line-height:10px}.additional-properties{height:1vh;width:8px!important}.number-text{font-size:26px}.property-text{font-size:18px}.head-about-property{text-align:center}}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
114
|
+
}
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyDetailComponent, decorators: [{
|
116
|
+
type: Component,
|
117
|
+
args: [{ selector: 'simpo-property-detail', standalone: true, imports: [NgFor, MatIcon, NgIf, FormsModule, MatDialogModule], template: "<section class=\"main-container\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative\" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item active\" data-bs-interval=\"2000\" *ngFor=\"let img of propertyDetails.imgUrl\">\r\n <img [src]=\"img\" class=\"d-block w-100 height-30 h-50\" alt=\"property-image\">\r\n </div>\r\n <!-- <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div>\r\n <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div> -->\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-between\">\r\n <div class=\"property-details\">\r\n <p class=\"pname\">{{propertyDetails.name}}</p>\r\n <span class=\"plocation d-flex align-items-center gap-5\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\"> {{propertyDetails.location}}</span>\r\n </div>\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <!-- d-flex justify-content-end align-items-end -->\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <!-- additional-properties-1 -->\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" [attr.data-bs-slide-to]=\"i\"\r\n class=\"active additional-properties\" aria-current=\"true\" aria-label=\"Slide 1\"\r\n *ngFor=\"let slide of propertyDetails.imgUrl;let i = index\"></button>\r\n <!-- class=\"additional-properties\" -->\r\n <!-- <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"1\" aria-label=\"Slide 2\" class=\"additional-properties\"></button>\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"2\" aria-label=\"Slide 3\" class=\"additional-properties\"></button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-numbers d-flex justify-content-between\">\r\n <ng-container>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.pricePerSqFeet || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Price/Sq.ft</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.indicativeMarketValue || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Indicative Market Value</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.irr || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Internal Returns Rate</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Annual Returns</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <ng-container>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/273918c1739173355725checked%201.png\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container>\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0}}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Guaranteed annual capital growth</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-section w-70 d-flex g-40\">\r\n <div class=\"right w-60 \">\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails.description}}</div>\r\n <div class=\"about-property-details d-flex gap-10\">\r\n <ng-container>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Type: </div>\r\n <div class=\"left-text\">{{propertyDetails.propertyType}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Size:</div>\r\n <div class=\"left-text\">{{propertyDetails.totalAreaSqFeet}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">year:</div>\r\n <div class=\"left-text\">{{propertyDetails.year}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\" *ngIf=\"(propertyDetails?.benefits?.length || 0) > 0\">\r\n <div class=\"head-about-property\">Investment Benefit</div>\r\n <div class=\"card-container d-flex gap-10\">\r\n <ng-container *ngFor=\"let benefits of propertyDetails.benefits\">\r\n <div class=\"cards\">\r\n <div class=\"image-container w-100 d-flex justify-content-center\">\r\n <img [src]=\"benefits.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"card-head\">{{benefits.title}}</div>\r\n <div class=\"card-text\">{{benefits.description}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex justify-content-between gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of pdfCards\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"left w-40\">\r\n <div class=\"sqft\">\r\n <div class=\"head-about-property\">Buy SQFT</div>\r\n <div class=\"price justify-content-between d-flex\">\r\n <div class=\"left-price\">Price/Sq.ft</div>\r\n <div class=\"right-price\">\u20B9{{propertyDetails.financeDetails.pricePerSqFeet}}</div>\r\n </div>\r\n <div class=\"sqft-quantity d-flex justify-content-between w-100 align-items-center\">\r\n <div class=\"left-sqft\">SQFT Quantity</div>\r\n <div class=\"right-sqft d-flex align-items-center\">\r\n <mat-icon (click)=\"noOfSqft > 0 ? noOfSqft = noOfSqft - 1 : noOfSqft = 0\"\r\n class=\"d-flex align-items-center justify-content-center icon\">remove</mat-icon>\r\n <div class=\"sqft-number d-flex justify-content-center\"><input type=\"number\" [(ngModel)]=\"noOfSqft\"\r\n class=\"sqft-number additional-properties-2 text-center p-0 \"></div>\r\n <mat-icon (click)=\"noOfSqft = noOfSqft + 1\"\r\n class=\"d-flex align-items-center justify-content-center icon\">add</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"payable d-flex justify-content-between align-items-center w-100\">\r\n <div class=\"payable-left\">\r\n <p class=\"pay-text\">Payable Amount</p><span class=\"pay-subtext\">(Incl. Fees & Other\r\n Levies)</span>\r\n </div>\r\n <div class=\"payable-right\">\r\n \u20B9{{ noOfSqft * propertyDetails.financeDetails.pricePerSqFeet}}\r\n </div>\r\n </div>\r\n <div class=\"buy\" (click)=\"purchaseProperty()\">\r\n Buy SQFT\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}.main-container{overflow-x:hidden}mat-icon{font-family:Material Icons!important}.property-numbers{padding:40px 60px 10px;background:#f2910b}.number-text{font-weight:700;font-size:35px;line-height:40px;color:#102031;font-family:DM Sans}.property-text{font-size:20px;font-weight:600;line-height:28px;color:#ffffffe6}.w-18{width:18%}.last-card{width:21%}.w-70{width:70%}.about-section{margin:30px auto}.about-property{background:#fff;border:1px solid rgba(0,0,0,.03);border-radius:10px;padding:10px;margin-bottom:15px}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.gap-10{gap:10px}.w-60{width:60%}.about-property-details{width:100%;justify-content:space-between;padding:13px 10px;background:#f6f5f5;border-radius:7px;margin-top:15px;margin-bottom:5px}.right-text{font-weight:500;font-size:16px;line-height:20px;color:#01161ecc}.left-text{font-weight:600;font-size:16px;line-height:20px;color:#01161e}.cards{width:30%;background:#f9fbff;border-radius:10px;padding:15px}.card-head{font-weight:600;font-size:16px;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.card-text{font-size:14px;font-weight:500;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.image-container img{height:8vh}.file{background:#f7f7f7;border-radius:5px;padding:12px;width:50%}.w-75{width:75%}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.download-image{width:28px}.g-40{gap:40px}.w-40{width:40%}.sqft{background:linear-gradient(180deg,#0d1b2a,#172b40);color:#fff;width:85%;border-radius:8px;padding:15px}.right-price{width:50%;color:#fc9a11;font-size:28px;font-weight:700;line-height:32px;text-align:end}.left-price{width:50%;font-size:18px;font-weight:600;line-height:32px}.price{display:flex;background:#263f5a;border-radius:8px;padding:15px 10px}.buy{background:#36b37e;color:#fff;padding:15px;border-radius:8px;font-size:15px;font-weight:700;line-height:20px;text-align:center;cursor:pointer}.payable{padding:10px;background:#ffffffb3;border-radius:8px;margin-bottom:10px}.pay-text{font-size:14px;line-height:20px;font-weight:600;color:#000;margin-bottom:unset;border-radius:8px}.pay-subtext{font-size:10px;font-weight:500;color:#0006}.payable-right{font-weight:700;font-size:22px;line-height:32px;color:#fff}.card-container{overflow-x:scroll}.sqft-quantity{padding:15px 2px}.left-sqft{font-weight:600;font-size:16px;line-height:32px;color:#fff}.right-sqft{padding:4px;background:#f8a938;border-radius:4px;width:50%}.icon{font-size:16px;font-weight:700;color:#000;line-height:19px;width:30%;margin:0 2px}.sqft-number{background:#fff;width:70%;border-radius:4px;font-weight:700;font-size:20px;line-height:19px;color:#000;padding:10px;outline:unset}.tick-img{width:30px}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%;padding:30px}.pname{font-weight:600;font-size:34px;line-height:44px;color:#fff}.plocation{font-size:16px;font-weight:500;line-height:12px;color:#fff9}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.additional-properties-2{border:unset}.gap-5{gap:5px!important}.h-50{height:70vh!important}@media screen and (max-width : 475px){.property-numbers{flex-wrap:wrap;width:100%;padding:15px!important;margin-bottom:15px}.icon-text{width:50%}.last-card{width:100%!important}.right-text,.left-text{white-space:nowrap}.card-container{flex-direction:column;gap:10px;align-items:center}.cards{width:70%}.about-section{flex-direction:column;width:100%!important;margin:unset!important}.right{width:100%!important}.about-property{width:100%;border:none!important}.left{width:100%;margin:10px}.file-container{flex-direction:column}.file{width:100%!important}.sqft{width:95%}.height-30{height:30vh}.about-property-details{display:grid!important;width:100%}.propertyName{padding:10px!important}.pname{font-size:21px;line-height:10px}.additional-properties{height:1vh;width:8px!important}.number-text{font-size:26px}.property-text{font-size:18px}.head-about-property{text-align:center}}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
118
|
+
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.MatDialog }], propDecorators: { data: [{
|
119
|
+
type: Input
|
120
|
+
}] } });
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvcGVydHktZGV0YWlsL3Byb3BlcnR5LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWRldGFpbC9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFbEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVMzRSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLFdBQXdCLEVBQ2xDLGNBQThCLEVBQzlCLE1BQWMsRUFDTCxTQUFvQjtRQUhuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHdkMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRO1lB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RSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQzNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBakhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJHQ3BCcEMsdzBUQW1MQSw0MklEbktZLEtBQUssbUhBQUMsT0FBTywySUFBQyxJQUFJLDRGQUFDLFdBQVcsZ3hCQUFFLGVBQWU7OzJGQUk5Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLEtBQUssRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBRSxlQUFlLENBQUU7MEpBTWxELElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlEZXRhaWxNb2RlbCB9IGZyb20gJy4vcHJvcGVydHktZGV0YWlsLm1vZGVsJztcclxuaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdG9yYWdlS2V5cyB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUGF5bWVudENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3BheW1lbnQtY29uZmlybWF0aW9uL3BheW1lbnQtY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBLeWNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4va3ljLWRldGFpbHMva3ljLWRldGFpbHMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvcGVydHktZGV0YWlsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0ZvcixNYXRJY29uLE5nSWYsRm9ybXNNb2R1bGUsIE1hdERpYWxvZ01vZHVsZSBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5RGV0YWlsQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IFByb3BlcnR5RGV0YWlsTW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkge31cclxuXHJcbiAgcHJvcGVydHlJZDogc3RyaW5nID0gJyc7XHJcbiAgcHJvcGVydHlEZXRhaWxzOiBhbnkgPSB7XHJcbiAgICBcInByb3BlcnR5SWRcIjogMTAsXHJcbiAgICBcIm5hbWVcIjogXCJBbmFudGEgT25lXCIsXHJcbiAgICBcIm1pbmltdW1JbnZlc3RtZW50XCI6IDEwMCxcclxuICAgIFwicHJvcGVydHlUeXBlXCI6IFwiQ29saXZpbmdcIixcclxuICAgIFwiZGVzY3JpcHRpb25cIjogbnVsbCxcclxuICAgIFwibG9jYXRpb25cIjogXCJzYW10YSBjb2xvbnkgQ2hoYXR0aXNnYXJoXCIsXHJcbiAgICBcImRvY3VtZW50c1wiOiBbXSxcclxuICAgIFwiZmluYW5jZURldGFpbHNcIjoge1xyXG4gICAgICBcImlkXCI6IDExLFxyXG4gICAgICBcInByb3BlcnR5SWRcIjogMTAsXHJcbiAgICAgIFwiZ3VhcmFudGVlZFJPSVwiOiAxMCxcclxuICAgICAgXCJwcmljZVBlclNxRmVldFwiOiAxMCxcclxuICAgICAgXCJpbmRpY2F0aXZlTWFya2V0VmFsdWVcIjogMTAsXHJcbiAgICAgIFwiYW5udWFsUmV0dXJuXCI6IDEwLFxyXG4gICAgICBcImd1YXJhbnRlZWRBbm51YWxDYXBpdGFsR3Jvd3RoXCI6IDEwLFxyXG4gICAgICBcImNyZWF0ZWRUaW1lU3RhbXBcIjogXCIyMDI1LTAyLTE1VDA1OjMwOjAwXCIsXHJcbiAgICAgIFwiaXJyXCI6IDEwXHJcbiAgICB9LFxyXG4gICAgXCJ5ZWFyXCI6IDIwMjAsXHJcbiAgICBcInRvdGFsQXJlYVNxRmVldFwiOiAxMCxcclxuICAgIFwic29sZE91dEFyZWFcIjogMCxcclxuICAgIFwiYmxvY2tpbmdQcmljZVwiOiAwLFxyXG4gICAgXCJibG9ja2luZ0R1cmF0aW9uXCI6IDAsXHJcbiAgICBcImJlbmVmaXRzXCI6IFtdLFxyXG4gICAgXCJpbWdVcmxcIjogW1xyXG4gICAgICBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCIsXHJcbiAgICAgIFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIlxyXG4gICAgXSxcclxuICAgIFwiY3JlYXRlZFRpbWVTdGFtcFwiOiBcIjIwMjUtMDItMTVUMDU6MzA6MDBcIixcclxuICAgIFwiY3JlYXRlZEJ5SWRcIjogXCIzZmE4NWY2NC01NzE3LTQ1NjItYjNmYy0yYzk2M2Y2NmFmYTZcIixcclxuICAgIFwiY3JlYXRlZEJ5TmFtZVwiOiBcInN0cmluZ1wiLFxyXG4gICAgXCJhY3RpdmVcIjogdHJ1ZSxcclxuICAgIFwidXBkYXRlZFRpbWVTdGFtcFwiOiBcIjIwMjUtMDItMTVUMDU6MzA6MDBcIixcclxuICAgIFwiZGVsZXRlZFwiOiBmYWxzZVxyXG5cclxuICB9O1xyXG4gIGt5Y0RldGFpbHNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eUlkID0gcGFyYW1bJ2lkJ107XHJcbiAgICAgIGlmKHRoaXMucHJvcGVydHlJZClcclxuICAgICAgICB0aGlzLmdldFByb3BlcnR5RGV0YWlscygpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5reWNEZXRhaWxzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9wZXJ0eURldGFpbHModGhpcy5wcm9wZXJ0eUlkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvcGVydHlEZXRhaWxzID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGluZGV4ID0gMFxyXG5cclxuICBwcm9wZXJ0eU51bWJlcnM6IGFueSA9IFtcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIuKCuTMyMzBcIiwgdGV4dDogXCJQcmljZS9TcS5mdFwiIH0sXHJcbiAgICB7IGljb246IFwiXCIsIG51bWJlcjogXCLigrk0ODMwXCIsIHRleHQ6IFwiSW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWVcIiB9LFxyXG4gICAgeyBpY29uOiBcIlwiLCBudW1iZXI6IFwiMTglXCIsIHRleHQ6IFwiSW50ZXJuYWwgUmV0dXJucyBSYXRlXCIgfSxcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIjEyJVwiLCB0ZXh0OiBcIkFubnVhbCBSZXR1cm5zXCIgfSxcclxuICAgIHsgaWNvbjogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzI3MzkxOGMxNzM5MTczMzU1NzI1Y2hlY2tlZCUyMDEucG5nXCIsIG51bWJlcjogXCI1JVwiLCB0ZXh0OiBcIkd1YXJhbnRlZWQgYW5udWFsIGNhcGl0YWwgZ3Jvd3RoXCIgfSxcclxuICBdXHJcblxyXG4gIGFib3V0VGV4dDogc3RyaW5nID0gXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIlxyXG5cclxuICBrZXlWYWx1ZSA6IGFueSA9IFtcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBUeXBlOlwiICwgdmFsdWUgOiBcIlJlbnRhbFwifSxcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBTaXplOlwiICwgdmFsdWUgOiBcIjEyIEFjcmVcIn0sXHJcbiAgICB7a2V5ICA6IFwiWWVhcjpcIiAsIHZhbHVlIDogXCIyMDIzXCJ9XHJcbiAgXVxyXG5cclxuICBpbnZlc3RtZW50Q2FyZHMgOiBhbnkgPSBbXHJcbiAgICB7IGltZyA6IFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82OTc5NDNjMTczOTE3Njg1MzM0OGZpXzEyODc1Mzk1LnBuZ1wiICwgaGVhZCA6IFwiUmVkdWNlIHJpc2tcIiAsIHRleHQgOiBcIsKgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zXCJ9LFxyXG4gICAgeyBpbWcgOiBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNzE4ODE5YzE3MzkxNzcxMzQ5MzVzaGllbGQlMjAxLnBuZ1wiICwgaGVhZCA6IFwiR3VyYW50ZWUgR3Jvd3RoXCIgLCB0ZXh0IDogXCJHdWFyYW50ZWVkIEFubnVhbCBDYXBpdGFsIEFwcHJlY2lhdGlvblwifSxcclxuICAgIHsgaW1nIDogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzQyMTg4M2MxNzM5MTc3MTQ0ODgwZmlfMTI4NzUzOTUlMjAlMjgxJTI5LnBuZ1wiICwgaGVhZCA6IFwiRnJlZSBIb2xpZGF5IHN0YXlcIiAsIHRleHQgOiBcIkdldCAzIGRheXMgMiBuaWdodHMgZnJlZSBob2xpZGF5IHN0YXlcIn1cclxuICBdXHJcblxyXG4gIHBkZkNhcmRzIDogYW55ID0gW1wiVGl0bGUgZGVlZFwiLFwiUHJvcGVydHkgUmVnaXN0cmF0aW9uIENlcnRpZmljYXRlXCJdXHJcblxyXG4gIHNxZnQgOiBudW1iZXIgPSAzMjMwO1xyXG4gIG5vT2ZTcWZ0IDogbnVtYmVyID0gMVxyXG5cclxuICBwdXJjaGFzZVByb3BlcnR5KCkge1xyXG4gICAgaWYoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLklOVkVTVE9SX0lEKSl7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4tc2lnbnVwJ10sIHtxdWVyeVBhcmFtczoge2lkOiB0aGlzLnByb3BlcnR5RGV0YWlscy5wcm9wZXJ0eUlkfX0pXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0S3ljRGV0YWlscygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0S3ljRGV0YWlscygpIHtcclxuICAgIHRoaXMua3ljRGV0YWlsc1N1YnNjcmlwdGlvbiA9IHRoaXMucmVzdFNlcnZpY2UuZ2V0S3ljRGV0YWlscygpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYocmVzPy5tZXNzYWdlPy5wYW5WZXJpZmllZCA9PT0gJ1ZBTElEJyAmJiByZXM/Lm1lc3NhZ2U/LmFhZGhhYXJWZXJpZmllZCA9PT0gJ1ZBTElEJykge1xyXG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oUGF5bWVudENvbmZpcm1hdGlvbkNvbXBvbmVudCwge3BhbmVsQ2xhc3M6ICdwYXltZW50LWNvbmZpcm1hdGlvbicsIGRhdGE6IHtkZXRhaWxzOiB0aGlzLnByb3BlcnR5RGV0YWlscywgdG90YWxBcmVhOiB0aGlzLm5vT2ZTcWZ0fX0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oS3ljRGV0YWlsc0NvbXBvbmVudCwgeyBwYW5lbENsYXNzOiBcImxvZ2luLXNpZ251cFwiIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBwLXJlbGF0aXZlXCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBkYXRhLWJzLWludGVydmFsPVwiMjAwMFwiICpuZ0Zvcj1cImxldCBpbWcgb2YgcHJvcGVydHlEZXRhaWxzLmltZ1VybFwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJpbWdcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwIGgtNTBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgZGF0YS1icy1pbnRlcnZhbD1cIjMwMDBcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1ibG9jayB3LTEwMCBoZWlnaHQtMzBcIiBhbHQ9XCJwcm9wZXJ0eS1pbWFnZVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eU5hbWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1kZXRhaWxzXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJwbmFtZVwiPnt7cHJvcGVydHlEZXRhaWxzLm5hbWV9fTwvcD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInBsb2NhdGlvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC01XCI+PGltZ1xyXG4gICAgICAgICAgICBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzM4NDI3NWMxNzM3NjI5NzI5NTQ1bG9jYXRpb25fb24ucG5nXCJcclxuICAgICAgICAgICAgYWx0PVwibG9jYXRpb24gaW1hZ2VcIj4ge3twcm9wZXJ0eURldGFpbHMubG9jYXRpb259fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1lbmRcIj5cclxuICAgICAgICA8IS0tIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWVuZCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9ycyBhZGRpdGlvbmFsLXByb3BlcnRpZXMtMVwiPlxyXG4gICAgICAgICAgPCEtLSBhZGRpdGlvbmFsLXByb3BlcnRpZXMtMSAtLT5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCIgW2F0dHIuZGF0YS1icy1zbGlkZS10b109XCJpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY3RpdmUgYWRkaXRpb25hbC1wcm9wZXJ0aWVzXCIgYXJpYS1jdXJyZW50PVwidHJ1ZVwiIGFyaWEtbGFiZWw9XCJTbGlkZSAxXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHByb3BlcnR5RGV0YWlscy5pbWdVcmw7bGV0IGkgPSBpbmRleFwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPCEtLSBjbGFzcz1cImFkZGl0aW9uYWwtcHJvcGVydGllc1wiIC0tPlxyXG4gICAgICAgICAgPCEtLSA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIGRhdGEtYnMtc2xpZGUtdG89XCIxXCIgYXJpYS1sYWJlbD1cIlNsaWRlIDJcIiBjbGFzcz1cImFkZGl0aW9uYWwtcHJvcGVydGllc1wiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdGFyZ2V0PVwiI2Nhcm91c2VsRXhhbXBsZUludGVydmFsXCIgZGF0YS1icy1zbGlkZS10bz1cIjJcIiBhcmlhLWxhYmVsPVwiU2xpZGUgM1wiIGNsYXNzPVwiYWRkaXRpb25hbC1wcm9wZXJ0aWVzXCI+PC9idXR0b24+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1udW1iZXJzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCB3LTE4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQgdGV4dC1jZW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0xMFwiPlxyXG4gICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlLmljb24ubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmljb25cIiBhbHQ9XCJJY29uXCIgY2xhc3M9XCJ0aWNrLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPuKCuXt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LnByaWNlUGVyU3FGZWV0IHx8IDAgfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtMSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJwcm9wZXJ0eS10ZXh0XCI+UHJpY2UvU3EuZnQ8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0IHctMThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB0ZXh0LWNlbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGUuaWNvbi5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmljb25cIiBhbHQ9XCJJY29uXCIgY2xhc3M9XCJ0aWNrLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cIm51bWJlci10ZXh0IG1iLTBcIj7igrl7eyBwcm9wZXJ0eURldGFpbHM/LmZpbmFuY2VEZXRhaWxzPy5pbmRpY2F0aXZlTWFya2V0VmFsdWUgfHwgMCB9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC0xIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LXRleHRcIj5JbmRpY2F0aXZlIE1hcmtldCBWYWx1ZTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZS5pY29uLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmljb25cIiBhbHQ9XCJJY29uXCIgY2xhc3M9XCJ0aWNrLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJudW1iZXItdGV4dCBtYi0wXCI+e3sgcHJvcGVydHlEZXRhaWxzPy5maW5hbmNlRGV0YWlscz8uaXJyIHx8IDAgfX0lPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPkludGVybmFsIFJldHVybnMgUmF0ZTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZS5pY29uLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZWxlLmljb25cIiBhbHQ9XCJJY29uXCIgY2xhc3M9XCJ0aWNrLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJudW1iZXItdGV4dCBtYi0wXCI+e3sgcHJvcGVydHlEZXRhaWxzPy5maW5hbmNlRGV0YWlscz8uYW5udWFsUmV0dXJuIHx8IDAgfX0lPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPkFubnVhbCBSZXR1cm5zPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCB3LTE4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQgdGV4dC1jZW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0xMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzI3MzkxOGMxNzM5MTczMzU1NzI1Y2hlY2tlZCUyMDEucG5nXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJudW1iZXItdGV4dCBtYi0wXCI+e3sgcHJvcGVydHlEZXRhaWxzPy5maW5hbmNlRGV0YWlscz8uYW5udWFsUmV0dXJuIHx8IDB9fSU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtMSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJwcm9wZXJ0eS10ZXh0XCI+R3VhcmFudGVlZCBhbm51YWwgY2FwaXRhbCBncm93dGg8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFib3V0LXNlY3Rpb24gdy03MCBkLWZsZXggZy00MFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0IHctNjAgXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhYm91dC1wcm9wZXJ0eVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QWJvdXQgUHJvcGVydHk8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHktdGV4dFwiPnt7cHJvcGVydHlEZXRhaWxzLmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHktZGV0YWlscyBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTEwIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC10ZXh0XCI+UHJvcGVydHkgVHlwZTogPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtdGV4dFwiPnt7cHJvcGVydHlEZXRhaWxzLnByb3BlcnR5VHlwZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTEwIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC10ZXh0XCI+UHJvcGVydHkgU2l6ZTo8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHMudG90YWxBcmVhU3FGZWV0fX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYXAtMTAgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXRleHRcIj55ZWFyOjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy55ZWFyfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhYm91dC1wcm9wZXJ0eVwiICpuZ0lmPVwiKHByb3BlcnR5RGV0YWlscz8uYmVuZWZpdHM/Lmxlbmd0aCB8fCAwKSA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1hYm91dC1wcm9wZXJ0eVwiPkludmVzdG1lbnQgQmVuZWZpdDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRhaW5lciBkLWZsZXggZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBiZW5lZml0cyBvZiBwcm9wZXJ0eURldGFpbHMuYmVuZWZpdHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lciB3LTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImJlbmVmaXRzLmltZ1VybFwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRcIj57e2JlbmVmaXRzLnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10ZXh0XCI+e3tiZW5lZml0cy5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1hYm91dC1wcm9wZXJ0eVwiPkRvY3VtZW50cyAmIFJlcG9ydHM8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0xMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgKm5nRm9yPVwibGV0IGVsZSBvZiBwZGZDYXJkc1wiPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjc4Mzk0YzE3MzkxODM3MjYxMDdpbWFnZSUyMDkucG5nXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJwZGZcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy10ZXh0IHctNzUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPiB7e2VsZS5sZW5ndGggPiAxNSA/XHJcbiAgICAgICAgICAgICAgZWxlLnN1YnN0cmluZygwLDE1KSsnLi4uJyA6IGVsZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTk1NDE0YzE3MzkxODM3Nzk4NDVmaV8zNTAyNDc3LnBuZ1wiXHJcbiAgICAgICAgICAgICAgYWx0PVwiZG93bmxvYWRcIiBjbGFzcz1cImRvd25sb2FkLWltZ1wiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVmdCB3LTQwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcWZ0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtYWJvdXQtcHJvcGVydHlcIj5CdXkgU1FGVDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBkLWZsZXhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXByaWNlXCI+UHJpY2UvU3EuZnQ8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wcmljZVwiPuKCuXt7cHJvcGVydHlEZXRhaWxzLmZpbmFuY2VEZXRhaWxzLnByaWNlUGVyU3FGZWV0fX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3FmdC1xdWFudGl0eSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zcWZ0XCI+U1FGVCBRdWFudGl0eTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0LXNxZnQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cIm5vT2ZTcWZ0ID4gMCA/IG5vT2ZTcWZ0ID0gbm9PZlNxZnQgLSAxIDogbm9PZlNxZnQgPSAwXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBpY29uXCI+cmVtb3ZlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNxZnQtbnVtYmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+PGlucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIm5vT2ZTcWZ0XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3FmdC1udW1iZXIgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTIgdGV4dC1jZW50ZXIgcC0wIFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cIm5vT2ZTcWZ0ID0gbm9PZlNxZnQgKyAxXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBpY29uXCI+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXlhYmxlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXlhYmxlLWxlZnRcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJwYXktdGV4dFwiPlBheWFibGUgQW1vdW50PC9wPjxzcGFuIGNsYXNzPVwicGF5LXN1YnRleHRcIj4oSW5jbC4gRmVlcyAmIE90aGVyXHJcbiAgICAgICAgICAgICAgTGV2aWVzKTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBheWFibGUtcmlnaHRcIj5cclxuICAgICAgICAgICAg4oK5e3sgbm9PZlNxZnQgKiBwcm9wZXJ0eURldGFpbHMuZmluYW5jZURldGFpbHMucHJpY2VQZXJTcUZlZXR9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1eVwiIChjbGljayk9XCJwdXJjaGFzZVByb3BlcnR5KClcIj5cclxuICAgICAgICAgIEJ1eSBTUUZUXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGV0YWlsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9wcm9wZXJ0eS1kZXRhaWwvcHJvcGVydHktZGV0YWlsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5RGV0YWlsTW9kZWwge1xyXG4gICAgaWQ6IHN0cmluZyxcclxuICAgIHNlY3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nXHJcbn1cclxuIl19
|