@elderbyte/ngx-starter 15.7.2 → 15.8.0

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/_index.scss CHANGED
@@ -12,6 +12,7 @@
12
12
  @use "./theming/elder-common" as elder-common;
13
13
  @use "./theming/elder-flex-layout" as elder-flex-layout;
14
14
  @use "./src/lib/components/panels/flat/elder-panel-theme" as elder-panel;
15
+ @use "./src/lib/components/errors/exception-detail/elder-exception-detail.component" as elder-exception-detail;
15
16
  @use "./src/lib/components/panels/card-panel/elder-card-panel.component" as elder-card-panel;
16
17
  @use "./src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component" as elder-dialog-panel;
17
18
  @use "./src/lib/components/navigation/nav/nav-link/elder-nav-link.component" as elder-nav-link;
@@ -26,15 +27,14 @@
26
27
  @use "./src/lib/components/time/elder-time-input.theme" as elder-time;
27
28
  @use "./src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component" as elder-multi-select;
28
29
  @use "./src/lib/components/iframes/iframe-host/iframe-host.component" as iframe-host;
29
- @use "./src/lib/components/errors/exception-detail/elder-exception-detail.component" as elder-exception-detail;
30
30
 
31
31
  // Create a theme.
32
32
  @mixin starter-theme($theme, $elder-config: elder-config.buildConfig()) {
33
33
  $common-sizes: map-get($elder-config, common-sizes);
34
34
 
35
- @include elder-fixes.elder-style-fixes;
35
+ @include elder-fixes.elder-style-fixes($theme);
36
36
  @include elder-mdc-support.mdc-theme-support($theme);
37
- @include elder-common.elder-common-styles($common-sizes);
37
+ @include elder-common.elder-common-styles($theme, $common-sizes);
38
38
  @include elder-flex-layout.elder-flex-layout($common-sizes);
39
39
 
40
40
  @include elder-toast.theme($theme);
@@ -122,14 +122,14 @@ export class ElderLocalizedInputComponent extends FormFieldBaseComponent {
122
122
  }
123
123
  }
124
124
  ElderLocalizedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderLocalizedInputComponent, deps: [{ token: i1.ElderLocalizedInputDialogService }, { token: i2.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Component });
125
- ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"flex full\"\n [appearance]=\"appearance\"\n [floatLabel]=\"floatLabel\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <ng-container matPrefix>\n <mat-icon *ngIf=\"icon\"\n class=\"leading-icon prefix-padding noselect\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n </ng-container>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\" class=\"flex-grow\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <ng-container matSuffix>\n <button mat-icon-button type=\"button\"\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n </ng-container>\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
+ ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderLocalizedInputComponent, decorators: [{
127
127
  type: Component,
128
- args: [{ selector: 'elder-localized-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), template: "<mat-form-field class=\"flex full\"\n [appearance]=\"appearance\"\n [floatLabel]=\"floatLabel\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <ng-container matPrefix>\n <mat-icon *ngIf=\"icon\"\n class=\"leading-icon prefix-padding noselect\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n </ng-container>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\" class=\"flex-grow\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <ng-container matSuffix>\n <button mat-icon-button type=\"button\"\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n </ng-container>\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
128
+ args: [{ selector: 'elder-localized-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
129
129
  }], ctorParameters: function () { return [{ type: i1.ElderLocalizedInputDialogService }, { type: i2.LocalisationPickerService }]; }, propDecorators: { textColumnsQuery: [{
130
130
  type: ContentChildren,
131
131
  args: [ElderLocalizedTextColumnDirective]
132
132
  }], textColumns: [{
133
133
  type: Input
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsZUFBZSxFQUFhLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFrQixPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFTLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUc3RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7Ozs7Ozs7O0FBWWxHLE1BQU0sT0FBTyw0QkFDWCxTQUFRLHNCQUEyQjtJQXFCbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG9CQUFz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LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgSW5wdXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1GaWVsZEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9mb3JtLWZpZWxkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxpemVkfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vaTE4bi9lbnRpdHkvbG9jYWxpemVkJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZElucHV0RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7UXVlcnlMaXN0QmluZGluZ30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL3F1ZXJ5LWxpc3QtYmluZGluZyc7XG5pbXBvcnQge0xvY2FsaXNhdGlvblBpY2tlclNlcnZpY2V9IGZyb20gJy4uL3BpY2tlci9sb2NhbGlzYXRpb24tcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZElucHV0T3B0aW9uc30gZnJvbSAnLi4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge2J1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZm9ybXMvdGVtcGxhdGUtY29tcG9zaXRlLWNvbnRyb2wnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbG9jYWxpemVkLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsnY2xhc3MnOiAnZWxkZXItZm9ybS1maWVsZC1ob3N0J30sXG4gIHByb3ZpZGVyczogYnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnMoRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudClcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudDxUIGV4dGVuZHMgTG9jYWxpemVkID0gTG9jYWxpemVkPlxuICBleHRlbmRzIEZvcm1GaWVsZEJhc2VDb21wb25lbnQ8VFtdPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0VGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIHJlYWRvbmx5IGhpbnRUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlKVxuICBwdWJsaWMgdGV4dENvbHVtbnNRdWVyeTogUXVlcnlMaXN0PEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZT47XG4gIHB1YmxpYyByZWFkb25seSB0ZXh0Q29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdPihbXG4gICAgRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlLkRFRkFVTFRfVEVYVF9DT0xcbiAgXSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6ZWRJbnB1dERpYWxvZzogRWxkZXJMb2NhbGl6ZWRJbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGlzYXRpb25QaWNrZXI6IExvY2FsaXNhdGlvblBpY2tlclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuaW5wdXRUZXh0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy52YWx1ZSQsXG4gICAgICB0aGlzLnRleHRDb2x1bW5zJFxuICAgIF0pLnBpcGUoXG4gICAgICAgc3dpdGNoTWFwKChbdmFsdWVzLCBjb2x1bW5zXSkgPT4gdGhpcy50b0lucHV0VGV4dCh2YWx1ZXMsIGNvbHVtbnMpKVxuICAgICk7XG5cbiAgICB0aGlzLmhpbnRUZXh0JCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAodmFsdWVzID0+IHRoaXMudG9IaW50VGV4dCh2YWx1ZXMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgUXVlcnlMaXN0QmluZGluZ1xuICAgICAgLm9mKHRoaXMudGV4dENvbHVtbnNRdWVyeSlcbiAgICAgIC51cGRhdGVkKGNvbHVtbnMgPT4ge1xuICAgICAgICBpZiAoY29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMudGV4dENvbHVtbnMkLm5leHQoY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuYmluZFVudGlsKHRoaXMuZGVzdHJveSQpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGV4dENvbHVtbnMoY29sczogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW10pIHtcbiAgICB0aGlzLnRleHRDb2x1bW5zJC5uZXh0KGNvbHMpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXh0Q29sdW1ucygpOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXSB7XG4gICAgcmV0dXJuIHRoaXMudGV4dENvbHVtbnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb3BlblRyYW5zbGF0aW9uUG9wdXAoXG4gICAgJGV2ZW50OiBNb3VzZUV2ZW50LFxuICApIHtcblxuICAgIGNvbnN0IGRhdGEgPSA8RWxkZXJMb2NhbGl6ZWRJbnB1dE9wdGlvbnM8VD4+e1xuICAgICAgdGl0bGU6IHRoaXMubGFiZWwgPz8gdGhpcy5wbGFjZWhvbGRlcixcbiAgICAgIGxvY2FsaXphYmxlczogdGhpcy52YWx1ZSxcbiAgICAgIHRleHRDb2x1bW5zOiB0aGlzLnRleHRDb2x1bW5zLFxuICAgICAgZXhwbGljaXRTYXZlOiBmYWxzZSxcbiAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICByZXF1aXJlZDogdGhpcy5yZXF1aXJlZFxuICAgIH07XG5cbiAgICBjb25zdCBkbGdSZWYgPSB0aGlzLmxvY2FsaXplZElucHV0RGlhbG9nLmVkaXRMb2NhbGl6ZWQoXG4gICAgICBkYXRhXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICB1cGRhdGVkID0+IHRoaXMudXBkYXRlVmFsdWUoZGF0YS5sb2NhbGl6YWJsZXMpXG4gICAgKTtcbiAgfVxuXG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhKHRoaXMudmFsdWU/Lmxlbmd0aCA+IDApKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIHJlcXVpcmVkOiB7IHZhbGlkOiBmYWxzZSB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSB0b0lucHV0VGV4dChcbiAgICBsb2NhbGl6YWJsZXM6IFRbXSxcbiAgICBjb2x1bW5zOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXVxuICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsaXNhdGlvblBpY2tlci5waWNrQ3VycmVudFRleHQoXG4gICAgICBsb2NhbGl6YWJsZXMsXG4gICAgICB0aGlzLmRpc3BsYXlUZXh0RmllbGQoY29sdW1ucylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5VGV4dEZpZWxkKFxuICAgIGNvbHVtbnM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbnMgPyBjb2x1bW5zWzBdPy5uYW1lIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0hpbnRUZXh0KGxvY2FsaXphYmxlczogVFtdKTogc3RyaW5nIHtcbiAgICBpZiAobG9jYWxpemFibGVzKSB7XG4gICAgICByZXR1cm4gbG9jYWxpemFibGVzLm1hcChsID0+IGwubG9jYWxlKS5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4IGZ1bGxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4+XG5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG5cbiAgPG5nLWNvbnRhaW5lciBtYXRQcmVmaXg+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibGVhZGluZy1pY29uIHByZWZpeC1wYWRkaW5nIG5vc2VsZWN0XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAgICB7e2ljb259fVxuICAgIDwvbWF0LWljb24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gQSBkeW5hbWljIGlucHV0IC0tPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZmxleC1ncm93XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgcmVhZG9ubHlcbiAgICBbbmFtZV09XCJuYW1lICsgJy1sb2NhbGl6ZWQnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgIFtuZ01vZGVsXT1cImlucHV0VGV4dCQgfCBhc3luY1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICA+XG5cbiAgPG5nLWNvbnRhaW5lciBtYXRTdWZmaXg+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblRyYW5zbGF0aW9uUG9wdXAoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIlxuICAgICAgICAgICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPnRyYW5zbGF0ZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxtYXQtaGludD57e2hpbnRUZXh0JCB8IGFzeW5jfX08L21hdC1oaW50PlxuXG48L21hdC1mb3JtLWZpZWxkPlxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsZUFBZSxFQUFhLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFrQixPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFTLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUc3RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7Ozs7Ozs7O0FBWWxHLE1BQU0sT0FBTyw0QkFDWCxTQUFRLHNCQUEyQjtJQXFCbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG9CQUFz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IE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcbmltcG9ydCB7TG9jYWxpc2F0aW9uUGlja2VyU2VydmljZX0gZnJvbSAnLi4vcGlja2VyL2xvY2FsaXNhdGlvbi1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXRPcHRpb25zfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7YnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnN9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy90ZW1wbGF0ZS1jb21wb3NpdGUtY29udHJvbCc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sb2NhbGl6ZWQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDogeydjbGFzcyc6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnfSxcbiAgcHJvdmlkZXJzOiBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyhFbGRlckxvY2FsaXplZElucHV0Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZElucHV0Q29tcG9uZW50PFQgZXh0ZW5kcyBMb2NhbGl6ZWQgPSBMb2NhbGl6ZWQ+XG4gIGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBwdWJsaWMgcmVhZG9ubHkgaGludFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUpXG4gIHB1YmxpYyB0ZXh0Q29sdW1uc1F1ZXJ5OiBRdWVyeUxpc3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlPjtcbiAgcHVibGljIHJlYWRvbmx5IHRleHRDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW10+KFtcbiAgICBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUuREVGQVVMVF9URVhUX0NPTFxuICBdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXplZElucHV0RGlhbG9nOiBFbGRlckxvY2FsaXplZElucHV0RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXNhdGlvblBpY2tlcjogTG9jYWxpc2F0aW9uUGlja2VyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5pbnB1dFRleHQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnZhbHVlJCxcbiAgICAgIHRoaXMudGV4dENvbHVtbnMkXG4gICAgXSkucGlwZShcbiAgICAgICBzd2l0Y2hNYXAoKFt2YWx1ZXMsIGNvbHVtbnNdKSA9PiB0aGlzLnRvSW5wdXRUZXh0KHZhbHVlcywgY29sdW1ucykpXG4gICAgKTtcblxuICAgIHRoaXMuaGludFRleHQkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4gdGhpcy50b0hpbnRUZXh0KHZhbHVlcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBRdWVyeUxpc3RCaW5kaW5nXG4gICAgICAub2YodGhpcy50ZXh0Q29sdW1uc1F1ZXJ5KVxuICAgICAgLnVwZGF0ZWQoY29sdW1ucyA9PiB7XG4gICAgICAgIGlmIChjb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy50ZXh0Q29sdW1ucyQubmV4dChjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0ZXh0Q29sdW1ucyhjb2xzOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXSkge1xuICAgIHRoaXMudGV4dENvbHVtbnMkLm5leHQoY29scyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRDb2x1bW5zKCk6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0Q29sdW1ucyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvcGVuVHJhbnNsYXRpb25Qb3B1cChcbiAgICAkZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICkge1xuXG4gICAgY29uc3QgZGF0YSA9IDxFbGRlckxvY2FsaXplZElucHV0T3B0aW9uczxUPj57XG4gICAgICB0aXRsZTogdGhpcy5sYWJlbCA/PyB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgbG9jYWxpemFibGVzOiB0aGlzLnZhbHVlLFxuICAgICAgdGV4dENvbHVtbnM6IHRoaXMudGV4dENvbHVtbnMsXG4gICAgICBleHBsaWNpdFNhdmU6IGZhbHNlLFxuICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkXG4gICAgfTtcblxuICAgIGNvbnN0IGRsZ1JlZiA9IHRoaXMubG9jYWxpemVkSW5wdXREaWFsb2cuZWRpdExvY2FsaXplZChcbiAgICAgIGRhdGFcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHVwZGF0ZWQgPT4gdGhpcy51cGRhdGVWYWx1ZShkYXRhLmxvY2FsaXphYmxlcylcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGxldCByZXN1bHQgPSBudWxsO1xuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICEodGhpcy52YWx1ZT8ubGVuZ3RoID4gMCkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgcmVxdWlyZWQ6IHsgdmFsaWQ6IGZhbHNlIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHRvSW5wdXRUZXh0KFxuICAgIGxvY2FsaXphYmxlczogVFtdLFxuICAgIGNvbHVtbnM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdXG4gICk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxpc2F0aW9uUGlja2VyLnBpY2tDdXJyZW50VGV4dChcbiAgICAgIGxvY2FsaXphYmxlcyxcbiAgICAgIHRoaXMuZGlzcGxheVRleHRGaWVsZChjb2x1bW5zKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlUZXh0RmllbGQoXG4gICAgY29sdW1uczogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW11cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29sdW1ucyA/IGNvbHVtbnNbMF0/Lm5hbWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRvSGludFRleHQobG9jYWxpemFibGVzOiBUW10pOiBzdHJpbmcge1xuICAgIGlmIChsb2NhbGl6YWJsZXMpIHtcbiAgICAgIHJldHVybiBsb2NhbGl6YWJsZXMubWFwKGwgPT4gbC5sb2NhbGUpLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cblxuICA8bWF0LWljb24gbWF0UHJlZml4ICpuZ0lmPVwiaWNvblwiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIj5cbiAgICB7e2ljb259fVxuICA8L21hdC1pY29uPlxuXG4gIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJvcGVuVHJhbnNsYXRpb25Qb3B1cCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiXG4gICAgICAgICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICA+XG4gICAgPG1hdC1pY29uPnRyYW5zbGF0ZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDwhLS0gQSBkeW5hbWljIGlucHV0IC0tPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIHJlYWRvbmx5XG4gICAgW25hbWVdPVwibmFtZSArICctbG9jYWxpemVkJ1wiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRUZXh0JCB8IGFzeW5jXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gID5cblxuICA8bWF0LWhpbnQ+e3toaW50VGV4dCQgfCBhc3luY319PC9tYXQtaGludD5cblxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -20307,10 +20307,10 @@ class ElderLocalizedInputComponent extends FormFieldBaseComponent {
20307
20307
  }
20308
20308
  }
20309
20309
  ElderLocalizedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderLocalizedInputComponent, deps: [{ token: ElderLocalizedInputDialogService }, { token: LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Component });
20310
- ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"flex full\"\n [appearance]=\"appearance\"\n [floatLabel]=\"floatLabel\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <ng-container matPrefix>\n <mat-icon *ngIf=\"icon\"\n class=\"leading-icon prefix-padding noselect\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n </ng-container>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\" class=\"flex-grow\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <ng-container matSuffix>\n <button mat-icon-button type=\"button\"\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n </ng-container>\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.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: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20310
+ ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.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: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20311
20311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ElderLocalizedInputComponent, decorators: [{
20312
20312
  type: Component,
20313
- args: [{ selector: 'elder-localized-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), template: "<mat-form-field class=\"flex full\"\n [appearance]=\"appearance\"\n [floatLabel]=\"floatLabel\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <ng-container matPrefix>\n <mat-icon *ngIf=\"icon\"\n class=\"leading-icon prefix-padding noselect\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n </ng-container>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\" class=\"flex-grow\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <ng-container matSuffix>\n <button mat-icon-button type=\"button\"\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n </ng-container>\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
20313
+ args: [{ selector: 'elder-localized-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
20314
20314
  }], ctorParameters: function () { return [{ type: ElderLocalizedInputDialogService }, { type: LocalisationPickerService }]; }, propDecorators: { textColumnsQuery: [{
20315
20315
  type: ContentChildren,
20316
20316
  args: [ElderLocalizedTextColumnDirective]
@@ -29207,3 +29207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
29207
29207
 
29208
29208
  export { AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleType, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
29209
29209
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map
29210
+ //# sourceMappingURL=elderbyte-ngx-starter.mjs.map