@datarailsshared/datarailsshared 1.6.218 → 1.6.222

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.
@@ -333,11 +333,11 @@ export class DialogModalWrapperComponent {
333
333
  i0.ɵɵproperty("ngIf", ctx.dialogData.fields);
334
334
  i0.ɵɵadvance(2);
335
335
  i0.ɵɵproperty("ngIf", ctx.dialogData.cancelButton || ctx.dialogData.acceptButton);
336
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgStyle, i3.CheckboxComponent, i4.DrInputComponent, i5.DrSelectComponent, i6.DrDatePickerComponent, i7.DrButtonComponent, i8.ɵNgNoValidate, i8.NgControlStatus, i8.NgControlStatusGroup, i8.RequiredValidator, i8.FormGroupDirective, i8.FormControlName, i2.AsyncPipe], styles: ["[_nghost-%COMP%]{display:flex;justify-content:space-between;flex-direction:column}.small-modal[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:400px;max-width:400px}.medium-modal[_nghost-%COMP%], .medium-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:632px;max-width:632px}.medium-small-modal[_nghost-%COMP%]{min-height:188px;max-height:345px;min-width:460px;max-width:460px}.medium-modal-max-height[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{max-height:80vh}.header-dialog[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog[_ngcontent-%COMP%] > .icon-close[_ngcontent-%COMP%]{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog[_ngcontent-%COMP%]{font-size:16px;line-height:24px;font-weight:600;display:flex;color:#333;position:static;margin-top:0;margin-bottom:0}.title-dialog__icon[_ngcontent-%COMP%]{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog[_ngcontent-%COMP%]{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close[_ngcontent-%COMP%]{color:#6d6e6f;cursor:pointer}.dr-smart-from[_ngcontent-%COMP%]{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from[_ngcontent-%COMP%] dr-checkbox[_ngcontent-%COMP%]{font-weight:400}.content-dialog[_ngcontent-%COMP%]{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor[_ngcontent-%COMP%]{display:none}.footer-dialog[_ngcontent-%COMP%]{border-top:1px solid #dfe0e3}.buttons-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper[_ngcontent-%COMP%] dr-button[_ngcontent-%COMP%]:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn[_ngcontent-%COMP%]{margin-right:auto}.form-field-error-alert[_ngcontent-%COMP%]{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert[_ngcontent-%COMP%]{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn[_ngcontent-%COMP%]{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}"] }); }
336
+ } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgStyle, i3.CheckboxComponent, i4.DrInputComponent, i5.DrSelectComponent, i6.DrDatePickerComponent, i7.DrButtonComponent, i8.ɵNgNoValidate, i8.NgControlStatus, i8.NgControlStatusGroup, i8.RequiredValidator, i8.FormGroupDirective, i8.FormControlName, i2.AsyncPipe], styles: ["[_nghost-%COMP%]{display:flex;justify-content:space-between;flex-direction:column}.small-modal[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:400px;max-width:400px}.medium-modal[_nghost-%COMP%], .medium-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:632px;max-width:632px}.medium-small-modal[_nghost-%COMP%], .medium-small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:345px;min-width:460px;max-width:460px}.medium-modal-max-height[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%], .medium-small-modal-max-height[_nghost-%COMP%]{max-height:80vh}.header-dialog[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog[_ngcontent-%COMP%] > .icon-close[_ngcontent-%COMP%]{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog[_ngcontent-%COMP%]{font-size:16px;line-height:24px;font-weight:600;display:flex;color:#333;position:static;margin-top:0;margin-bottom:0}.title-dialog__icon[_ngcontent-%COMP%]{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog[_ngcontent-%COMP%]{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close[_ngcontent-%COMP%]{color:#6d6e6f;cursor:pointer}.dr-smart-from[_ngcontent-%COMP%]{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from[_ngcontent-%COMP%] dr-checkbox[_ngcontent-%COMP%]{font-weight:400}.content-dialog[_ngcontent-%COMP%]{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor[_ngcontent-%COMP%]{display:none}.footer-dialog[_ngcontent-%COMP%]{border-top:1px solid #dfe0e3}.buttons-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper[_ngcontent-%COMP%] dr-button[_ngcontent-%COMP%]:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn[_ngcontent-%COMP%]{margin-right:auto}.form-field-error-alert[_ngcontent-%COMP%]{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert[_ngcontent-%COMP%]{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn[_ngcontent-%COMP%]{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}"] }); }
337
337
  }
338
338
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogModalWrapperComponent, [{
339
339
  type: Component,
340
- args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\" [innerHTML]=\"dialogData.content\">\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth,\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [addTag]=\"field.addTag\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"!field.isOptional\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"onCancel()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{font-size:16px;line-height:24px;font-weight:600;display:flex;color:#333;position:static;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
340
+ args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\" [innerHTML]=\"dialogData.content\">\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth,\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [addTag]=\"field.addTag\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"!field.isOptional\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"onCancel()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal,:host.medium-small-modal-max-height{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height,:host.medium-small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{font-size:16px;line-height:24px;font-weight:600;display:flex;color:#333;position:static;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
341
341
  }], function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
342
342
  type: Inject,
343
343
  args: [MAT_DIALOG_DATA]
@@ -242,11 +242,11 @@ export class DialogWrapperComponent {
242
242
  i0.ɵɵproperty("ngIf", ctx.dialogData.details);
243
243
  i0.ɵɵadvance(1);
244
244
  i0.ɵɵproperty("ngIf", ctx.dialogData.cancelButton || ctx.dialogData.acceptButton);
245
- } }, dependencies: [i2.NgClass, i2.NgIf, i3.DrButtonComponent, i4.DrTooltipDirective, i5.DrDetailsListComponent], styles: [".small-modal[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:400px;max-width:400px}.medium-modal[_nghost-%COMP%], .medium-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:632px;max-width:632px}.medium-small-modal[_nghost-%COMP%]{min-height:188px;max-height:345px;min-width:460px;max-width:460px}.medium-modal-max-height[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{max-height:85vh}.large-modal[_nghost-%COMP%]{min-width:750px;max-width:750px}.xl-medium-modal[_nghost-%COMP%]{min-width:850px;max-width:850px}.medium-large-modal[_nghost-%COMP%]{min-width:669px;max-width:669px}.xl-modal[_nghost-%COMP%]{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}.xl-custom-modal[_nghost-%COMP%]{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}.maximized-modal[_nghost-%COMP%]{min-height:calc(100vh - 64px);max-height:calc(100vh - 64px);min-width:calc(100vw - 64px);max-width:calc(100vw - 64px)} .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative} .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:16px;color:#6d6e6f;cursor:pointer} .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-maximize, .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-minimize{z-index:1;position:absolute;right:56px;top:18px;font-size:20px;color:#6d6e6f;cursor:pointer} .dialog-wrapper__header{display:flex;flex-direction:column;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3} .dialog-wrapper__header.with-max-button{padding:16px 76px 16px 32px} .dialog-wrapper__header__title{font-size:16px;line-height:24px;font-weight:600;color:#333;position:static;margin-top:0;margin-bottom:0} .dialog-wrapper__header__subtitle{font-size:14px;line-height:24px;font-weight:400;color:#333;margin:4px 0 0} .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%} .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px} .dialog-wrapper__content__anchor{display:none} .dialog-wrapper__content--no-padding{padding:0} .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative} .dialog-wrapper__content.flex-position{display:flex} .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line} .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px} .dialog-wrapper .confirmation-question{font-weight:500;margin-top:8px} .dialog-wrapper__footer{border-top:1px solid #dfe0e3} .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px} .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2), .dialog-wrapper__footer__buttons>.footer-btn-container:nth-child(n+2){margin-left:12px} .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px} .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}"] }); }
245
+ } }, dependencies: [i2.NgClass, i2.NgIf, i3.DrButtonComponent, i4.DrTooltipDirective, i5.DrDetailsListComponent], styles: [".small-modal[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:400px;max-width:400px}.medium-modal[_nghost-%COMP%], .medium-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:467px;min-width:632px;max-width:632px}.medium-small-modal[_nghost-%COMP%], .medium-small-modal-max-height[_nghost-%COMP%]{min-height:188px;max-height:345px;min-width:460px;max-width:460px}.medium-modal-max-height[_nghost-%COMP%], .small-modal-max-height[_nghost-%COMP%], .medium-small-modal-max-height[_nghost-%COMP%]{max-height:85vh}.large-modal[_nghost-%COMP%]{min-width:750px;max-width:750px}.xl-medium-modal[_nghost-%COMP%]{min-width:850px;max-width:850px}.medium-large-modal[_nghost-%COMP%]{min-width:669px;max-width:669px}.xl-modal[_nghost-%COMP%]{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}.xl-custom-modal[_nghost-%COMP%]{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}.maximized-modal[_nghost-%COMP%]{min-height:calc(100vh - 64px);max-height:calc(100vh - 64px);min-width:calc(100vw - 64px);max-width:calc(100vw - 64px)} .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative} .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:16px;color:#6d6e6f;cursor:pointer} .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-maximize, .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-minimize{z-index:1;position:absolute;right:56px;top:18px;font-size:20px;color:#6d6e6f;cursor:pointer} .dialog-wrapper__header{display:flex;flex-direction:column;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3} .dialog-wrapper__header.with-max-button{padding:16px 76px 16px 32px} .dialog-wrapper__header__title{font-size:16px;line-height:24px;font-weight:600;color:#333;position:static;margin-top:0;margin-bottom:0} .dialog-wrapper__header__subtitle{font-size:14px;line-height:24px;font-weight:400;color:#333;margin:4px 0 0} .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%} .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px} .dialog-wrapper__content__anchor{display:none} .dialog-wrapper__content--no-padding{padding:0} .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative} .dialog-wrapper__content.flex-position{display:flex} .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line} .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px} .dialog-wrapper .confirmation-question{font-weight:500;margin-top:8px} .dialog-wrapper__footer{border-top:1px solid #dfe0e3} .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px} .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2), .dialog-wrapper__footer__buttons>.footer-btn-container:nth-child(n+2){margin-left:12px} .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px} .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}"] }); }
246
246
  }
247
247
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogWrapperComponent, [{
248
248
  type: Component,
249
- args: [{ selector: 'dr-dialog-wrapper', template: "<div class=\"dialog-wrapper\" [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i\n *ngIf=\"dialogData?.showMaximizeBtn\"\n [ngClass]=\"{ 'dr-icon-maximize': !isMaximized, 'dr-icon-minimize': isMaximized }\"\n class=\"min-max-dialog-wrapper-icon\"\n (click)=\"toggleMaximize()\"\n data-test=\"maximize_btn\"></i>\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" [class.with-max-button]=\"dialogData?.showMaximizeBtn\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\" *ngIf=\"dialogData.subtitle\">\n {{ dialogData.subtitle }}\n </h1>\n </div>\n <div\n class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span class=\"dialog-content__wrapper\" [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list\n *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\"\n [collapse]=\"dialogData.details.collapse\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span\n *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper dialog-wrapper__footer__button-wrapper--custom\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button\n (click)=\"onDecline()\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n </span>\n <span\n *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button\n (click)=\"closeDialog()\"\n [theme]=\"dialogData.cancelButton?.theme || 'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\"\n >{{ dialogData.cancelButton.label }}</dr-button\n >\n </span>\n <span\n *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button\n (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </span>\n </div>\n </div>\n</div>\n", styles: [":host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.xl-medium-modal{min-width:850px;max-width:850px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}:host.maximized-modal{min-height:calc(100vh - 64px);max-height:calc(100vh - 64px);min-width:calc(100vw - 64px);max-width:calc(100vw - 64px)}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:16px;color:#6d6e6f;cursor:pointer}::ng-deep .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-maximize,::ng-deep .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-minimize{z-index:1;position:absolute;right:56px;top:18px;font-size:20px;color:#6d6e6f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}::ng-deep .dialog-wrapper__header.with-max-button{padding:16px 76px 16px 32px}::ng-deep .dialog-wrapper__header__title{font-size:16px;line-height:24px;font-weight:600;color:#333;position:static;margin-top:0;margin-bottom:0}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:24px;font-weight:400;color:#333;margin:4px 0 0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper .confirmation-question{font-weight:500;margin-top:8px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #dfe0e3}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2),::ng-deep .dialog-wrapper__footer__buttons>.footer-btn-container:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}\n"] }]
249
+ args: [{ selector: 'dr-dialog-wrapper', template: "<div class=\"dialog-wrapper\" [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i\n *ngIf=\"dialogData?.showMaximizeBtn\"\n [ngClass]=\"{ 'dr-icon-maximize': !isMaximized, 'dr-icon-minimize': isMaximized }\"\n class=\"min-max-dialog-wrapper-icon\"\n (click)=\"toggleMaximize()\"\n data-test=\"maximize_btn\"></i>\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" [class.with-max-button]=\"dialogData?.showMaximizeBtn\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\" *ngIf=\"dialogData.subtitle\">\n {{ dialogData.subtitle }}\n </h1>\n </div>\n <div\n class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span class=\"dialog-content__wrapper\" [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list\n *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\"\n [collapse]=\"dialogData.details.collapse\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span\n *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper dialog-wrapper__footer__button-wrapper--custom\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button\n (click)=\"onDecline()\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n </span>\n <span\n *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button\n (click)=\"closeDialog()\"\n [theme]=\"dialogData.cancelButton?.theme || 'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\"\n >{{ dialogData.cancelButton.label }}</dr-button\n >\n </span>\n <span\n *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button\n (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </span>\n </div>\n </div>\n</div>\n", styles: [":host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal,:host.medium-small-modal-max-height{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height,:host.medium-small-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.xl-medium-modal{min-width:850px;max-width:850px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}:host.maximized-modal{min-height:calc(100vh - 64px);max-height:calc(100vh - 64px);min-width:calc(100vw - 64px);max-width:calc(100vw - 64px)}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:16px;color:#6d6e6f;cursor:pointer}::ng-deep .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-maximize,::ng-deep .dialog-wrapper>.min-max-dialog-wrapper-icon.dr-icon-minimize{z-index:1;position:absolute;right:56px;top:18px;font-size:20px;color:#6d6e6f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}::ng-deep .dialog-wrapper__header.with-max-button{padding:16px 76px 16px 32px}::ng-deep .dialog-wrapper__header__title{font-size:16px;line-height:24px;font-weight:600;color:#333;position:static;margin-top:0;margin-bottom:0}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:24px;font-weight:400;color:#333;margin:4px 0 0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper .confirmation-question{font-weight:500;margin-top:8px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #dfe0e3}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2),::ng-deep .dialog-wrapper__footer__buttons>.footer-btn-container:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}\n"] }]
250
250
  }], function () { return [{ type: i1.MatLegacyDialogRef }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: undefined, decorators: [{
251
251
  type: Inject,
252
252
  args: [MAT_DIALOG_DATA]
@@ -4,6 +4,7 @@ export var DIALOG_SIZE;
4
4
  DIALOG_SIZE["SMALL_MAX_HEIGHT"] = "small-modal-max-height";
5
5
  DIALOG_SIZE["MEDIUM"] = "medium-modal";
6
6
  DIALOG_SIZE["MEDIUM_SMALL"] = "medium-small-modal";
7
+ DIALOG_SIZE["MEDIUM_SMALL_MAX_HEIGHT"] = "medium-small-modal-max-height";
7
8
  DIALOG_SIZE["MEDIUM_MAX_HEIGHT"] = "medium-modal-max-height";
8
9
  DIALOG_SIZE["MEDIUM_LARGE"] = "medium-large-modal";
9
10
  DIALOG_SIZE["LARGE"] = "large-modal";
@@ -24,4 +25,4 @@ export var DIALOG_FIELD_TYPE;
24
25
  DIALOG_FIELD_TYPE["DATE_PICKER"] = "date_picker";
25
26
  DIALOG_FIELD_TYPE["CHECKBOX"] = "checkbox";
26
27
  })(DIALOG_FIELD_TYPE || (DIALOG_FIELD_TYPE = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErSUEsTUFBTSxDQUFOLElBQVksV0FXWDtBQVhELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQiwwREFBMkMsQ0FBQTtJQUMzQyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtJQUNsQywyQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBWFcsV0FBVyxLQUFYLFdBQVcsUUFXdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dDb25maWcgYXMgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEFzeW5jVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbnR5cGUgRGlhbG9nQ29uZmlnID0gT21pdDxNYXREaWFsb2dDb25maWcsICdkYXRhJz47XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuRGlhbG9nV3JhcHBlcigpXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGE8VCA9IGFueT4gZXh0ZW5kcyBEaWFsb2dDb25maWcge1xuICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgICAgICBjbGVhcmFibGU/OiBib29sZWFuO1xuICAgICAgICBzaG93TWF4aW1pemVCdG4/OiBib29sZWFuO1xuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICAgICAgY29udGVudD86IGFueTtcbiAgICAgICAgY29udGVudEljb24/OiB7XG4gICAgICAgICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBhY2NlcHRCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgY3VzdG9tQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICB0b29sdGlwcz86IGFueTtcbiAgICAgICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgICAgICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIGNoaWxkPzogQ29tcG9uZW50VHlwZTxUPjtcbiAgICAgICAgY2hpbGREYXRhPzogUGFydGlhbDxUPjtcbiAgICAgICAgdGhlbWU/OiB7XG4gICAgICAgICAgICB0aGVtZVNpemU/OiBTaXplTW9kYWw7XG4gICAgICAgICAgICB0eXBlPzogJ3N1Y2Nlc3NmdWwnO1xuICAgICAgICAgICAgY29udGVudE5vUGFkZGluZz86IGJvb2xlYW47XG4gICAgICAgICAgICBpc0NvbmZpcm1hdGlvbj86IGJvb2xlYW47XG4gICAgICAgICAgICBub1RoZW1lU2l6ZUNsYXNzPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgY29uZmlybUZuPzogYW55O1xuICAgICAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xuICAgICAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgICAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgICAgIGl0ZW1zPzogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgICAgICAgICAgIGNvbGxhcHNlPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgICAgICBmb3JtV3JhcHBlckNsYXNzPzogc3RyaW5nO1xuICAgIH07XG59XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuQ29uZmlybURpYWxvZygpXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgICBjbGVhcmFibGU/OiBib29sZWFuO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmc7XG4gICAgY29udGVudEljb24/OiB7XG4gICAgICAgIGNsYXNzPzogc3RyaW5nO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICB9O1xuICAgIGFjY2VwdEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICBjYW5jZWxCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgY3VzdG9tQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIHRvb2x0aXBzPzogYW55O1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICBjb25maXJtRm4/OiAocmVzcG9uc2U/OiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcbiAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xuICAgIGZvb3RlclRlbXBsYXRlRGF0YT86IEZvb3RlclRlbXBsYXRlRGF0YTtcbiAgICBkZXRhaWxzPzoge1xuICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgaXRlbXM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICAgIH07XG4gICAgdGhlbWU/OiB7XG4gICAgICAgIHRoZW1lU2l6ZT86IFNpemVNb2RhbDtcbiAgICB9O1xuICAgIGhlYWRlckljb25DbGFzcz86IHN0cmluZztcbiAgICBmb3JtV3JhcHBlckNsYXNzPzogc3RyaW5nO1xufVxuXG4vLyBEYXRhIE9iaiBmb3Igb3BlbkNvbmZpcm1EaWFsb2dNb2RhbCgpXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1EaWFsb2dNb2RhbERhdGEgZXh0ZW5kcyBDb25maXJtRGlhbG9nRGF0YSB7XG4gICAgY29uZmlybUZuPzogYW55O1xuICAgIGhpZGVDbG9zZUJ0bj86IGJvb2xlYW47XG4gICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGVtcGxhdGVEYXRhIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgYWN0aW9uOiAob2JqVG9TYXZlPzogYW55KSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxGb3JtRmllbGQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBURGlhbG9nRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGlzTGFiZWxGdWxsV2lkdGg/OiBib29sZWFuO1xuICAgIGl0ZW1zPzogYW55W107XG4gICAgaXRlbXMkPzogT2JzZXJ2YWJsZTxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueT47XG4gICAgZGVmYXVsdD86IGFueTtcbiAgICBhZGRUYWc/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGJpbmRMYWJlbD86IHN0cmluZztcbiAgICBiaW5kVmFsdWU/OiBzdHJpbmc7XG4gICAgdmFsaWRhdG9ycz86IGFueVtdO1xuICAgIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm5bXTtcbiAgICBkYXRlUGlja2VyRm9ybWF0PzogVGltZWZyYW1lT3B0aW9uO1xuICAgIGZvcm1Hcm91cENsYXNzPzogc3RyaW5nO1xuICAgIGlzT3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaXplTW9kYWwgPVxuICAgIHwgJ3NtYWxsLW1vZGFsJ1xuICAgIHwgJ3NtYWxsLW1vZGFsLW1heC1oZWlnaHQnXG4gICAgfCAnbWVkaXVtLXNtYWxsLW1vZGFsJ1xuICAgIHwgJ21lZGl1bS1tb2RhbCdcbiAgICB8ICdtZWRpdW0tbW9kYWwtbWF4LWhlaWdodCdcbiAgICB8ICdtZWRpdW0tbGFyZ2UtbW9kYWwnXG4gICAgfCAnbGFyZ2UtbW9kYWwnXG4gICAgfCAneGwtbW9kYWwnXG4gICAgfCAneGwtY3VzdG9tLW1vZGFsJ1xuICAgIHwgJ3hsLW1lZGl1bS1tb2RhbCc7XG5cbmV4cG9ydCB0eXBlIERhdGFQcm9wPFQgPSBhbnk+ID0gRGlhbG9nRGF0YTxUPlsnZGF0YSddO1xuXG5leHBvcnQgdHlwZSBEaWFsb2dUaGVtZSA9IERhdGFQcm9wWyd0aGVtZSddO1xuXG5leHBvcnQgdHlwZSBEaWFsb2dGb290ZXJCdXR0b24gPSB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgbG9hZGluZ0xhYmVsPzogc3RyaW5nO1xuICAgIGZ1bmN0aW9ucz86IGFueTtcbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBhY3Rpb25Gbj86IHZvaWQ7XG4gICAgbG9hZGluZz86IGFueTtcbiAgICB0aGVtZT86IEJ1dHRvblR5cGU7XG59O1xuXG5leHBvcnQgZW51bSBESUFMT0dfU0laRSB7XG4gICAgU01BTEwgPSAnc21hbGwtbW9kYWwnLFxuICAgIFNNQUxMX01BWF9IRUlHSFQgPSAnc21hbGwtbW9kYWwtbWF4LWhlaWdodCcsXG4gICAgTUVESVVNID0gJ21lZGl1bS1tb2RhbCcsXG4gICAgTUVESVVNX1NNQUxMID0gJ21lZGl1bS1zbWFsbC1tb2RhbCcsXG4gICAgTUVESVVNX01BWF9IRUlHSFQgPSAnbWVkaXVtLW1vZGFsLW1heC1oZWlnaHQnLFxuICAgIE1FRElVTV9MQVJHRSA9ICdtZWRpdW0tbGFyZ2UtbW9kYWwnLFxuICAgIExBUkdFID0gJ2xhcmdlLW1vZGFsJyxcbiAgICBYX0xBUkdFID0gJ3hsLW1vZGFsJyxcbiAgICBYX0NVU1RPTV9MQVJHRSA9ICd4bC1jdXN0b20tbW9kYWwnLFxuICAgIFhfTUVESVVNID0gJ3hsLW1lZGl1bS1tb2RhbCcsXG59XG5cbmV4cG9ydCBlbnVtIERJQUxPR19CVVRUT05fTEFCRUwge1xuICAgIFNBVkUgPSAnU2F2ZScsXG4gICAgQ0FOQ0VMID0gJ0NhbmNlbCcsXG4gICAgQ0xPU0UgPSAnQ2xvc2UnLFxufVxuXG5leHBvcnQgZW51bSBESUFMT0dfRklFTERfVFlQRSB7XG4gICAgSU5QVVQgPSAnaW5wdXQnLFxuICAgIFNFTEVDVCA9ICdzZWxlY3QnLFxuICAgIERBVEVfUElDS0VSID0gJ2RhdGVfcGlja2VyJyxcbiAgICBDSEVDS0JPWCA9ICdjaGVja2JveCcsXG59XG5cbmV4cG9ydCB0eXBlIFREaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnSkEsTUFBTSxDQUFOLElBQVksV0FZWDtBQVpELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQiwwREFBMkMsQ0FBQTtJQUMzQyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyx3RUFBeUQsQ0FBQTtJQUN6RCw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtJQUNsQywyQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBWlcsV0FBVyxLQUFYLFdBQVcsUUFZdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dDb25maWcgYXMgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEFzeW5jVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbnR5cGUgRGlhbG9nQ29uZmlnID0gT21pdDxNYXREaWFsb2dDb25maWcsICdkYXRhJz47XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuRGlhbG9nV3JhcHBlcigpXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGE8VCA9IGFueT4gZXh0ZW5kcyBEaWFsb2dDb25maWcge1xuICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgICAgICBjbGVhcmFibGU/OiBib29sZWFuO1xuICAgICAgICBzaG93TWF4aW1pemVCdG4/OiBib29sZWFuO1xuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICAgICAgY29udGVudD86IGFueTtcbiAgICAgICAgY29udGVudEljb24/OiB7XG4gICAgICAgICAgICBjbGFzcz86IHN0cmluZztcbiAgICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBhY2NlcHRCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgY3VzdG9tQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICB0b29sdGlwcz86IGFueTtcbiAgICAgICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgICAgICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIGNoaWxkPzogQ29tcG9uZW50VHlwZTxUPjtcbiAgICAgICAgY2hpbGREYXRhPzogUGFydGlhbDxUPjtcbiAgICAgICAgdGhlbWU/OiB7XG4gICAgICAgICAgICB0aGVtZVNpemU/OiBTaXplTW9kYWw7XG4gICAgICAgICAgICB0eXBlPzogJ3N1Y2Nlc3NmdWwnO1xuICAgICAgICAgICAgY29udGVudE5vUGFkZGluZz86IGJvb2xlYW47XG4gICAgICAgICAgICBpc0NvbmZpcm1hdGlvbj86IGJvb2xlYW47XG4gICAgICAgICAgICBub1RoZW1lU2l6ZUNsYXNzPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgY29uZmlybUZuPzogYW55O1xuICAgICAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xuICAgICAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgICAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgICAgIGRldGFpbHM/OiB7XG4gICAgICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgICAgIGl0ZW1zPzogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgICAgICAgICAgIGNvbGxhcHNlPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgICAgICBmb3JtV3JhcHBlckNsYXNzPzogc3RyaW5nO1xuICAgIH07XG59XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuQ29uZmlybURpYWxvZygpXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgICBjbGVhcmFibGU/OiBib29sZWFuO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmc7XG4gICAgY29udGVudEljb24/OiB7XG4gICAgICAgIGNsYXNzPzogc3RyaW5nO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICB9O1xuICAgIGFjY2VwdEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICBjYW5jZWxCdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgY3VzdG9tQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIHRvb2x0aXBzPzogYW55O1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICBjb25maXJtRm4/OiAocmVzcG9uc2U/OiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcbiAgICBmaWVsZHM/OiBNb2RhbEZvcm1GaWVsZFtdO1xuICAgIGZvb3RlclRlbXBsYXRlRGF0YT86IEZvb3RlclRlbXBsYXRlRGF0YTtcbiAgICBkZXRhaWxzPzoge1xuICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgaXRlbXM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICAgIH07XG4gICAgdGhlbWU/OiB7XG4gICAgICAgIHRoZW1lU2l6ZT86IFNpemVNb2RhbDtcbiAgICB9O1xuICAgIGhlYWRlckljb25DbGFzcz86IHN0cmluZztcbiAgICBmb3JtV3JhcHBlckNsYXNzPzogc3RyaW5nO1xufVxuXG4vLyBEYXRhIE9iaiBmb3Igb3BlbkNvbmZpcm1EaWFsb2dNb2RhbCgpXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1EaWFsb2dNb2RhbERhdGEgZXh0ZW5kcyBDb25maXJtRGlhbG9nRGF0YSB7XG4gICAgY29uZmlybUZuPzogYW55O1xuICAgIGhpZGVDbG9zZUJ0bj86IGJvb2xlYW47XG4gICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGVtcGxhdGVEYXRhIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgYWN0aW9uOiAob2JqVG9TYXZlPzogYW55KSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxGb3JtRmllbGQge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBURGlhbG9nRmllbGRUeXBlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGlzTGFiZWxGdWxsV2lkdGg/OiBib29sZWFuO1xuICAgIGl0ZW1zPzogYW55W107XG4gICAgaXRlbXMkPzogT2JzZXJ2YWJsZTxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueT47XG4gICAgZGVmYXVsdD86IGFueTtcbiAgICBhZGRUYWc/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGJpbmRMYWJlbD86IHN0cmluZztcbiAgICBiaW5kVmFsdWU/OiBzdHJpbmc7XG4gICAgdmFsaWRhdG9ycz86IGFueVtdO1xuICAgIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm5bXTtcbiAgICBkYXRlUGlja2VyRm9ybWF0PzogVGltZWZyYW1lT3B0aW9uO1xuICAgIGZvcm1Hcm91cENsYXNzPzogc3RyaW5nO1xuICAgIGlzT3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaXplTW9kYWwgPVxuICAgIHwgJ3NtYWxsLW1vZGFsJ1xuICAgIHwgJ3NtYWxsLW1vZGFsLW1heC1oZWlnaHQnXG4gICAgfCAnbWVkaXVtLXNtYWxsLW1vZGFsJ1xuICAgIHwgJ21lZGl1bS1zbWFsbC1tb2RhbC1tYXgtaGVpZ2h0J1xuICAgIHwgJ21lZGl1bS1tb2RhbCdcbiAgICB8ICdtZWRpdW0tbW9kYWwtbWF4LWhlaWdodCdcbiAgICB8ICdtZWRpdW0tbGFyZ2UtbW9kYWwnXG4gICAgfCAnbGFyZ2UtbW9kYWwnXG4gICAgfCAneGwtbW9kYWwnXG4gICAgfCAneGwtY3VzdG9tLW1vZGFsJ1xuICAgIHwgJ3hsLW1lZGl1bS1tb2RhbCc7XG5cbmV4cG9ydCB0eXBlIERhdGFQcm9wPFQgPSBhbnk+ID0gRGlhbG9nRGF0YTxUPlsnZGF0YSddO1xuXG5leHBvcnQgdHlwZSBEaWFsb2dUaGVtZSA9IERhdGFQcm9wWyd0aGVtZSddO1xuXG5leHBvcnQgdHlwZSBEaWFsb2dGb290ZXJCdXR0b24gPSB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgbG9hZGluZ0xhYmVsPzogc3RyaW5nO1xuICAgIGZ1bmN0aW9ucz86IGFueTtcbiAgICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgICBhY3Rpb25Gbj86IHZvaWQ7XG4gICAgbG9hZGluZz86IGFueTtcbiAgICB0aGVtZT86IEJ1dHRvblR5cGU7XG59O1xuXG5leHBvcnQgZW51bSBESUFMT0dfU0laRSB7XG4gICAgU01BTEwgPSAnc21hbGwtbW9kYWwnLFxuICAgIFNNQUxMX01BWF9IRUlHSFQgPSAnc21hbGwtbW9kYWwtbWF4LWhlaWdodCcsXG4gICAgTUVESVVNID0gJ21lZGl1bS1tb2RhbCcsXG4gICAgTUVESVVNX1NNQUxMID0gJ21lZGl1bS1zbWFsbC1tb2RhbCcsXG4gICAgTUVESVVNX1NNQUxMX01BWF9IRUlHSFQgPSAnbWVkaXVtLXNtYWxsLW1vZGFsLW1heC1oZWlnaHQnLFxuICAgIE1FRElVTV9NQVhfSEVJR0hUID0gJ21lZGl1bS1tb2RhbC1tYXgtaGVpZ2h0JyxcbiAgICBNRURJVU1fTEFSR0UgPSAnbWVkaXVtLWxhcmdlLW1vZGFsJyxcbiAgICBMQVJHRSA9ICdsYXJnZS1tb2RhbCcsXG4gICAgWF9MQVJHRSA9ICd4bC1tb2RhbCcsXG4gICAgWF9DVVNUT01fTEFSR0UgPSAneGwtY3VzdG9tLW1vZGFsJyxcbiAgICBYX01FRElVTSA9ICd4bC1tZWRpdW0tbW9kYWwnLFxufVxuXG5leHBvcnQgZW51bSBESUFMT0dfQlVUVE9OX0xBQkVMIHtcbiAgICBTQVZFID0gJ1NhdmUnLFxuICAgIENBTkNFTCA9ICdDYW5jZWwnLFxuICAgIENMT1NFID0gJ0Nsb3NlJyxcbn1cblxuZXhwb3J0IGVudW0gRElBTE9HX0ZJRUxEX1RZUEUge1xuICAgIElOUFVUID0gJ2lucHV0JyxcbiAgICBTRUxFQ1QgPSAnc2VsZWN0JyxcbiAgICBEQVRFX1BJQ0tFUiA9ICdkYXRlX3BpY2tlcicsXG4gICAgQ0hFQ0tCT1ggPSAnY2hlY2tib3gnLFxufVxuXG5leHBvcnQgdHlwZSBURGlhbG9nRmllbGRUeXBlID0gRElBTE9HX0ZJRUxEX1RZUEU7XG4iXX0=
@@ -1,10 +1,10 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { PickerComponent } from '@ctrl/ngx-emoji-mart';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
3
2
  import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
4
3
  import { DrButtonComponent } from '../dr-inputs/button/button.component';
5
4
  import { EmojiPickerMode } from './emoji-picker.types';
6
5
  import { NgIf, NgTemplateOutlet } from '@angular/common';
7
6
  import * as i0 from "@angular/core";
7
+ const _c0 = ["pickerContainer"];
8
8
  function EmojiPickerComponent_ng_container_0_ng_template_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
9
9
  i0.ɵɵelementContainer(0);
10
10
  } }
@@ -25,55 +25,117 @@ function EmojiPickerComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
25
25
  i0.ɵɵlistener("click", function EmojiPickerComponent_ng_container_0_Template_dr_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.toggleEmojiPicker()); });
26
26
  i0.ɵɵelementEnd();
27
27
  i0.ɵɵtemplate(4, EmojiPickerComponent_ng_container_0_ng_template_4_Template, 2, 1, "ng-template", 4);
28
- i0.ɵɵlistener("backdropClick", function EmojiPickerComponent_ng_container_0_Template_ng_template_backdropClick_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.closeEmojiPicker()); });
28
+ i0.ɵɵlistener("backdropClick", function EmojiPickerComponent_ng_container_0_Template_ng_template_backdropClick_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.destroyEmojiPicker()); });
29
29
  i0.ɵɵelementContainerEnd();
30
30
  } if (rf & 2) {
31
31
  const _r4 = i0.ɵɵreference(3);
32
32
  const ctx_r0 = i0.ɵɵnextContext();
33
33
  i0.ɵɵadvance(4);
34
- i0.ɵɵproperty("cdkConnectedOverlayOrigin", _r4)("cdkConnectedOverlayOpen", ctx_r0.emojisOpened)("cdkConnectedOverlayHasBackdrop", true)("cdkConnectedOverlayBackdropClass", "emoji-modal-backdrop");
34
+ i0.ɵɵproperty("cdkConnectedOverlayOrigin", _r4)("cdkConnectedOverlayOpen", ctx_r0.emojiOverlayOpened)("cdkConnectedOverlayPositions", ctx_r0.positions)("cdkConnectedOverlayPush", true)("cdkConnectedOverlayViewportMargin", 16)("cdkConnectedOverlayHasBackdrop", true)("cdkConnectedOverlayBackdropClass", "emoji-modal-backdrop");
35
35
  } }
36
36
  function EmojiPickerComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
37
- const _r11 = i0.ɵɵgetCurrentView();
38
- i0.ɵɵelementStart(0, "emoji-mart", 7);
39
- i0.ɵɵlistener("emojiSelect", function EmojiPickerComponent_ng_template_1_Template_emoji_mart_emojiSelect_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.onEmojiSelected($event)); });
40
- i0.ɵɵelementEnd();
41
- } if (rf & 2) {
42
- i0.ɵɵproperty("darkMode", false);
37
+ i0.ɵɵelementContainer(0, null, 7);
43
38
  } }
44
39
  export class EmojiPickerComponent {
45
- constructor() {
40
+ constructor(cdr) {
41
+ this.cdr = cdr;
46
42
  this.mode = EmojiPickerMode.BUTTON;
47
43
  this.emojiSelected = new EventEmitter();
48
- this.emojisOpened = false;
44
+ this.emojiOverlayOpened = false;
49
45
  this.EmojiPickerMode = EmojiPickerMode;
46
+ this.positions = [
47
+ {
48
+ originX: 'start',
49
+ originY: 'top',
50
+ overlayX: 'start',
51
+ overlayY: 'bottom',
52
+ offsetY: -8,
53
+ },
54
+ {
55
+ originX: 'start',
56
+ originY: 'bottom',
57
+ overlayX: 'start',
58
+ overlayY: 'top',
59
+ offsetY: 8,
60
+ },
61
+ {
62
+ originX: 'end',
63
+ originY: 'top',
64
+ overlayX: 'end',
65
+ overlayY: 'bottom',
66
+ offsetY: -8,
67
+ },
68
+ {
69
+ originX: 'end',
70
+ originY: 'bottom',
71
+ overlayX: 'end',
72
+ overlayY: 'top',
73
+ offsetY: 8,
74
+ },
75
+ ];
50
76
  }
51
- toggleEmojiPicker() {
52
- this.emojisOpened = !this.emojisOpened;
77
+ async ngAfterViewInit() {
78
+ if (this.mode === EmojiPickerMode.FLAT) {
79
+ await this.renderEmojiPicker();
80
+ }
53
81
  }
54
- closeEmojiPicker() {
55
- this.emojisOpened = false;
82
+ async toggleEmojiPicker() {
83
+ this.emojiOverlayOpened = !this.emojiOverlayOpened;
84
+ if (this.emojiOverlayOpened && !this.pickerComponentRef) {
85
+ // Wait for the overlay to render the template
86
+ setTimeout(async () => {
87
+ await this.renderEmojiPicker();
88
+ this.cdr.markForCheck();
89
+ }, 0);
90
+ }
56
91
  }
57
92
  onEmojiSelected(event) {
58
93
  const emojiReaction = { id: event.emoji.id, emoji: event.emoji.native };
59
94
  this.emojiSelected.emit(emojiReaction);
60
- this.closeEmojiPicker();
95
+ if (this.mode === EmojiPickerMode.BUTTON) {
96
+ this.destroyEmojiPicker();
97
+ }
98
+ }
99
+ destroyEmojiPicker() {
100
+ this.emojiOverlayOpened = false;
101
+ this.pickerComponentRef?.destroy();
102
+ this.pickerComponentRef = null;
61
103
  }
62
- /** @nocollapse */ static { this.ɵfac = function EmojiPickerComponent_Factory(t) { return new (t || EmojiPickerComponent)(); }; }
63
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: EmojiPickerComponent, selectors: [["dr-emoji-picker"]], inputs: { mode: "mode" }, outputs: { emojiSelected: "emojiSelected" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["flatTpl", ""], ["theme", "icon", "icon", "dr-icon-emoji-smiley", "cdkOverlayOrigin", "", 3, "click"], ["emojiButton", "", "trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "emoji-picker-popup"], [4, "ngTemplateOutlet"], ["emoji", "thumbsup", "color", "#0D99FF", 1, "emoji-picker-section", 3, "darkMode", "emojiSelect"]], template: function EmojiPickerComponent_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵtemplate(0, EmojiPickerComponent_ng_container_0_Template, 5, 4, "ng-container", 0);
65
- i0.ɵɵtemplate(1, EmojiPickerComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
104
+ async renderEmojiPicker() {
105
+ if (!this.PickerComponent) {
106
+ // See details here: https://github.com/scttcper/ngx-emoji-mart
107
+ this.PickerComponent = await import('@ctrl/ngx-emoji-mart').then((m) => m.PickerComponent);
108
+ }
109
+ this.pickerComponentRef = this.pickerContainer.createComponent(this.PickerComponent);
110
+ this.pickerComponentRef.instance.emoji = 'thumbsup';
111
+ this.pickerComponentRef.instance.darkMode = false;
112
+ this.pickerComponentRef.instance.color = '#0D99FF';
113
+ this.pickerComponentRef.instance.emojiSelect.subscribe((event) => this.onEmojiSelected(event));
114
+ this.cdr.detectChanges();
115
+ }
116
+ /** @nocollapse */ static { this.ɵfac = function EmojiPickerComponent_Factory(t) { return new (t || EmojiPickerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
117
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: EmojiPickerComponent, selectors: [["dr-emoji-picker"]], viewQuery: function EmojiPickerComponent_Query(rf, ctx) { if (rf & 1) {
118
+ i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
119
+ } if (rf & 2) {
120
+ let _t;
121
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pickerContainer = _t.first);
122
+ } }, inputs: { mode: "mode" }, outputs: { emojiSelected: "emojiSelected" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["flatTpl", ""], ["theme", "icon", "icon", "dr-icon-emoji-smiley", "cdkOverlayOrigin", "", 3, "click"], ["emojiButton", "", "trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPush", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "emoji-picker-popup"], [4, "ngTemplateOutlet"], ["pickerContainer", ""]], template: function EmojiPickerComponent_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵtemplate(0, EmojiPickerComponent_ng_container_0_Template, 5, 7, "ng-container", 0);
124
+ i0.ɵɵtemplate(1, EmojiPickerComponent_ng_template_1_Template, 2, 0, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
66
125
  } if (rf & 2) {
67
126
  const _r1 = i0.ɵɵreference(2);
68
127
  i0.ɵɵproperty("ngIf", ctx.mode === ctx.EmojiPickerMode.BUTTON)("ngIfElse", _r1);
69
- } }, dependencies: [DrButtonComponent, PickerComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], styles: [".emoji-picker-popup[_ngcontent-%COMP%]{position:relative;overflow:hidden;margin-top:8px;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%]{display:block}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%] section.emoji-mart{border-color:transparent}"], changeDetection: 0 }); }
128
+ } }, dependencies: [DrButtonComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], styles: [".emoji-picker-popup[_ngcontent-%COMP%]{position:relative;overflow:hidden;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px;width:352px;height:435px;background:#fff;animation:_ngcontent-%COMP%_fadeIn .2s ease-in-out}.emoji-picker-popup[_ngcontent-%COMP%] section.emoji-mart{border-color:transparent;height:100%;overflow-y:auto}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%]{display:block;height:100%}.emoji-picker-popup[_ngcontent-%COMP%] .emoji-picker-section[_ngcontent-%COMP%] section.emoji-mart{border-color:transparent}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}"], changeDetection: 0 }); }
70
129
  }
71
130
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmojiPickerComponent, [{
72
131
  type: Component,
73
- args: [{ selector: 'dr-emoji-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DrButtonComponent, PickerComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], template: "<ng-container *ngIf=\"mode === EmojiPickerMode.BUTTON; else flatTpl\">\n <dr-button\n #emojiButton\n theme=\"icon\"\n icon=\"dr-icon-emoji-smiley\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"toggleEmojiPicker()\"></dr-button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"emojisOpened\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'emoji-modal-backdrop'\"\n (backdropClick)=\"closeEmojiPicker()\">\n <div class=\"emoji-picker-popup\">\n <ng-container *ngTemplateOutlet=\"flatTpl\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #flatTpl>\n <!-- See details here: https://github.com/scttcper/ngx-emoji-mart -->\n <emoji-mart\n emoji=\"thumbsup\"\n color=\"#0D99FF\"\n [darkMode]=\"false\"\n (emojiSelect)=\"onEmojiSelected($event)\"\n class=\"emoji-picker-section\"></emoji-mart>\n</ng-template>\n", styles: [".emoji-picker-popup{position:relative;overflow:hidden;margin-top:8px;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px}.emoji-picker-popup .emoji-picker-section{display:block}.emoji-picker-popup .emoji-picker-section ::ng-deep section.emoji-mart{border-color:transparent}\n"] }]
74
- }], null, { mode: [{
132
+ args: [{ selector: 'dr-emoji-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [DrButtonComponent, CdkOverlayOrigin, CdkConnectedOverlay, NgIf, NgTemplateOutlet], template: "<ng-container *ngIf=\"mode === EmojiPickerMode.BUTTON; else flatTpl\">\n <dr-button\n #emojiButton\n theme=\"icon\"\n icon=\"dr-icon-emoji-smiley\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n (click)=\"toggleEmojiPicker()\"></dr-button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"emojiOverlayOpened\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayViewportMargin]=\"16\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'emoji-modal-backdrop'\"\n (backdropClick)=\"destroyEmojiPicker()\">\n <div class=\"emoji-picker-popup\">\n <ng-container *ngTemplateOutlet=\"flatTpl\"></ng-container>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #flatTpl>\n <!-- Placeholder where the emoji picker will be rendered -->\n <ng-container #pickerContainer></ng-container>\n</ng-template>\n", styles: [".emoji-picker-popup{position:relative;overflow:hidden;z-index:1000;box-shadow:0 2px 36px #00000026;border-radius:12px;width:352px;height:435px;background:#fff;animation:fadeIn .2s ease-in-out}.emoji-picker-popup ::ng-deep section.emoji-mart{border-color:transparent;height:100%;overflow-y:auto}.emoji-picker-popup .emoji-picker-section{display:block;height:100%}.emoji-picker-popup .emoji-picker-section ::ng-deep section.emoji-mart{border-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"] }]
133
+ }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { mode: [{
75
134
  type: Input
76
135
  }], emojiSelected: [{
77
136
  type: Output
137
+ }], pickerContainer: [{
138
+ type: ViewChild,
139
+ args: ['pickerContainer', { read: ViewContainerRef }]
78
140
  }] }); })();
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2Vtb2ppLXBpY2tlci9lbW9qaS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZW1vamktcGlja2VyL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0lDVzdDLHdCQUF5RDs7O0lBRDdELDhCQUFnQztJQUM1QixvSEFBeUQ7SUFDN0QsaUJBQU07Ozs7SUFEYSxlQUF5QjtJQUF6QixzQ0FBeUI7Ozs7SUFoQnBELDZCQUFvRTtJQUNoRSx1Q0FNa0M7SUFBOUIsNktBQVMsZUFBQSwwQkFBbUIsQ0FBQSxJQUFDO0lBQUMsaUJBQVk7SUFDOUMsb0dBVWM7SUFKViwrTEFBaUIsZUFBQSx5QkFBa0IsQ0FBQSxJQUFDO0lBSzVDLDBCQUFlOzs7O0lBVFAsZUFBcUM7SUFBckMsK0NBQXFDLGdEQUFBLHdDQUFBLDREQUFBOzs7O0lBYXpDLHFDQUtpQztJQUQ3QixpTUFBZSxlQUFBLCtCQUF1QixDQUFBLElBQUM7SUFDVixpQkFBYTs7SUFGMUMsZ0NBQWtCOztBRFgxQixNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU2EsU0FBSSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBRTlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0QsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDWCxvQkFBZSxHQUFHLGVBQWUsQ0FBQztLQWV4RDtJQWJHLGlCQUFpQjtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXlEO1FBQ3JFLE1BQU0sYUFBYSxHQUFtQixFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQXBCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQjtZQ2ZqQyx1RkFtQmU7WUFFZixzSEFRYzs7O1lBN0JDLDhEQUF1QyxpQkFBQTs0QkRheEMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7O3VGQUVsRyxvQkFBb0I7Y0FSaEMsU0FBUzsyQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO2dCQUduRyxJQUFJO2tCQUFaLEtBQUs7WUFFSSxhQUFhO2tCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAY3RybC9uZ3gtZW1vamktbWFydCc7XG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9kci1pbnB1dHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1vamlQaWNrZXJNb2RlLCBJRW1vamlSZWFjdGlvbiB9IGZyb20gJy4vZW1vamktcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWVtb2ppLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZW1vamktcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRHJCdXR0b25Db21wb25lbnQsIFBpY2tlckNvbXBvbmVudCwgQ2RrT3ZlcmxheU9yaWdpbiwgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEVtb2ppUGlja2VyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBtb2RlOiBFbW9qaVBpY2tlck1vZGUgPSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OO1xuXG4gICAgQE91dHB1dCgpIGVtb2ppU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPElFbW9qaVJlYWN0aW9uPigpO1xuXG4gICAgZW1vamlzT3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IEVtb2ppUGlja2VyTW9kZSA9IEVtb2ppUGlja2VyTW9kZTtcblxuICAgIHRvZ2dsZUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppc09wZW5lZCA9ICF0aGlzLmVtb2ppc09wZW5lZDtcbiAgICB9XG5cbiAgICBjbG9zZUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppc09wZW5lZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uRW1vamlTZWxlY3RlZChldmVudDogeyBlbW9qaTogeyBuYXRpdmU6IHN0cmluZzsgaWQ6IHN0cmluZyB8IG51bWJlciB9IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZW1vamlSZWFjdGlvbjogSUVtb2ppUmVhY3Rpb24gPSB7IGlkOiBldmVudC5lbW9qaS5pZCwgZW1vamk6IGV2ZW50LmVtb2ppLm5hdGl2ZSB9O1xuICAgICAgICB0aGlzLmVtb2ppU2VsZWN0ZWQuZW1pdChlbW9qaVJlYWN0aW9uKTtcbiAgICAgICAgdGhpcy5jbG9zZUVtb2ppUGlja2VyKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09IEVtb2ppUGlja2VyTW9kZS5CVVRUT047IGVsc2UgZmxhdFRwbFwiPlxuICAgIDxkci1idXR0b25cbiAgICAgICAgI2Vtb2ppQnV0dG9uXG4gICAgICAgIHRoZW1lPVwiaWNvblwiXG4gICAgICAgIGljb249XCJkci1pY29uLWVtb2ppLXNtaWxleVwiXG4gICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUVtb2ppUGlja2VyKClcIj48L2RyLWJ1dHRvbj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImVtb2ppc09wZW5lZFwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzc109XCInZW1vamktbW9kYWwtYmFja2Ryb3AnXCJcbiAgICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2VFbW9qaVBpY2tlcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1waWNrZXItcG9wdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmbGF0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmbGF0VHBsPlxuICAgIDwhLS0gU2VlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL3NjdHRjcGVyL25neC1lbW9qaS1tYXJ0IC0tPlxuICAgIDxlbW9qaS1tYXJ0XG4gICAgICAgIGVtb2ppPVwidGh1bWJzdXBcIlxuICAgICAgICBjb2xvcj1cIiMwRDk5RkZcIlxuICAgICAgICBbZGFya01vZGVdPVwiZmFsc2VcIlxuICAgICAgICAoZW1vamlTZWxlY3QpPVwib25FbW9qaVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImVtb2ppLXBpY2tlci1zZWN0aW9uXCI+PC9lbW9qaS1tYXJ0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2Vtb2ppLXBpY2tlci9lbW9qaS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZW1vamktcGlja2VyL2Vtb2ppLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUNJN0Msd0JBQXlEOzs7SUFEN0QsOEJBQWdDO0lBQzVCLG9IQUF5RDtJQUM3RCxpQkFBTTs7OztJQURhLGVBQXlCO0lBQXpCLHNDQUF5Qjs7OztJQW5CcEQsNkJBQW9FO0lBQ2hFLHVDQU1rQztJQUE5Qiw2S0FBUyxlQUFBLDBCQUFtQixDQUFBLElBQUM7SUFBQyxpQkFBWTtJQUM5QyxvR0FhYztJQUpWLCtMQUFpQixlQUFBLDJCQUFvQixDQUFBLElBQUM7SUFLOUMsMEJBQWU7Ozs7SUFaUCxlQUFxQztJQUFyQywrQ0FBcUMsc0RBQUEsa0RBQUEsaUNBQUEseUNBQUEsd0NBQUEsNERBQUE7OztJQWdCekMsaUNBQThDOztBRERsRCxNQUFNLE9BQU8sb0JBQW9CO0lBNEM3QixZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTNDMUMsU0FBSSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBRTlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFJN0QsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRWpCLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGNBQVMsR0FBNkI7WUFDckQ7Z0JBQ0ksT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUNkO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7YUFDYjtZQUNEO2dCQUNJLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ2Q7WUFDRDtnQkFDSSxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7YUFDYjtTQUNKLENBQUM7SUFLb0QsQ0FBQztJQUV2RCxLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRTtZQUNwQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3JELDhDQUE4QztZQUM5QyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1Q7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXlEO1FBQ3JFLE1BQU0sYUFBYSxHQUFtQixFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLCtEQUErRDtZQUMvRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUNwRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0ExRlEsb0JBQW9CO21HQUFwQixvQkFBb0I7bUNBS1MsZ0JBQWdCOzs7OztZQzlCMUQsdUZBc0JlO1lBRWYsc0hBR2M7OztZQTNCQyw4REFBdUMsaUJBQUE7NEJEdUJ4QyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCOzt1RkFFakYsb0JBQW9CO2NBUmhDLFNBQVM7MkJBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29FQUdsRixJQUFJO2tCQUFaLEtBQUs7WUFFSSxhQUFhO2tCQUF0QixNQUFNO1lBRW1ELGVBQWU7a0JBQXhFLFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW4sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbW9qaVBpY2tlck1vZGUsIElFbW9qaVJlYWN0aW9uIH0gZnJvbSAnLi9lbW9qaS1waWNrZXIudHlwZXMnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZW1vamktcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW1vamktcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbW9qaS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtEckJ1dHRvbkNvbXBvbmVudCwgQ2RrT3ZlcmxheU9yaWdpbiwgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEVtb2ppUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgbW9kZTogRW1vamlQaWNrZXJNb2RlID0gRW1vamlQaWNrZXJNb2RlLkJVVFRPTjtcblxuICAgIEBPdXRwdXQoKSBlbW9qaVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxJRW1vamlSZWFjdGlvbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3BpY2tlckNvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBwaWNrZXJDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgZW1vamlPdmVybGF5T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgRW1vamlQaWNrZXJNb2RlID0gRW1vamlQaWNrZXJNb2RlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3NpdGlvbnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRZOiAtOCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA4LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTgsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA4LFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBwcml2YXRlIHBpY2tlckNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIHByaXZhdGUgUGlja2VyQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBFbW9qaVBpY2tlck1vZGUuRkxBVCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW5kZXJFbW9qaVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgdG9nZ2xlRW1vamlQaWNrZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuZW1vamlPdmVybGF5T3BlbmVkID0gIXRoaXMuZW1vamlPdmVybGF5T3BlbmVkO1xuICAgICAgICBpZiAodGhpcy5lbW9qaU92ZXJsYXlPcGVuZWQgJiYgIXRoaXMucGlja2VyQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICAvLyBXYWl0IGZvciB0aGUgb3ZlcmxheSB0byByZW5kZXIgdGhlIHRlbXBsYXRlXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJlbmRlckVtb2ppUGlja2VyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRW1vamlTZWxlY3RlZChldmVudDogeyBlbW9qaTogeyBuYXRpdmU6IHN0cmluZzsgaWQ6IHN0cmluZyB8IG51bWJlciB9IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZW1vamlSZWFjdGlvbjogSUVtb2ppUmVhY3Rpb24gPSB7IGlkOiBldmVudC5lbW9qaS5pZCwgZW1vamk6IGV2ZW50LmVtb2ppLm5hdGl2ZSB9O1xuICAgICAgICB0aGlzLmVtb2ppU2VsZWN0ZWQuZW1pdChlbW9qaVJlYWN0aW9uKTtcblxuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lFbW9qaVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveUVtb2ppUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtb2ppT3ZlcmxheU9wZW5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyByZW5kZXJFbW9qaVBpY2tlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLlBpY2tlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU2VlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL3NjdHRjcGVyL25neC1lbW9qaS1tYXJ0XG4gICAgICAgICAgICB0aGlzLlBpY2tlckNvbXBvbmVudCA9IGF3YWl0IGltcG9ydCgnQGN0cmwvbmd4LWVtb2ppLW1hcnQnKS50aGVuKChtKSA9PiBtLlBpY2tlckNvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBpY2tlckNvbXBvbmVudFJlZiA9IHRoaXMucGlja2VyQ29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLlBpY2tlckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucGlja2VyQ29tcG9uZW50UmVmLmluc3RhbmNlLmVtb2ppID0gJ3RodW1ic3VwJztcbiAgICAgICAgdGhpcy5waWNrZXJDb21wb25lbnRSZWYuaW5zdGFuY2UuZGFya01vZGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5waWNrZXJDb21wb25lbnRSZWYuaW5zdGFuY2UuY29sb3IgPSAnIzBEOTlGRic7XG4gICAgICAgIHRoaXMucGlja2VyQ29tcG9uZW50UmVmLmluc3RhbmNlLmVtb2ppU2VsZWN0LnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4gdGhpcy5vbkVtb2ppU2VsZWN0ZWQoZXZlbnQpKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSBFbW9qaVBpY2tlck1vZGUuQlVUVE9OOyBlbHNlIGZsYXRUcGxcIj5cbiAgICA8ZHItYnV0dG9uXG4gICAgICAgICNlbW9qaUJ1dHRvblxuICAgICAgICB0aGVtZT1cImljb25cIlxuICAgICAgICBpY29uPVwiZHItaWNvbi1lbW9qaS1zbWlsZXlcIlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVFbW9qaVBpY2tlcigpXCI+PC9kci1idXR0b24+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJlbW9qaU92ZXJsYXlPcGVuZWRcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJwb3NpdGlvbnNcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2hdPVwidHJ1ZVwiXG4gICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5Vmlld3BvcnRNYXJnaW5dPVwiMTZcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3NdPVwiJ2Vtb2ppLW1vZGFsLWJhY2tkcm9wJ1wiXG4gICAgICAgIChiYWNrZHJvcENsaWNrKT1cImRlc3Ryb3lFbW9qaVBpY2tlcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1waWNrZXItcG9wdXBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmbGF0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmbGF0VHBsPlxuICAgIDwhLS0gUGxhY2Vob2xkZXIgd2hlcmUgdGhlIGVtb2ppIHBpY2tlciB3aWxsIGJlIHJlbmRlcmVkIC0tPlxuICAgIDxuZy1jb250YWluZXIgI3BpY2tlckNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=