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.
Files changed (34) hide show
  1. package/esm2020/lib/button/w-button/w-button.component.mjs +12 -3
  2. package/esm2020/lib/file/w-image-cropper/w-image-cropper.component.mjs +235 -0
  3. package/esm2020/lib/file/w-image-file-uploader/w-image-file-uploader.component.mjs +409 -0
  4. package/esm2020/lib/file/w-preview-image/w-preview-image.component.mjs +20 -0
  5. package/esm2020/lib/layout/w-header-panel/w-header-panel.component.mjs +1 -1
  6. package/esm2020/lib/layout/w-navbar/w-navbar.component.mjs +1 -1
  7. package/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +1 -1
  8. package/esm2020/lib/shared/models/image-b64.model.mjs +2 -0
  9. package/esm2020/lib/shared/models/uploader-file.model.mjs +2 -0
  10. package/esm2020/lib/shared/models/w-file-b64.model.mjs +2 -0
  11. package/esm2020/lib/shared/models/w-image-cropper-data.model.mjs +2 -0
  12. package/esm2020/lib/shared/models/w-image-file-uploader-config.model.mjs +2 -0
  13. package/esm2020/lib/shared/services/modal.service.mjs +62 -0
  14. package/esm2020/lib/sidebar/w-sidebar/w-sidebar.component.mjs +2 -2
  15. package/esm2020/lib/w-clipboard/w-clipboard.component.mjs +1 -1
  16. package/esm2020/lib/wapp-components.module.mjs +46 -2
  17. package/esm2020/public-api.mjs +9 -1
  18. package/fesm2015/ngx-wapp-components.mjs +741 -35
  19. package/fesm2015/ngx-wapp-components.mjs.map +1 -1
  20. package/fesm2020/ngx-wapp-components.mjs +782 -35
  21. package/fesm2020/ngx-wapp-components.mjs.map +1 -1
  22. package/lib/button/w-button/w-button.component.d.ts +3 -1
  23. package/lib/file/w-image-cropper/w-image-cropper.component.d.ts +69 -0
  24. package/lib/file/w-image-file-uploader/w-image-file-uploader.component.d.ts +70 -0
  25. package/lib/file/w-preview-image/w-preview-image.component.d.ts +10 -0
  26. package/lib/shared/models/image-b64.model.d.ts +5 -0
  27. package/lib/shared/models/uploader-file.model.d.ts +6 -0
  28. package/lib/shared/models/w-file-b64.model.d.ts +6 -0
  29. package/lib/shared/models/w-image-cropper-data.model.d.ts +7 -0
  30. package/lib/shared/models/w-image-file-uploader-config.model.d.ts +23 -0
  31. package/lib/shared/services/modal.service.d.ts +22 -0
  32. package/lib/wapp-components.module.d.ts +48 -39
  33. package/package.json +4 -3
  34. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uL3ctYnV0dG9uL3ctYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL2J1dHRvbi93LWJ1dHRvbi93LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFPL0QsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1pQixTQUFJLEdBQVcsU0FBUyxDQUFDO1FBRXpCLFNBQUksR0FBVyxRQUFRLENBQUM7UUFDeEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV4QixZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUUsYUFBUSxHQUFvQixRQUFRLENBQUM7UUFDckMsZUFBVSxHQUFzQixVQUFVLENBQUM7S0FtQjVDO0lBakJDLFFBQVEsS0FBVSxDQUFDO0lBRW5CLGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7NkdBN0JVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlNQ1I3Qix3c0dBdUVBOzJGRC9EYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLTCxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ0csS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNDLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDRSxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ00sUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNDLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFFRyxPQUFPO3NCQUF6QixNQUFNO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvblR5cGUsIFNpemVUeXBlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2VudW1zL2VudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ctYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgndHlwZScpIHR5cGU6IHN0cmluZyA9IFwicHJpbWFyeVwiO1xyXG4gIEBJbnB1dCgnbGFiZWwnKSBsYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoJ3NpemUnKSBzaXplOiBzdHJpbmcgPSBcIm1lZGl1bVwiO1xyXG4gIEBJbnB1dCgnaWNvbicpIGljb246IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCdkaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdsb2FkaW5nJykgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCdvbkNsaWNrJykgb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIFxyXG4gIHNpemVUeXBlOiB0eXBlb2YgU2l6ZVR5cGUgPSBTaXplVHlwZTtcclxuICBidXR0b25UeXBlOiB0eXBlb2YgQnV0dG9uVHlwZSA9IEJ1dHRvblR5cGU7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgb25CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCl7XHJcbiAgICB0aGlzLm9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldEljb24oKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvbiA/IFwicGkgXCIgKyB0aGlzLmljb246IFwiXCI7XHJcbiAgfVxyXG4gIFxyXG4gIGdldFNpemVOYW1lKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFNpemVUeXBlW3ZhbHVlXTtcclxuICB9XHJcblxyXG4gIGdldEJ1dHRvblR5cGVOYW1lKHZhbHVlOiBudW1iZXIpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gQnV0dG9uVHlwZVt2YWx1ZV07XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09IGdldEJ1dHRvblR5cGVOYW1lKGJ1dHRvblR5cGUucHJpbWFyeSk7IGVsc2UgYnV0dG9uU2Vjb25kYXJ5XCI+XHJcbiAgICA8cC1idXR0b24gKm5nSWY9XCJzaXplID09IGdldFNpemVOYW1lKHNpemVUeXBlLnNtYWxsKVwiIFxyXG4gICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCIgXHJcbiAgICAgICAgaWNvblBvcz1cInJpZ2h0XCIgXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctYnV0dG9uLXNtYWxsIGJvcmRlci1ub25lXCIgXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAob25DbGljayk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cclxuICAgIDwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b24gKm5nSWY9XCJzaXplID09IGdldFNpemVOYW1lKHNpemVUeXBlLm1lZGl1bSlcIiBcclxuICAgICAgICBsYWJlbD1cInt7bGFiZWx9fVwiIFxyXG4gICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgIGljb25Qb3M9XCJyaWdodFwiIFxyXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJ3LWJ1dHRvbi1tZWRpdW0gYm9yZGVyLW5vbmVcIiBcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiPlxyXG4gICAgPC9wLWJ1dHRvbj5cclxuICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNpemUgPT0gZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUubGFyZ2UpXCIgXHJcbiAgICAgICAgbGFiZWw9XCJ7e2xhYmVsfX1cIiBcclxuICAgICAgICBbaWNvbl09XCJnZXRJY29uKClcIiBcclxuICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICBzdHlsZUNsYXNzPVwidy1idXR0b24tbGFyZ2UgYm9yZGVyLW5vbmVcIiBcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiPlxyXG4gICAgPC9wLWJ1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uU2Vjb25kYXJ5PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT0gZ2V0QnV0dG9uVHlwZU5hbWUoYnV0dG9uVHlwZS5zZWNvbmRhcnkpIHx8IHR5cGUgPT0gZ2V0QnV0dG9uVHlwZU5hbWUoYnV0dG9uVHlwZS50ZXJ0aWFyeSk7IGVsc2UgYnV0dG9uVGV4dFwiPlxyXG4gICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNpemUgPT0gZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUuc21hbGwpXCIgXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLW91dGxpbmVkICcgKyAodHlwZSA9PSBnZXRCdXR0b25UeXBlTmFtZShidXR0b25UeXBlLnRlcnRpYXJ5KSA/ICd3LWJ1dHRvbi1zbWFsbC10ZXJ0aWFyeScgOiAndy1idXR0b24tc21hbGwgcC1idXR0b24tb3V0bGluZWQnKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNpemUgPT0gZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUubWVkaXVtKVwiIFxyXG4gICAgICAgICAgICBsYWJlbD1cInt7bGFiZWx9fVwiIFxyXG4gICAgICAgICAgICBbaWNvbl09XCJnZXRJY29uKClcIiBcclxuICAgICAgICAgICAgaWNvblBvcz1cInJpZ2h0XCIgXHJcbiAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1vdXRsaW5lZCAnICsgKHR5cGUgPT0gZ2V0QnV0dG9uVHlwZU5hbWUoYnV0dG9uVHlwZS50ZXJ0aWFyeSkgPyAndy1idXR0b24tbWVkaXVtLXRlcnRpYXJ5JyA6ICd3LWJ1dHRvbi1tZWRpdW0gcC1idXR0b24tb3V0bGluZWQnKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNpemUgPT0gZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUubGFyZ2UpXCIgXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tsYWJlbH19XCIgXHJcbiAgICAgICAgICAgIFtpY29uXT1cImdldEljb24oKVwiIFxyXG4gICAgICAgICAgICBpY29uUG9zPVwicmlnaHRcIiBcclxuICAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLW91dGxpbmVkICcgKyAodHlwZSA9PSBnZXRCdXR0b25UeXBlTmFtZShidXR0b25UeXBlLnRlcnRpYXJ5KSA/ICd3LWJ1dHRvbi1sYXJnZS10ZXJ0aWFyeScgOiAndy1idXR0b24tbGFyZ2UgcC1idXR0b24tb3V0bGluZWQnKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2J1dHRvblRleHQ+XHJcbiAgICAgICAgPHAtYnV0dG9uIFxyXG4gICAgICAgICAgICBsYWJlbD1cInt7bGFiZWx9fVwiIFxyXG4gICAgICAgICAgICBbaWNvbl09XCJnZXRJY29uKClcIiBcclxuICAgICAgICAgICAgaWNvblBvcz1cInJpZ2h0XCIgXHJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHctYnV0dG9uLXRleHQtc21hbGxcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgPC9wLWJ1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
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