@pepperi-addons/ngx-lib 0.4.0-angular14.9 → 0.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chips/chips.component.d.ts +93 -0
- package/chips/chips.component.theme.scss +58 -0
- package/chips/chips.model.d.ts +13 -0
- package/chips/chips.module.d.ts +20 -0
- package/chips/chips.service.d.ts +15 -0
- package/{plugin → chips}/index.d.ts +1 -1
- package/chips/public-api.d.ts +3 -0
- package/color/color-picker.component.d.ts +1 -1
- package/core/common/model/wapi.model.d.ts +1 -0
- package/core/common/services/addon.service.d.ts +13 -9
- package/core/common/services/utilities.service.d.ts +5 -4
- package/core/customization/customization.model.d.ts +7 -0
- package/esm2020/address/address.component.mjs +1 -1
- package/esm2020/attachment/attachment.component.mjs +1 -1
- package/esm2020/checkbox/checkbox.component.mjs +1 -1
- package/esm2020/chips/chips.component.mjs +158 -0
- package/esm2020/chips/chips.model.mjs +2 -0
- package/esm2020/chips/chips.module.mjs +81 -0
- package/esm2020/chips/chips.service.mjs +44 -0
- package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
- package/esm2020/chips/public-api.mjs +7 -0
- package/esm2020/color/color-picker.component.mjs +4 -4
- package/esm2020/color/color.component.mjs +1 -1
- package/esm2020/core/common/model/wapi.model.mjs +1 -1
- package/esm2020/core/common/services/addon.service.mjs +43 -38
- package/esm2020/core/common/services/utilities.service.mjs +66 -13
- package/esm2020/core/customization/customization.model.mjs +10 -1
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
- package/esm2020/core/http/services/loader.service.mjs +4 -4
- package/esm2020/date/date.component.mjs +3 -3
- package/esm2020/field-title/field-title.component.mjs +6 -3
- package/esm2020/form/field-generator.component.mjs +7 -7
- package/esm2020/form/form.component.mjs +12 -3
- package/esm2020/form/internal-button.component.mjs +1 -1
- package/esm2020/form/internal-field-generator.component.mjs +3 -3
- package/esm2020/form/internal-form.component.mjs +4 -2
- package/esm2020/form/internal-list.component.mjs +5 -2
- package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
- package/esm2020/icon/icon-generated-all.model.mjs +8 -1
- package/esm2020/icon/icon-generated.model.mjs +29 -1
- package/esm2020/image/image.component.mjs +1 -1
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
- package/esm2020/link/link.component.mjs +1 -1
- package/esm2020/list/list-pager.component.mjs +1 -1
- package/esm2020/list/list.component.mjs +5 -2
- package/esm2020/list/virtual-scroller.mjs +11 -10
- package/esm2020/menu/menu.component.mjs +11 -3
- package/esm2020/page-layout/page-layout.component.mjs +3 -3
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
- package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
- package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
- package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
- package/esm2020/remote-loader/public-api.mjs +2 -1
- package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
- package/esm2020/remote-loader/remote-loader.component.mjs +37 -59
- package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
- package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
- package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
- package/esm2020/select/select.component.mjs +33 -7
- package/esm2020/side-bar/side-bar.component.mjs +11 -27
- package/esm2020/side-bar/side-bar.module.mjs +7 -3
- package/esm2020/signature/signature.component.mjs +1 -1
- package/esm2020/size-detector/size-detector.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +1 -1
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
- package/esm2020/textarea/textarea.component.mjs +1 -1
- package/esm2020/textbox/textbox.component.mjs +48 -7
- package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +23 -12
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +249 -105
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +49 -8
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +128 -57
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +26 -12
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +230 -98
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +48 -8
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +125 -58
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +2 -1
- package/form/field-generator.component.d.ts +1 -1
- package/group-buttons/group-buttons.component.d.ts +2 -1
- package/icon/icon-generated-all.model.d.ts +7 -0
- package/icon/icon-generated.model.d.ts +29 -1
- package/menu/menu.component.d.ts +2 -0
- package/package.json +14 -13
- package/page-layout/page-layout.component.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +7 -1
- package/remote-loader/addon-block-loader.component.d.ts +10 -6
- package/remote-loader/addon-block-loader.service.d.ts +2 -3
- package/remote-loader/public-api.d.ts +1 -0
- package/remote-loader/remote-loader-element.component.d.ts +30 -0
- package/remote-loader/remote-loader.component.d.ts +3 -5
- package/remote-loader/remote-loader.model.d.ts +16 -11
- package/remote-loader/remote-loader.module.d.ts +8 -6
- package/remote-loader/remote-loader.service.d.ts +5 -7
- package/select/select.component.d.ts +10 -4
- package/side-bar/side-bar.component.d.ts +3 -3
- package/src/assets/i18n/en.ngx-lib.json +4 -0
- package/src/core/style/components/checkbox.scss +20 -1
- package/src/core/style/components/general.scss +5 -4
- package/textbox/textbox.component.d.ts +16 -1
- package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +0 -5
- package/esm2020/plugin/plugin-proxy.component.mjs +0 -90
- package/esm2020/plugin/plugin.model.mjs +0 -2
- package/esm2020/plugin/public-api.mjs +0 -6
- package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +0 -107
- package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +0 -101
- package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
- package/plugin/plugin-proxy.component.d.ts +0 -22
- package/plugin/plugin.model.d.ts +0 -5
- package/plugin/public-api.d.ts +0 -2
|
@@ -147,7 +147,7 @@ export class PepDateComponent {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
setDateModel() {
|
|
150
|
-
if (this.value
|
|
150
|
+
if (!this.value ||
|
|
151
151
|
this.value === '' ||
|
|
152
152
|
this.value.indexOf('1900-1-1') >= 0 ||
|
|
153
153
|
this.value.indexOf('1900-01-01') >= 0 ||
|
|
@@ -217,7 +217,7 @@ PepDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
217
217
|
{ provide: DatetimeAdapter, useClass: MomentUtcDateTimeAdapter },
|
|
218
218
|
//{ provide: MAT_DATETIME_FORMATS, useValue: MAT_NATIVE_DATETIME_FORMATS }
|
|
219
219
|
{ provide: MAT_DATETIME_FORMATS, useValue: MY_DATE_FORMATS },
|
|
220
|
-
], viewQueries: [{ propertyName: "datetimePicker", first: true, predicate: ["datetimePicker"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-showIcon=\"showIcon\">\n <mat-form-field appearance=\"outline\">\n <input #input [id]=\"key\" title=\"{{ formattedValue }}\" matInput class=\"body-sm\" autocomplete=\"false\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left'}\"\n [(ngModel)]=\"dateModel\" [ngModelOptions]=\"{standalone: true}\" [matDatetimepicker]=\"datetimePicker\"\n [min]=\"minDate\" [max]=\"maxDate\" [required]=\"mandatory\" [disabled]=\"disabled\"\n (dateChange)=\"onDateChange($event)\" (click)=\"openDatetimePicker(datetimePicker)\"\n (blur)=\"onBlur($event)\" />\n <mat-error *ngIf=\"renderError\"><span class=\"body-xs\"\n [title]=\"mandatory && formattedValue.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: {field: label})\"\n [innerText]=\"mandatory && formattedValue.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: {field: label})\"></span>\n </mat-error>\n <pep-textbox-icon *ngIf=\"renderSymbol && showIcon && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\" (iconClick)=\"openDatetimePicker(datetimePicker)\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && showIcon && xAlignment == 'left'\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\" (iconClick)=\"openDatetimePicker(datetimePicker)\">\n </pep-textbox-icon>\n <mat-datetimepicker #datetimePicker [type]=\"showTime ? 'datetime' : 'date'\" [openOnFocus]=\"false\"\n [touchUi]=\"true\" [timeInterval]=\"1\"></mat-datetimepicker>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: true}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: false}\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled }\"\n [ngStyle]=\"{ color: textColor }\" [class]=\"'text-align-' + xAlignment\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\">{{ formattedValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: true}\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngStyle]=\"{ color: textColor }\"\n [ngClass]=\"{readonly: disabled}\" title=\"{{ formattedValue }}\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\"> </span>\n </ng-template>\n </ng-template>\n </ng-container>\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .mat-datetimepicker-toggle.mat-button,::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .mat-datetimepicker-toggle.mat-button{padding:0}\n", "::ng-deep .mat-datetimepicker-dialog{max-width:90vw!important}::ng-deep .mat-datetimepicker-content{border-radius:inherit}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button{content:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==);transform:rotate(90deg)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:hover{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:hover.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:active{fill:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:active.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:disabled{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:disabled.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button{content:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==);transform:rotate(-90deg)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:hover{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:hover.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:active{fill:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:active.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:disabled{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:disabled.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-table-header,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-table-header{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-label,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-label{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:hover .mat-datetimepicker-calendar-body-cell-content,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:hover .mat-datetimepicker-calendar-body-cell-content{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content{box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsl(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content:not(.keep-background-on-focus),::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content:not(.keep-background-on-focus){background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),98%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),calc(var(--pep-color-regular-l, 10%) + 30%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:hover{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),98%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:active{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),88%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),var(--pep-color-regular-l, 10%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon.stroke,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:hover{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 8%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:active{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 15%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.12)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell:hover{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon.stroke,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:hover{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 8%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:active{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 15%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "directive", type: i6.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i11.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength"] }, { kind: "component", type: i12.PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: ["value", "label", "type", "disabled"], outputs: ["iconClick"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
220
|
+
], viewQueries: [{ propertyName: "datetimePicker", first: true, predicate: ["datetimePicker"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-showIcon=\"showIcon\">\n <mat-form-field appearance=\"outline\">\n <input #input [id]=\"key\" title=\"{{ formattedValue }}\" matInput class=\"body-sm\" autocomplete=\"false\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left'}\"\n [(ngModel)]=\"dateModel\" [ngModelOptions]=\"{standalone: true}\" [matDatetimepicker]=\"datetimePicker\"\n [min]=\"minDate\" [max]=\"maxDate\" [required]=\"mandatory\" [disabled]=\"disabled\"\n (dateChange)=\"onDateChange($event)\" (click)=\"openDatetimePicker(datetimePicker)\"\n (blur)=\"onBlur($event)\" />\n <mat-error *ngIf=\"renderError\"><span class=\"body-xs\"\n [title]=\"mandatory && formattedValue.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: {field: label})\"\n [innerText]=\"mandatory && formattedValue.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: {field: label})\"></span>\n </mat-error>\n <pep-textbox-icon *ngIf=\"renderSymbol && showIcon && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\" (iconClick)=\"openDatetimePicker(datetimePicker)\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && showIcon && xAlignment == 'left'\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\" (iconClick)=\"openDatetimePicker(datetimePicker)\">\n </pep-textbox-icon>\n <mat-datetimepicker #datetimePicker [type]=\"showTime ? 'datetime' : 'date'\" [openOnFocus]=\"false\"\n [touchUi]=\"true\" [timeInterval]=\"1\"></mat-datetimepicker>\n </mat-form-field>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: true}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: false}\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled }\"\n [ngStyle]=\"{ color: textColor }\" [class]=\"'text-align-' + xAlignment\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }} </span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\">{{ formattedValue }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: {showIcon: true}\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngStyle]=\"{ color: textColor }\"\n [ngClass]=\"{readonly: disabled}\" title=\"{{ formattedValue }}\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\"> </span>\n </ng-template>\n </ng-template>\n </ng-container>\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .mat-datetimepicker-toggle.mat-button,::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .mat-datetimepicker-toggle.mat-button{padding:0}\n", "::ng-deep .mat-datetimepicker-dialog{max-width:90vw!important}::ng-deep .mat-datetimepicker-content{border-radius:inherit}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-header .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button{content:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==);transform:rotate(90deg)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:hover{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:hover.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:active{fill:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:active.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:disabled{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-previous-button svg:disabled.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button{content:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==);transform:rotate(-90deg)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.8)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:hover{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:hover.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.97)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:active{fill:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:active.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:disabled{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content .mat-month-content .mat-datetimepicker-calendar-controls .mat-datetimepicker-calendar-next-button svg:disabled.stroke{fill:unset;stroke:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.35)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-table-header,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-table-header{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-label,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-label{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:hover .mat-datetimepicker-calendar-body-cell-content,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:hover .mat-datetimepicker-calendar-body-cell-content{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content{box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsl(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content:not(.keep-background-on-focus),::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell:active .mat-datetimepicker-calendar-body-cell-content:not(.keep-background-on-focus){background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),98%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),calc(var(--pep-color-regular-l, 10%) + 30%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:hover{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),98%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-today:active{background:hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),88%);box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16);border:1px solid hsl(var(--pep-color-regular-h, 0),var(--pep-color-regular-s, 0%),var(--pep-color-regular-l, 10%));box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon.stroke,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:hover{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 8%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-year-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-month-view .mat-datetimepicker-calendar-table .mat-datetimepicker-calendar-body .mat-datetimepicker-calendar-body-cell .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected:active{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 15%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.12)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-center .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hand:before .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell{color:hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell:hover{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected{font-weight:var(--pep-font-weight-bold, 600);background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),var(--pep-color-strong-l, 27%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon.stroke,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected .svg-icon.stroke{fill:unset;stroke:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:hover,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:hover{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 8%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-hours .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:active,::ng-deep .mat-datetimepicker-content .mat-datetimepicker-calendar-content mat-datetimepicker-clock .mat-datetimepicker-clock .mat-datetimepicker-clock-minutes .mat-datetimepicker-clock-cell.mat-datetimepicker-clock-cell-selected:active{background:hsl(var(--pep-color-strong-h, 78),var(--pep-color-strong-s, 87%),calc(var(--pep-color-strong-l, 27%) - 15%));box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);box-shadow:0 0 0 var(--pep-spacing-xs, .25rem) hsla(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%),.5)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatDatetimepickerComponent, selector: "mat-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "startView", "mode", "timeInterval", "ariaNextMonthLabel", "ariaPrevMonthLabel", "ariaNextYearLabel", "ariaPrevYearLabel", "preventSameDateTimeSelection", "panelClass", "startAt", "openOnFocus", "type", "touchUi", "disabled"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["matDatetimepicker"] }, { kind: "directive", type: i6.MatDatetimepickerInputDirective, selector: "input[matDatetimepicker]", inputs: ["matDatetimepicker", "matDatepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i11.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }, { kind: "component", type: i12.PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: ["value", "label", "type", "disabled"], outputs: ["iconClick"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
221
221
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepDateComponent, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
args: [{ selector: 'pep-date', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -292,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
292
292
|
type: ViewChild,
|
|
293
293
|
args: ['input']
|
|
294
294
|
}] } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixTQUFTLEdBS1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RixPQUFPLEVBQ0gsZUFBZSxFQUVmLG9CQUFvQixHQUN2QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFDSCxnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLDRCQUE0QixFQUU1QixZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQVUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUUvRixtQ0FBbUM7QUFDbkMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxhQUErQjtJQUN0RCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNuRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBMEJELE1BQU0sT0FBTyxnQkFBZ0I7SUF5R3pCLFlBQ1ksT0FBeUIsRUFDekIsT0FBbUIsRUFDbkIsYUFBK0IsRUFDL0IsZ0JBQXFDLEVBQ3JDLG9CQUE2QyxFQUM3QyxRQUFtQjtRQUxuQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FB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SUYsT0FBTztzQkFEVixLQUFLO2dCQXFCRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSztnQkFPRixZQUFZO3NCQURmLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFFc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBRVAsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgUmVuZGVyZXIyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICAgIERhdGV0aW1lQWRhcHRlcixcbiAgICBNYXREYXRldGltZXBpY2tlcklucHV0RXZlbnQsXG4gICAgTUFUX0RBVEVUSU1FX0ZPUk1BVFMsXG59IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XG5pbXBvcnQgeyBNb21lbnREYXRldGltZUFkYXB0ZXIgfSBmcm9tICdAbWF0LWRhdGV0aW1lcGlja2VyL21vbWVudCc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwVXRpbGl0aWVzU2VydmljZSxcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBEYXRlRmllbGRUeXBlLFxuICAgIFBlcERhdGVGaWVsZCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgTW9tZW50LCB1dGMgfSBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IE1vbWVudFV0Y0RhdGVBZGFwdGVyLCBNb21lbnRVdGNEYXRlVGltZUFkYXB0ZXIsIE1ZX0RBVEVfRk9STUFUUyB9IGZyb20gJy4vZGF0ZS5tb2RlbCc7XG5cbi8vIFNldCB0aGUgY2FsdHVyZSBmb3IgdGhlIGFkYXB0ZXIuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsdHVyZShsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgY29uc3QgY3VsdHVyZSA9IGxheW91dFNlcnZpY2UuZ2V0Q3VycmVudExhbmd1YWdlKCk7XG4gICAgcmV0dXJuIGN1bHR1cmU7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWRhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5zY3NzJywgJy4vZGF0ZS5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgLy8gVGhlIGxvY2FsZSB3b3VsZCB0eXBpY2FsbHkgYmUgcHJvdmlkZWQgb24gdGhlIHJvb3QgbW9kdWxlIG9mIHlvdXIgYXBwbGljYXRpb24uIFdlIGRvIGl0IGF0XG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgbGV2ZWwgaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxuICAgICAgICAvLyB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdoZScgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZUZhY3Rvcnk6IGdldENhbHR1cmUsIGRlcHM6W1BlcExheW91dFNlcnZpY2VdIH0sXG5cbiAgICAgICAgLy8gYE1vbWVudERhdGVBZGFwdGVyYCBhbmQgYE1BVF9NT01FTlRfREFURV9GT1JNQVRTYCBjYW4gYmUgYXV0b21hdGljYWxseSBwcm92aWRlZCBieSBpbXBvcnRpbmdcbiAgICAgICAgLy8gYE1hdE1vbWVudERhdGVNb2R1bGVgIGluIHlvdXIgYXBwbGljYXRpb25zIHJvb3QgbW9kdWxlLiBXZSBwcm92aWRlIGl0IGF0IHRoZSBjb21wb25lbnQgbGV2ZWxcbiAgICAgICAgLy8gaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxuICAgICAgICAvL3sgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcbiAgICAgICAgLy97IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTU9NRU5UX0RBVEVfRk9STUFUUyB9LFxuICAgICAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50VXRjRGF0ZUFkYXB0ZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfREFURV9GT1JNQVRTIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRGF0ZXRpbWVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50VXRjRGF0ZVRpbWVBZGFwdGVyIH0sXG4gICAgICAgIC8veyBwcm92aWRlOiBNQVRfREFURVRJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1BVF9OQVRJVkVfREFURVRJTUVfRk9STUFUUyB9XG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RBVEVUSU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9EQVRFX0ZPUk1BVFMgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG5cbiAgICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXREYXRlTW9kZWwoKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgZm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogUGVwRGF0ZUZpZWxkVHlwZSA9ICdkYXRlJztcbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHR5cGU6IFBlcERhdGVGaWVsZFR5cGUpIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMuc2hvd1RpbWUgPSB0eXBlID09PSAnZGF0ZXRpbWUnO1xuICAgIH1cbiAgICBnZXQgdHlwZSgpOiBQZXBEYXRlRmllbGRUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvciA9ICcnO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBNaW5pbXVtIGluIHRoaWNrc1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1pblZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID4gMCkge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUodmFsdWUgKiAxMDAwICogNjAgKiA2MCAqIDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1heGltdW0gaW4gdGhpY2tzXG4gICAgQElucHV0KClcbiAgICBzZXQgbWF4VmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAodmFsdWUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDAgKiA2MCAqIDYwICogMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWluaW11bSBpbiBkYXRlXG4gICAgQElucHV0KClcbiAgICBzZXQgbWluRGF0ZVZhbHVlKGRhdGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBkYXRlID8gbmV3IERhdGUoZGF0ZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIE1heGltdW0gaW4gZGF0ZVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1heERhdGVWYWx1ZShkYXRlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXhEYXRlID0gZGF0ZSA/IG5ldyBEYXRlKGRhdGUpIDogbnVsbDtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdkYXRlJztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZW5kZXJFcnJvciA9IHRydWU7XG4gICAgQElucHV0KCkgcmVuZGVyU3ltYm9sID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKSBkYXRldGltZVBpY2tlcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBkYXRlTW9kZWw6IE1vbWVudDtcbiAgICBtaW5EYXRlOiBEYXRlO1xuICAgIG1heERhdGU6IERhdGU7XG4gICAgc2hvd0RhdGVwaWNrZXIgPSBmYWxzZTtcbiAgICBzaG93VGltZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8YW55PixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXRpbGl0aWVzU2VydmljZTogUGVwVXRpbGl0aWVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBEYXRlRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJUaXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9OT19TUEFDSU5HX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBpcyBub3Qgd29ya2luZyBmb3IgdGhlIGRhdGVNb2RlbCBzbyBJIHVzZSBzZXQgY2FsdXJlIGluIHRoZSB1c2VGYWN0b3J5OiBnZXRDYWx0dXJlIGZ1bmN0aW9uLlxuICAgICAgICAvLyBjb25zdCBjdWx0dXJlID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgICAgICAvLyB0aGlzLmFkYXB0ZXIuc2V0TG9jYWxlKGN1bHR1cmUpO1xuXG4gICAgICAgIHRoaXMuc2V0RGF0ZU1vZGVsKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9ybWF0dGVkVmFsdWVGcm9tTW9kZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGVNb2RlbCA9PT0gbnVsbCB8fCAhdGhpcy5kYXRlTW9kZWwuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLnNob3dUaW1lXG4gICAgICAgICAgICAgICAgPyBNWV9EQVRFX0ZPUk1BVFMuZGlzcGxheS5kYXRldGltZUlucHV0XG4gICAgICAgICAgICAgICAgOiBNWV9EQVRFX0ZPUk1BVFMuZGlzcGxheS5kYXRlSW5wdXQ7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5hZGFwdGVyLmZvcm1hdCh0aGlzLmRhdGVNb2RlbCwgZm9ybWF0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGF0ZU1vZGVsKCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlID09PSBudWxsIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlID09PSAnJyB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZS5pbmRleE9mKCcxOTAwLTEtMScpID49IDAgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUuaW5kZXhPZignMTkwMC0wMS0wMScpID49IDAgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUuaW5kZXhPZignMTk3MC0xLTEnKSA+PSAwIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlLmluZGV4T2YoJzE5NzAtMDEtMDEnKSA+PSAwXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSAnJztcbiAgICAgICAgICAgIHRoaXMuZGF0ZU1vZGVsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlRGF0ZSA9IHRoaXMudXRpbGl0aWVzU2VydmljZS5wYXJzZURhdGUodGhpcy52YWx1ZSwgdGhpcy5zaG93VGltZSk7XG4gICAgICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IHV0YyhwYXJzZURhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRGb3JtYXR0ZWRWYWx1ZUZyb21Nb2RlbCgpO1xuICAgIH1cblxuICAgIG9wZW5EYXRldGltZVBpY2tlcihkYXRldGltZVBpY2tlcik6IHZvaWQge1xuICAgICAgICBkYXRldGltZVBpY2tlci5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgZGF0ZXRpbWVQaWNrZXIub3BlbigpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIERvbid0IHJlbW92ZSB0aGUgdGltZW91dCBjYXVzZSBhIGJ1ZyBESS0xNzgxOS5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0luRWRpdE1vZGUgJiYgIXRoaXMuZGF0ZXRpbWVQaWNrZXIub3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25EYXRlQ2hhbmdlKGV2ZW50OiBNYXREYXRldGltZXBpY2tlcklucHV0RXZlbnQ8TW9tZW50Pik6IHZvaWQge1xuICAgICAgICBsZXQgdmFsdWUgPSAnJztcbiAgICAgICAgaWYgKGV2ZW50LnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGU6IERhdGUgPSBldmVudC52YWx1ZS50b0RhdGUoKTtcblxuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnV0aWxpdGllc1NlcnZpY2Uuc3RyaW5naWZ5RGF0ZShkYXRlLCB0aGlzLnNob3dUaW1lKTtcblxuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAgICAgICAgICB0aGlzLnNldEZvcm1hdHRlZFZhbHVlRnJvbU1vZGVsKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICAvLyB0aGlzLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0luRWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBjYXJkVGVtcGxhdGVDbGlja2VkKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5vcGVuRGF0ZXRpbWVQaWNrZXIodGhpcy5kYXRldGltZVBpY2tlcik7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG5nLXRlbXBsYXRlICNwZXBUZW1wbGF0ZSBsZXQtc2hvd0ljb249XCJzaG93SWNvblwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXQgW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBtYXRJbnB1dCBjbGFzcz1cImJvZHktc21cIiBhdXRvY29tcGxldGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogdGV4dENvbG9yLCAndGV4dC1hbGlnbic6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcicgPyAnY2VudGVyJyA6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyA/ICdyaWdodCcgOiAnbGVmdCd9XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGVNb2RlbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIiBbbWF0RGF0ZXRpbWVwaWNrZXJdPVwiZGF0ZXRpbWVQaWNrZXJcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiIFttYXhdPVwibWF4RGF0ZVwiIFtyZXF1aXJlZF09XCJtYW5kYXRvcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCIgKGNsaWNrKT1cIm9wZW5EYXRldGltZVBpY2tlcihkYXRldGltZVBpY2tlcilcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJyZW5kZXJFcnJvclwiPjxzcGFuIGNsYXNzPVwiYm9keS14c1wiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJtYW5kYXRvcnkgJiYgZm9ybWF0dGVkVmFsdWUubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZToge2ZpZWxkOiBsYWJlbH0pIDogKCdNRVNTQUdFUy5FUlJPUl9JU19OT1RfVkFMSUQnIHwgdHJhbnNsYXRlOiB7ZmllbGQ6IGxhYmVsfSlcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIm1hbmRhdG9yeSAmJiBmb3JtYXR0ZWRWYWx1ZS5sZW5ndGggPT0gMCA/ICgnTUVTU0FHRVMuRVJST1JfSVNfUkVRVUlSRUQnIHwgdHJhbnNsYXRlOiB7ZmllbGQ6IGxhYmVsfSkgOiAoJ01FU1NBR0VTLkVSUk9SX0lTX05PVF9WQUxJRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9KVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPHBlcC10ZXh0Ym94LWljb24gKm5nSWY9XCJyZW5kZXJTeW1ib2wgJiYgc2hvd0ljb24gJiYgeEFsaWdubWVudCA9PSAncmlnaHQnXCIgbWF0UHJlZml4IFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsXCIgW3R5cGVdPVwidHlwZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChpY29uQ2xpY2spPVwib3BlbkRhdGV0aW1lUGlja2VyKGRhdGV0aW1lUGlja2VyKVwiPlxuICAgICAgICAgICAgPC9wZXAtdGV4dGJveC1pY29uPlxuICAgICAgICAgICAgPHBlcC10ZXh0Ym94LWljb24gKm5nSWY9XCJyZW5kZXJTeW1ib2wgJiYgc2hvd0ljb24gJiYgeEFsaWdubWVudCA9PSAnbGVmdCdcIiBtYXRTdWZmaXggW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwibGFiZWxcIiBbdHlwZV09XCJ0eXBlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGljb25DbGljayk9XCJvcGVuRGF0ZXRpbWVQaWNrZXIoZGF0ZXRpbWVQaWNrZXIpXCI+XG4gICAgICAgICAgICA8L3BlcC10ZXh0Ym94LWljb24+XG4gICAgICAgICAgICA8bWF0LWRhdGV0aW1lcGlja2VyICNkYXRldGltZVBpY2tlciBbdHlwZV09XCJzaG93VGltZSA/ICdkYXRldGltZScgOiAnZGF0ZSdcIiBbb3Blbk9uRm9jdXNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0b3VjaFVpXT1cInRydWVcIiBbdGltZUludGVydmFsXT1cIjFcIj48L21hdC1kYXRldGltZXBpY2tlcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJ1wiPlxuICAgICAgICA8cGVwLWZpZWxkLXRpdGxlICpuZ0lmPVwicmVuZGVyVGl0bGVcIiBbbGFiZWxdPVwibGFiZWxcIiBbbWFuZGF0b3J5XT1cIm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbeEFsaWdubWVudF09XCJ4QWxpZ25tZW50XCIgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIj5cbiAgICAgICAgPC9wZXAtZmllbGQtdGl0bGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZTsgY29udGV4dDoge3Nob3dJY29uOiB0cnVlfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdjYXJkJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNJbkVkaXRNb2RlOyB0aGVuIGVkaXRCbG9jazsgZWxzZSByZWFkT25seUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdEJsb2NrPlxuICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J29uZS1yb3cnOiByb3dTcGFuID09PSAxfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZTsgY29udGV4dDoge3Nob3dJY29uOiBmYWxzZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5QmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWNhcmQtaW5wdXQgY2FyZC1mbGV4LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvbmUtcm93Jzogcm93U3BhbiA9PT0gMSwgJ3BlcC1idXR0b24gd2Vhayc6IGlzQWN0aXZlICYmICFkaXNhYmxlZCB9XCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0ZXh0Q29sb3IgfVwiIFtjbGFzc109XCIndGV4dC1hbGlnbi0nICsgeEFsaWdubWVudFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IGNhcmRUZW1wbGF0ZUNsaWNrZWQoJGV2ZW50KSA6ICcnXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93VGl0bGUgJiYgbGFiZWwgIT0gJydcIiBjbGFzcz1cImJvZHkteHMgdGl0bGVcIiB0aXRsZT1cInt7IGxhYmVsIH19XCI+e3sgbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgfX0mbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lkXT1cImtleVwiIHRpdGxlPVwie3sgZm9ybWF0dGVkVmFsdWUgfX1cIiBjbGFzcz1cImJvZHktc20gdmFsdWVcIj57eyBmb3JtYXR0ZWRWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaXNBY3RpdmUgJiYgIWRpc2FibGVkXCIgY2xhc3M9XCJwZXAtYnV0dG9uIHdlYWsgY2FyZC1lZGl0LWJ1dHRvblwiIG1hdC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2VkaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAndGFibGUnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0FjdGl2ZSAmJiAhZGlzYWJsZWQ7IHRoZW4gc2VsZWN0ZWRCbG9jazsgZWxzZSBub3RTZWxlY3RlZEJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRCbG9jaz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZTsgY29udGV4dDoge3Nob3dJY29uOiB0cnVlfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vdFNlbGVjdGVkQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0dGVkVmFsdWU/Lmxlbmd0aCA+IDA7IHRoZW4gbm90RW1wdHlCbG9jazsgZWxzZSBlbXB0eUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdEVtcHR5QmxvY2s+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCIgY2xhc3M9XCJib2R5LXNtIHBlcC1yZXBvcnQtaW5wdXRcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0ZXh0Q29sb3IgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie3JlYWRvbmx5OiBkaXNhYmxlZH1cIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCI+e3sgZm9ybWF0dGVkVmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlCbG9jaz5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaWRdPVwia2V5XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixTQUFTLEdBS1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RixPQUFPLEVBQ0gsZUFBZSxFQUVmLG9CQUFvQixHQUN2QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFDSCxnQkFBZ0IsRUFHaEIsdUJBQXVCLEVBRXZCLDRCQUE0QixFQUU1QixZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQVUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUUvRixtQ0FBbUM7QUFDbkMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxhQUErQjtJQUN0RCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNuRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBMEJELE1BQU0sT0FBTyxnQkFBZ0I7SUF5R3pCLFlBQ1ksT0FBeUIsRUFDekIsT0FBbUIsRUFDbkIsYUFBK0IsRUFDL0IsZ0JBQXFDLEVBQ3JDLG9CQUE2QyxFQUM3QyxRQUFtQjtRQUxuQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FB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TztzQkFEVixLQUFLO2dCQXFCRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSztnQkFPRixZQUFZO3NCQURmLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFFc0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBRVAsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgUmVuZGVyZXIyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICAgIERhdGV0aW1lQWRhcHRlcixcbiAgICBNYXREYXRldGltZXBpY2tlcklucHV0RXZlbnQsXG4gICAgTUFUX0RBVEVUSU1FX0ZPUk1BVFMsXG59IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvY29yZSc7XG5pbXBvcnQgeyBNb21lbnREYXRldGltZUFkYXB0ZXIgfSBmcm9tICdAbWF0LWRhdGV0aW1lcGlja2VyL21vbWVudCc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwVXRpbGl0aWVzU2VydmljZSxcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBEYXRlRmllbGRUeXBlLFxuICAgIFBlcERhdGVGaWVsZCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgTW9tZW50LCB1dGMgfSBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCB7IE1vbWVudFV0Y0RhdGVBZGFwdGVyLCBNb21lbnRVdGNEYXRlVGltZUFkYXB0ZXIsIE1ZX0RBVEVfRk9STUFUUyB9IGZyb20gJy4vZGF0ZS5tb2RlbCc7XG5cbi8vIFNldCB0aGUgY2FsdHVyZSBmb3IgdGhlIGFkYXB0ZXIuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FsdHVyZShsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgY29uc3QgY3VsdHVyZSA9IGxheW91dFNlcnZpY2UuZ2V0Q3VycmVudExhbmd1YWdlKCk7XG4gICAgcmV0dXJuIGN1bHR1cmU7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWRhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5zY3NzJywgJy4vZGF0ZS5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgLy8gVGhlIGxvY2FsZSB3b3VsZCB0eXBpY2FsbHkgYmUgcHJvdmlkZWQgb24gdGhlIHJvb3QgbW9kdWxlIG9mIHlvdXIgYXBwbGljYXRpb24uIFdlIGRvIGl0IGF0XG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgbGV2ZWwgaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxuICAgICAgICAvLyB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdoZScgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZUZhY3Rvcnk6IGdldENhbHR1cmUsIGRlcHM6W1BlcExheW91dFNlcnZpY2VdIH0sXG5cbiAgICAgICAgLy8gYE1vbWVudERhdGVBZGFwdGVyYCBhbmQgYE1BVF9NT01FTlRfREFURV9GT1JNQVRTYCBjYW4gYmUgYXV0b21hdGljYWxseSBwcm92aWRlZCBieSBpbXBvcnRpbmdcbiAgICAgICAgLy8gYE1hdE1vbWVudERhdGVNb2R1bGVgIGluIHlvdXIgYXBwbGljYXRpb25zIHJvb3QgbW9kdWxlLiBXZSBwcm92aWRlIGl0IGF0IHRoZSBjb21wb25lbnQgbGV2ZWxcbiAgICAgICAgLy8gaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxuICAgICAgICAvL3sgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcbiAgICAgICAgLy97IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTU9NRU5UX0RBVEVfRk9STUFUUyB9LFxuICAgICAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50VXRjRGF0ZUFkYXB0ZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfREFURV9GT1JNQVRTIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRGF0ZXRpbWVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50VXRjRGF0ZVRpbWVBZGFwdGVyIH0sXG4gICAgICAgIC8veyBwcm92aWRlOiBNQVRfREFURVRJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1BVF9OQVRJVkVfREFURVRJTUVfRk9STUFUUyB9XG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RBVEVUSU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9EQVRFX0ZPUk1BVFMgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG5cbiAgICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXREYXRlTW9kZWwoKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgZm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogUGVwRGF0ZUZpZWxkVHlwZSA9ICdkYXRlJztcbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHR5cGU6IFBlcERhdGVGaWVsZFR5cGUpIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMuc2hvd1RpbWUgPSB0eXBlID09PSAnZGF0ZXRpbWUnO1xuICAgIH1cbiAgICBnZXQgdHlwZSgpOiBQZXBEYXRlRmllbGRUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvciA9ICcnO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBNaW5pbXVtIGluIHRoaWNrc1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1pblZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlID4gMCkge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUodmFsdWUgKiAxMDAwICogNjAgKiA2MCAqIDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1heGltdW0gaW4gdGhpY2tzXG4gICAgQElucHV0KClcbiAgICBzZXQgbWF4VmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAodmFsdWUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDAgKiA2MCAqIDYwICogMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWluaW11bSBpbiBkYXRlXG4gICAgQElucHV0KClcbiAgICBzZXQgbWluRGF0ZVZhbHVlKGRhdGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm1pbkRhdGUgPSBkYXRlID8gbmV3IERhdGUoZGF0ZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIE1heGltdW0gaW4gZGF0ZVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1heERhdGVWYWx1ZShkYXRlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXhEYXRlID0gZGF0ZSA/IG5ldyBEYXRlKGRhdGUpIDogbnVsbDtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdkYXRlJztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZW5kZXJFcnJvciA9IHRydWU7XG4gICAgQElucHV0KCkgcmVuZGVyU3ltYm9sID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKSBkYXRldGltZVBpY2tlcjogYW55O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICBkYXRlTW9kZWw6IE1vbWVudDtcbiAgICBtaW5EYXRlOiBEYXRlO1xuICAgIG1heERhdGU6IERhdGU7XG4gICAgc2hvd0RhdGVwaWNrZXIgPSBmYWxzZTtcbiAgICBzaG93VGltZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8YW55PixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXRpbGl0aWVzU2VydmljZTogUGVwVXRpbGl0aWVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBEYXRlRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJUaXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9OT19TUEFDSU5HX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBpcyBub3Qgd29ya2luZyBmb3IgdGhlIGRhdGVNb2RlbCBzbyBJIHVzZSBzZXQgY2FsdXJlIGluIHRoZSB1c2VGYWN0b3J5OiBnZXRDYWx0dXJlIGZ1bmN0aW9uLlxuICAgICAgICAvLyBjb25zdCBjdWx0dXJlID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgICAgICAvLyB0aGlzLmFkYXB0ZXIuc2V0TG9jYWxlKGN1bHR1cmUpO1xuXG4gICAgICAgIHRoaXMuc2V0RGF0ZU1vZGVsKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9ybWF0dGVkVmFsdWVGcm9tTW9kZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGVNb2RlbCA9PT0gbnVsbCB8fCAhdGhpcy5kYXRlTW9kZWwuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLnNob3dUaW1lXG4gICAgICAgICAgICAgICAgPyBNWV9EQVRFX0ZPUk1BVFMuZGlzcGxheS5kYXRldGltZUlucHV0XG4gICAgICAgICAgICAgICAgOiBNWV9EQVRFX0ZPUk1BVFMuZGlzcGxheS5kYXRlSW5wdXQ7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlZFZhbHVlID0gdGhpcy5hZGFwdGVyLmZvcm1hdCh0aGlzLmRhdGVNb2RlbCwgZm9ybWF0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGF0ZU1vZGVsKCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9PT0gJycgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUuaW5kZXhPZignMTkwMC0xLTEnKSA+PSAwIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlLmluZGV4T2YoJzE5MDAtMDEtMDEnKSA+PSAwIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlLmluZGV4T2YoJzE5NzAtMS0xJykgPj0gMCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZS5pbmRleE9mKCcxOTcwLTAxLTAxJykgPj0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZURhdGUgPSB0aGlzLnV0aWxpdGllc1NlcnZpY2UucGFyc2VEYXRlKHRoaXMudmFsdWUsIHRoaXMuc2hvd1RpbWUpO1xuICAgICAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSB1dGMocGFyc2VEYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0Rm9ybWF0dGVkVmFsdWVGcm9tTW9kZWwoKTtcbiAgICB9XG5cbiAgICBvcGVuRGF0ZXRpbWVQaWNrZXIoZGF0ZXRpbWVQaWNrZXIpOiB2b2lkIHtcbiAgICAgICAgZGF0ZXRpbWVQaWNrZXIub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIGRhdGV0aW1lUGlja2VyLm9wZW4oKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBEb24ndCByZW1vdmUgdGhlIHRpbWVvdXQgY2F1c2UgYSBidWcgREktMTc4MTkuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJbkVkaXRNb2RlICYmICF0aGlzLmRhdGV0aW1lUGlja2VyLm9wZW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIG9uRGF0ZUNoYW5nZShldmVudDogTWF0RGF0ZXRpbWVwaWNrZXJJbnB1dEV2ZW50PE1vbWVudD4pOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlID0gJyc7XG4gICAgICAgIGlmIChldmVudC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlOiBEYXRlID0gZXZlbnQudmFsdWUudG9EYXRlKCk7XG5cbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLnN0cmluZ2lmeURhdGUoZGF0ZSwgdGhpcy5zaG93VGltZSk7XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgZm9ybWF0dGVkIHZhbHVlLlxuICAgICAgICAgICAgdGhpcy5zZXRGb3JtYXR0ZWRWYWx1ZUZyb21Nb2RlbCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS51cGRhdGVGb3JtRmllbGRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuZm9ybSxcbiAgICAgICAgICAgIHRoaXMua2V5LFxuICAgICAgICAgICAgLy8gdGhpcy5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJbkVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0luRWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgY2FyZFRlbXBsYXRlQ2xpY2tlZChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW5FZGl0TW9kZSA9IHRydWU7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMub3BlbkRhdGV0aW1lUGlja2VyKHRoaXMuZGF0ZXRpbWVQaWNrZXIpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjcGVwVGVtcGxhdGUgbGV0LXNob3dJY29uPVwic2hvd0ljb25cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0IFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCIgbWF0SW5wdXQgY2xhc3M9XCJib2R5LXNtXCIgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IHRleHRDb2xvciwgJ3RleHQtYWxpZ24nOiB4QWxpZ25tZW50ID09ICdjZW50ZXInID8gJ2NlbnRlcicgOiB4QWxpZ25tZW50ID09ICdyaWdodCcgPyAncmlnaHQnIDogJ2xlZnQnfVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRlTW9kZWxcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIgW21hdERhdGV0aW1lcGlja2VyXT1cImRhdGV0aW1lUGlja2VyXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIiBbcmVxdWlyZWRdPVwibWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIChjbGljayk9XCJvcGVuRGF0ZXRpbWVQaWNrZXIoZGF0ZXRpbWVQaWNrZXIpXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicmVuZGVyRXJyb3JcIj48c3BhbiBjbGFzcz1cImJvZHkteHNcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwibWFuZGF0b3J5ICYmIGZvcm1hdHRlZFZhbHVlLmxlbmd0aCA9PSAwID8gKCdNRVNTQUdFUy5FUlJPUl9JU19SRVFVSVJFRCcgfCB0cmFuc2xhdGU6IHtmaWVsZDogbGFiZWx9KSA6ICgnTUVTU0FHRVMuRVJST1JfSVNfTk9UX1ZBTElEJyB8IHRyYW5zbGF0ZToge2ZpZWxkOiBsYWJlbH0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVyVGV4dF09XCJtYW5kYXRvcnkgJiYgZm9ybWF0dGVkVmFsdWUubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZToge2ZpZWxkOiBsYWJlbH0pIDogKCdNRVNTQUdFUy5FUlJPUl9JU19OT1RfVkFMSUQnIHwgdHJhbnNsYXRlOiB7ZmllbGQ6IGxhYmVsfSlcIj48L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxwZXAtdGV4dGJveC1pY29uICpuZ0lmPVwicmVuZGVyU3ltYm9sICYmIHNob3dJY29uICYmIHhBbGlnbm1lbnQgPT0gJ3JpZ2h0J1wiIG1hdFByZWZpeCBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiIFt0eXBlXT1cInR5cGVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoaWNvbkNsaWNrKT1cIm9wZW5EYXRldGltZVBpY2tlcihkYXRldGltZVBpY2tlcilcIj5cbiAgICAgICAgICAgIDwvcGVwLXRleHRib3gtaWNvbj5cbiAgICAgICAgICAgIDxwZXAtdGV4dGJveC1pY29uICpuZ0lmPVwicmVuZGVyU3ltYm9sICYmIHNob3dJY29uICYmIHhBbGlnbm1lbnQgPT0gJ2xlZnQnXCIgbWF0U3VmZml4IFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsXCIgW3R5cGVdPVwidHlwZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChpY29uQ2xpY2spPVwib3BlbkRhdGV0aW1lUGlja2VyKGRhdGV0aW1lUGlja2VyKVwiPlxuICAgICAgICAgICAgPC9wZXAtdGV4dGJveC1pY29uPlxuICAgICAgICAgICAgPG1hdC1kYXRldGltZXBpY2tlciAjZGF0ZXRpbWVQaWNrZXIgW3R5cGVdPVwic2hvd1RpbWUgPyAnZGF0ZXRpbWUnIDogJ2RhdGUnXCIgW29wZW5PbkZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbdG91Y2hVaV09XCJ0cnVlXCIgW3RpbWVJbnRlcnZhbF09XCIxXCI+PC9tYXQtZGF0ZXRpbWVwaWNrZXI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnZm9ybSdcIj5cbiAgICAgICAgPHBlcC1maWVsZC10aXRsZSAqbmdJZj1cInJlbmRlclRpdGxlXCIgW2xhYmVsXT1cImxhYmVsXCIgW21hbmRhdG9yeV09XCJtYW5kYXRvcnlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW3hBbGlnbm1lbnRdPVwieEFsaWdubWVudFwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCI+XG4gICAgICAgIDwvcGVwLWZpZWxkLXRpdGxlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGU7IGNvbnRleHQ6IHtzaG93SWNvbjogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnY2FyZCdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzSW5FZGl0TW9kZTsgdGhlbiBlZGl0QmxvY2s7IGVsc2UgcmVhZE9ubHlCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRCbG9jaz5cbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydvbmUtcm93Jzogcm93U3BhbiA9PT0gMX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGU7IGNvbnRleHQ6IHtzaG93SWNvbjogZmFsc2V9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1jYXJkLWlucHV0IGNhcmQtZmxleC1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb25lLXJvdyc6IHJvd1NwYW4gPT09IDEsICdwZXAtYnV0dG9uIHdlYWsnOiBpc0FjdGl2ZSAmJiAhZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogdGV4dENvbG9yIH1cIiBbY2xhc3NdPVwiJ3RleHQtYWxpZ24tJyArIHhBbGlnbm1lbnRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgPyBjYXJkVGVtcGxhdGVDbGlja2VkKCRldmVudCkgOiAnJ1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1RpdGxlICYmIGxhYmVsICE9ICcnXCIgY2xhc3M9XCJib2R5LXhzIHRpdGxlXCIgdGl0bGU9XCJ7eyBsYWJlbCB9fVwiPnt7IGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJrZXlcIiB0aXRsZT1cInt7IGZvcm1hdHRlZFZhbHVlIH19XCIgY2xhc3M9XCJib2R5LXNtIHZhbHVlXCI+e3sgZm9ybWF0dGVkVmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImlzQWN0aXZlICYmICFkaXNhYmxlZFwiIGNsYXNzPVwicGVwLWJ1dHRvbiB3ZWFrIGNhcmQtZWRpdC1idXR0b25cIiBtYXQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9lZGl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ3RhYmxlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBY3RpdmUgJiYgIWRpc2FibGVkOyB0aGVuIHNlbGVjdGVkQmxvY2s7IGVsc2Ugbm90U2VsZWN0ZWRCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkQmxvY2s+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGVwVGVtcGxhdGU7IGNvbnRleHQ6IHtzaG93SWNvbjogdHJ1ZX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3RTZWxlY3RlZEJsb2NrPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdHRlZFZhbHVlPy5sZW5ndGggPiAwOyB0aGVuIG5vdEVtcHR5QmxvY2s7IGVsc2UgZW1wdHlCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub3RFbXB0eUJsb2NrPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lkXT1cImtleVwiIGNsYXNzPVwiYm9keS1zbSBwZXAtcmVwb3J0LWlucHV0XCIgW25nU3R5bGVdPVwieyBjb2xvcjogdGV4dENvbG9yIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntyZWFkb25seTogZGlzYWJsZWR9XCIgdGl0bGU9XCJ7eyBmb3JtYXR0ZWRWYWx1ZSB9fVwiPnt7IGZvcm1hdHRlZFZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5QmxvY2s+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lkXT1cImtleVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -15,13 +15,14 @@ export class PepFieldTitleComponent {
|
|
|
15
15
|
this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
|
|
16
16
|
this.showTitle = true;
|
|
17
17
|
this.inputLength = 0;
|
|
18
|
+
this.fontBodyType = 'xs';
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
PepFieldTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFieldTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
PepFieldTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepFieldTitleComponent, selector: "pep-field-title", inputs: { label: "label", mandatory: "mandatory", disabled: "disabled", maxFieldCharacters: "maxFieldCharacters", hint: "hint", xAlignment: "xAlignment", showTitle: "showTitle", inputLength: "inputLength" }, ngImport: i0, template: "<div class=\"mat-form-title\" [ngClass]=\"{disable: disabled}\" [ngStyle]=\"{'text-align': xAlignment }\">\n <ng-container *ngIf=\"xAlignment == 'right' then rightTemplate else leftTemplate\">\n </ng-container>\n <ng-template #rightTemplate>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n </ng-template>\n <ng-template #leftTemplate>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n </ng-template>\n\n <ng-template #requiredTemplate>\n <mat-icon *ngIf=\"mandatory\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_must\"></pep-icon>\n </mat-icon>\n <!-- For the grid template () -->\n <span *ngIf=\"!mandatory\"></span>\n </ng-template>\n <ng-template #titleTemplate>\n <mat-label *ngIf=\"showTitle\" [title]=\"label\" class=\"body-
|
|
22
|
+
PepFieldTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepFieldTitleComponent, selector: "pep-field-title", inputs: { label: "label", mandatory: "mandatory", disabled: "disabled", maxFieldCharacters: "maxFieldCharacters", hint: "hint", xAlignment: "xAlignment", showTitle: "showTitle", inputLength: "inputLength", fontBodyType: "fontBodyType" }, ngImport: i0, template: "<div class=\"mat-form-title\" [ngClass]=\"{disable: disabled}\" [ngStyle]=\"{'text-align': xAlignment }\">\n <ng-container *ngIf=\"xAlignment == 'right' then rightTemplate else leftTemplate\">\n </ng-container>\n <ng-template #rightTemplate>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n </ng-template>\n <ng-template #leftTemplate>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n </ng-template>\n\n <ng-template #requiredTemplate>\n <mat-icon *ngIf=\"mandatory\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_must\"></pep-icon>\n </mat-icon>\n <!-- For the grid template () -->\n <span *ngIf=\"!mandatory\"></span>\n </ng-template>\n <ng-template #titleTemplate>\n <mat-label *ngIf=\"showTitle\" [title]=\"label\" class=\"body-{{fontBodyType}}\">\n {{ label }}\n </mat-label>\n <!-- For the grid template () -->\n <span *ngIf=\"!showTitle\"></span>\n </ng-template>\n <ng-template #hintTemplate>\n <span class=\"body-{{fontBodyType}} color-dimmed\">\n <ng-container *ngIf=\"hint?.length > 0 then hintTextTemplate else maxCharactersTemplate\"></ng-container>\n <ng-template #hintTextTemplate>\n {{ hint }}\n </ng-template>\n <ng-template #maxCharactersTemplate>\n <ng-container *ngIf=\"maxFieldCharacters > 0\">\n {{ inputLength || 0 }}/{{ maxFieldCharacters }}\n </ng-container>\n </ng-template>\n </span>\n </ng-template>\n</div>", styles: [":host{display:grid;width:inherit}\n", ""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }] });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFieldTitleComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
|
-
args: [{ selector: 'pep-field-title', template: "<div class=\"mat-form-title\" [ngClass]=\"{disable: disabled}\" [ngStyle]=\"{'text-align': xAlignment }\">\n <ng-container *ngIf=\"xAlignment == 'right' then rightTemplate else leftTemplate\">\n </ng-container>\n <ng-template #rightTemplate>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n </ng-template>\n <ng-template #leftTemplate>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n </ng-template>\n\n <ng-template #requiredTemplate>\n <mat-icon *ngIf=\"mandatory\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_must\"></pep-icon>\n </mat-icon>\n <!-- For the grid template () -->\n <span *ngIf=\"!mandatory\"></span>\n </ng-template>\n <ng-template #titleTemplate>\n <mat-label *ngIf=\"showTitle\" [title]=\"label\" class=\"body-
|
|
25
|
+
args: [{ selector: 'pep-field-title', template: "<div class=\"mat-form-title\" [ngClass]=\"{disable: disabled}\" [ngStyle]=\"{'text-align': xAlignment }\">\n <ng-container *ngIf=\"xAlignment == 'right' then rightTemplate else leftTemplate\">\n </ng-container>\n <ng-template #rightTemplate>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n </ng-template>\n <ng-template #leftTemplate>\n <ng-container *ngTemplateOutlet=\"requiredTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n </ng-template>\n\n <ng-template #requiredTemplate>\n <mat-icon *ngIf=\"mandatory\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_must\"></pep-icon>\n </mat-icon>\n <!-- For the grid template () -->\n <span *ngIf=\"!mandatory\"></span>\n </ng-template>\n <ng-template #titleTemplate>\n <mat-label *ngIf=\"showTitle\" [title]=\"label\" class=\"body-{{fontBodyType}}\">\n {{ label }}\n </mat-label>\n <!-- For the grid template () -->\n <span *ngIf=\"!showTitle\"></span>\n </ng-template>\n <ng-template #hintTemplate>\n <span class=\"body-{{fontBodyType}} color-dimmed\">\n <ng-container *ngIf=\"hint?.length > 0 then hintTextTemplate else maxCharactersTemplate\"></ng-container>\n <ng-template #hintTextTemplate>\n {{ hint }}\n </ng-template>\n <ng-template #maxCharactersTemplate>\n <ng-container *ngIf=\"maxFieldCharacters > 0\">\n {{ inputLength || 0 }}/{{ maxFieldCharacters }}\n </ng-container>\n </ng-template>\n </span>\n </ng-template>\n</div>", styles: [":host{display:grid;width:inherit}\n"] }]
|
|
25
26
|
}], propDecorators: { label: [{
|
|
26
27
|
type: Input
|
|
27
28
|
}], mandatory: [{
|
|
@@ -38,5 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
38
39
|
type: Input
|
|
39
40
|
}], inputLength: [{
|
|
40
41
|
type: Input
|
|
42
|
+
}], fontBodyType: [{
|
|
43
|
+
type: Input
|
|
41
44
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdGl0bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9maWVsZC10aXRsZS9maWVsZC10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ZpZWxkLXRpdGxlL2ZpZWxkLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFFSCw0QkFBNEIsR0FDL0IsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBT2pDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNYSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsZUFBVSxHQUEyQiw0QkFBNEIsQ0FBQztRQUVsRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGlCQUFZLEdBQXFELElBQUksQ0FBQztLQUVsRjs7bUhBWlksc0JBQXNCO3VHQUF0QixzQkFBc0IscVNDWG5DLCs2REF5Q007MkZEOUJPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxpQkFBaUI7OEJBS2xCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQZXBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtZmllbGQtdGl0bGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmllbGQtdGl0bGUuY29tcG9uZW50LnNjc3MnLCAnLi9maWVsZC10aXRsZS5jb21wb25lbnQudGhlbWUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBGaWVsZFRpdGxlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgbWF4RmllbGRDaGFyYWN0ZXJzID0gMDtcbiAgICBASW5wdXQoKSBoaW50ID0gJyc7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG5cbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGlucHV0TGVuZ3RoID0gMDtcbiAgICBASW5wdXQoKSBmb250Qm9keVR5cGU6ICcyeHMnIHwgJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAnMnhsJyA9ICd4cyc7XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtZm9ybS10aXRsZVwiIFtuZ0NsYXNzXT1cIntkaXNhYmxlOiBkaXNhYmxlZH1cIiBbbmdTdHlsZV09XCJ7J3RleHQtYWxpZ24nOiB4QWxpZ25tZW50IH1cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwieEFsaWdubWVudCA9PSAncmlnaHQnIHRoZW4gcmlnaHRUZW1wbGF0ZSBlbHNlIGxlZnRUZW1wbGF0ZVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmlnaHRUZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVxdWlyZWRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsZWZ0VGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZXF1aXJlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoaW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyZXF1aXJlZFRlbXBsYXRlPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtYW5kYXRvcnlcIiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX211c3RcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8IS0tIEZvciB0aGUgZ3JpZCB0ZW1wbGF0ZSAoKSAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhbWFuZGF0b3J5XCI+PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICN0aXRsZVRlbXBsYXRlPlxuICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwic2hvd1RpdGxlXCIgW3RpdGxlXT1cImxhYmVsXCIgY2xhc3M9XCJib2R5LXt7Zm9udEJvZHlUeXBlfX1cIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8IS0tIEZvciB0aGUgZ3JpZCB0ZW1wbGF0ZSAoKSAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhc2hvd1RpdGxlXCI+PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNoaW50VGVtcGxhdGU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYm9keS17e2ZvbnRCb2R5VHlwZX19IGNvbG9yLWRpbW1lZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpbnQ/Lmxlbmd0aCA+IDAgdGhlbiBoaW50VGV4dFRlbXBsYXRlIGVsc2UgbWF4Q2hhcmFjdGVyc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hpbnRUZXh0VGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgJm5ic3A7e3sgaGludCB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWF4Q2hhcmFjdGVyc1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtYXhGaWVsZENoYXJhY3RlcnMgPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICZuYnNwO3t7IGlucHV0TGVuZ3RoIHx8IDAgfX0ve3sgbWF4RmllbGRDaGFyYWN0ZXJzIH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
|