ngx-wapp-components 1.0.29 → 1.0.30
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/esm2020/lib/button/w-button/w-button.component.mjs +12 -3
- package/esm2020/lib/file/w-image-cropper/w-image-cropper.component.mjs +235 -0
- package/esm2020/lib/file/w-image-file-uploader/w-image-file-uploader.component.mjs +409 -0
- package/esm2020/lib/file/w-preview-image/w-preview-image.component.mjs +20 -0
- package/esm2020/lib/layout/w-header-panel/w-header-panel.component.mjs +1 -1
- package/esm2020/lib/layout/w-navbar/w-navbar.component.mjs +1 -1
- package/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +1 -1
- package/esm2020/lib/shared/models/image-b64.model.mjs +2 -0
- package/esm2020/lib/shared/models/uploader-file.model.mjs +2 -0
- package/esm2020/lib/shared/models/w-file-b64.model.mjs +2 -0
- package/esm2020/lib/shared/models/w-image-cropper-data.model.mjs +2 -0
- package/esm2020/lib/shared/models/w-image-file-uploader-config.model.mjs +2 -0
- package/esm2020/lib/shared/services/modal.service.mjs +62 -0
- package/esm2020/lib/sidebar/w-sidebar/w-sidebar.component.mjs +2 -2
- package/esm2020/lib/w-clipboard/w-clipboard.component.mjs +1 -1
- package/esm2020/lib/wapp-components.module.mjs +46 -2
- package/esm2020/public-api.mjs +9 -1
- package/fesm2015/ngx-wapp-components.mjs +741 -35
- package/fesm2015/ngx-wapp-components.mjs.map +1 -1
- package/fesm2020/ngx-wapp-components.mjs +782 -35
- package/fesm2020/ngx-wapp-components.mjs.map +1 -1
- package/lib/button/w-button/w-button.component.d.ts +3 -1
- package/lib/file/w-image-cropper/w-image-cropper.component.d.ts +69 -0
- package/lib/file/w-image-file-uploader/w-image-file-uploader.component.d.ts +70 -0
- package/lib/file/w-preview-image/w-preview-image.component.d.ts +10 -0
- package/lib/shared/models/image-b64.model.d.ts +5 -0
- package/lib/shared/models/uploader-file.model.d.ts +6 -0
- package/lib/shared/models/w-file-b64.model.d.ts +6 -0
- package/lib/shared/models/w-image-cropper-data.model.d.ts +7 -0
- package/lib/shared/models/w-image-file-uploader-config.model.d.ts +23 -0
- package/lib/shared/services/modal.service.d.ts +22 -0
- package/lib/wapp-components.module.d.ts +48 -39
- package/package.json +4 -3
- package/public-api.d.ts +8 -0
|
@@ -3,11 +3,14 @@ import { ButtonType, SizeType } from '../../shared/enums/enum';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "primeng/button";
|
|
6
|
+
import * as i3 from "primeng/tooltip";
|
|
6
7
|
export class WButtonComponent {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.type = "primary";
|
|
9
10
|
this.size = "medium";
|
|
10
11
|
this.icon = "";
|
|
12
|
+
this.tooltipPosition = "bottom";
|
|
13
|
+
this.tooltip = "";
|
|
11
14
|
this.disabled = false;
|
|
12
15
|
this.loading = false;
|
|
13
16
|
this.onClick = new EventEmitter();
|
|
@@ -29,10 +32,10 @@ export class WButtonComponent {
|
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
WButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
WButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WButtonComponent, selector: "w-button", inputs: { type: "type", label: "label", size: "size", icon: "icon", disabled: "disabled", loading: "loading" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{font-size:16px}.icon-large-size,:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus,:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus,:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography,:host ::ng-deep .w-button-large.p-button .p-button-label,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-label{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-button-medium.p-button .p-button-label,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography,:host ::ng-deep .w-button-small.p-button .p-button-label,:host ::ng-deep .p-button.w-button-text-small .p-button-label,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-label{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}:host ::ng-deep .w-button-small.p-button,:host ::ng-deep .p-button.w-button-text-small,:host ::ng-deep .p-button.w-button-small-tertiary{height:32px;padding:6px 14px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-small.p-button :hover,:host ::ng-deep .p-button.w-button-text-small :hover,:host ::ng-deep .p-button.w-button-small-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{margin-left:8px}:host ::ng-deep .w-button-small.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button,:host ::ng-deep .p-button.w-button-medium-tertiary{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon{margin-left:12px}:host ::ng-deep .w-button-medium.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button,:host ::ng-deep .p-button.w-button-large-tertiary{height:56px;padding:16px 28px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button :hover,:host ::ng-deep .p-button.w-button-large-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{margin-left:16px}:host ::ng-deep .w-button-large.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover,:host ::ng-deep .w-button-large.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:enabled:hover{border-radius:8px;border-width:2px;background-color:transparent;border-color:#00b2eb;color:#00b2eb}:host ::ng-deep .w-button-small.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:focus,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:focus,:host ::ng-deep .w-button-large.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:focus{border-color:#1f5b72;color:#1f5b72;background-color:transparent;outline:0px}:host ::ng-deep .w-button-small.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-medium.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-large.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-large-tertiary{background-color:transparent;color:#bdc1c6;border-color:#e8eaed}:host ::ng-deep .w-button-medium.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-small.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-large.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-large-tertiary{background:#e8eaed;color:#bdc1c6}:host ::ng-deep .w-button-small-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-medium-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-large-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-small.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-small-tertiary .p-button-icon,:host ::ng-deep .w-button-medium.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-large.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-large-tertiary .p-button-icon{padding-left:0;margin-left:0}:host ::ng-deep .w-button-text-small.p-button{color:#2e3134;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:hover{color:#00b2eb;background:none;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:focus{background:none;border:none}:host ::ng-deep .w-button-small.p-button.p-button-text.p-disabled,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-small-tertiary,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-text-small{background:none;border:none;color:#bdc1c6}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
35
|
+
WButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WButtonComponent, selector: "w-button", inputs: { type: "type", label: "label", size: "size", icon: "icon", tooltipPosition: "tooltipPosition", tooltip: "tooltip", disabled: "disabled", loading: "loading" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{font-size:16px}.icon-large-size,:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus,:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus,:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography,:host ::ng-deep .w-button-large.p-button .p-button-label,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-label{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-button-medium.p-button .p-button-label,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography,:host ::ng-deep .w-button-small.p-button .p-button-label,:host ::ng-deep .p-button.w-button-text-small .p-button-label,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-label{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}:host ::ng-deep .w-button-small.p-button,:host ::ng-deep .p-button.w-button-text-small,:host ::ng-deep .p-button.w-button-small-tertiary{height:32px;padding:6px 14px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-small.p-button :hover,:host ::ng-deep .p-button.w-button-text-small :hover,:host ::ng-deep .p-button.w-button-small-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{margin-left:8px}:host ::ng-deep .w-button-small.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button,:host ::ng-deep .p-button.w-button-medium-tertiary{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon{margin-left:12px}:host ::ng-deep .w-button-medium.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button,:host ::ng-deep .p-button.w-button-large-tertiary{height:56px;padding:16px 28px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button :hover,:host ::ng-deep .p-button.w-button-large-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{margin-left:16px}:host ::ng-deep .w-button-large.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover,:host ::ng-deep .w-button-large.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:enabled:hover{border-radius:8px;border-width:2px;background-color:transparent;border-color:#00b2eb;color:#00b2eb}:host ::ng-deep .w-button-small.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:focus,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:focus,:host ::ng-deep .w-button-large.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:focus{border-color:#1f5b72;color:#1f5b72;background-color:transparent;outline:0px}:host ::ng-deep .w-button-small.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-medium.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-large.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-large-tertiary{background-color:transparent;color:#bdc1c6;border-color:#e8eaed}:host ::ng-deep .w-button-medium.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-small.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-large.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-large-tertiary{background:#e8eaed;color:#bdc1c6}:host ::ng-deep .w-button-small-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-medium-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-large-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-small.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-small-tertiary .p-button-icon,:host ::ng-deep .w-button-medium.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-large.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-large-tertiary .p-button-icon{padding-left:0;margin-left:0}:host ::ng-deep .w-button-text-small.p-button{color:#2e3134;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:hover{color:#00b2eb;background:none;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:focus{background:none;border:none}:host ::ng-deep .w-button-small.p-button.p-button-text.p-disabled,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-small-tertiary,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-text-small{background:none;border:none;color:#bdc1c6}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
33
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WButtonComponent, decorators: [{
|
|
34
37
|
type: Component,
|
|
35
|
-
args: [{ selector: 'w-button', template: "<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{font-size:16px}.icon-large-size,:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus,:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus,:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography,:host ::ng-deep .w-button-large.p-button .p-button-label,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-label{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-button-medium.p-button .p-button-label,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography,:host ::ng-deep .w-button-small.p-button .p-button-label,:host ::ng-deep .p-button.w-button-text-small .p-button-label,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-label{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}:host ::ng-deep .w-button-small.p-button,:host ::ng-deep .p-button.w-button-text-small,:host ::ng-deep .p-button.w-button-small-tertiary{height:32px;padding:6px 14px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-small.p-button :hover,:host ::ng-deep .p-button.w-button-text-small :hover,:host ::ng-deep .p-button.w-button-small-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{margin-left:8px}:host ::ng-deep .w-button-small.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button,:host ::ng-deep .p-button.w-button-medium-tertiary{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon{margin-left:12px}:host ::ng-deep .w-button-medium.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button,:host ::ng-deep .p-button.w-button-large-tertiary{height:56px;padding:16px 28px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button :hover,:host ::ng-deep .p-button.w-button-large-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{margin-left:16px}:host ::ng-deep .w-button-large.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover,:host ::ng-deep .w-button-large.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:enabled:hover{border-radius:8px;border-width:2px;background-color:transparent;border-color:#00b2eb;color:#00b2eb}:host ::ng-deep .w-button-small.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:focus,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:focus,:host ::ng-deep .w-button-large.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:focus{border-color:#1f5b72;color:#1f5b72;background-color:transparent;outline:0px}:host ::ng-deep .w-button-small.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-medium.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-large.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-large-tertiary{background-color:transparent;color:#bdc1c6;border-color:#e8eaed}:host ::ng-deep .w-button-medium.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-small.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-large.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-large-tertiary{background:#e8eaed;color:#bdc1c6}:host ::ng-deep .w-button-small-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-medium-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-large-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-small.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-small-tertiary .p-button-icon,:host ::ng-deep .w-button-medium.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-large.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-large-tertiary .p-button-icon{padding-left:0;margin-left:0}:host ::ng-deep .w-button-text-small.p-button{color:#2e3134;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:hover{color:#00b2eb;background:none;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:focus{background:none;border:none}:host ::ng-deep .w-button-small.p-button.p-button-text.p-disabled,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-small-tertiary,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-text-small{background:none;border:none;color:#bdc1c6}\n"] }]
|
|
38
|
+
args: [{ selector: 'w-button', template: "<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{font-size:16px}.icon-large-size,:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus,:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus,:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography,:host ::ng-deep .w-button-large.p-button .p-button-label,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-label{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-button-medium.p-button .p-button-label,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography,:host ::ng-deep .w-button-small.p-button .p-button-label,:host ::ng-deep .p-button.w-button-text-small .p-button-label,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-label{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}:host ::ng-deep .w-button-small.p-button,:host ::ng-deep .p-button.w-button-text-small,:host ::ng-deep .p-button.w-button-small-tertiary{height:32px;padding:6px 14px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-small.p-button :hover,:host ::ng-deep .p-button.w-button-text-small :hover,:host ::ng-deep .p-button.w-button-small-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-small.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.w-button-small-tertiary .p-button-icon{margin-left:8px}:host ::ng-deep .w-button-small.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-small.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-text-small:enabled:focus,:host ::ng-deep .p-button.w-button-small-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button,:host ::ng-deep .p-button.w-button-medium-tertiary{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-medium.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-medium-tertiary .p-button-icon{margin-left:12px}:host ::ng-deep .w-button-medium.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-medium.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-medium-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover{border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button,:host ::ng-deep .p-button.w-button-large-tertiary{height:56px;padding:16px 28px;border-radius:8px;border-width:2px}:host ::ng-deep .w-button-large.p-button :hover,:host ::ng-deep .p-button.w-button-large-tertiary :hover{border-width:2px}:host ::ng-deep .w-button-large.p-button .p-button-icon,:host ::ng-deep .p-button.w-button-large-tertiary .p-button-icon{margin-left:16px}:host ::ng-deep .w-button-large.p-button:enabled:hover,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:hover{background-color:#00b2eb;border-color:#00b2eb}:host ::ng-deep .w-button-large.p-button:enabled:focus,:host ::ng-deep .p-button.w-button-large-tertiary:enabled:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-button-small.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:enabled:hover,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:enabled:hover,:host ::ng-deep .w-button-large.p-button.p-button-outlined:enabled:hover,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:enabled:hover{border-radius:8px;border-width:2px;background-color:transparent;border-color:#00b2eb;color:#00b2eb}:host ::ng-deep .w-button-small.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-text-small:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-small-tertiary:focus,:host ::ng-deep .w-button-medium.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-medium-tertiary:focus,:host ::ng-deep .w-button-large.p-button.p-button-outlined:focus,:host ::ng-deep .p-button.p-button-outlined.w-button-large-tertiary:focus{border-color:#1f5b72;color:#1f5b72;background-color:transparent;outline:0px}:host ::ng-deep .w-button-small.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-medium.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-large.p-button.p-button-outlined.p-disabled,:host ::ng-deep .p-button.p-button-outlined.p-disabled.w-button-large-tertiary{background-color:transparent;color:#bdc1c6;border-color:#e8eaed}:host ::ng-deep .w-button-medium.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-medium-tertiary,:host ::ng-deep .w-button-small.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-text-small,:host ::ng-deep .p-button.p-disabled.w-button-small-tertiary,:host ::ng-deep .w-button-large.p-button.p-disabled,:host ::ng-deep .p-button.p-disabled.w-button-large-tertiary{background:#e8eaed;color:#bdc1c6}:host ::ng-deep .w-button-small-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-small-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-medium-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-medium-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-large-tertiary.p-button{color:#5f6368;border:2px solid #e8eaed}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:hover{border-color:#00b2eb;background:none;color:#00b2eb}:host ::ng-deep .w-button-large-tertiary.p-button.p-button-outlined:enabled:focus{border:2px solid #2e3134;color:#5f6368}:host ::ng-deep .w-button-small.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-text-small .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-small-tertiary .p-button-icon,:host ::ng-deep .w-button-medium.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-medium-tertiary .p-button-icon,:host ::ng-deep .w-button-large.p-button.p-button-icon-only .p-button-icon,:host ::ng-deep .p-button.p-button-icon-only.w-button-large-tertiary .p-button-icon{padding-left:0;margin-left:0}:host ::ng-deep .w-button-text-small.p-button{color:#2e3134;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:hover{color:#00b2eb;background:none;border:none}:host ::ng-deep .w-button-text-small.p-button.p-button-text:enabled:focus{background:none;border:none}:host ::ng-deep .w-button-small.p-button.p-button-text.p-disabled,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-small-tertiary,:host ::ng-deep .p-button.p-button-text.p-disabled.w-button-text-small{background:none;border:none;color:#bdc1c6}\n"] }]
|
|
36
39
|
}], propDecorators: { type: [{
|
|
37
40
|
type: Input,
|
|
38
41
|
args: ['type']
|
|
@@ -45,6 +48,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
45
48
|
}], icon: [{
|
|
46
49
|
type: Input,
|
|
47
50
|
args: ['icon']
|
|
51
|
+
}], tooltipPosition: [{
|
|
52
|
+
type: Input,
|
|
53
|
+
args: ['tooltipPosition']
|
|
54
|
+
}], tooltip: [{
|
|
55
|
+
type: Input,
|
|
56
|
+
args: ['tooltip']
|
|
48
57
|
}], disabled: [{
|
|
49
58
|
type: Input,
|
|
50
59
|
args: ['disabled']
|
|
@@ -55,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
55
64
|
type: Output,
|
|
56
65
|
args: ['onClick']
|
|
57
66
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uL3ctYnV0dG9uL3ctYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi93LWJ1dHRvbi93LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBTy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNaUIsU0FBSSxHQUFXLFNBQVMsQ0FBQztRQUV6QixTQUFJLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDUCxvQkFBZSxHQUFXLFFBQVEsQ0FBQztRQUMzQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN4QixZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUUsYUFBUSxHQUFvQixRQUFRLENBQUM7UUFDckMsZUFBVSxHQUFzQixVQUFVLENBQUM7S0FtQjVDO0lBakJDLFFBQVEsS0FBVSxDQUFDO0lBRW5CLGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7NkdBOUJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHlQQ1I3QiwyekhBcUZBOzJGRDdFYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLTCxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ0csS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNDLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDRSxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ2EsZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ04sT0FBTztzQkFBeEIsS0FBSzt1QkFBQyxTQUFTO2dCQUNHLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDQyxPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0csT0FBTztzQkFBekIsTUFBTTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25UeXBlLCBTaXplVHlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdy1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoJ3R5cGUnKSB0eXBlOiBzdHJpbmcgPSBcInByaW1hcnlcIjtcclxuICBASW5wdXQoJ2xhYmVsJykgbGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCdzaXplJykgc2l6ZTogc3RyaW5nID0gXCJtZWRpdW1cIjtcclxuICBASW5wdXQoJ2ljb24nKSBpY29uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgndG9vbHRpcFBvc2l0aW9uJykgdG9vbHRpcFBvc2l0aW9uOiBzdHJpbmcgPSBcImJvdHRvbVwiO1xyXG4gIEBJbnB1dCgndG9vbHRpcCcpIHRvb2x0aXA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCdkaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdsb2FkaW5nJykgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoJ29uQ2xpY2snKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgXHJcbiAgc2l6ZVR5cGU6IHR5cGVvZiBTaXplVHlwZSA9IFNpemVUeXBlO1xyXG4gIGJ1dHRvblR5cGU6IHR5cGVvZiBCdXR0b25UeXBlID0gQnV0dG9uVHlwZTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KXtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0SWNvbigpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uID8gXCJwaSBcIiArIHRoaXMuaWNvbjogXCJcIjtcclxuICB9XHJcbiAgXHJcbiAgZ2V0U2l6ZU5hbWUodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gU2l6ZVR5cGVbdmFsdWVdO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnV0dG9uVHlwZU5hbWUodmFsdWU6IG51bWJlcik6IHN0cmluZ3tcclxuICAgIHJldHVybiBCdXR0b25UeXBlW3ZhbHVlXTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT0gZ2V0QnV0dG9uVHlwZU5hbWUoYnV0dG9uVHlwZS5wcmltYXJ5KTsgZWxzZSBidXR0b25TZWNvbmRhcnlcIj5cclxuICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNpemUgPT0gZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUuc21hbGwpXCIgXHJcbiAgICAgICAgbGFiZWw9XCJ7e2xhYmVsfX1cIiBcclxuICAgICAgICBbaWNvbl09XCJnZXRJY29uKClcIiBcclxuICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICBzdHlsZUNsYXNzPVwidy1idXR0b24tc21hbGwgYm9yZGVyLW5vbmVcIiBcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFxyXG4gICAgICAgIFtwVG9vbHRpcF09XCJ0b29sdGlwXCIgXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIj5cclxuICAgIDwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b24gKm5nSWY9XCJzaXplID09IGdldFNpemVOYW1lKHNpemVUeXBlLm1lZGl1bSlcIiBcclxuICAgICAgICBsYWJlbD1cInt7bGFiZWx9fVwiIFxyXG4gICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgIGljb25Qb3M9XCJyaWdodFwiIFxyXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJ3LWJ1dHRvbi1tZWRpdW0gYm9yZGVyLW5vbmVcIiBcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFxyXG4gICAgICAgIFtwVG9vbHRpcF09XCJ0b29sdGlwXCIgXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIj5cclxuICAgIDwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b24gKm5nSWY9XCJzaXplID09IGdldFNpemVOYW1lKHNpemVUeXBlLmxhcmdlKVwiIFxyXG4gICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCIgXHJcbiAgICAgICAgaWNvblBvcz1cInJpZ2h0XCIgXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctYnV0dG9uLWxhcmdlIGJvcmRlci1ub25lXCIgXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAob25DbGljayk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBcclxuICAgICAgICBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIFxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCI+XHJcbiAgICA8L3AtYnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNidXR0b25TZWNvbmRhcnk+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PSBnZXRCdXR0b25UeXBlTmFtZShidXR0b25UeXBlLnNlY29uZGFyeSkgfHwgdHlwZSA9PSBnZXRCdXR0b25UeXBlTmFtZShidXR0b25UeXBlLnRlcnRpYXJ5KTsgZWxzZSBidXR0b25UZXh0XCI+XHJcbiAgICAgICAgPHAtYnV0dG9uICpuZ0lmPVwic2l6ZSA9PSBnZXRTaXplTmFtZShzaXplVHlwZS5zbWFsbClcIiBcclxuICAgICAgICAgICAgbGFiZWw9XCJ7e2xhYmVsfX1cIiBcclxuICAgICAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCIgXHJcbiAgICAgICAgICAgIGljb25Qb3M9XCJyaWdodFwiIFxyXG4gICAgICAgICAgICBbc3R5bGVDbGFzc109XCIncC1idXR0b24tb3V0bGluZWQgJyArICh0eXBlID09IGdldEJ1dHRvblR5cGVOYW1lKGJ1dHRvblR5cGUudGVydGlhcnkpID8gJ3ctYnV0dG9uLXNtYWxsLXRlcnRpYXJ5JyA6ICd3LWJ1dHRvbi1zbWFsbCBwLWJ1dHRvbi1vdXRsaW5lZCcpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIFxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiPlxyXG4gICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgPHAtYnV0dG9uICpuZ0lmPVwic2l6ZSA9PSBnZXRTaXplTmFtZShzaXplVHlwZS5tZWRpdW0pXCIgXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLW91dGxpbmVkICcgKyAodHlwZSA9PSBnZXRCdXR0b25UeXBlTmFtZShidXR0b25UeXBlLnRlcnRpYXJ5KSA/ICd3LWJ1dHRvbi1tZWRpdW0tdGVydGlhcnknIDogJ3ctYnV0dG9uLW1lZGl1bSBwLWJ1dHRvbi1vdXRsaW5lZCcpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIFxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiPlxyXG4gICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgPHAtYnV0dG9uICpuZ0lmPVwic2l6ZSA9PSBnZXRTaXplTmFtZShzaXplVHlwZS5sYXJnZSlcIiBcclxuICAgICAgICAgICAgbGFiZWw9XCJ7e2xhYmVsfX1cIiBcclxuICAgICAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCIgXHJcbiAgICAgICAgICAgIGljb25Qb3M9XCJyaWdodFwiIFxyXG4gICAgICAgICAgICBbc3R5bGVDbGFzc109XCIncC1idXR0b24tb3V0bGluZWQgJyArICh0eXBlID09IGdldEJ1dHRvblR5cGVOYW1lKGJ1dHRvblR5cGUudGVydGlhcnkpID8gJ3ctYnV0dG9uLWxhcmdlLXRlcnRpYXJ5JyA6ICd3LWJ1dHRvbi1sYXJnZSBwLWJ1dHRvbi1vdXRsaW5lZCcpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFxyXG4gICAgICAgICAgICBbcFRvb2x0aXBdPVwidG9vbHRpcFwiIFxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiPlxyXG4gICAgICAgIDwvcC1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uVGV4dD5cclxuICAgICAgICA8cC1idXR0b24gXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXRleHQgdy1idXR0b24tdGV4dC1zbWFsbFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cInRvb2x0aXBcIiBcclxuICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { WPreviewImageComponent } from '../w-preview-image/w-preview-image.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
5
|
+
import * as i2 from "../../shared/services/modal.service";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "primeng/tooltip";
|
|
9
|
+
import * as i6 from "primeng/fileupload";
|
|
10
|
+
import * as i7 from "ngx-image-cropper";
|
|
11
|
+
import * as i8 from "primeng/slider";
|
|
12
|
+
import * as i9 from "../../button/w-button/w-button.component";
|
|
13
|
+
export class WImageCropperComponent {
|
|
14
|
+
constructor(ref, dialogService, dynamicDialogConfig) {
|
|
15
|
+
this.ref = ref;
|
|
16
|
+
this.dialogService = dialogService;
|
|
17
|
+
this.dynamicDialogConfig = dynamicDialogConfig;
|
|
18
|
+
this.imageCroppedFinal = new EventEmitter();
|
|
19
|
+
this.imageB64 = new EventEmitter();
|
|
20
|
+
this.imageChangedEvent = '';
|
|
21
|
+
this.croppedImage = '';
|
|
22
|
+
this.canvasRotation = 0;
|
|
23
|
+
this.rotation = 0;
|
|
24
|
+
this.translateH = 0;
|
|
25
|
+
this.translateV = 0;
|
|
26
|
+
this.scale = 1;
|
|
27
|
+
this.aspectRatio = 4 / 3;
|
|
28
|
+
this.showCropper = false;
|
|
29
|
+
this.containWithinAspectRatio = false;
|
|
30
|
+
this.transform = {
|
|
31
|
+
translateUnit: 'px'
|
|
32
|
+
};
|
|
33
|
+
this.loading = false;
|
|
34
|
+
this.allowMoveImage = true;
|
|
35
|
+
this.hidden = false;
|
|
36
|
+
this.croppedImageFile = { name: "", type: "", fileBase64: "", base64: "" };
|
|
37
|
+
this.fromModal = true;
|
|
38
|
+
}
|
|
39
|
+
ngOnInit() {
|
|
40
|
+
if (this.dynamicDialogConfig.data == undefined) {
|
|
41
|
+
this.fromModal = false;
|
|
42
|
+
this.aspectRatio = this.dimensionsInput.configuredAspectRatio;
|
|
43
|
+
this.roundedCropper = this.dimensionsInput.roundedCropper;
|
|
44
|
+
this.dimensions = {
|
|
45
|
+
width: this.dimensionsInput.viewPortWidthPx,
|
|
46
|
+
height: this.dimensionsInput.viewPortHeihtPx
|
|
47
|
+
};
|
|
48
|
+
this.maxFileSize = this.dimensions.maxFileSize;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.aspectRatio = this.dynamicDialogConfig.data.dataModal.configuredAspectRatio;
|
|
52
|
+
this.roundedCropper = this.dynamicDialogConfig.data.dataModal.roundedCropper;
|
|
53
|
+
this.dimensions = {
|
|
54
|
+
width: this.dynamicDialogConfig.data.dataModal.viewPortWidthPx,
|
|
55
|
+
height: this.dynamicDialogConfig.data.dataModal.viewPortHeihtPx
|
|
56
|
+
};
|
|
57
|
+
this.maxFileSize = this.dynamicDialogConfig.data.dataModal.maxFileSize;
|
|
58
|
+
this.translationsImageCropper = this.dynamicDialogConfig.data.translations;
|
|
59
|
+
this.blob = this.dynamicDialogConfig.data.blob;
|
|
60
|
+
this.setCroppeImageFileObject();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
myUploader(event) {
|
|
64
|
+
this.resetImage();
|
|
65
|
+
this.loading = true;
|
|
66
|
+
this.blob = event.files[0];
|
|
67
|
+
this.setCroppeImageFileObject();
|
|
68
|
+
}
|
|
69
|
+
setCroppeImageFileObject() {
|
|
70
|
+
this.croppedImageFile.name = this.blob.name;
|
|
71
|
+
this.croppedImageFile.type = this.blob.type;
|
|
72
|
+
}
|
|
73
|
+
imageCropped(event) {
|
|
74
|
+
this.croppedImage = event.base64;
|
|
75
|
+
}
|
|
76
|
+
imageLoaded() {
|
|
77
|
+
this.showCropper = true;
|
|
78
|
+
}
|
|
79
|
+
cropperReady(sourceImageDimensions) {
|
|
80
|
+
this.loading = false;
|
|
81
|
+
}
|
|
82
|
+
loadImageFailed() {
|
|
83
|
+
console.error('Load image failed');
|
|
84
|
+
}
|
|
85
|
+
rotateLeft() {
|
|
86
|
+
this.loading = true;
|
|
87
|
+
setTimeout(() => {
|
|
88
|
+
this.canvasRotation--;
|
|
89
|
+
this.flipAfterRotate();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
rotateRight() {
|
|
93
|
+
this.loading = true;
|
|
94
|
+
setTimeout(() => {
|
|
95
|
+
this.canvasRotation++;
|
|
96
|
+
this.flipAfterRotate();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
moveLeft() {
|
|
100
|
+
this.transform = {
|
|
101
|
+
...this.transform,
|
|
102
|
+
translateH: ++this.translateH
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
moveRight() {
|
|
106
|
+
this.transform = {
|
|
107
|
+
...this.transform,
|
|
108
|
+
translateH: --this.translateH
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
moveTop() {
|
|
112
|
+
this.transform = {
|
|
113
|
+
...this.transform,
|
|
114
|
+
translateV: ++this.translateV
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
moveBottom() {
|
|
118
|
+
this.transform = {
|
|
119
|
+
...this.transform,
|
|
120
|
+
translateV: --this.translateV
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
flipHorizontal() {
|
|
124
|
+
this.transform = {
|
|
125
|
+
...this.transform,
|
|
126
|
+
flipH: !this.transform.flipH
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
flipVertical() {
|
|
130
|
+
this.transform = {
|
|
131
|
+
...this.transform,
|
|
132
|
+
flipV: !this.transform.flipV
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
resetImage() {
|
|
136
|
+
this.scale = 1;
|
|
137
|
+
this.rotation = 0;
|
|
138
|
+
this.canvasRotation = 0;
|
|
139
|
+
this.transform = {
|
|
140
|
+
translateUnit: 'px'
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
zoomOut() {
|
|
144
|
+
this.scale -= .1;
|
|
145
|
+
this.transform = {
|
|
146
|
+
...this.transform,
|
|
147
|
+
scale: this.scale
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
zoomIn() {
|
|
151
|
+
this.scale += .1;
|
|
152
|
+
this.transform = {
|
|
153
|
+
...this.transform,
|
|
154
|
+
scale: this.scale
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
toggleContainWithinAspectRatio() {
|
|
158
|
+
this.containWithinAspectRatio = !this.containWithinAspectRatio;
|
|
159
|
+
}
|
|
160
|
+
updateRotation() {
|
|
161
|
+
this.transform = {
|
|
162
|
+
...this.transform,
|
|
163
|
+
rotate: this.rotation
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
toggleAspectRatio() {
|
|
167
|
+
this.aspectRatio = this.aspectRatio === 4 / 3 ? 16 / 5 : 4 / 3;
|
|
168
|
+
}
|
|
169
|
+
toggleAspectRatio1() {
|
|
170
|
+
this.aspectRatio = this.aspectRatio = 1;
|
|
171
|
+
}
|
|
172
|
+
viewCrop() {
|
|
173
|
+
this.dialogPreview = this.dialogService.open(WPreviewImageComponent, {
|
|
174
|
+
header: this.translationsImageCropper.modal.preview,
|
|
175
|
+
width: '35rem',
|
|
176
|
+
contentStyle: { "overflow": "auto", "height": "35rem", "padding-bottom": "8px" },
|
|
177
|
+
data: { imageEdited: this.croppedImage }
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
deleteBlob() {
|
|
181
|
+
this.blob = null;
|
|
182
|
+
this.croppedImage = null;
|
|
183
|
+
}
|
|
184
|
+
cancelDialog() {
|
|
185
|
+
this.blob = null;
|
|
186
|
+
this.croppedImage = null;
|
|
187
|
+
this.ref.close();
|
|
188
|
+
}
|
|
189
|
+
saveImageCropped() {
|
|
190
|
+
this.croppedImageFile.fileBase64 = this.croppedImage;
|
|
191
|
+
this.croppedImageFile.base64 = this.imageCroppedToBase64(this.croppedImage, this.croppedImageFile.name);
|
|
192
|
+
if (this.fromModal) {
|
|
193
|
+
this.ref.close(this.croppedImageFile);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
this.imageCroppedFinal.emit(this.croppedImageFile);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
flipAfterRotate() {
|
|
200
|
+
const flippedH = this.transform.flipH;
|
|
201
|
+
const flippedV = this.transform.flipV;
|
|
202
|
+
this.transform = {
|
|
203
|
+
...this.transform,
|
|
204
|
+
flipH: flippedV,
|
|
205
|
+
flipV: flippedH
|
|
206
|
+
};
|
|
207
|
+
this.translateH = 0;
|
|
208
|
+
this.translateV = 0;
|
|
209
|
+
}
|
|
210
|
+
imageCroppedToBase64(imageData, imageName) {
|
|
211
|
+
const base64Parts = imageData.split(',');
|
|
212
|
+
if (base64Parts.length === 2) {
|
|
213
|
+
const base64Content = base64Parts[1];
|
|
214
|
+
return base64Content;
|
|
215
|
+
}
|
|
216
|
+
return '';
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
WImageCropperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WImageCropperComponent, deps: [{ token: i1.DynamicDialogRef }, { token: i2.ModalService }, { token: i1.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
+
WImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WImageCropperComponent, selector: "w-image-cropper", inputs: { dimensionsInput: "dimensionsInput", translationsImageCropper: "translationsImageCropper", blob: "blob" }, outputs: { imageCroppedFinal: "imageCroppedFinal", imageB64: "imageB64" }, ngImport: i0, template: "<div class=\"flex flex-column align-content-center justify-content-center wapp-card-cropper\">\r\n <div class=\"flex flex-1\" ></div> \r\n <div class=\"flex justify-content-center align-content-center\" *ngIf=\"!blob; else imageCropper\">\r\n <span class=\"flex align-content-center surface-border justify-content-between flex-wrap\"> \r\n <p-fileUpload #fileUploader\r\n class=\"w-file-button bg-white\"\r\n chooseIcon=\"pi pi-image\"\r\n chooseLabel=\"Choose\"\r\n (onSelect)=\"myUploader($event)\"\r\n name=\"filesToUpload[]\" \r\n [auto]=\"true\"\r\n [multiple]=\"false\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n accept=\"image/*\" \r\n [maxFileSize]=\"maxFileSize\">\r\n </p-fileUpload>\r\n </span>\r\n </div>\r\n <ng-template #imageCropper>\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"flex flex-row align-content-center\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex align-content-center align-items-center justify-content-between wapp-image-cropper-wrapper flex-1\">\r\n <image-cropper\r\n [imageFile]=\"blob\"\r\n [imageURL]=\"imageURL\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\r\n [aspectRatio]=\"aspectRatio\"\r\n [resizeToWidth]= \"dimensions.width\"\r\n [resizeToHeight]=\"dimensions.height\"\r\n [cropperMinWidth]=\"128\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"false\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [(transform)]=\"transform\"\r\n [alignImage]=\"'center'\"\r\n [style.display]=\"showCropper ? null : 'none'\"\r\n [allowMoveImage]=\"allowMoveImage\"\r\n [hidden]=\"hidden\"\r\n backgroundColor=\"blue\"\r\n format=\"png\"\r\n [roundCropper]=\"roundedCropper\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded()\"\r\n (cropperReady)=\"cropperReady($event)\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n ></image-cropper>\r\n </div>\r\n <div class=\"flex flex-column justify-content-center align-content-center align-items-center\">\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomIn\"\r\n icon=\"pi pi-search-plus\" (click)=\"zoomIn()\"\r\n type=\"text\"></w-button>\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomOut\"\r\n icon=\"pi pi-search-minus\" \r\n (click)=\"zoomOut()\"\r\n type=\"text\"></w-button> \r\n </div>\r\n <div class=\"flex flex-1\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 flex-column wapp-image-cropper-tools py-4\">\r\n <p-slider [(ngModel)]=\"rotation\" [min]=\"-360\" [max]=\"360\" \r\n (ngModelChange)=\"updateRotation()\" class=\"w-full align-content-center\"\r\n [pTooltip]=\"translationsImageCropper.rotation\"></p-slider>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 wapp-image-cropper-tools flex-row justify-content-center align-items-center align-content-center\">\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-replay\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateLeft\"\r\n (click)=\"rotateLeft()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n icon=\"pi pi-refresh\"\r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateRight\"\r\n (click)=\"rotateRight()\"></w-button>\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-arrows-h\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.flipHorizontal\"\r\n (click)=\"flipHorizontal()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.flipVertical\"\r\n icon=\"pi pi-arrows-v\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"flipVertical()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.restore\"\r\n icon=\"pi pi-history\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"resetImage()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.preview\"\r\n icon=\"pi pi-eye\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"viewCrop()\"></w-button>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n </div>\r\n \r\n </ng-template>\r\n <div class=\"flex flex-1\" ></div>\r\n <div class=\"wapp-image-cropper-dialog-buttons flex justify-content-end align-content-center align-items-center w-full h-2\">\r\n <w-button *ngIf=\"blob\"\r\n (onClick)=\"deleteBlob()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-trash\"\r\n [label]=\"translationsImageCropper.delete\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n *ngIf=\"fromModal\"\r\n (onClick)=\"cancelDialog()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-times\"\r\n [label]=\"translationsImageCropper.cancel\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n icon=\"pi-save\"\r\n (click)=\"saveImageCropped()\"\r\n [disabled]=\"!blob\"\r\n [label]=\"translationsImageCropper.save\"\r\n class=\"flex align-content-center align-items-center\"\r\n type=\"text\">\r\n </w-button>\r\n </div> \r\n</div>\r\n \r\n ", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2,:host ::ng-deep .p-dialog .p-dialog-header span.p-dialog-title{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-icon{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-file-button .p-fileupload .p-button:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.wapp-image-cropper-wrapper{min-height:20rem;max-height:25rem;min-width:30rem;max-width:35rem}.wapp-image-cropper-tools{min-width:30rem;max-width:35rem}.wapp-card-cropper{min-height:35rem;max-height:45rem}:host ::ng-deep .p-dialog .p-dialog-header span.p-dialog-title{background-color:#0ff}:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-icon{margin:0;padding-right:12px}:host ::ng-deep .w-file-button .p-fileupload .p-button:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-file-button .p-fileupload .p-button:not(.p-disabled):hover{background-color:#5991ac;border-color:#5991ac}.wapp-image-cropper-dialog-buttons{gap:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError"] }, { kind: "component", type: i7.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "component", type: i8.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabelledBy", "tabindex"], outputs: ["onChange", "onSlideEnd"] }, { kind: "component", type: i9.WButtonComponent, selector: "w-button", inputs: ["type", "label", "size", "icon", "tooltipPosition", "tooltip", "disabled", "loading"], outputs: ["onClick"] }] });
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WImageCropperComponent, decorators: [{
|
|
222
|
+
type: Component,
|
|
223
|
+
args: [{ selector: 'w-image-cropper', template: "<div class=\"flex flex-column align-content-center justify-content-center wapp-card-cropper\">\r\n <div class=\"flex flex-1\" ></div> \r\n <div class=\"flex justify-content-center align-content-center\" *ngIf=\"!blob; else imageCropper\">\r\n <span class=\"flex align-content-center surface-border justify-content-between flex-wrap\"> \r\n <p-fileUpload #fileUploader\r\n class=\"w-file-button bg-white\"\r\n chooseIcon=\"pi pi-image\"\r\n chooseLabel=\"Choose\"\r\n (onSelect)=\"myUploader($event)\"\r\n name=\"filesToUpload[]\" \r\n [auto]=\"true\"\r\n [multiple]=\"false\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n accept=\"image/*\" \r\n [maxFileSize]=\"maxFileSize\">\r\n </p-fileUpload>\r\n </span>\r\n </div>\r\n <ng-template #imageCropper>\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"flex flex-row align-content-center\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex align-content-center align-items-center justify-content-between wapp-image-cropper-wrapper flex-1\">\r\n <image-cropper\r\n [imageFile]=\"blob\"\r\n [imageURL]=\"imageURL\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\r\n [aspectRatio]=\"aspectRatio\"\r\n [resizeToWidth]= \"dimensions.width\"\r\n [resizeToHeight]=\"dimensions.height\"\r\n [cropperMinWidth]=\"128\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"false\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [(transform)]=\"transform\"\r\n [alignImage]=\"'center'\"\r\n [style.display]=\"showCropper ? null : 'none'\"\r\n [allowMoveImage]=\"allowMoveImage\"\r\n [hidden]=\"hidden\"\r\n backgroundColor=\"blue\"\r\n format=\"png\"\r\n [roundCropper]=\"roundedCropper\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded()\"\r\n (cropperReady)=\"cropperReady($event)\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n ></image-cropper>\r\n </div>\r\n <div class=\"flex flex-column justify-content-center align-content-center align-items-center\">\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomIn\"\r\n icon=\"pi pi-search-plus\" (click)=\"zoomIn()\"\r\n type=\"text\"></w-button>\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomOut\"\r\n icon=\"pi pi-search-minus\" \r\n (click)=\"zoomOut()\"\r\n type=\"text\"></w-button> \r\n </div>\r\n <div class=\"flex flex-1\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 flex-column wapp-image-cropper-tools py-4\">\r\n <p-slider [(ngModel)]=\"rotation\" [min]=\"-360\" [max]=\"360\" \r\n (ngModelChange)=\"updateRotation()\" class=\"w-full align-content-center\"\r\n [pTooltip]=\"translationsImageCropper.rotation\"></p-slider>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 wapp-image-cropper-tools flex-row justify-content-center align-items-center align-content-center\">\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-replay\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateLeft\"\r\n (click)=\"rotateLeft()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n icon=\"pi pi-refresh\"\r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateRight\"\r\n (click)=\"rotateRight()\"></w-button>\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-arrows-h\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.flipHorizontal\"\r\n (click)=\"flipHorizontal()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.flipVertical\"\r\n icon=\"pi pi-arrows-v\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"flipVertical()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.restore\"\r\n icon=\"pi pi-history\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"resetImage()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.preview\"\r\n icon=\"pi pi-eye\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"viewCrop()\"></w-button>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n </div>\r\n \r\n </ng-template>\r\n <div class=\"flex flex-1\" ></div>\r\n <div class=\"wapp-image-cropper-dialog-buttons flex justify-content-end align-content-center align-items-center w-full h-2\">\r\n <w-button *ngIf=\"blob\"\r\n (onClick)=\"deleteBlob()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-trash\"\r\n [label]=\"translationsImageCropper.delete\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n *ngIf=\"fromModal\"\r\n (onClick)=\"cancelDialog()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-times\"\r\n [label]=\"translationsImageCropper.cancel\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n icon=\"pi-save\"\r\n (click)=\"saveImageCropped()\"\r\n [disabled]=\"!blob\"\r\n [label]=\"translationsImageCropper.save\"\r\n class=\"flex align-content-center align-items-center\"\r\n type=\"text\">\r\n </w-button>\r\n </div> \r\n</div>\r\n \r\n ", styles: [".heading1{font-size:3.1428571429rem;line-height:3.4285714286rem;font-weight:700}.heading2{font-size:2.8571428571rem;line-height:3.1428571429rem;font-weight:700}.heading3{font-size:2.5714285714rem;line-height:2.8571428571rem;font-weight:700}.heading4{font-size:2.2857142857rem;line-height:2.5714285714rem;font-weight:700}.heading5{font-size:2rem;line-height:2.2857142857rem;font-weight:700}.heading6{font-size:1.7142857143rem;line-height:2rem;font-weight:700}.subtitle1{font-size:1.4285714286rem;line-height:1.7142857143rem;font-weight:700}.subtitle2,:host ::ng-deep .p-dialog .p-dialog-header span.p-dialog-title{font-size:1.1428571429rem;line-height:1.4285714286rem;font-weight:700}.body,.input-generic-placeholder-small,.input-generic-small{font-size:1rem;line-height:1.1428571429rem;font-weight:600}.caption{font-size:.8571428571rem;line-height:1.1428571429rem;font-weight:600}.icon-small-size{font-size:8px}.icon-small-x-size{font-size:12px}.icon-medium-size,:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-icon{font-size:16px}.icon-large-size{font-size:24px}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus,:host ::ng-deep .w-file-button .p-fileupload .p-button:focus{box-shadow:0 0 8px #00a6e980}.hover{border-radius:8px;border:2px solid #00b2eb}.button-large-typography{font-size:20px;line-height:24px;font-weight:700}.button-medium-typography,:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-label{font-size:16px;line-height:16px;font-weight:700}.button-small-typography{font-size:12px;line-height:16px;font-weight:700}.button-text-typography,.input-generic-label{font-size:14px;line-height:16px;font-weight:700}.input-generic-placeholder{font-size:16px;line-height:24px;font-weight:600;color:#bdc1c6!important;opacity:unset!important}.input-generic{font-size:16px;line-height:24px;font-weight:600}.input-generic-placeholder-small{padding:8px 12px 12px;color:#bdc1c6!important}.input-generic-valid{border-radius:8px;border:2px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:2px solid #B3FFD3!important;box-shadow:0 0 2px 2px #b3ffd3!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:2px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:2px solid #FFECB8!important;box-shadow:0 0 2px 2px #ffecb8!important;padding-left:16px}.input-generic-error{border-radius:8px;border:2px solid #FFBDBD}.tag-generic{font-size:14px;line-height:16px;font-weight:700}.tag-generic-small{font-size:12px;line-height:16px;font-weight:700}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.wapp-image-cropper-wrapper{min-height:20rem;max-height:25rem;min-width:30rem;max-width:35rem}.wapp-image-cropper-tools{min-width:30rem;max-width:35rem}.wapp-card-cropper{min-height:35rem;max-height:45rem}:host ::ng-deep .p-dialog .p-dialog-header span.p-dialog-title{background-color:#0ff}:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose{height:40px;padding:12px 20px;border-radius:8px;border-width:2px}:host ::ng-deep .w-file-button .p-fileupload .p-button.p-fileupload-choose .p-button-icon{margin:0;padding-right:12px}:host ::ng-deep .w-file-button .p-fileupload .p-button:focus{outline:2px solid #d6f2ff;background-color:#1f5b72}:host ::ng-deep .w-file-button .p-fileupload .p-button:not(.p-disabled):hover{background-color:#5991ac;border-color:#5991ac}.wapp-image-cropper-dialog-buttons{gap:16px}\n"] }]
|
|
224
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicDialogRef }, { type: i2.ModalService }, { type: i1.DynamicDialogConfig }]; }, propDecorators: { dimensionsInput: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], translationsImageCropper: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], imageCroppedFinal: [{
|
|
229
|
+
type: Output
|
|
230
|
+
}], imageB64: [{
|
|
231
|
+
type: Output
|
|
232
|
+
}], blob: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}] } });
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL2ZpbGUvdy1pbWFnZS1jcm9wcGVyL3ctaW1hZ2UtY3JvcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlL3ctaW1hZ2UtY3JvcHBlci93LWltYWdlLWNyb3BwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7QUFRdEYsTUFBTSxPQUFPLHNCQUFzQjtJQWdDakMsWUFDVSxHQUFxQixFQUNyQixhQUEyQixFQUM1QixtQkFBd0M7UUFGdkMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUc3QyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixnQkFBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxL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QUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBXSW1hZ2VDcm9wcGVyRGF0YSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvdy1pbWFnZS1jcm9wcGVyLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBXRmlsZUI2NCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvdy1maWxlLWI2NC5tb2RlbCc7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFdQcmV2aWV3SW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi93LXByZXZpZXctaW1hZ2Uvdy1wcmV2aWV3LWltYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpbWVuc2lvbnMsIEltYWdlQ3JvcHBlZEV2ZW50LCBJbWFnZVRyYW5zZm9ybSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndy1pbWFnZS1jcm9wcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LWltYWdlLWNyb3BwZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV0ltYWdlQ3JvcHBlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZGltZW5zaW9uc0lucHV0ITogV0ltYWdlQ3JvcHBlckRhdGE7XHJcbiAgQElucHV0KCkgdHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyOiBhbnk7XHJcbiAgQE91dHB1dCgpIGltYWdlQ3JvcHBlZEZpbmFsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGltYWdlQjY0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgYmxvYjogYW55O1xyXG5cclxuICBpbWFnZUNoYW5nZWRFdmVudDogYW55ID0gJyc7XHJcbiAgY3JvcHBlZEltYWdlOiBhbnkgPSAnJztcclxuICBjYW52YXNSb3RhdGlvbiA9IDA7XHJcbiAgcm90YXRpb246IG51bWJlciA9IDA7XHJcbiAgdHJhbnNsYXRlSCA9IDA7XHJcbiAgdHJhbnNsYXRlViA9IDA7XHJcbiAgc2NhbGUgPSAxO1xyXG4gIGFzcGVjdFJhdGlvID0gNCAvIDM7XHJcbiAgc2hvd0Nyb3BwZXIgPSBmYWxzZTtcclxuICBjb250YWluV2l0aGluQXNwZWN0UmF0aW8gPSBmYWxzZTtcclxuICB0cmFuc2Zvcm06IEltYWdlVHJhbnNmb3JtID0ge1xyXG4gICAgdHJhbnNsYXRlVW5pdDogJ3B4J1xyXG4gIH07XHJcbiAgaW1hZ2VVUkw/OiBzdHJpbmc7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGFsbG93TW92ZUltYWdlID0gdHJ1ZTtcclxuICBoaWRkZW4gPSBmYWxzZTtcclxuXHJcbiAgY3JvcHBlZEltYWdlRmlsZTogV0ZpbGVCNjQgPSB7bmFtZTogXCJcIiwgdHlwZTogXCJcIiwgZmlsZUJhc2U2NDogXCJcIiwgYmFzZTY0OiBcIlwifTtcclxuXHJcbiAgZGltZW5zaW9uczogYW55O1xyXG4gIG1heEZpbGVTaXplITogbnVtYmVyO1xyXG4gIHJvdW5kZWRDcm9wcGVyITogYm9vbGVhbjtcclxuICBmcm9tTW9kYWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGRpYWxvZ1ByZXZpZXchOiBEeW5hbWljRGlhbG9nUmVmO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgIHB1YmxpYyBkeW5hbWljRGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnKXtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhID09IHVuZGVmaW5lZCl7XHJcbiAgICAgIHRoaXMuZnJvbU1vZGFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLmRpbWVuc2lvbnNJbnB1dC5jb25maWd1cmVkQXNwZWN0UmF0aW87XHJcbiAgICAgIHRoaXMucm91bmRlZENyb3BwZXIgPSB0aGlzLmRpbWVuc2lvbnNJbnB1dC5yb3VuZGVkQ3JvcHBlcjtcclxuICAgICAgdGhpcy5kaW1lbnNpb25zID0ge1xyXG4gICAgICAgIHdpZHRoOiB0aGlzLmRpbWVuc2lvbnNJbnB1dC52aWV3UG9ydFdpZHRoUHgsXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmRpbWVuc2lvbnNJbnB1dC52aWV3UG9ydEhlaWh0UHhcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1heEZpbGVTaXplID0gdGhpcy5kaW1lbnNpb25zLm1heEZpbGVTaXplO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5kYXRhTW9kYWwuY29uZmlndXJlZEFzcGVjdFJhdGlvO1xyXG4gICAgICB0aGlzLnJvdW5kZWRDcm9wcGVyID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuZGF0YU1vZGFsLnJvdW5kZWRDcm9wcGVyO1xyXG4gICAgICB0aGlzLmRpbWVuc2lvbnMgPSB7XHJcbiAgICAgICAgd2lkdGg6IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmRhdGFNb2RhbC52aWV3UG9ydFdpZHRoUHgsXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5kYXRhTW9kYWwudmlld1BvcnRIZWlodFB4XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tYXhGaWxlU2l6ZSA9IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmRhdGFNb2RhbC5tYXhGaWxlU2l6ZVxyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uc0ltYWdlQ3JvcHBlciA9IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLnRyYW5zbGF0aW9ucztcclxuICAgICAgdGhpcy5ibG9iID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuYmxvYjtcclxuICAgICAgdGhpcy5zZXRDcm9wcGVJbWFnZUZpbGVPYmplY3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG15VXBsb2FkZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZXNldEltYWdlKClcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmJsb2IgPSBldmVudC5maWxlc1swXTtcclxuICAgIHRoaXMuc2V0Q3JvcHBlSW1hZ2VGaWxlT2JqZWN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRDcm9wcGVJbWFnZUZpbGVPYmplY3QoKXtcclxuICAgIHRoaXMuY3JvcHBlZEltYWdlRmlsZS5uYW1lID0gdGhpcy5ibG9iLm5hbWU7XHJcbiAgICB0aGlzLmNyb3BwZWRJbWFnZUZpbGUudHlwZSA9IHRoaXMuYmxvYi50eXBlO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xyXG4gICAgdGhpcy5jcm9wcGVkSW1hZ2UgPSBldmVudC5iYXNlNjQ7XHJcbiAgfVxyXG5cclxuICBpbWFnZUxvYWRlZCgpIHtcclxuICAgIHRoaXMuc2hvd0Nyb3BwZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY3JvcHBlclJlYWR5KHNvdXJjZUltYWdlRGltZW5zaW9uczogRGltZW5zaW9ucykge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBsb2FkSW1hZ2VGYWlsZWQoKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdMb2FkIGltYWdlIGZhaWxlZCcpO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlTGVmdCgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gVXNlIHRpbWVvdXQgYmVjYXVzZSByb3RhdGluZyBpbWFnZSBpcyBhIGhlYXZ5IG9wZXJhdGlvbiBhbmQgd2lsbCBibG9jayB0aGUgdWkgdGhyZWFkXHJcbiAgICAgIHRoaXMuY2FudmFzUm90YXRpb24tLTtcclxuICAgICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlUmlnaHQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FudmFzUm90YXRpb24rKztcclxuICAgICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZUxlZnQoKSB7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIHRyYW5zbGF0ZUg6ICsrdGhpcy50cmFuc2xhdGVIXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbW92ZVJpZ2h0KCkge1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7XHJcbiAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxyXG4gICAgICB0cmFuc2xhdGVIOiAtLXRoaXMudHJhbnNsYXRlSFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG1vdmVUb3AoKSB7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIHRyYW5zbGF0ZVY6ICsrdGhpcy50cmFuc2xhdGVWXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbW92ZUJvdHRvbSgpIHtcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgdHJhbnNsYXRlVjogLS10aGlzLnRyYW5zbGF0ZVZcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmbGlwSG9yaXpvbnRhbCgpIHtcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgZmxpcEg6ICF0aGlzLnRyYW5zZm9ybS5mbGlwSFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGZsaXBWZXJ0aWNhbCgpIHtcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgZmxpcFY6ICF0aGlzLnRyYW5zZm9ybS5mbGlwVlxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJlc2V0SW1hZ2UoKSB7XHJcbiAgICB0aGlzLnNjYWxlID0gMTtcclxuICAgIHRoaXMucm90YXRpb24gPSAwO1xyXG4gICAgdGhpcy5jYW52YXNSb3RhdGlvbiA9IDA7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgdHJhbnNsYXRlVW5pdDogJ3B4J1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHpvb21PdXQoKSB7XHJcbiAgICB0aGlzLnNjYWxlIC09IC4xO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7XHJcbiAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxyXG4gICAgICBzY2FsZTogdGhpcy5zY2FsZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHpvb21JbigpIHtcclxuICAgIHRoaXMuc2NhbGUgKz0gLjE7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIHNjYWxlOiB0aGlzLnNjYWxlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ29udGFpbldpdGhpbkFzcGVjdFJhdGlvKCkge1xyXG4gICAgdGhpcy5jb250YWluV2l0aGluQXNwZWN0UmF0aW8gPSAhdGhpcy5jb250YWluV2l0aGluQXNwZWN0UmF0aW87XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSb3RhdGlvbigpIHtcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgcm90YXRlOiB0aGlzLnJvdGF0aW9uXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQXNwZWN0UmF0aW8oKSB7XHJcbiAgICB0aGlzLmFzcGVjdFJhdGlvID0gdGhpcy5hc3BlY3RSYXRpbyA9PT0gNCAvIDMgPyAxNiAvIDUgOiA0IC8gMztcclxuICB9XHJcbiAgXHJcbiAgdG9nZ2xlQXNwZWN0UmF0aW8xKCkge1xyXG4gICAgdGhpcy5hc3BlY3RSYXRpbyA9IHRoaXMuYXNwZWN0UmF0aW8gPSAxO1xyXG4gIH1cclxuXHJcbiAgdmlld0Nyb3AoKXtcclxuICAgIHRoaXMuZGlhbG9nUHJldmlldyA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFdQcmV2aWV3SW1hZ2VDb21wb25lbnQsIHtcclxuICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0aW9uc0ltYWdlQ3JvcHBlci5tb2RhbC5wcmV2aWV3LFxyXG4gICAgICB3aWR0aDonMzVyZW0nLFxyXG4gICAgICBjb250ZW50U3R5bGU6IHtcIm92ZXJmbG93XCI6IFwiYXV0b1wiLCBcImhlaWdodFwiOiBcIjM1cmVtXCIsIFwicGFkZGluZy1ib3R0b21cIjogXCI4cHhcIn0sXHJcbiAgICAgIGRhdGE6IHtpbWFnZUVkaXRlZDogdGhpcy5jcm9wcGVkSW1hZ2V9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlQmxvYigpe1xyXG4gICAgdGhpcy5ibG9iID0gbnVsbFxyXG4gICAgdGhpcy5jcm9wcGVkSW1hZ2UgPSBudWxsXHJcbiAgfVxyXG5cclxuICBjYW5jZWxEaWFsb2coKXtcclxuICAgIHRoaXMuYmxvYiA9IG51bGxcclxuICAgIHRoaXMuY3JvcHBlZEltYWdlID0gbnVsbFxyXG4gICAgdGhpcy5yZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHNhdmVJbWFnZUNyb3BwZWQoKXtcclxuICAgIHRoaXMuY3JvcHBlZEltYWdlRmlsZS5maWxlQmFzZTY0ID0gdGhpcy5jcm9wcGVkSW1hZ2U7XHJcbiAgICB0aGlzLmNyb3BwZWRJbWFnZUZpbGUuYmFzZTY0ID0gdGhpcy5pbWFnZUNyb3BwZWRUb0Jhc2U2NCh0aGlzLmNyb3BwZWRJbWFnZSwgdGhpcy5jcm9wcGVkSW1hZ2VGaWxlLm5hbWUpO1xyXG5cclxuICAgIGlmKHRoaXMuZnJvbU1vZGFsKXtcclxuICAgICAgdGhpcy5yZWYuY2xvc2UodGhpcy5jcm9wcGVkSW1hZ2VGaWxlKVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuaW1hZ2VDcm9wcGVkRmluYWwuZW1pdCh0aGlzLmNyb3BwZWRJbWFnZUZpbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmbGlwQWZ0ZXJSb3RhdGUoKSB7XHJcbiAgICBjb25zdCBmbGlwcGVkSCA9IHRoaXMudHJhbnNmb3JtLmZsaXBIO1xyXG4gICAgY29uc3QgZmxpcHBlZFYgPSB0aGlzLnRyYW5zZm9ybS5mbGlwVjtcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgZmxpcEg6IGZsaXBwZWRWLFxyXG4gICAgICBmbGlwVjogZmxpcHBlZEhcclxuICAgIH07XHJcbiAgICB0aGlzLnRyYW5zbGF0ZUggPSAwO1xyXG4gICAgdGhpcy50cmFuc2xhdGVWID0gMDtcclxuICB9XHJcblxyXG4gIGltYWdlQ3JvcHBlZFRvQmFzZTY0KGltYWdlRGF0YTogc3RyaW5nLCBpbWFnZU5hbWU6IHN0cmluZyl7XHJcbiAgICBjb25zdCBiYXNlNjRQYXJ0cyA9IGltYWdlRGF0YS5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKGJhc2U2NFBhcnRzLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICBjb25zdCBiYXNlNjRDb250ZW50ID0gYmFzZTY0UGFydHNbMV07XHJcbiAgICAgIHJldHVybiBiYXNlNjRDb250ZW50O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1jb250ZW50LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHdhcHAtY2FyZC1jcm9wcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIiA+PC9kaXY+ICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiIWJsb2I7IGVsc2UgaW1hZ2VDcm9wcGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGFsaWduLWNvbnRlbnQtY2VudGVyIHN1cmZhY2UtYm9yZGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtd3JhcFwiPiBcclxuICAgICAgICAgICAgPHAtZmlsZVVwbG9hZCAjZmlsZVVwbG9hZGVyXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZmlsZS1idXR0b24gYmctd2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgY2hvb3NlSWNvbj1cInBpIHBpLWltYWdlXCJcclxuICAgICAgICAgICAgICAgIGNob29zZUxhYmVsPVwiQ2hvb3NlXCJcclxuICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJteVVwbG9hZGVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpbGVzVG9VcGxvYWRbXVwiIFxyXG4gICAgICAgICAgICAgICAgW2F1dG9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXHJcbiAgICAgICAgICAgICAgICBtb2RlPVwiYmFzaWNcIlxyXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiIFxyXG4gICAgICAgICAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCI+XHJcbiAgICAgICAgICAgIDwvcC1maWxlVXBsb2FkPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNpbWFnZUNyb3BwZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gdy1mdWxsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gd2FwcC1pbWFnZS1jcm9wcGVyLXdyYXBwZXIgZmxleC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltYWdlLWNyb3BwZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbWFnZUZpbGVdPVwiYmxvYlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW1hZ2VVUkxdPVwiaW1hZ2VVUkxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21haW50YWluQXNwZWN0UmF0aW9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGFpbldpdGhpbkFzcGVjdFJhdGlvXT1cImNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiYXNwZWN0UmF0aW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZVRvV2lkdGhdPSBcImRpbWVuc2lvbnMud2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZVRvSGVpZ2h0XT1cImRpbWVuc2lvbnMuaGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjcm9wcGVyTWluV2lkdGhdPVwiMTI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvbmx5U2NhbGVEb3duXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdW5kQ3JvcHBlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FudmFzUm90YXRpb25dPVwiY2FudmFzUm90YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh0cmFuc2Zvcm0pXT1cInRyYW5zZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxpZ25JbWFnZV09XCInY2VudGVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzaG93Q3JvcHBlciA/IG51bGwgOiAnbm9uZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TW92ZUltYWdlXT1cImFsbG93TW92ZUltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj1cImJsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PVwicG5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3VuZENyb3BwZXJdPVwicm91bmRlZENyb3BwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltYWdlQ3JvcHBlZCk9XCJpbWFnZUNyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VMb2FkZWQpPVwiaW1hZ2VMb2FkZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3JvcHBlclJlYWR5KT1cImNyb3BwZXJSZWFkeSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsb2FkSW1hZ2VGYWlsZWQpPVwibG9hZEltYWdlRmFpbGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2ltYWdlLWNyb3BwZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24tY29udGVudC1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IHB4LTMgcHktM1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ0cmFuc2xhdGlvbnNJbWFnZUNyb3BwZXIuem9vbUluXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktc2VhcmNoLXBsdXNcIiAoY2xpY2spPVwiem9vbUluKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+PC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24tY29udGVudC1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IHB4LTMgcHktM1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ0cmFuc2xhdGlvbnNJbWFnZUNyb3BwZXIuem9vbU91dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXNlYXJjaC1taW51c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ6b29tT3V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+PC93LWJ1dHRvbj4gXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LWNvbHVtbiB3YXBwLWltYWdlLWNyb3BwZXItdG9vbHMgcHktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXNsaWRlciBbKG5nTW9kZWwpXT1cInJvdGF0aW9uXCIgW21pbl09XCItMzYwXCIgW21heF09XCIzNjBcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVJvdGF0aW9uKClcIiBjbGFzcz1cInctZnVsbCBhbGlnbi1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyLnJvdGF0aW9uXCI+PC9wLXNsaWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMyBhbGlnbi1pdGVtcy1lbmRcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgIHdhcHAtaW1hZ2UtY3JvcHBlci10b29scyBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx3LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXJlcGxheVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ0cmFuc2xhdGlvbnNJbWFnZUNyb3BwZXIucm90YXRlTGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm90YXRlTGVmdCgpXCI+PC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8dy1idXR0b24gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcmVmcmVzaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInRyYW5zbGF0aW9uc0ltYWdlQ3JvcHBlci5yb3RhdGVSaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicm90YXRlUmlnaHQoKVwiPjwvdy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktYXJyb3dzLWhcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyLmZsaXBIb3Jpem9udGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmbGlwSG9yaXpvbnRhbCgpXCI+PC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8dy1idXR0b24gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyLmZsaXBWZXJ0aWNhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktYXJyb3dzLXZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmbGlwVmVydGljYWwoKVwiPjwvdy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHctYnV0dG9uIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInRyYW5zbGF0aW9uc0ltYWdlQ3JvcHBlci5yZXN0b3JlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS1oaXN0b3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXRJbWFnZSgpXCI+PC93LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8dy1idXR0b24gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwidHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyLnByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWV5ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZpZXdDcm9wKClcIj48L3ctYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0zIGFsaWduLWl0ZW1zLWVuZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIiA+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2FwcC1pbWFnZS1jcm9wcGVyLWRpYWxvZy1idXR0b25zIGZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsIGgtMlwiPlxyXG4gICAgICAgIDx3LWJ1dHRvbiAqbmdJZj1cImJsb2JcIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJkZWxldGVCbG9iKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24tY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIFwiXHJcbiAgICAgICAgICAgIGljb249XCJwaS10cmFzaFwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGlvbnNJbWFnZUNyb3BwZXIuZGVsZXRlXCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIj5cclxuICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgICAgIDx3LWJ1dHRvbiBcclxuICAgICAgICAgICAgKm5nSWY9XCJmcm9tTW9kYWxcIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJjYW5jZWxEaWFsb2coKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhbGlnbi1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgXCJcclxuICAgICAgICAgICAgaWNvbj1cInBpLXRpbWVzXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0aW9uc0ltYWdlQ3JvcHBlci5jYW5jZWxcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiPlxyXG4gICAgICAgIDwvdy1idXR0b24+XHJcbiAgICAgICAgPHctYnV0dG9uIFxyXG4gICAgICAgICAgICBpY29uPVwicGktc2F2ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzYXZlSW1hZ2VDcm9wcGVkKClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWJsb2JcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRpb25zSW1hZ2VDcm9wcGVyLnNhdmVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24tY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIj5cclxuICAgICAgICA8L3ctYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgIFxyXG48L2Rpdj5cclxuICAgIFxyXG4gICAgIl19
|