@ngrdt/forms 0.0.28 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,8 @@ import { inject, Injector, signal, input, model, linkedSignal, booleanAttribute,
3
3
  import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
4
4
  import { FormControlName, FormControlDirective, NgModel, NgControl, Validators, FormControl } from '@angular/forms';
5
5
  import { RdtInteractiveElementComponent } from '@ngrdt/core';
6
+ import { startWith, take, map, forkJoin, of, from, switchMap, debounceTime, distinctUntilChanged } from 'rxjs';
6
7
  import { RdtFileUtils, RdtObjectUtils } from '@ngrdt/utils';
7
- import { take, map, forkJoin, of, from, switchMap, debounceTime, distinctUntilChanged } from 'rxjs';
8
8
  import { signalStore, withState, withHooks, withComputed, withMethods, patchState } from '@ngrx/signals';
9
9
 
10
10
  function getFormControl(ngControl) {
@@ -113,7 +113,7 @@ class RdtBaseFormInputComponent extends RdtInteractiveElementComponent {
113
113
  const control = getFormControl(this._ngControl);
114
114
  this._control.set(control);
115
115
  if (control) {
116
- this.listenRequiredValidator(control);
116
+ this.listenControlEvents(control);
117
117
  }
118
118
  }
119
119
  }
@@ -154,8 +154,10 @@ class RdtBaseFormInputComponent extends RdtInteractiveElementComponent {
154
154
  this.onChange(externalValue);
155
155
  }
156
156
  }
157
- listenRequiredValidator(control) {
158
- control.events.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
157
+ listenControlEvents(control) {
158
+ control.events
159
+ .pipe(startWith(null), takeUntilDestroyed(this.destroyRef))
160
+ .subscribe(() => {
159
161
  this.requiredFromControl.set(control.hasValidator(Validators.required));
160
162
  });
161
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngrdt-forms.mjs","sources":["../tmp-esm2022/lib/utils/get-form-control.js","../tmp-esm2022/lib/base/rdt-base-form-input.component.js","../tmp-esm2022/lib/inputs/checkbox/rdt-checkbox.component.js","../tmp-esm2022/lib/utils/transform.js","../tmp-esm2022/lib/inputs/date/rdt-date.component.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-noop.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-base64.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-file-reader.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-label-fn.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-max-file-size.js","../tmp-esm2022/lib/inputs/file-input/rdt-file-input.component.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-array-buffer.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-text.js","../tmp-esm2022/lib/inputs/numeric-input/rdt-numeric-input.component.js","../tmp-esm2022/lib/inputs/select/datasource/rdt-select-datasource.js","../tmp-esm2022/lib/inputs/select/datasource/rdt-offline-select-datasource.js","../tmp-esm2022/lib/inputs/select/state/rdt-select-state.js","../tmp-esm2022/lib/inputs/select/utils/request.js","../tmp-esm2022/lib/inputs/select/state/rdt-select-store.js","../tmp-esm2022/lib/inputs/select/directives/rdt-select-offline-datasource.directive.js","../tmp-esm2022/lib/inputs/select/directives/rdt-select-option.directive.js","../tmp-esm2022/lib/inputs/select/rdt-base-select.component.js","../tmp-esm2022/lib/inputs/select/rdt-multi-select.component.js","../tmp-esm2022/lib/inputs/select/rdt-single-select.component.js","../tmp-esm2022/lib/inputs/text-input/rdt-text-input.component.js","../tmp-esm2022/ngrdt-forms.js"],"sourcesContent":["import { FormControlDirective, FormControlName, NgModel, } from '@angular/forms';\nexport function getFormControl(ngControl) {\n if (ngControl instanceof FormControlName) {\n const formGroupDirective = ngControl.formDirective;\n if (formGroupDirective) {\n return formGroupDirective.form.get(ngControl.path);\n }\n else {\n return null;\n }\n }\n else if (ngControl instanceof FormControlDirective ||\n ngControl instanceof NgModel) {\n return ngControl.control;\n }\n else {\n return null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3V0aWxzL2dldC1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG9CQUFvQixFQUNwQixlQUFlLEVBR2YsT0FBTyxHQUNSLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFvQjtJQUNqRCxJQUFJLFNBQVMsWUFBWSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxhQUFtQyxDQUFDO1FBQ3pFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztRQUNwRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7U0FBTSxJQUNMLFNBQVMsWUFBWSxvQkFBb0I7UUFDekMsU0FBUyxZQUFZLE9BQU8sRUFDNUIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUNvbnRyb2xEaXJlY3RpdmUsXG4gIEZvcm1Db250cm9sTmFtZSxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0NvbnRyb2wsXG4gIE5nTW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1Db250cm9sKG5nQ29udHJvbDogTmdDb250cm9sKSB7XG4gIGlmIChuZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbE5hbWUpIHtcbiAgICBjb25zdCBmb3JtR3JvdXBEaXJlY3RpdmUgPSBuZ0NvbnRyb2wuZm9ybURpcmVjdGl2ZSBhcyBGb3JtR3JvdXBEaXJlY3RpdmU7XG4gICAgaWYgKGZvcm1Hcm91cERpcmVjdGl2ZSkge1xuICAgICAgcmV0dXJuIGZvcm1Hcm91cERpcmVjdGl2ZS5mb3JtLmdldChuZ0NvbnRyb2wucGF0aCkgYXMgRm9ybUNvbnRyb2w7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChcbiAgICBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8fFxuICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWxcbiAgKSB7XG4gICAgcmV0dXJuIG5nQ29udHJvbC5jb250cm9sO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=","import { booleanAttribute, computed, Directive, effect, inject, Injector, input, linkedSignal, model, signal, untracked, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl, Validators, } from '@angular/forms';\nimport { RdtInteractiveElementComponent } from '@ngrdt/core';\nimport { getFormControl } from '../utils/get-form-control';\nimport * as i0 from \"@angular/core\";\nconst noop = () => { };\nexport class RdtBaseFormInputComponent extends RdtInteractiveElementComponent {\n injector = inject(Injector);\n _control = signal(null);\n control = this._control.asReadonly();\n label = input('');\n placeholder = input('');\n externalValue = model(null, { alias: 'value' });\n internalValue = linkedSignal(() => this.toInternalValue(this.externalValue()));\n dataTestIdInput = input(undefined, { alias: 'dataTestId' });\n dataTestId = linkedSignal(() => this.dataTestIdInput() ?? this.label() ?? '');\n readonlyInput = input(null, {\n alias: 'readonly',\n transform: booleanAttribute,\n });\n requiredInput = input(null, {\n alias: 'required',\n transform: booleanAttribute,\n });\n requiredFromControl = signal(false);\n required = linkedSignal(() => {\n return this.requiredInput() ?? this.requiredFromControl() ?? false;\n });\n touchedInternal = signal(false);\n touched = computed(() => {\n const control = this.control();\n if (control) {\n return control.touchedReactive();\n }\n else {\n return this.touchedInternal();\n }\n });\n invalid = computed(() => {\n if (this.requiredInput() && this.isEmpty(this.externalValue())) {\n return true;\n }\n const control = this.control();\n if (control) {\n return control.statusReactive() === 'INVALID';\n }\n else {\n return false;\n }\n });\n requiredEffect = effect(() => {\n this.requiredInput();\n this.onValidatorChange();\n });\n requiredError = computed(() => this.getRequiredError(this.externalValue()));\n controlErrors = computed(() => {\n const control = this.control();\n if (control) {\n control.statusReactive();\n return control.errors;\n }\n else {\n return null;\n }\n });\n errors = computed(() => this.controlErrors() ?? this.requiredError());\n visibleErrors = computed(() => this.invalid() && this.touched() ? this.errors() : null);\n get ngControl() {\n return this._ngControl;\n }\n _ngControl = null;\n _onChange = noop;\n _onTouch = noop;\n _onValidatorChange = noop;\n get onChange() {\n return this._onChange;\n }\n get onTouch() {\n return this._onTouch;\n }\n get onValidatorChange() {\n return this._onValidatorChange;\n }\n ngOnInit() {\n this._ngControl = this.injector.get(NgControl, null, {\n self: true,\n optional: true,\n });\n if (this._ngControl) {\n const control = getFormControl(this._ngControl);\n this._control.set(control);\n if (control) {\n this.listenRequiredValidator(control);\n }\n }\n }\n ngOnDestroy() {\n const control = this.control();\n if (this.requiredInput() && control) {\n control.removeValidators(Validators.required);\n control.setErrors(null);\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouch = () => {\n this.touchedInternal.set(true);\n fn();\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n writeValue(value) {\n this.externalValue.set(value);\n }\n // Implemented as a part of Validator.\n validate(control) {\n return this.requiredError();\n }\n registerOnValidatorChange(fn) {\n this._onValidatorChange = fn;\n }\n onInternalValueChange(value) {\n if (value === '') {\n value = null; // Convert empty string to null\n }\n if (value !== untracked(this.internalValue)) {\n const externalValue = this.toExternalValue(value);\n this.externalValue.set(externalValue);\n this.onChange(externalValue);\n }\n }\n listenRequiredValidator(control) {\n control.events.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.requiredFromControl.set(control.hasValidator(Validators.required));\n });\n }\n toExternalValue(internalValue) {\n return internalValue;\n }\n toInternalValue(externalValue) {\n return externalValue;\n }\n onBlur() {\n super.onBlur();\n Promise.resolve().then(() => {\n this.onTouch();\n });\n }\n getRequiredError(value) {\n return this.required() && this.isEmpty(value)\n ? RdtBaseFormInputComponent.REQUIRED_ERROR\n : null;\n }\n static REQUIRED_ERROR = { required: true };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseFormInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseFormInputComponent, isStandalone: true, inputs: { label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, externalValue: { classPropertyName: \"externalValue\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, dataTestIdInput: { classPropertyName: \"dataTestIdInput\", publicName: \"dataTestId\", isSignal: true, isRequired: false, transformFunction: null }, readonlyInput: { classPropertyName: \"readonlyInput\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: \"requiredInput\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { externalValue: \"valueChange\" }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseFormInputComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFM0QsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBS3RCLE1BQU0sT0FBZ0IseUJBQ3BCLFNBQVEsOEJBQThCO0lBRzdCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEIsUUFBUSxHQUFHLE1BQU0sQ0FBK0IsSUFBSSxDQUFDLENBQUM7SUFDaEUsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFckMsS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXhCLGFBQWEsR0FBRyxLQUFLLENBQWMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0QsYUFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDekMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDM0MsQ0FBQztJQUVPLGVBQWUsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDNUQsVUFBVSxHQUFHLFlBQVksQ0FDaEMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQ25ELENBQUM7SUFFTyxhQUFhLEdBQUcsS0FBSyxDQUc1QixJQUFJLEVBQUU7UUFDTixLQUFLLEVBQUUsVUFBVTtRQUNqQixTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUVNLGFBQWEsR0FBRyxLQUFLLENBRzVCLElBQUksRUFBRTtRQUNOLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDO0lBQ2dCLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFZ0IsZUFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFTLENBQUM7UUFDdEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ00sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDL0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQVMsQ0FBQztRQUN0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssU0FBUyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFZ0IsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRWMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUM1QyxDQUFDO0lBRWUsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWCxPQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbEMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTSxNQUFNLEdBQUcsUUFBUSxDQUN4QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUNuRCxDQUFDO0lBQ08sYUFBYSxHQUFvQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3RFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4RCxDQUFDO0lBRUYsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDTyxVQUFVLEdBQXFCLElBQUksQ0FBQztJQUVwQyxTQUFTLEdBQXlCLElBQUksQ0FBQztJQUN2QyxRQUFRLEdBQWUsSUFBSSxDQUFDO0lBQzVCLGtCQUFrQixHQUFlLElBQUksQ0FBQztJQUU5QyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDbkQsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLEVBQUUsRUFBRSxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLFFBQVEsQ0FBQyxPQUE4QjtRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBYztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFJRCxxQkFBcUIsQ0FBQyxLQUFrQjtRQUN0QyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNqQixLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsK0JBQStCO1FBQy9DLENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRVMsdUJBQXVCLENBQUMsT0FBd0I7UUFDeEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsZUFBZSxDQUFDLGFBQTBCO1FBQ2xELE9BQU8sYUFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBRVMsZUFBZSxDQUFDLGFBQTBCO1FBQ2xELE9BQU8sYUFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBRVEsTUFBTTtRQUNiLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxDQUFDLENBQUMseUJBQXlCLENBQUMsY0FBYztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVPLE1BQU0sQ0FBVSxjQUFjLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7dUdBcE14Qyx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIOUMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJkdEludGVyYWN0aXZlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJ0BuZ3JkdC9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGdldEZvcm1Db250cm9sIH0gZnJvbSAnLi4vdXRpbHMvZ2V0LWZvcm0tY29udHJvbCc7XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQ8VEV4dCwgVEludCA9IFRFeHQ+XG4gIGV4dGVuZHMgUmR0SW50ZXJhY3RpdmVFbGVtZW50Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NvbnRyb2wgPSBzaWduYWw8QWJzdHJhY3RDb250cm9sPFRFeHQ+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sLmFzUmVhZG9ubHkoKTtcblxuICByZWFkb25seSBsYWJlbCA9IGlucHV0KCcnKTtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dCgnJyk7XG5cbiAgcmVhZG9ubHkgZXh0ZXJuYWxWYWx1ZSA9IG1vZGVsPFRFeHQgfCBudWxsPihudWxsLCB7IGFsaWFzOiAndmFsdWUnIH0pO1xuICByZWFkb25seSBpbnRlcm5hbFZhbHVlID0gbGlua2VkU2lnbmFsKCgpID0+XG4gICAgdGhpcy50b0ludGVybmFsVmFsdWUodGhpcy5leHRlcm5hbFZhbHVlKCkpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGF0YVRlc3RJZElucHV0ID0gaW5wdXQodW5kZWZpbmVkLCB7IGFsaWFzOiAnZGF0YVRlc3RJZCcgfSk7XG4gIHJlYWRvbmx5IGRhdGFUZXN0SWQgPSBsaW5rZWRTaWduYWwoXG4gICAgKCkgPT4gdGhpcy5kYXRhVGVzdElkSW5wdXQoKSA/PyB0aGlzLmxhYmVsKCkgPz8gJydcbiAgKTtcblxuICByZWFkb25seSByZWFkb25seUlucHV0ID0gaW5wdXQ8XG4gICAgYm9vbGVhbiB8IG51bGwsXG4gICAgTnVsbGFibGU8Ym9vbGVhbiB8IHN0cmluZyB8IG51bWJlcj5cbiAgPihudWxsLCB7XG4gICAgYWxpYXM6ICdyZWFkb25seScsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICByZWFkb25seSByZXF1aXJlZElucHV0ID0gaW5wdXQ8XG4gICAgTnVsbGFibGU8Ym9vbGVhbj4sXG4gICAgTnVsbGFibGU8Ym9vbGVhbiB8IHN0cmluZyB8IG51bWJlcj5cbiAgPihudWxsLCB7XG4gICAgYWxpYXM6ICdyZXF1aXJlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVkRnJvbUNvbnRyb2wgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSByZXF1aXJlZCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWRJbnB1dCgpID8/IHRoaXMucmVxdWlyZWRGcm9tQ29udHJvbCgpID8/IGZhbHNlO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG91Y2hlZEludGVybmFsID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgdG91Y2hlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCkgYXMgYW55O1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICByZXR1cm4gY29udHJvbC50b3VjaGVkUmVhY3RpdmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudG91Y2hlZEludGVybmFsKCk7XG4gICAgfVxuICB9KTtcbiAgcmVhZG9ubHkgaW52YWxpZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZElucHV0KCkgJiYgdGhpcy5pc0VtcHR5KHRoaXMuZXh0ZXJuYWxWYWx1ZSgpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKSBhcyBhbnk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBjb250cm9sLnN0YXR1c1JlYWN0aXZlKCkgPT09ICdJTlZBTElEJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVkRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnJlcXVpcmVkSW5wdXQoKTtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlKCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWlyZWRFcnJvciA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5nZXRSZXF1aXJlZEVycm9yKHRoaXMuZXh0ZXJuYWxWYWx1ZSgpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbEVycm9ycyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIChjb250cm9sIGFzIGFueSkuc3RhdHVzUmVhY3RpdmUoKTtcbiAgICAgIHJldHVybiBjb250cm9sLmVycm9ycztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9KTtcbiAgcmVhZG9ubHkgZXJyb3JzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5jb250cm9sRXJyb3JzKCkgPz8gdGhpcy5yZXF1aXJlZEVycm9yKClcbiAgKTtcbiAgcmVhZG9ubHkgdmlzaWJsZUVycm9yczogU2lnbmFsPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pbnZhbGlkKCkgJiYgdGhpcy50b3VjaGVkKCkgPyB0aGlzLmVycm9ycygpIDogbnVsbFxuICApO1xuXG4gIGdldCBuZ0NvbnRyb2woKSB7XG4gICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbDtcbiAgfVxuICBwcml2YXRlIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9IG5vb3A7XG4gIHByaXZhdGUgX29uVG91Y2g6ICgpID0+IHZvaWQgPSBub29wO1xuICBwcml2YXRlIF9vblZhbGlkYXRvckNoYW5nZTogKCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgZ2V0IG9uQ2hhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLl9vbkNoYW5nZTtcbiAgfVxuXG4gIGdldCBvblRvdWNoKCkge1xuICAgIHJldHVybiB0aGlzLl9vblRvdWNoO1xuICB9XG5cbiAgZ2V0IG9uVmFsaWRhdG9yQ2hhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLl9vblZhbGlkYXRvckNoYW5nZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX25nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCwge1xuICAgICAgc2VsZjogdHJ1ZSxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pO1xuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBnZXRGb3JtQ29udHJvbCh0aGlzLl9uZ0NvbnRyb2wpO1xuICAgICAgdGhpcy5fY29udHJvbC5zZXQoY29udHJvbCk7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICB0aGlzLmxpc3RlblJlcXVpcmVkVmFsaWRhdG9yKGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKTtcbiAgICBpZiAodGhpcy5yZXF1aXJlZElucHV0KCkgJiYgY29udHJvbCkge1xuICAgICAgY29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaCA9ICgpID0+IHtcbiAgICAgIHRoaXMudG91Y2hlZEludGVybmFsLnNldCh0cnVlKTtcbiAgICAgIGZuKCk7XG4gICAgfTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5leHRlcm5hbFZhbHVlLnNldCh2YWx1ZSk7XG4gIH1cblxuICAvLyBJbXBsZW1lbnRlZCBhcyBhIHBhcnQgb2YgVmFsaWRhdG9yLlxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VEV4dD4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWRFcnJvcigpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaXNFbXB0eSh2YWx1ZTogVEV4dCB8IG51bGwpOiBib29sZWFuO1xuXG4gIG9uSW50ZXJuYWxWYWx1ZUNoYW5nZSh2YWx1ZTogVEludCB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7IC8vIENvbnZlcnQgZW1wdHkgc3RyaW5nIHRvIG51bGxcbiAgICB9XG4gICAgaWYgKHZhbHVlICE9PSB1bnRyYWNrZWQodGhpcy5pbnRlcm5hbFZhbHVlKSkge1xuICAgICAgY29uc3QgZXh0ZXJuYWxWYWx1ZSA9IHRoaXMudG9FeHRlcm5hbFZhbHVlKHZhbHVlKTtcbiAgICAgIHRoaXMuZXh0ZXJuYWxWYWx1ZS5zZXQoZXh0ZXJuYWxWYWx1ZSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKGV4dGVybmFsVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsaXN0ZW5SZXF1aXJlZFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBjb250cm9sLmV2ZW50cy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXF1aXJlZEZyb21Db250cm9sLnNldChjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9FeHRlcm5hbFZhbHVlKGludGVybmFsVmFsdWU6IFRJbnQgfCBudWxsKTogVEV4dCB8IG51bGwge1xuICAgIHJldHVybiBpbnRlcm5hbFZhbHVlIGFzIFRFeHQgfCBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvSW50ZXJuYWxWYWx1ZShleHRlcm5hbFZhbHVlOiBURXh0IHwgbnVsbCk6IFRJbnQgfCBudWxsIHtcbiAgICByZXR1cm4gZXh0ZXJuYWxWYWx1ZSBhcyBUSW50IHwgbnVsbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uQmx1cigpIHtcbiAgICBzdXBlci5vbkJsdXIoKTtcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXF1aXJlZEVycm9yKHZhbHVlOiBURXh0IHwgbnVsbCkge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkKCkgJiYgdGhpcy5pc0VtcHR5KHZhbHVlKVxuICAgICAgPyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50LlJFUVVJUkVEX0VSUk9SXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSRVFVSVJFRF9FUlJPUiA9IHsgcmVxdWlyZWQ6IHRydWUgfTtcbn1cbiJdfQ==","import { booleanAttribute, Directive, input, linkedSignal, } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtCheckboxComponent extends RdtBaseFormInputComponent {\n trueValueInput = input(true, {\n alias: 'trueValue',\n });\n trueValue = linkedSignal(() => this.trueValueInput());\n falseValueInput = input(false, {\n alias: 'falseValue',\n });\n falseValue = linkedSignal(() => this.falseValueInput());\n indeterminate = input(false, { transform: booleanAttribute });\n toExternalValue(internalValue) {\n switch (internalValue) {\n case true:\n return this.trueValue();\n case false:\n return this.falseValue();\n default:\n return null;\n }\n }\n toInternalValue(externalValue) {\n switch (externalValue) {\n case this.trueValue():\n return true;\n case this.falseValue():\n return false;\n default:\n return null;\n }\n }\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtCheckboxComponent, isStandalone: true, inputs: { trueValueInput: { classPropertyName: \"trueValueInput\", publicName: \"trueValue\", isSignal: true, isRequired: false, transformFunction: null }, falseValueInput: { classPropertyName: \"falseValueInput\", publicName: \"falseValue\", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: \"indeterminate\", publicName: \"indeterminate\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtCheckboxComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9jaGVja2JveC9yZHQtY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3JGLE1BQU0sT0FBZ0Isb0JBR3BCLFNBQVEseUJBQWtEO0lBQ2pELGNBQWMsR0FBRyxLQUFLLENBQVEsSUFBYSxFQUFFO1FBQ3BELEtBQUssRUFBRSxXQUFXO0tBQ25CLENBQUMsQ0FBQztJQUNNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdEQsZUFBZSxHQUFHLEtBQUssQ0FBUyxLQUFlLEVBQUU7UUFDeEQsS0FBSyxFQUFFLFlBQVk7S0FDcEIsQ0FBQyxDQUFDO0lBQ00sVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUV4RCxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFcEQsZUFBZSxDQUNoQyxhQUE2QjtRQUU3QixRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssSUFBSTtnQkFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0I7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFa0IsZUFBZSxDQUNoQyxhQUFvQztRQUVwQyxRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sS0FBSyxDQUFDO1lBQ2Y7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFa0IsT0FBTyxDQUFDLEtBQTRCO1FBQ3JELE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztJQUN4QixDQUFDO3VHQTNDbUIsb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRHpDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRDaGVja2JveENvbXBvbmVudDxcbiAgVFRydWUgPSB0cnVlLFxuICBURmFsc2UgPSBmYWxzZVxuPiBleHRlbmRzIFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQ8VFRydWUgfCBURmFsc2UsIGJvb2xlYW4+IHtcbiAgcmVhZG9ubHkgdHJ1ZVZhbHVlSW5wdXQgPSBpbnB1dDxUVHJ1ZT4odHJ1ZSBhcyBUVHJ1ZSwge1xuICAgIGFsaWFzOiAndHJ1ZVZhbHVlJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHRydWVWYWx1ZSA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnRydWVWYWx1ZUlucHV0KCkpO1xuICByZWFkb25seSBmYWxzZVZhbHVlSW5wdXQgPSBpbnB1dDxURmFsc2U+KGZhbHNlIGFzIFRGYWxzZSwge1xuICAgIGFsaWFzOiAnZmFsc2VWYWx1ZScsXG4gIH0pO1xuICByZWFkb25seSBmYWxzZVZhbHVlID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuZmFsc2VWYWx1ZUlucHV0KCkpO1xuXG4gIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHRvRXh0ZXJuYWxWYWx1ZShcbiAgICBpbnRlcm5hbFZhbHVlOiBib29sZWFuIHwgbnVsbFxuICApOiBUVHJ1ZSB8IFRGYWxzZSB8IG51bGwge1xuICAgIHN3aXRjaCAoaW50ZXJuYWxWYWx1ZSkge1xuICAgICAgY2FzZSB0cnVlOlxuICAgICAgICByZXR1cm4gdGhpcy50cnVlVmFsdWUoKTtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiB0aGlzLmZhbHNlVmFsdWUoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB0b0ludGVybmFsVmFsdWUoXG4gICAgZXh0ZXJuYWxWYWx1ZTogVFRydWUgfCBURmFsc2UgfCBudWxsXG4gICk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBzd2l0Y2ggKGV4dGVybmFsVmFsdWUpIHtcbiAgICAgIGNhc2UgdGhpcy50cnVlVmFsdWUoKTpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIHRoaXMuZmFsc2VWYWx1ZSgpOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNFbXB0eSh2YWx1ZTogVFRydWUgfCBURmFsc2UgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { numberAttribute } from '@angular/core';\nexport function nullToUndefined(value) {\n return value === null ? undefined : value;\n}\nexport function nullToUndefinedNumeric(value) {\n return numberAttribute(value, undefined);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvdXRpbHMvdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEQsTUFBTSxVQUFVLGVBQWUsQ0FBSSxLQUFrQjtJQUNuRCxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBZ0M7SUFDckUsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJBdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxUb1VuZGVmaW5lZDxUPih2YWx1ZTogTnVsbGFibGU8VD4pOiBUIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsVG9VbmRlZmluZWROdW1lcmljKHZhbHVlOiBOdWxsYWJsZTxudW1iZXIgfCBzdHJpbmc+KSB7XG4gIHJldHVybiBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIHVuZGVmaW5lZCk7XG59XG4iXX0=","import { Directive, input, linkedSignal } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtDateComponent extends RdtBaseFormInputComponent {\n type = input('date');\n minInput = input(undefined, {\n transform: nullToUndefined,\n });\n min = linkedSignal(() => {\n const minInput = this.minInput();\n return minInput ? this.toInternalValue(minInput) : null;\n });\n maxInput = input(undefined, {\n transform: nullToUndefined,\n });\n max = linkedSignal(() => {\n const maxInput = this.maxInput();\n return maxInput ? this.toInternalValue(maxInput) : null;\n });\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtDateComponent, isStandalone: true, inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: \"minInput\", publicName: \"minInput\", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: \"maxInput\", publicName: \"maxInput\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtDateComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2RhdGUvcmR0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5QyxNQUFNLE9BQWdCLGdCQUdwQixTQUFRLHlCQUFxQztJQUNwQyxJQUFJLEdBQUcsS0FBSyxDQUFjLE1BQU0sQ0FBQyxDQUFDO0lBRWxDLFFBQVEsR0FBRyxLQUFLLENBQThCLFNBQVMsRUFBRTtRQUNoRSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFDTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVNLFFBQVEsR0FBRyxLQUFLLENBQThCLFNBQVMsRUFBRTtRQUNoRSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFDTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVnQixPQUFPLENBQUMsS0FBa0I7UUFDM0MsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7dUdBeEJtQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQsIGxpbmtlZFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbnVsbFRvVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0RGF0ZVR5cGUgfSBmcm9tICcuL2RhdGUtdHlwZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJkdERhdGVDb21wb25lbnQ8XG4gIFRFeHQgPSBzdHJpbmcsXG4gIFRJbnQgPSBURXh0XG4+IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxURXh0LCBUSW50PiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxSZHREYXRlVHlwZT4oJ2RhdGUnKTtcblxuICByZWFkb25seSBtaW5JbnB1dCA9IGlucHV0PE51bGxhYmxlPFRFeHQ+LCBURXh0IHwgbnVsbD4odW5kZWZpbmVkLCB7XG4gICAgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQsXG4gIH0pO1xuICByZWFkb25seSBtaW4gPSBsaW5rZWRTaWduYWwoKCkgPT4ge1xuICAgIGNvbnN0IG1pbklucHV0ID0gdGhpcy5taW5JbnB1dCgpO1xuICAgIHJldHVybiBtaW5JbnB1dCA/IHRoaXMudG9JbnRlcm5hbFZhbHVlKG1pbklucHV0KSA6IG51bGw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IG1heElucHV0ID0gaW5wdXQ8TnVsbGFibGU8VEV4dD4sIFRFeHQgfCBudWxsPih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB7XG4gICAgY29uc3QgbWF4SW5wdXQgPSB0aGlzLm1heElucHV0KCk7XG4gICAgcmV0dXJuIG1heElucHV0ID8gdGhpcy50b0ludGVybmFsVmFsdWUobWF4SW5wdXQpIDogbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IFRFeHQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { forkJoin, map, take } from 'rxjs';\nexport class RdtFileReader {\n read(file) {\n return this.extractData(file).pipe(take(1), map((content) => ({\n fileName: file.name,\n content,\n size: file.size,\n mimeType: file.type ?? undefined,\n modified: isNaN(file.lastModified)\n ? undefined\n : new Date(file.lastModified),\n originalFile: file,\n })));\n }\n readAll(files) {\n return forkJoin(files.map((file) => this.read(file)));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2ZpbGUtaW5wdXQvcmVhZGVyL3JkdC1maWxlLXJlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsTUFBTSxPQUFnQixhQUFhO0lBRWpDLElBQUksQ0FBQyxJQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbkIsT0FBTztZQUNQLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRyxJQUFJLENBQUMsSUFBb0IsSUFBSSxTQUFTO1lBQ2pELFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDL0IsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBYTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRGaWxlLCBSZHRNaW1lVHlwZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRGaWxlUmVhZGVyPFQ+IHtcbiAgYWJzdHJhY3QgZXh0cmFjdERhdGEoZmlsZXM6IEZpbGUpOiBPYnNlcnZhYmxlPFQ+O1xuICByZWFkKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPFJkdEZpbGU8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0RGF0YShmaWxlKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoY29udGVudCkgPT4gKHtcbiAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICBtaW1lVHlwZTogKGZpbGUudHlwZSBhcyBSZHRNaW1lVHlwZSkgPz8gdW5kZWZpbmVkLFxuICAgICAgICBtb2RpZmllZDogaXNOYU4oZmlsZS5sYXN0TW9kaWZpZWQpXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IG5ldyBEYXRlKGZpbGUubGFzdE1vZGlmaWVkKSxcbiAgICAgICAgb3JpZ2luYWxGaWxlOiBmaWxlLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuICByZWFkQWxsKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPFJkdEZpbGU8VD5bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMucmVhZChmaWxlKSkpO1xuICB9XG59XG4iXX0=","import { of } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class NoOpFileReader extends RdtFileReader {\n extractData() {\n return of(undefined);\n }\n}\nexport const NO_OP_FILE_READER = new NoOpFileReader();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLW5vb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLW5vb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFtQjtJQUNyRCxXQUFXO1FBQ1QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRGaWxlUmVhZGVyIH0gZnJvbSAnLi9yZHQtZmlsZS1yZWFkZXInO1xuXG5leHBvcnQgY2xhc3MgTm9PcEZpbGVSZWFkZXIgZXh0ZW5kcyBSZHRGaWxlUmVhZGVyPHZvaWQ+IHtcbiAgZXh0cmFjdERhdGEoKSB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IE5PX09QX0ZJTEVfUkVBREVSID0gbmV3IE5vT3BGaWxlUmVhZGVyKCk7XG4iXX0=","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class RdtFileReaderBase64 extends RdtFileReader {\n removeDataPrefix;\n constructor(removeDataPrefix = false) {\n super();\n this.removeDataPrefix = removeDataPrefix;\n }\n extractData(file) {\n let promise = RdtFileUtils.blobToDataUrl(file);\n if (this.removeDataPrefix) {\n promise = promise.then((dataUrl) => dataUrl.substring(dataUrl.indexOf(',') + 1));\n }\n return from(promise);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLWJhc2U2NC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3JlYWRlci9yZHQtZmlsZS1yZWFkZXItYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQXFCO0lBQ3hDO0lBQXBCLFlBQW9CLG1CQUFtQixLQUFLO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTVDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNwQixJQUFJLE9BQU8sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzVDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmR0RmlsZVV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuL3JkdC1maWxlLXJlYWRlcic7XG5cbmV4cG9ydCBjbGFzcyBSZHRGaWxlUmVhZGVyQmFzZTY0IGV4dGVuZHMgUmR0RmlsZVJlYWRlcjxzdHJpbmc+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW1vdmVEYXRhUHJlZml4ID0gZmFsc2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZXh0cmFjdERhdGEoZmlsZTogRmlsZSkge1xuICAgIGxldCBwcm9taXNlID0gUmR0RmlsZVV0aWxzLmJsb2JUb0RhdGFVcmwoZmlsZSk7XG4gICAgaWYgKHRoaXMucmVtb3ZlRGF0YVByZWZpeCkge1xuICAgICAgcHJvbWlzZSA9IHByb21pc2UudGhlbigoZGF0YVVybCkgPT5cbiAgICAgICAgZGF0YVVybC5zdWJzdHJpbmcoZGF0YVVybC5pbmRleE9mKCcsJykgKyAxKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb20ocHJvbWlzZSk7XG4gIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\nimport { RdtFileReaderBase64 } from '../reader/rdt-file-reader-base64';\nexport const RDT_DEFAULT_FILE_READER = new InjectionToken('RDT_DEFAULT_FILE_READER', {\n factory: () => new RdtFileReaderBase64(),\n providedIn: 'root',\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtZmlsZS1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC90b2tlbnMvcmR0LWRlZmF1bHQtZmlsZS1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FFdkQseUJBQXlCLEVBQUU7SUFDM0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksbUJBQW1CLEVBQUU7SUFDeEMsVUFBVSxFQUFFLE1BQU07Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuLi9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXJCYXNlNjQgfSBmcm9tICcuLi9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLWJhc2U2NCc7XG5cbmV4cG9ydCBjb25zdCBSRFRfREVGQVVMVF9GSUxFX1JFQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgUmR0RmlsZVJlYWRlcjx1bmtub3duPlxuPignUkRUX0RFRkFVTFRfRklMRV9SRUFERVInLCB7XG4gIGZhY3Rvcnk6ICgpID0+IG5ldyBSZHRGaWxlUmVhZGVyQmFzZTY0KCksXG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pO1xuIl19","import { InjectionToken } from '@angular/core';\nexport function czechFileLabelFn(files) {\n switch (files.length) {\n case 0:\n return 'Vyberte soubor';\n case 1:\n return files[0].fileName;\n case 2:\n case 3:\n case 4:\n return `Vybrány ${files.length} soubory`;\n default:\n return `Vybráno ${files.length} souborů`;\n }\n}\nexport const RDT_DEFAULT_FILE_LABEL_FN = new InjectionToken('RDT_DEFAULT_FILE_LABEL_FN', {\n providedIn: 'root',\n factory: () => czechFileLabelFn,\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtbGFiZWwtZm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC90b2tlbnMvcmR0LWRlZmF1bHQtbGFiZWwtZm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBZ0I7SUFDL0MsUUFBUSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDO1lBQ0osT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixLQUFLLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0IsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssQ0FBQztZQUNKLE9BQU8sV0FBVyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7UUFDM0M7WUFDRSxPQUFPLFdBQVcsS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQ3pELDJCQUEyQixFQUMzQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0I7Q0FDaEMsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEZpbGUgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3plY2hGaWxlTGFiZWxGbihmaWxlczogUmR0RmlsZVtdKSB7XG4gIHN3aXRjaCAoZmlsZXMubGVuZ3RoKSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmV0dXJuICdWeWJlcnRlIHNvdWJvcic7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuIGZpbGVzWzBdLmZpbGVOYW1lO1xuICAgIGNhc2UgMjpcbiAgICBjYXNlIDM6XG4gICAgY2FzZSA0OlxuICAgICAgcmV0dXJuIGBWeWJyw6FueSAke2ZpbGVzLmxlbmd0aH0gc291Ym9yeWA7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBgVnlicsOhbm8gJHtmaWxlcy5sZW5ndGh9IHNvdWJvcsWvYDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZHRGaWxlTGFiZWxGbiA9IChmaWxlczogUmR0RmlsZVtdKSA9PiBzdHJpbmc7XG5leHBvcnQgY29uc3QgUkRUX0RFRkFVTFRfRklMRV9MQUJFTF9GTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRGaWxlTGFiZWxGbj4oXG4gICdSRFRfREVGQVVMVF9GSUxFX0xBQkVMX0ZOJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBjemVjaEZpbGVMYWJlbEZuLFxuICB9XG4pO1xuIl19","import { InjectionToken } from '@angular/core';\nexport const RDT_DEFAULT_MAX_FILE_SIZE = new InjectionToken('RDT_DEFAULT_MAX_FILE_SIZE', {\n factory: () => '100 MB',\n providedIn: 'root',\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtbWF4LWZpbGUtc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3Rva2Vucy9yZHQtZGVmYXVsdC1tYXgtZmlsZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQ3pELDJCQUEyQixFQUMzQjtJQUNFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNO0NBQ25CLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRGaWxlU2l6ZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBSRFRfREVGQVVMVF9NQVhfRklMRV9TSVpFID0gbmV3IEluamVjdGlvblRva2VuPFJkdEZpbGVTaXplPihcbiAgJ1JEVF9ERUZBVUxUX01BWF9GSUxFX1NJWkUnLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4gJzEwMCBNQicsXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB9XG4pO1xuIl19","import { booleanAttribute, computed, Directive, effect, inject, input, linkedSignal, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport { RdtFileUtils, } from '@ngrdt/utils';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined } from '../../utils';\nimport { NO_OP_FILE_READER } from './reader/rdt-file-reader-noop';\nimport { RDT_DEFAULT_FILE_READER } from './tokens/rdt-default-file-reader';\nimport { RDT_DEFAULT_FILE_LABEL_FN } from './tokens/rdt-default-label-fn';\nimport { RDT_DEFAULT_MAX_FILE_SIZE } from './tokens/rdt-default-max-file-size';\nimport * as i0 from \"@angular/core\";\nexport class RdtFileInputComponent extends RdtBaseFormInputComponent {\n defaultFileReader = inject(RDT_DEFAULT_FILE_READER);\n defaultMaxFileSize = inject(RDT_DEFAULT_MAX_FILE_SIZE);\n defaultLabelFn = inject(RDT_DEFAULT_FILE_LABEL_FN);\n readerInput = input(this.defaultFileReader, {\n alias: 'reader',\n });\n reader = linkedSignal(() => this.readerInput());\n acceptInput = input(undefined, { alias: 'accept', transform: nullToUndefined });\n accept = linkedSignal(() => {\n const acceptInput = this.acceptInput();\n return !acceptInput || Array.isArray(acceptInput)\n ? acceptInput\n : [acceptInput];\n });\n jointAccept = computed(() => this.accept()?.join(','));\n maxFileSizeInput = input(this.defaultMaxFileSize, {\n alias: 'maxFileSize',\n transform: nullToUndefined,\n });\n maxFileSize = linkedSignal(() => this.maxFileSizeInput());\n maxFileSizeInBytes = computed(() => {\n const maxFileSize = this.maxFileSize();\n return maxFileSize ? RdtFileUtils.fileSizeToBytes(maxFileSize) : null;\n });\n labelFn = input(this.defaultLabelFn);\n multiple = input(false, { transform: booleanAttribute });\n labelCtrl = new FormControl(null);\n labelDataTestId = computed(() => this.dataTestId() + '-label');\n touchedEffect = effect(() => {\n const touched = this.touched();\n if (touched) {\n this.labelCtrl.markAsTouched();\n }\n else {\n this.labelCtrl.markAsUntouched();\n }\n });\n errorEffect = effect(() => {\n this.labelCtrl?.setErrors(this.visibleErrors());\n });\n ngOnInit() {\n super.ngOnInit();\n this.control()?.addValidators(this._maxFileSizeValidator);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this.control()?.removeValidators(this._maxFileSizeValidator);\n }\n onFileSelected(event) {\n const target = event.target;\n if (!target.files) {\n return;\n }\n let shouldRead = true;\n const maxBytes = this.maxFileSizeInBytes();\n if (maxBytes !== null) {\n const files = Array.from(target.files);\n for (const file of files) {\n if (file.size > maxBytes) {\n shouldRead = false;\n break;\n }\n }\n }\n const reader = shouldRead\n ? this.reader()\n : NO_OP_FILE_READER;\n reader\n .readAll(Array.from(target.files))\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((files) => {\n console.log(files);\n this.onChange(files);\n this.writeValue(files);\n });\n }\n writeValue(value) {\n super.writeValue(value);\n this.setInnerValue(value);\n }\n setInnerValue(files) {\n if (this.labelCtrl) {\n const label = this.labelFn()(files ?? []);\n this.labelCtrl.setValue(label);\n }\n }\n clear() {\n this.onInternalValueChange(null);\n }\n _maxFileSizeValidator = (ctrl) => {\n const maxSize = this.maxFileSizeInBytes();\n if (maxSize === null ||\n !Array.isArray(ctrl.value) ||\n ctrl.value.length === 0) {\n return null;\n }\n const files = ctrl.value;\n for (const file of files) {\n if (file['size'] !== undefined && file.size > maxSize) {\n return {\n maxFileSize: {\n max: maxSize,\n actual: file.size,\n },\n };\n }\n }\n return null;\n };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtFileInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtFileInputComponent, isStandalone: true, inputs: { readerInput: { classPropertyName: \"readerInput\", publicName: \"reader\", isSignal: true, isRequired: false, transformFunction: null }, acceptInput: { classPropertyName: \"acceptInput\", publicName: \"accept\", isSignal: true, isRequired: false, transformFunction: null }, maxFileSizeInput: { classPropertyName: \"maxFileSizeInput\", publicName: \"maxFileSize\", isSignal: true, isRequired: false, transformFunction: null }, labelFn: { classPropertyName: \"labelFn\", publicName: \"labelFn\", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtFileInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2ZpbGUtaW5wdXQvcmR0LWZpbGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFLTCxZQUFZLEdBRWIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFRL0UsTUFBTSxPQUFnQixxQkFFcEIsU0FBUSx5QkFBK0I7SUFDcEIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDcEQsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDdkQsY0FBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRTdELFdBQVcsR0FBRyxLQUFLLENBQzFCLElBQUksQ0FBQyxpQkFB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgTnVsbGFibGUsXG4gIFJkdENvbWJpbmVkTWltZVR5cGUsXG4gIFJkdEZpbGUsXG4gIFJkdEZpbGVTaXplLFxuICBSZHRGaWxlVXRpbHMsXG4gIFJkdE1pbWVUeXBlLFxufSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbnVsbFRvVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0RmlsZVJlYWRlciB9IGZyb20gJy4vcmVhZGVyL3JkdC1maWxlLXJlYWRlcic7XG5pbXBvcnQgeyBOT19PUF9GSUxFX1JFQURFUiB9IGZyb20gJy4vcmVhZGVyL3JkdC1maWxlLXJlYWRlci1ub29wJztcbmltcG9ydCB7IFJEVF9ERUZBVUxUX0ZJTEVfUkVBREVSIH0gZnJvbSAnLi90b2tlbnMvcmR0LWRlZmF1bHQtZmlsZS1yZWFkZXInO1xuaW1wb3J0IHsgUkRUX0RFRkFVTFRfRklMRV9MQUJFTF9GTiB9IGZyb20gJy4vdG9rZW5zL3JkdC1kZWZhdWx0LWxhYmVsLWZuJztcbmltcG9ydCB7IFJEVF9ERUZBVUxUX01BWF9GSUxFX1NJWkUgfSBmcm9tICcuL3Rva2Vucy9yZHQtZGVmYXVsdC1tYXgtZmlsZS1zaXplJztcblxudHlwZSBBY2NlcHRUeXBlID1cbiAgfCAoUmR0TWltZVR5cGUgfCBSZHRDb21iaW5lZE1pbWVUeXBlKVtdXG4gIHwgUmR0TWltZVR5cGVcbiAgfCBSZHRDb21iaW5lZE1pbWVUeXBlO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRGaWxlSW5wdXRDb21wb25lbnQ8XG4gIFRFeHQgPSBzdHJpbmdcbj4gZXh0ZW5kcyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50PFRFeHQ+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRGaWxlUmVhZGVyID0gaW5qZWN0KFJEVF9ERUZBVUxUX0ZJTEVfUkVBREVSKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNYXhGaWxlU2l6ZSA9IGluamVjdChSRFRfREVGQVVMVF9NQVhfRklMRV9TSVpFKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRMYWJlbEZuID0gaW5qZWN0KFJEVF9ERUZBVUxUX0ZJTEVfTEFCRUxfRk4pO1xuXG4gIHJlYWRvbmx5IHJlYWRlcklucHV0ID0gaW5wdXQ8UmR0RmlsZVJlYWRlcjxURXh0Pj4oXG4gICAgdGhpcy5kZWZhdWx0RmlsZVJlYWRlciBhcyBSZHRGaWxlUmVhZGVyPFRFeHQ+LFxuICAgIHtcbiAgICAgIGFsaWFzOiAncmVhZGVyJyxcbiAgICB9XG4gICk7XG4gIHJlYWRvbmx5IHJlYWRlciA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnJlYWRlcklucHV0KCkpO1xuXG4gIHJlYWRvbmx5IGFjY2VwdElucHV0ID0gaW5wdXQ8QWNjZXB0VHlwZSB8IHVuZGVmaW5lZCwgTnVsbGFibGU8QWNjZXB0VHlwZT4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IGFsaWFzOiAnYWNjZXB0JywgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQgfVxuICApO1xuICByZWFkb25seSBhY2NlcHQgPSBsaW5rZWRTaWduYWwoKCkgPT4ge1xuICAgIGNvbnN0IGFjY2VwdElucHV0ID0gdGhpcy5hY2NlcHRJbnB1dCgpO1xuICAgIHJldHVybiAhYWNjZXB0SW5wdXQgfHwgQXJyYXkuaXNBcnJheShhY2NlcHRJbnB1dClcbiAgICAgID8gYWNjZXB0SW5wdXRcbiAgICAgIDogW2FjY2VwdElucHV0XTtcbiAgfSk7XG4gIHJlYWRvbmx5IGpvaW50QWNjZXB0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY2NlcHQoKT8uam9pbignLCcpKTtcblxuICByZWFkb25seSBtYXhGaWxlU2l6ZUlucHV0ID0gaW5wdXQ8XG4gICAgTnVsbGFibGU8UmR0RmlsZVNpemU+LFxuICAgIFJkdEZpbGVTaXplIHwgdW5kZWZpbmVkXG4gID4odGhpcy5kZWZhdWx0TWF4RmlsZVNpemUsIHtcbiAgICBhbGlhczogJ21heEZpbGVTaXplJyxcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heEZpbGVTaXplID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMubWF4RmlsZVNpemVJbnB1dCgpKTtcbiAgcmVhZG9ubHkgbWF4RmlsZVNpemVJbkJ5dGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1heEZpbGVTaXplID0gdGhpcy5tYXhGaWxlU2l6ZSgpO1xuICAgIHJldHVybiBtYXhGaWxlU2l6ZSA/IFJkdEZpbGVVdGlscy5maWxlU2l6ZVRvQnl0ZXMobWF4RmlsZVNpemUpIDogbnVsbDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbGFiZWxGbiA9IGlucHV0KHRoaXMuZGVmYXVsdExhYmVsRm4pO1xuICByZWFkb25seSBtdWx0aXBsZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWxDdHJsID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBsYWJlbERhdGFUZXN0SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGFUZXN0SWQoKSArICctbGFiZWwnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG91Y2hlZEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMudG91Y2hlZCgpO1xuICAgIGlmICh0b3VjaGVkKSB7XG4gICAgICB0aGlzLmxhYmVsQ3RybC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxDdHJsLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVycm9yRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmxhYmVsQ3RybD8uc2V0RXJyb3JzKHRoaXMudmlzaWJsZUVycm9ycygpKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLl9tYXhGaWxlU2l6ZVZhbGlkYXRvcik7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuY29udHJvbCgpPy5yZW1vdmVWYWxpZGF0b3JzKHRoaXMuX21heEZpbGVTaXplVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoIXRhcmdldC5maWxlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzaG91bGRSZWFkID0gdHJ1ZTtcbiAgICBjb25zdCBtYXhCeXRlcyA9IHRoaXMubWF4RmlsZVNpemVJbkJ5dGVzKCk7XG4gICAgaWYgKG1heEJ5dGVzICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20odGFyZ2V0LmZpbGVzKTtcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gbWF4Qnl0ZXMpIHtcbiAgICAgICAgICBzaG91bGRSZWFkID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZWFkZXIgPSBzaG91bGRSZWFkXG4gICAgICA/IHRoaXMucmVhZGVyKClcbiAgICAgIDogKE5PX09QX0ZJTEVfUkVBREVSIGFzIHVua25vd24gYXMgUmR0RmlsZVJlYWRlcjxURXh0Pik7XG5cbiAgICByZWFkZXJcbiAgICAgIC5yZWFkQWxsKEFycmF5LmZyb20odGFyZ2V0LmZpbGVzKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZmlsZXMpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZmlsZXMpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGZpbGVzKTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGZpbGVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zZXRJbm5lclZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5uZXJWYWx1ZShmaWxlczogTnVsbGFibGU8UmR0RmlsZVtdPikge1xuICAgIGlmICh0aGlzLmxhYmVsQ3RybCkge1xuICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsRm4oKShmaWxlcyA/PyBbXSk7XG4gICAgICB0aGlzLmxhYmVsQ3RybC5zZXRWYWx1ZShsYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyKCkge1xuICAgIHRoaXMub25JbnRlcm5hbFZhbHVlQ2hhbmdlKG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4RmlsZVNpemVWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKGN0cmwpID0+IHtcbiAgICBjb25zdCBtYXhTaXplID0gdGhpcy5tYXhGaWxlU2l6ZUluQnl0ZXMoKTtcbiAgICBpZiAoXG4gICAgICBtYXhTaXplID09PSBudWxsIHx8XG4gICAgICAhQXJyYXkuaXNBcnJheShjdHJsLnZhbHVlKSB8fFxuICAgICAgY3RybC52YWx1ZS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVzID0gY3RybC52YWx1ZSBhcyBSZHRGaWxlW107XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBpZiAoZmlsZVsnc2l6ZSddICE9PSB1bmRlZmluZWQgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1heEZpbGVTaXplOiB7XG4gICAgICAgICAgICBtYXg6IG1heFNpemUsXG4gICAgICAgICAgICBhY3R1YWw6IGZpbGUuc2l6ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class RdtFileReaderArrayBuffer extends RdtFileReader {\n extractData(file) {\n return from(RdtFileUtils.fileAsArrayBuffer(file));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLWFycmF5LWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3JlYWRlci9yZHQtZmlsZS1yZWFkZXItYXJyYXktYnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQTBCO0lBQ3RFLFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdEZpbGVVdGlscyB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRGaWxlUmVhZGVyIH0gZnJvbSAnLi9yZHQtZmlsZS1yZWFkZXInO1xuXG5leHBvcnQgY2xhc3MgUmR0RmlsZVJlYWRlckFycmF5QnVmZmVyIGV4dGVuZHMgUmR0RmlsZVJlYWRlcjxBcnJheUJ1ZmZlcj4ge1xuICBleHRyYWN0RGF0YShmaWxlOiBGaWxlKSB7XG4gICAgcmV0dXJuIGZyb20oUmR0RmlsZVV0aWxzLmZpbGVBc0FycmF5QnVmZmVyKGZpbGUpKTtcbiAgfVxufVxuIl19","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class VnshFileReaderText extends RdtFileReader {\n encoding;\n constructor(encoding) {\n super();\n this.encoding = encoding;\n }\n extractData(file) {\n return from(RdtFileUtils.fileAsText(file, this.encoding));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLXRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQXFCO0lBQ3hDO0lBQW5CLFlBQW1CLFFBQTZCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFaEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsbEVuY29kaW5nQWxpYXNlcywgUmR0RmlsZVV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuL3JkdC1maWxlLXJlYWRlcic7XG5cbmV4cG9ydCBjbGFzcyBWbnNoRmlsZVJlYWRlclRleHQgZXh0ZW5kcyBSZHRGaWxlUmVhZGVyPHN0cmluZz4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZW5jb2Rpbmc/OiBBbGxFbmNvZGluZ0FsaWFzZXMpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIGV4dHJhY3REYXRhKGZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gZnJvbShSZHRGaWxlVXRpbHMuZmlsZUFzVGV4dChmaWxlLCB0aGlzLmVuY29kaW5nKSk7XG4gIH1cbn1cbiJdfQ==","import { Directive, input } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined, nullToUndefinedNumeric, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtNumericInputComponent extends RdtBaseFormInputComponent {\n min = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n max = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n step = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n autocomplete = input(undefined, {\n transform: nullToUndefined,\n });\n isEmpty(value) {\n return value === null;\n }\n toExternalValue(internalValue) {\n if (typeof internalValue === 'number') {\n return internalValue;\n }\n else if (internalValue && typeof internalValue === 'string') {\n return parseFloat(internalValue);\n }\n return null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtNumericInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtNumericInputComponent, isStandalone: true, inputs: { min: { classPropertyName: \"min\", publicName: \"min\", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: \"max\", publicName: \"max\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: \"autocomplete\", publicName: \"autocomplete\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtNumericInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW51bWVyaWMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL251bWVyaWMtaW5wdXQvcmR0LW51bWVyaWMtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBRXZCLE1BQU0sYUFBYSxDQUFDOztBQUdyQixNQUFNLE9BQWdCLHdCQUF5QixTQUFRLHlCQUV0RDtJQUNVLEdBQUcsR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN4RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLEdBQUcsR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN4RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLElBQUksR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN6RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLFlBQVksR0FBRyxLQUFLLENBRzNCLFNBQVMsRUFBRTtRQUNYLFNBQVMsRUFBRSxlQUFlO0tBQzNCLENBQUMsQ0FBQztJQUVnQixPQUFPLENBQUMsS0FBb0I7UUFDN0MsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFa0IsZUFBZSxDQUNoQyxhQUE0QjtRQUU1QixJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLGFBQWEsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQWhDbUIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRDdDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9yZHQtYmFzZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBudWxsVG9VbmRlZmluZWQsXG4gIG51bGxUb1VuZGVmaW5lZE51bWVyaWMsXG4gIFJkdEF1dG9jb21wbGV0ZU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0TnVtZXJpY0lucHV0Q29tcG9uZW50IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxcbiAgbnVtYmVyIHwgbnVsbFxuPiB7XG4gIHJlYWRvbmx5IG1pbiA9IGlucHV0PG51bWJlciB8IG51bGwsIE51bGxhYmxlPG51bWJlciB8IHN0cmluZz4+KHVuZGVmaW5lZCwge1xuICAgIHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlciB8IG51bGwsIE51bGxhYmxlPG51bWJlciB8IHN0cmluZz4+KHVuZGVmaW5lZCwge1xuICAgIHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgfSk7XG4gIHJlYWRvbmx5IHN0ZXAgPSBpbnB1dDxudW1iZXIgfCBudWxsLCBOdWxsYWJsZTxudW1iZXIgfCBzdHJpbmc+Pih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZE51bWVyaWMsXG4gIH0pO1xuICByZWFkb25seSBhdXRvY29tcGxldGUgPSBpbnB1dDxcbiAgICBSZHRBdXRvY29tcGxldGVPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIE51bGxhYmxlPFJkdEF1dG9jb21wbGV0ZU9wdGlvbnM+XG4gID4odW5kZWZpbmVkLCB7XG4gICAgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc0VtcHR5KHZhbHVlOiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHRvRXh0ZXJuYWxWYWx1ZShcbiAgICBpbnRlcm5hbFZhbHVlOiBudW1iZXIgfCBudWxsXG4gICk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0eXBlb2YgaW50ZXJuYWxWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBpbnRlcm5hbFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaW50ZXJuYWxWYWx1ZSAmJiB0eXBlb2YgaW50ZXJuYWxWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KGludGVybmFsVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","export class RdtSelectDatasource {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG1CQUFtQjtDQVN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuL3JkdC1zZWxlY3QtcGFnZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxSZHRTZWxlY3RQYWdlPFRJdGVtPj47XG4gIGFic3RyYWN0IGdldExhYmVsKGl0ZW06IFRJdGVtKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRJZChpdGVtOiBUSXRlbSk6IFRJZDtcbiAgYWJzdHJhY3QgZ2V0SXRlbXNCeUlkcyhpZHM6IFRJZFtdKTogT2JzZXJ2YWJsZTxNYXA8VElkLCBUSXRlbT4+O1xuICBhYnN0cmFjdCByZWFkb25seSB0b3RhbENvdW50S25vd246IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQ6IGJvb2xlYW47XG59XG4iXX0=","import { of } from 'rxjs';\nimport { RdtSelectDatasource } from './rdt-select-datasource';\nexport class RdtOfflineSelectDatasource extends RdtSelectDatasource {\n data;\n totalCountKnown = true;\n queryRequired = false;\n preprocessedData;\n constructor(data) {\n super();\n this.data = data;\n this.preprocessedData = this.preprocessData(data);\n }\n getData(params) {\n const page = this.getPage(this.filterData(params.query), params.pageIndex, params.pageSize);\n return of(page);\n }\n getLabel(item) {\n return item.label;\n }\n getId(item) {\n return item.value;\n }\n getItemsByIds(ids) {\n const result = new Map();\n for (const id of ids) {\n const item = this.preprocessedData.find((item) => item.value === id);\n if (item) {\n result.set(id, item);\n }\n }\n return of(result);\n }\n preprocessLabel(label) {\n return label.trim().toLowerCase();\n }\n preprocessData(data) {\n return data.map((item) => ({\n value: item.value,\n label: this.preprocessLabel(item.label),\n }));\n }\n filterData(query) {\n if (!query) {\n return this.preprocessedData;\n }\n const prepQuery = this.preprocessLabel(query);\n if (!prepQuery) {\n return this.preprocessedData;\n }\n return this.preprocessedData.filter((item) => item.label.includes(prepQuery));\n }\n getPage(data, pageIndex, pageSize) {\n if (pageSize < 1) {\n throw new Error('Invalid page size');\n }\n if (pageIndex < 0) {\n throw new Error('Invalid page index');\n }\n if (pageIndex * pageSize > data.length) {\n return {\n data: [],\n totalCount: data.length,\n pageIndex: pageIndex,\n };\n }\n const start = pageIndex * pageSize;\n const end = start + pageSize;\n const items = data.slice(start, end);\n return {\n data: items,\n totalCount: data.length,\n pageIndex: pageIndex,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L2RhdGFzb3VyY2UvcmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMEJBRVgsU0FBUSxtQkFBa0Q7SUFNckM7SUFMSCxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFckIsZ0JBQWdCLENBQTBCO0lBRTdELFlBQXFCLElBQTZCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFFaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLE9BQU8sQ0FDZCxNQUE4QjtRQUU5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFDN0IsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDUSxRQUFRLENBQUMsSUFBMkI7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDUSxLQUFLLENBQUMsSUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUSxhQUFhLENBQ3BCLEdBQWE7UUFFYixNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxlQUFlLENBQUMsS0FBYTtRQUNyQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRVMsY0FBYyxDQUN0QixJQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFUyxPQUFPLENBQ2YsSUFBNkIsRUFDN0IsU0FBaUIsRUFDakIsUUFBZ0I7UUFFaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsT0FBTztnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO2FBQ3JCLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU87WUFDTCxJQUFJLEVBQUUsS0FBSztZQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUN2QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdExhYmVsVmFsdWUgfSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQgeyBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0UGFnZSB9IGZyb20gJy4vcmR0LXNlbGVjdC1wYWdlJztcblxuZXhwb3J0IGNsYXNzIFJkdE9mZmxpbmVTZWxlY3REYXRhc291cmNlPFxuICBUVmFsdWUgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXJcbj4gZXh0ZW5kcyBSZHRTZWxlY3REYXRhc291cmNlPFJkdExhYmVsVmFsdWU8VFZhbHVlPiwgVFZhbHVlPiB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHRvdGFsQ291bnRLbm93biA9IHRydWU7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlcHJvY2Vzc2VkRGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJlcHJvY2Vzc2VkRGF0YSA9IHRoaXMucHJlcHJvY2Vzc0RhdGEoZGF0YSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXREYXRhKFxuICAgIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICApOiBPYnNlcnZhYmxlPFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLmdldFBhZ2UoXG4gICAgICB0aGlzLmZpbHRlckRhdGEocGFyYW1zLnF1ZXJ5KSxcbiAgICAgIHBhcmFtcy5wYWdlSW5kZXgsXG4gICAgICBwYXJhbXMucGFnZVNpemVcbiAgICApO1xuICAgIHJldHVybiBvZihwYWdlKTtcbiAgfVxuICBvdmVycmlkZSBnZXRMYWJlbChpdGVtOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICB9XG4gIG92ZXJyaWRlIGdldElkKGl0ZW06IFJkdExhYmVsVmFsdWU8VFZhbHVlPik6IFRWYWx1ZSB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gIH1cblxuICBvdmVycmlkZSBnZXRJdGVtc0J5SWRzKFxuICAgIGlkczogVFZhbHVlW11cbiAgKTogT2JzZXJ2YWJsZTxNYXA8VFZhbHVlLCBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4+PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxUVmFsdWUsIFJkdExhYmVsVmFsdWU8VFZhbHVlPj4oKTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIGlkcykge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMucHJlcHJvY2Vzc2VkRGF0YS5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBpZCk7XG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICByZXN1bHQuc2V0KGlkLCBpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKHJlc3VsdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcHJvY2Vzc0xhYmVsKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBsYWJlbC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVwcm9jZXNzRGF0YShcbiAgICBkYXRhOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXVxuICApOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICBsYWJlbDogdGhpcy5wcmVwcm9jZXNzTGFiZWwoaXRlbS5sYWJlbCksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlckRhdGEocXVlcnk6IHN0cmluZyB8IG51bGwpOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YTtcbiAgICB9XG4gICAgY29uc3QgcHJlcFF1ZXJ5ID0gdGhpcy5wcmVwcm9jZXNzTGFiZWwocXVlcnkpO1xuICAgIGlmICghcHJlcFF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmVwcm9jZXNzZWREYXRhO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcmVwcm9jZXNzZWREYXRhLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIGl0ZW0ubGFiZWwuaW5jbHVkZXMocHJlcFF1ZXJ5KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UGFnZShcbiAgICBkYXRhOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSxcbiAgICBwYWdlSW5kZXg6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICk6IFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+PiB7XG4gICAgaWYgKHBhZ2VTaXplIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2Ugc2l6ZScpO1xuICAgIH1cbiAgICBpZiAocGFnZUluZGV4IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2UgaW5kZXgnKTtcbiAgICB9XG4gICAgaWYgKHBhZ2VJbmRleCAqIHBhZ2VTaXplID4gZGF0YS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICB0b3RhbENvdW50OiBkYXRhLmxlbmd0aCxcbiAgICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgcGFnZVNpemU7XG4gICAgY29uc3QgaXRlbXMgPSBkYXRhLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBpdGVtcyxcbiAgICAgIHRvdGFsQ291bnQ6IGRhdGEubGVuZ3RoLFxuICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgfTtcbiAgfVxufVxuIl19","export const rdtSelectInitialState = {\n query: null,\n nextPageIndex: 0,\n pageSize: 20,\n totalCount: 0,\n totalCountKnown: false,\n options: [],\n datasource: null,\n selectedMap: new Map(),\n fetchError: null,\n missingValuePlaceholder: 'Načítání...',\n _fetchRequest: null,\n _fetchMissingRequest: null,\n _missingSelected: [],\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTZCO0lBQzdELEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLHVCQUF1QixFQUFFLGFBQWE7SUFDdEMsYUFBYSxFQUFFLElBQUk7SUFDbkIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixnQkFBZ0IsRUFBRSxFQUFFO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZUlkIH0gZnJvbSAnLi4vdXRpbHMvbGFiZWwtdmFsdWUtaWQnO1xuaW1wb3J0IHtcbiAgUmR0U2VsZWN0RmV0Y2hNaXNzaW5nUmVxdWVzdCxcbiAgUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0LFxufSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRTZWxlY3RTdGF0ZTxUSXRlbSwgVElkPiB7XG4gIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xuICBuZXh0UGFnZUluZGV4OiBudW1iZXIgfCBudWxsO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnRLbm93bjogYm9vbGVhbjtcbiAgb3B0aW9uczogUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+W107XG4gIGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VEl0ZW0sIFRJZD4gfCBudWxsO1xuICBzZWxlY3RlZE1hcDogTWFwPFRJZCwgUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+PjtcbiAgZmV0Y2hFcnJvcjogYW55IHwgbnVsbDtcbiAgbWlzc2luZ1ZhbHVlUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgX2ZldGNoUmVxdWVzdDogUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0IHwgbnVsbDtcbiAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IFJkdFNlbGVjdEZldGNoTWlzc2luZ1JlcXVlc3Q8VElkPiB8IG51bGw7XG4gIF9taXNzaW5nU2VsZWN0ZWQ6IFRJZFtdO1xufVxuXG5leHBvcnQgY29uc3QgcmR0U2VsZWN0SW5pdGlhbFN0YXRlOiBSZHRTZWxlY3RTdGF0ZTxhbnksIGFueT4gPSB7XG4gIHF1ZXJ5OiBudWxsLFxuICBuZXh0UGFnZUluZGV4OiAwLFxuICBwYWdlU2l6ZTogMjAsXG4gIHRvdGFsQ291bnQ6IDAsXG4gIHRvdGFsQ291bnRLbm93bjogZmFsc2UsXG4gIG9wdGlvbnM6IFtdLFxuICBkYXRhc291cmNlOiBudWxsLFxuICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICBmZXRjaEVycm9yOiBudWxsLFxuICBtaXNzaW5nVmFsdWVQbGFjZWhvbGRlcjogJ05hxI3DrXTDoW7DrS4uLicsXG4gIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbn07XG4iXX0=","export function compareSelectRequestParams(a, b) {\n return (a.query === b.query &&\n a.pageIndex === b.pageIndex &&\n a.pageSize === b.pageSize);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3QvdXRpbHMvcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxDQUF5QixFQUN6QixDQUF5QjtJQUV6QixPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsS0FBSztRQUNuQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxTQUFTO1FBQzNCLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDMUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIHtcbiAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJkdFNlbGVjdEZldGNoUmVxdWVzdCB7XG4gIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtcztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0U2VsZWN0RmV0Y2hNaXNzaW5nUmVxdWVzdDxUSWQ+IHtcbiAgaWRzOiBUSWRbXTtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyhcbiAgYTogUmR0U2VsZWN0UmVxdWVzdFBhcmFtcyxcbiAgYjogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgYS5xdWVyeSA9PT0gYi5xdWVyeSAmJlxuICAgIGEucGFnZUluZGV4ID09PSBiLnBhZ2VJbmRleCAmJlxuICAgIGEucGFnZVNpemUgPT09IGIucGFnZVNpemVcbiAgKTtcbn1cbiJdfQ==","import { computed, untracked } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState, } from '@ngrx/signals';\nimport { compareSelectRequestParams, } from '../utils/request';\nimport { rdtSelectInitialState } from './rdt-select-state';\nfunction getRdtSelectStore(initialState = rdtSelectInitialState) {\n return signalStore(withState(initialState), withHooks({\n onDestroy(store) {\n store._fetchMissingRequest()?.subscription.unsubscribe();\n store._fetchRequest()?.subscription.unsubscribe();\n },\n }), withComputed((state) => ({\n hasMore: computed(() => state.nextPageIndex !== null),\n selectedItems: computed(() => {\n return Array.from(state.selectedMap().values());\n }),\n loadingOptions: computed(() => state._fetchRequest() !== null),\n loadingMissing: computed(() => state._fetchMissingRequest() !== null),\n loading: computed(() => state._fetchRequest() !== null ||\n state._fetchMissingRequest() !== null),\n // Shows selected + others while query is empty\n // Shows only query results while query has value\n visibleOptions: computed(() => {\n const items = state.options();\n const query = state.query();\n const selectedMap = state.selectedMap();\n const missing = state._missingSelected();\n if (query || missing.length === 0) {\n return items.map((it) => ({\n ...it,\n selected: selectedMap.has(it.id),\n }));\n }\n const selected = Array.from(selectedMap.values()).map((it) => ({ ...it, selected: true }));\n const missingPlaceholder = state.missingValuePlaceholder();\n const placeholders = missing.map((id) => ({\n id,\n label: missingPlaceholder.replace('{id}', String(id)),\n value: null,\n selected: true,\n }));\n placeholders.forEach((pl) => selected.push(pl));\n items.forEach((item) => {\n if (!selectedMap.has(item.id)) {\n selected.push({ ...item, selected: false });\n }\n });\n return selected;\n }),\n })), withMethods((store) => ({\n fetch() {\n const datasource = untracked(store.datasource);\n const index = untracked(store.nextPageIndex);\n const query = untracked(store.query);\n const pageSize = untracked(store.pageSize);\n if (!datasource || index === null) {\n return;\n }\n const params = {\n query: query,\n pageIndex: index,\n pageSize: pageSize,\n };\n const currentRequest = untracked(store._fetchRequest);\n if (currentRequest) {\n if (compareSelectRequestParams(currentRequest.params, params)) {\n return;\n }\n else {\n currentRequest.subscription.unsubscribe();\n }\n }\n const observer = this._getFetchObserver(params);\n const subscription = datasource.getData(params).subscribe(observer);\n // Offline datasource using `of()` emits value synchronously\n if (!subscription.closed) {\n patchState(store, {\n _fetchRequest: { subscription, params: params },\n });\n }\n },\n _getFetchObserver(requestParams) {\n return {\n next: (page) => this._onFetchSuccess(page, requestParams),\n error: (error) => this._onFetchError(error),\n complete: () => this._onFetchComplete(),\n };\n },\n _onFetchSuccess(page, requestParams) {\n let nextPageIndex = page.pageIndex + 1;\n if (page.totalCount === null) {\n if (page.data.length < requestParams.pageSize) {\n nextPageIndex = null;\n }\n }\n else if (requestParams.pageIndex * requestParams.pageSize + page.data.length >=\n page.totalCount) {\n nextPageIndex = null;\n }\n const options = [\n ...untracked(store.options),\n ...this._getLabelValueIds(page.data),\n ];\n patchState(store, {\n totalCount: page.totalCount ??\n Math.max(untracked(store.totalCount), page.pageIndex * requestParams.pageSize + page.data.length),\n nextPageIndex,\n totalCountKnown: page.totalCount !== null ||\n page.data.length < requestParams.pageSize,\n options,\n _fetchRequest: null,\n });\n this._loadMissingSelected();\n },\n _onFetchError(error) {\n patchState(store, {\n fetchError: getRdtSelectError(error),\n _fetchRequest: null,\n });\n },\n _onFetchComplete() {\n patchState(store, {\n _fetchRequest: null,\n });\n },\n setDatasource(datasource) {\n untracked(store._fetchRequest)?.subscription.unsubscribe();\n patchState(store, {\n datasource,\n _fetchRequest: null,\n fetchError: null,\n totalCountKnown: datasource.totalCountKnown,\n nextPageIndex: 0,\n totalCount: 0,\n options: [],\n });\n if (!datasource.queryRequired) {\n this.fetch();\n }\n else {\n this._loadMissingSelected();\n }\n },\n setQuery(query) {\n const datasource = untracked(store.datasource);\n if (query !== untracked(store.query)) {\n this.reset();\n patchState(store, { query });\n if (query || !datasource?.queryRequired) {\n this.fetch();\n }\n }\n },\n reset() {\n patchState(store, {\n query: null,\n nextPageIndex: 0,\n options: [],\n totalCount: 0,\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n resetTotalCountKnown() {\n patchState(store, {\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n setSelected(ids) {\n patchState(store, {\n _missingSelected: ids,\n selectedMap: new Map(),\n });\n this._loadMissingSelected();\n },\n select(ids) {\n const oldMissing = untracked(store._missingSelected);\n const notInMissing = ids.filter((id) => !oldMissing.includes(id));\n if (notInMissing.length > 0) {\n patchState(store, {\n _missingSelected: oldMissing.concat(notInMissing),\n });\n this._loadMissingSelected();\n }\n },\n unselectAll() {\n const fetchMissingReq = untracked(store._fetchMissingRequest);\n if (fetchMissingReq) {\n fetchMissingReq.subscription.unsubscribe();\n }\n patchState(store, {\n _missingSelected: [],\n selectedMap: new Map(),\n _fetchMissingRequest: null,\n });\n },\n _setAndGetMissing() {\n const allMissing = untracked(store._missingSelected);\n const items = untracked(store.options);\n const selectedMap = new Map(untracked(store.selectedMap));\n const newMissing = [];\n let selectedChanged = false;\n for (const id of allMissing) {\n const item = items.find((it) => it.id === id);\n if (item) {\n selectedMap.set(id, item);\n selectedChanged = true;\n }\n else {\n newMissing.push(id);\n }\n }\n if (selectedChanged) {\n patchState(store, { selectedMap });\n }\n if (newMissing.length === 0) {\n this._cancelFetchMissingIfNeeded();\n }\n patchState(store, { _missingSelected: newMissing });\n return newMissing;\n },\n _loadMissingSelected() {\n const reallyMissing = this._setAndGetMissing();\n if (!untracked(store.loading) && reallyMissing.length > 0) {\n this._fetchMissing(reallyMissing);\n }\n },\n _cancelFetchMissingIfNeeded() {\n const fetchMissingReq = untracked(store._fetchMissingRequest);\n const items = untracked(store.options);\n if (fetchMissingReq?.ids.every((id) => items.some((it) => it.id === id))) {\n fetchMissingReq.subscription.unsubscribe();\n patchState(store, {\n _fetchMissingRequest: null,\n _missingSelected: [],\n });\n }\n },\n _fetchMissing(ids) {\n const datasource = untracked(store.datasource);\n if (!datasource || ids.length === 0) {\n return;\n }\n const sub = datasource.getItemsByIds(ids).subscribe((map) => {\n const newMissing = [];\n const newSelected = new Map(untracked(store.selectedMap));\n for (const id of untracked(store._missingSelected)) {\n if (map.has(id)) {\n const value = map.get(id);\n const label = datasource.getLabel(value);\n newSelected.set(id, { label, value, id });\n }\n else {\n newMissing.push(id);\n }\n }\n patchState(store, {\n _fetchMissingRequest: null,\n _missingSelected: newMissing,\n selectedMap: newSelected,\n });\n this._loadMissingSelected();\n });\n if (!sub.closed) {\n patchState(store, {\n _fetchMissingRequest: { ids, subscription: sub },\n });\n }\n },\n selectSingle(id) {\n this.setSelected([id]);\n },\n toggle(id) {\n const oldMap = untracked(store.selectedMap);\n const datasource = untracked(store.datasource);\n if (!datasource) {\n throw new Error('Datasource is undefined');\n }\n if (oldMap.has(id)) {\n const newMap = new Map(oldMap);\n newMap.delete(id);\n patchState(store, { selectedMap: newMap });\n }\n else {\n const item = untracked(store.options).find((it) => it.id === id);\n if (!item) {\n this.select([id]);\n }\n else {\n const newMap = new Map(oldMap);\n newMap.set(id, item);\n patchState(store, { selectedMap: newMap });\n }\n }\n },\n cancelFetch() {\n untracked(store._fetchRequest)?.subscription.unsubscribe();\n patchState(store, {\n _fetchRequest: null,\n fetchError: null,\n });\n },\n isSelected(item) {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n return false;\n }\n const id = datasource.getId(item);\n return untracked(store.selectedMap).has(id);\n },\n setPageSize(size) {\n patchState(store, { pageSize: size });\n },\n _getLabelValueIds(items) {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n throw new Error('Datasource not set!');\n }\n return items.map((item) => ({\n label: datasource.getLabel(item),\n value: item,\n id: datasource.getId(item),\n }));\n },\n })));\n}\nexport const RdtSelectStore = getRdtSelectStore();\nfunction getRdtSelectError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n else if (error && typeof error === 'object' && 'message' in error) {\n return error.message;\n }\n return 'Nastala chyba.';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFRdkIsT0FBTyxFQUNMLDBCQUEwQixHQUUzQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRSxTQUFTLGlCQUFpQixDQUFTLFlBQVksR0FBRyxxQkFBcUI7SUFDckUsT0FBTyxXQUFXLENBQ2hCLFNBQVMsQ0FBQyxZQUFzQyxDQUFDLEVBQ2pELFNBQVMsQ0FBQztRQUNSLFNBQVMsQ0FBQyxLQUFLO1lBQ2IsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pELEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsQ0FBQztLQUNGLENBQUMsRUFDRixZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQztRQUNyRCxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEQs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QUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELGlCQUFpQixDQUFDLEtBQVU7WUFDMUIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2dCQUNYLEVBQUUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUMzQixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7S0FDRixDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsRUFBWSxDQUFDO0FBSzVELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN2QixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNwRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHBhdGNoU3RhdGUsXG4gIHNpZ25hbFN0b3JlLFxuICB3aXRoQ29tcHV0ZWQsXG4gIHdpdGhIb29rcyxcbiAgd2l0aE1ldGhvZHMsXG4gIHdpdGhTdGF0ZSxcbn0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0U2VsZWN0RGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXNlbGVjdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRMYWJlbFZhbHVlSWQsXG4gIFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uLFxufSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQge1xuICBjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyxcbiAgUmR0U2VsZWN0UmVxdWVzdFBhcmFtcyxcbn0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyByZHRTZWxlY3RJbml0aWFsU3RhdGUsIFJkdFNlbGVjdFN0YXRlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LXN0YXRlJztcblxuZnVuY3Rpb24gZ2V0UmR0U2VsZWN0U3RvcmU8VCwgVElkPihpbml0aWFsU3RhdGUgPSByZHRTZWxlY3RJbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHNpZ25hbFN0b3JlKFxuICAgIHdpdGhTdGF0ZShpbml0aWFsU3RhdGUgYXMgUmR0U2VsZWN0U3RhdGU8VCwgVElkPiksXG4gICAgd2l0aEhvb2tzKHtcbiAgICAgIG9uRGVzdHJveShzdG9yZSkge1xuICAgICAgICBzdG9yZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgc3RvcmUuX2ZldGNoUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgd2l0aENvbXB1dGVkKChzdGF0ZSkgPT4gKHtcbiAgICAgIGhhc01vcmU6IGNvbXB1dGVkKCgpID0+IHN0YXRlLm5leHRQYWdlSW5kZXggIT09IG51bGwpLFxuICAgICAgc2VsZWN0ZWRJdGVtczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShzdGF0ZS5zZWxlY3RlZE1hcCgpLnZhbHVlcygpKTtcbiAgICAgIH0pLFxuICAgICAgbG9hZGluZ09wdGlvbnM6IGNvbXB1dGVkKCgpID0+IHN0YXRlLl9mZXRjaFJlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nTWlzc2luZzogY29tcHV0ZWQoKCkgPT4gc3RhdGUuX2ZldGNoTWlzc2luZ1JlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nOiBjb21wdXRlZChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hSZXF1ZXN0KCkgIT09IG51bGwgfHxcbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpICE9PSBudWxsXG4gICAgICApLFxuICAgICAgLy8gU2hvd3Mgc2VsZWN0ZWQgKyBvdGhlcnMgd2hpbGUgcXVlcnkgaXMgZW1wdHlcbiAgICAgIC8vIFNob3dzIG9ubHkgcXVlcnkgcmVzdWx0cyB3aGlsZSBxdWVyeSBoYXMgdmFsdWVcbiAgICAgIHZpc2libGVPcHRpb25zOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gc3RhdGUub3B0aW9ucygpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHN0YXRlLnF1ZXJ5KCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gc3RhdGUuc2VsZWN0ZWRNYXAoKTtcbiAgICAgICAgY29uc3QgbWlzc2luZyA9IHN0YXRlLl9taXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgaWYgKHF1ZXJ5IHx8IG1pc3NpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXQpID0+ICh7XG4gICAgICAgICAgICAuLi5pdCxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZE1hcC5oYXMoaXQuaWQpLFxuICAgICAgICAgIH0pKSBhcyBSZHRSZW5kZXJlZFNlbGVjdE9wdGlvbjxULCBUSWQ+W107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQ6IFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uPFQsIFRJZD5bXSA9IEFycmF5LmZyb20oXG4gICAgICAgICAgc2VsZWN0ZWRNYXAudmFsdWVzKClcbiAgICAgICAgKS5tYXAoKGl0KSA9PiAoeyAuLi5pdCwgc2VsZWN0ZWQ6IHRydWUgfSkpO1xuICAgICAgICBjb25zdCBtaXNzaW5nUGxhY2Vob2xkZXIgPSBzdGF0ZS5taXNzaW5nVmFsdWVQbGFjZWhvbGRlcigpO1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnMgPSBtaXNzaW5nLm1hcCgoaWQpID0+ICh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgbGFiZWw6IG1pc3NpbmdQbGFjZWhvbGRlci5yZXBsYWNlKCd7aWR9JywgU3RyaW5nKGlkKSksXG4gICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcGxhY2Vob2xkZXJzLmZvckVhY2goKHBsKSA9PiBzZWxlY3RlZC5wdXNoKHBsKSk7XG5cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmICghc2VsZWN0ZWRNYXAuaGFzKGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZC5wdXNoKHsgLi4uaXRlbSwgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICBmZXRjaCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB1bnRyYWNrZWQoc3RvcmUubmV4dFBhZ2VJbmRleCk7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdW50cmFja2VkKHN0b3JlLnF1ZXJ5KTtcbiAgICAgICAgY29uc3QgcGFnZVNpemUgPSB1bnRyYWNrZWQoc3RvcmUucGFnZVNpemUpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UgfHwgaW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICBwYWdlSW5kZXg6IGluZGV4LFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY3VycmVudFJlcXVlc3QgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk7XG4gICAgICAgIGlmIChjdXJyZW50UmVxdWVzdCkge1xuICAgICAgICAgIGlmIChjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyhjdXJyZW50UmVxdWVzdC5wYXJhbXMsIHBhcmFtcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFJlcXVlc3Quc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5fZ2V0RmV0Y2hPYnNlcnZlcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBkYXRhc291cmNlLmdldERhdGEocGFyYW1zKS5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xuICAgICAgICAvLyBPZmZsaW5lIGRhdGFzb3VyY2UgdXNpbmcgYG9mKClgIGVtaXRzIHZhbHVlIHN5bmNocm9ub3VzbHlcbiAgICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoUmVxdWVzdDogeyBzdWJzY3JpcHRpb24sIHBhcmFtczogcGFyYW1zIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZ2V0RmV0Y2hPYnNlcnZlcihcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICAgICAgKTogT2JzZXJ2ZXI8UmR0U2VsZWN0UGFnZTxUPj4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5leHQ6IChwYWdlKSA9PiB0aGlzLl9vbkZldGNoU3VjY2VzcyhwYWdlLCByZXF1ZXN0UGFyYW1zKSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLl9vbkZldGNoRXJyb3IoZXJyb3IpLFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLl9vbkZldGNoQ29tcGxldGUoKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBfb25GZXRjaFN1Y2Nlc3MoXG4gICAgICAgIHBhZ2U6IFJkdFNlbGVjdFBhZ2U8VD4sXG4gICAgICAgIHJlcXVlc3RQYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgICAgICkge1xuICAgICAgICBsZXQgbmV4dFBhZ2VJbmRleDogbnVtYmVyIHwgbnVsbCA9IHBhZ2UucGFnZUluZGV4ICsgMTtcbiAgICAgICAgaWYgKHBhZ2UudG90YWxDb3VudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGlmIChwYWdlLmRhdGEubGVuZ3RoIDwgcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSkge1xuICAgICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMucGFnZUluZGV4ICogcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSArIHBhZ2UuZGF0YS5sZW5ndGggPj1cbiAgICAgICAgICBwYWdlLnRvdGFsQ291bnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFtcbiAgICAgICAgICAuLi51bnRyYWNrZWQoc3RvcmUub3B0aW9ucyksXG4gICAgICAgICAgLi4udGhpcy5fZ2V0TGFiZWxWYWx1ZUlkcyhwYWdlLmRhdGEpLFxuICAgICAgICBdO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudDpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCA/P1xuICAgICAgICAgICAgTWF0aC5tYXgoXG4gICAgICAgICAgICAgIHVudHJhY2tlZChzdG9yZS50b3RhbENvdW50KSxcbiAgICAgICAgICAgICAgcGFnZS5wYWdlSW5kZXggKiByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplICsgcGFnZS5kYXRhLmxlbmd0aFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBuZXh0UGFnZUluZGV4LFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgcGFnZS5kYXRhLmxlbmd0aCA8IHJlcXVlc3RQYXJhbXMucGFnZVNpemUsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZmV0Y2hFcnJvcjogZ2V0UmR0U2VsZWN0RXJyb3IoZXJyb3IpLFxuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoQ29tcGxldGUoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXREYXRhc291cmNlKGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VCwgVElkPikge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/LnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZGF0YXNvdXJjZSxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICAgIGZldGNoRXJyb3I6IG51bGwsXG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiBkYXRhc291cmNlLnRvdGFsQ291bnRLbm93bixcbiAgICAgICAgICBuZXh0UGFnZUluZGV4OiAwLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UucXVlcnlSZXF1aXJlZCkge1xuICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb2FkTWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZXRRdWVyeShxdWVyeTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAocXVlcnkgIT09IHVudHJhY2tlZChzdG9yZS5xdWVyeSkpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBxdWVyeSB9KTtcbiAgICAgICAgICBpZiAocXVlcnkgfHwgIWRhdGFzb3VyY2U/LnF1ZXJ5UmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXNldCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHF1ZXJ5OiBudWxsLFxuICAgICAgICAgIG5leHRQYWdlSW5kZXg6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKT8udG90YWxDb3VudEtub3duID8/IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHJlc2V0VG90YWxDb3VudEtub3duKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk/LnRvdGFsQ291bnRLbm93biA/PyB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXRTZWxlY3RlZChpZHM6IFRJZFtdKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBpZHMsXG4gICAgICAgICAgc2VsZWN0ZWRNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgIH0sXG4gICAgICBzZWxlY3QoaWRzOiBUSWRbXSkge1xuICAgICAgICBjb25zdCBvbGRNaXNzaW5nID0gdW50cmFja2VkKHN0b3JlLl9taXNzaW5nU2VsZWN0ZWQpO1xuICAgICAgICBjb25zdCBub3RJbk1pc3NpbmcgPSBpZHMuZmlsdGVyKChpZCkgPT4gIW9sZE1pc3NpbmcuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgaWYgKG5vdEluTWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX21pc3NpbmdTZWxlY3RlZDogb2xkTWlzc2luZy5jb25jYXQobm90SW5NaXNzaW5nKSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuc2VsZWN0QWxsKCkge1xuICAgICAgICBjb25zdCBmZXRjaE1pc3NpbmdSZXEgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QpO1xuICAgICAgICBpZiAoZmV0Y2hNaXNzaW5nUmVxKSB7XG4gICAgICAgICAgZmV0Y2hNaXNzaW5nUmVxLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbiAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBfc2V0QW5kR2V0TWlzc2luZygpIHtcbiAgICAgICAgY29uc3QgYWxsTWlzc2luZyA9IHVudHJhY2tlZChzdG9yZS5fbWlzc2luZ1NlbGVjdGVkKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUub3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gbmV3IE1hcCh1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApKTtcbiAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcblxuICAgICAgICBsZXQgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgYWxsTWlzc2luZykge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQuaWQgPT09IGlkKTtcbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRNYXAuc2V0KGlkLCBpdGVtKTtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld01pc3NpbmcucHVzaChpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTWFwIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdNaXNzaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuX2NhbmNlbEZldGNoTWlzc2luZ0lmTmVlZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfbWlzc2luZ1NlbGVjdGVkOiBuZXdNaXNzaW5nIH0pO1xuICAgICAgICByZXR1cm4gbmV3TWlzc2luZztcbiAgICAgIH0sXG4gICAgICBfbG9hZE1pc3NpbmdTZWxlY3RlZCgpIHtcbiAgICAgICAgY29uc3QgcmVhbGx5TWlzc2luZyA9IHRoaXMuX3NldEFuZEdldE1pc3NpbmcoKTtcbiAgICAgICAgaWYgKCF1bnRyYWNrZWQoc3RvcmUubG9hZGluZykgJiYgcmVhbGx5TWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5fZmV0Y2hNaXNzaW5nKHJlYWxseU1pc3NpbmcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2NhbmNlbEZldGNoTWlzc2luZ0lmTmVlZGVkKCkge1xuICAgICAgICBjb25zdCBmZXRjaE1pc3NpbmdSZXEgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QpO1xuICAgICAgICBjb25zdCBpdGVtcyA9IHVudHJhY2tlZChzdG9yZS5vcHRpb25zKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGZldGNoTWlzc2luZ1JlcT8uaWRzLmV2ZXJ5KChpZCkgPT4gaXRlbXMuc29tZSgoaXQpID0+IGl0LmlkID09PSBpZCkpXG4gICAgICAgICkge1xuICAgICAgICAgIGZldGNoTWlzc2luZ1JlcS5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2ZldGNoTWlzc2luZyhpZHM6IFRJZFtdKSB7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSB8fCBpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YiA9IGRhdGFzb3VyY2UuZ2V0SXRlbXNCeUlkcyhpZHMpLnN1YnNjcmliZSgobWFwKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZCA9IG5ldyBNYXAodW50cmFja2VkKHN0b3JlLnNlbGVjdGVkTWFwKSk7XG4gICAgICAgICAgZm9yIChjb25zdCBpZCBvZiB1bnRyYWNrZWQoc3RvcmUuX21pc3NpbmdTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIGlmIChtYXAuaGFzKGlkKSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1hcC5nZXQoaWQpITtcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhc291cmNlLmdldExhYmVsKHZhbHVlKTtcbiAgICAgICAgICAgICAgbmV3U2VsZWN0ZWQuc2V0KGlkLCB7IGxhYmVsLCB2YWx1ZSwgaWQgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXdNaXNzaW5nLnB1c2goaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IG5ld01pc3NpbmcsXG4gICAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3U2VsZWN0ZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFzdWIuY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IHsgaWRzLCBzdWJzY3JpcHRpb246IHN1YiB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0U2luZ2xlKGlkOiBUSWQpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChbaWRdKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGUoaWQ6IFRJZCkge1xuICAgICAgICBjb25zdCBvbGRNYXAgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApO1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFzb3VyY2UgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9sZE1hcC5oYXMoaWQpKSB7XG4gICAgICAgICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChvbGRNYXApO1xuICAgICAgICAgIG5ld01hcC5kZWxldGUoaWQpO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRNYXA6IG5ld01hcCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBpdGVtID0gdW50cmFja2VkKHN0b3JlLm9wdGlvbnMpLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpO1xuICAgICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QoW2lkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld01hcCA9IG5ldyBNYXAob2xkTWFwKTtcbiAgICAgICAgICAgIG5ld01hcC5zZXQoaWQsIGl0ZW0pO1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1hcDogbmV3TWFwIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNhbmNlbEZldGNoKCkge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/LnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgX2ZldGNoUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBpc1NlbGVjdGVkKGl0ZW06IFQpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgaWYgKCFkYXRhc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlkID0gZGF0YXNvdXJjZS5nZXRJZChpdGVtKTtcbiAgICAgICAgcmV0dXJuIHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZE1hcCkuaGFzKGlkKTtcbiAgICAgIH0sXG4gICAgICBzZXRQYWdlU2l6ZShzaXplOiBudW1iZXIpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBwYWdlU2l6ZTogc2l6ZSB9KTtcbiAgICAgIH0sXG4gICAgICBfZ2V0TGFiZWxWYWx1ZUlkcyhpdGVtczogVFtdKTogUmR0TGFiZWxWYWx1ZUlkPFQsIFRJZD5bXSB7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGF0YXNvdXJjZSBub3Qgc2V0IScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGRhdGFzb3VyY2UuZ2V0TGFiZWwoaXRlbSksXG4gICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgaWQ6IGRhdGFzb3VyY2UuZ2V0SWQoaXRlbSksXG4gICAgICAgIH0pKTtcbiAgICAgIH0sXG4gICAgfSkpXG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCBSZHRTZWxlY3RTdG9yZSA9IGdldFJkdFNlbGVjdFN0b3JlPGFueSwgYW55PigpO1xuZXhwb3J0IHR5cGUgUmR0U2VsZWN0U3RvcmU8VCA9IGFueSwgVElkID0gbnVtYmVyPiA9IEluc3RhbmNlVHlwZTxcbiAgUmV0dXJuVHlwZTx0eXBlb2YgZ2V0UmR0U2VsZWN0U3RvcmU8VCwgVElkPj5cbj47XG5cbmZ1bmN0aW9uIGdldFJkdFNlbGVjdEVycm9yKGVycm9yOiBhbnkpIHtcbiAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIHJldHVybiBlcnJvci5tZXNzYWdlO1xuICB9IGVsc2UgaWYgKGVycm9yICYmIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgJ21lc3NhZ2UnIGluIGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG4gIH1cbiAgcmV0dXJuICdOYXN0YWxhIGNoeWJhLic7XG59XG4iXX0=","import { computed, Directive, effect, inject, input } from '@angular/core';\nimport { RdtOfflineSelectDatasource } from '../datasource';\nimport { RdtSelectStore } from '../state';\nimport * as i0 from \"@angular/core\";\nexport class RdtSelectOfflineDatasourceProviderDirective {\n store = inject(RdtSelectStore);\n optionsInput = input.required({\n alias: 'options',\n });\n options = computed(() => this.parseOptions(this.optionsInput()));\n parseOptions(options) {\n if (!options || options.length === 0) {\n return [];\n }\n if (typeof options[0] === 'object' && options[0]) {\n return options;\n }\n else {\n return options.map((value) => ({\n label: String(value),\n value: value,\n }));\n }\n }\n optionsEffect = effect(() => this.setDatasource());\n setDatasource() {\n const options = this.options();\n this.store.setDatasource(new RdtOfflineSelectDatasource(options));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOfflineDatasourceProviderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtSelectOfflineDatasourceProviderDirective, isStandalone: true, inputs: { optionsInput: { classPropertyName: \"optionsInput\", publicName: \"options\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOfflineDatasourceProviderDirective, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1vZmZsaW5lLWRhdGFzb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kaXJlY3RpdmVzL3JkdC1zZWxlY3Qtb2ZmbGluZS1kYXRhc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJMUMsTUFBTSxPQUFnQiwyQ0FBMkM7SUFHdEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUvQixZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FFcEM7UUFDQSxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7SUFDTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsRSxZQUFZLENBQ2xCLE9BQXVEO1FBRXZELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE9BQWtDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFRLE9BQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsS0FBSyxFQUFFLEtBQUs7YUFDYixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRWdCLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFNUQsYUFBYTtRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSwwQkFBMEIsQ0FBUyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7dUdBakNtQiwyQ0FBMkM7MkZBQTNDLDJDQUEyQzs7MkZBQTNDLDJDQUEyQztrQkFEaEUsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0T2ZmbGluZVNlbGVjdERhdGFzb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFN0b3JlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZSB9IGZyb20gJy4uL3V0aWxzL2xhYmVsLXZhbHVlLWlkJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0U2VsZWN0T2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZTxcbiAgVFZhbHVlIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyXG4+IHtcbiAgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoUmR0U2VsZWN0U3RvcmUpO1xuXG4gIHJlYWRvbmx5IG9wdGlvbnNJbnB1dCA9IGlucHV0LnJlcXVpcmVkPFxuICAgIFJkdExhYmVsVmFsdWU8VFZhbHVlPltdIHwgVFZhbHVlW10gfCB1bmRlZmluZWRcbiAgPih7XG4gICAgYWxpYXM6ICdvcHRpb25zJyxcbiAgfSk7XG4gIHJlYWRvbmx5IG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhcnNlT3B0aW9ucyh0aGlzLm9wdGlvbnNJbnB1dCgpKSk7XG5cbiAgcHJpdmF0ZSBwYXJzZU9wdGlvbnMoXG4gICAgb3B0aW9uczogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10gfCBUVmFsdWVbXSB8IHVuZGVmaW5lZFxuICApOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgaWYgKCFvcHRpb25zIHx8IG9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9uc1swXSA9PT0gJ29iamVjdCcgJiYgb3B0aW9uc1swXSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMgYXMgUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAob3B0aW9ucyBhcyBUVmFsdWVbXSkubWFwKCh2YWx1ZSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IFN0cmluZyh2YWx1ZSksXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnNFZmZlY3QgPSBlZmZlY3QoKCkgPT4gdGhpcy5zZXREYXRhc291cmNlKCkpO1xuXG4gIHByaXZhdGUgc2V0RGF0YXNvdXJjZSgpIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgdGhpcy5zdG9yZS5zZXREYXRhc291cmNlKG5ldyBSZHRPZmZsaW5lU2VsZWN0RGF0YXNvdXJjZTxUVmFsdWU+KG9wdGlvbnMpKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RdtSelectOptionDirective {\n elementRef = inject(ElementRef);\n value = input.required({ alias: 'rdtSelectOption' });\n _selected = signal(false);\n set selected(value) {\n this._selected.set(value);\n }\n get selected() {\n return this._selected();\n }\n _disabled = signal(false);\n set disabled(value) {\n this._disabled.set(value);\n }\n get disabled() {\n return this._disabled();\n }\n setActiveStyles() {\n this.selected = true;\n }\n setInactiveStyles() {\n this.selected = false;\n }\n scrollIntoElement() {\n this.elementRef.nativeElement.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtSelectOptionDirective, isStandalone: true, selector: \"[rdtSelectOption]\", inputs: { value: { classPropertyName: \"value\", publicName: \"rdtSelectOption\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"class.rdt-option-selected\": \"_selected()\", \"class.rdt-option-disabled\": \"_disabled()\" }, classAttribute: \"rdt-option\" }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOptionDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtSelectOption]',\n host: {\n class: 'rdt-option',\n '[class.rdt-option-selected]': '_selected()',\n '[class.rdt-option-disabled]': '_disabled()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kaXJlY3RpdmVzL3JkdC1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVN0UsTUFBTSxPQUFPLHdCQUF3QjtJQUNsQixVQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztJQUNqRSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFFbkQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRWtCLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWpDVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFlBQVk7d0JBQ25CLDZCQUE2QixFQUFFLGFBQWE7d0JBQzVDLDZCQUE2QixFQUFFLGFBQWE7cUJBQzdDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyZHRTZWxlY3RPcHRpb25dJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAncmR0LW9wdGlvbicsXG4gICAgJ1tjbGFzcy5yZHQtb3B0aW9uLXNlbGVjdGVkXSc6ICdfc2VsZWN0ZWQoKScsXG4gICAgJ1tjbGFzcy5yZHQtb3B0aW9uLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUVmFsdWU+IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8VFZhbHVlPih7IGFsaWFzOiAncmR0U2VsZWN0T3B0aW9uJyB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3NlbGVjdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQuc2V0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQuc2V0KHZhbHVlKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkKCk7XG4gIH1cblxuICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBzY3JvbGxJbnRvRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBibG9jazogJ25lYXJlc3QnLFxuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { computed, Directive, effect, inject, input, linkedSignal, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal, } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport { RdtObjectUtils } from '@ngrdt/utils';\nimport { debounceTime, distinctUntilChanged, switchMap } from 'rxjs';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { RdtSelectStore } from './state/rdt-select-store';\nimport * as i0 from \"@angular/core\";\nexport class RdtBaseSelectCommonComponent extends RdtBaseFormInputComponent {\n datasourceInput = input(null);\n store = inject(RdtSelectStore);\n visibleOptions = this.store.visibleOptions;\n queryValidatorFnInput = input(null, {\n alias: 'inputValidator',\n });\n queryValidatorFn = linkedSignal(() => this.queryValidatorFnInput());\n queryValidatorEffect = effect(() => {\n const validator = this.queryValidatorFn();\n if (validator) {\n this.inputCtrl.setValidators(validator);\n }\n else {\n this.inputCtrl.clearValidators();\n }\n });\n inputCtrl = new FormControl(null);\n inputCtrlEvents = toSignal(this.inputCtrl.events);\n inputErrors = computed(() => {\n this.inputCtrlEvents();\n if (this.inputCtrl.touched && this.inputCtrl.invalid) {\n return this.inputCtrl.errors;\n }\n else {\n return null;\n }\n });\n debounceTimeInput = input(300, {\n alias: 'debounce',\n });\n debounceTime = linkedSignal(() => this.debounceTimeInput());\n debouncedInput$ = toObservable(this.debounceTime).pipe(switchMap((time) => this.inputCtrl.valueChanges.pipe(debounceTime(time))), distinctUntilChanged());\n debouncedInput = toSignal(this.debouncedInput$, {\n initialValue: null,\n });\n pageSizeInput = input(20, {\n alias: 'pageSize',\n });\n pageSizeEffect = effect(() => this.store.setPageSize(this.pageSizeInput()));\n loading = computed(() => {\n return (this.store.loading() ||\n this.loadingInput() ||\n RdtObjectUtils.someValuesTrue(this.loadingMap()));\n });\n ngOnInit() {\n super.ngOnInit();\n this.debouncedInput$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => this.handleInput(value));\n }\n handleInput(value) {\n this.store.setQuery(value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseSelectCommonComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseSelectCommonComponent, isStandalone: true, inputs: { datasourceInput: { classPropertyName: \"datasourceInput\", publicName: \"datasourceInput\", isSignal: true, isRequired: false, transformFunction: null }, queryValidatorFnInput: { classPropertyName: \"queryValidatorFnInput\", publicName: \"inputValidator\", isSignal: true, isRequired: false, transformFunction: null }, debounceTimeInput: { classPropertyName: \"debounceTimeInput\", publicName: \"debounce\", isSignal: true, isRequired: false, transformFunction: null }, pageSizeInput: { classPropertyName: \"pageSizeInput\", publicName: \"pageSize\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseSelectCommonComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3QvcmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osUUFBUSxHQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUcxRCxNQUFNLE9BQWdCLDRCQUlwQixTQUFRLHlCQUErQjtJQUM5QixlQUFlLEdBQUcsS0FBSyxDQUM5QixJQUFJLENBQ0wsQ0FBQztJQUNPLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUErQixDQUFDO0lBQzdELGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUMzQyxxQkFBcUIsR0FBRyxLQUFLLENBQ3BDLElBQUksRUFDSjtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7S0FDeEIsQ0FDRixDQUFDO0lBQ08sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFD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Y3RpdmUsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHRha2VVbnRpbERlc3Ryb3llZCxcbiAgdG9PYnNlcnZhYmxlLFxuICB0b1NpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFJkdE9iamVjdFV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0U2VsZWN0RGF0YXNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0U3RvcmUgfSBmcm9tICcuL3N0YXRlL3JkdC1zZWxlY3Qtc3RvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRCYXNlU2VsZWN0Q29tbW9uQ29tcG9uZW50PFxuICBUSXRlbSxcbiAgVElkLFxuICBUT3V0XG4+IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxUT3V0PiB7XG4gIHJlYWRvbmx5IGRhdGFzb3VyY2VJbnB1dCA9IGlucHV0PFJkdFNlbGVjdERhdGFzb3VyY2U8VEl0ZW0sIFRJZD4gfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFNlbGVjdFN0b3JlKSBhcyBSZHRTZWxlY3RTdG9yZTxUSXRlbSwgVElkPjtcbiAgcmVhZG9ubHkgdmlzaWJsZU9wdGlvbnMgPSB0aGlzLnN0b3JlLnZpc2libGVPcHRpb25zO1xuICByZWFkb25seSBxdWVyeVZhbGlkYXRvckZuSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10+PihcbiAgICBudWxsLFxuICAgIHtcbiAgICAgIGFsaWFzOiAnaW5wdXRWYWxpZGF0b3InLFxuICAgIH1cbiAgKTtcbiAgcmVhZG9ubHkgcXVlcnlWYWxpZGF0b3JGbiA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnF1ZXJ5VmFsaWRhdG9yRm5JbnB1dCgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBxdWVyeVZhbGlkYXRvckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5xdWVyeVZhbGlkYXRvckZuKCk7XG4gICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgdGhpcy5pbnB1dEN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0Q3RybC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBpbnB1dEN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDdHJsRXZlbnRzID0gdG9TaWduYWwodGhpcy5pbnB1dEN0cmwuZXZlbnRzKTtcbiAgcmVhZG9ubHkgaW5wdXRFcnJvcnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pbnB1dEN0cmxFdmVudHMoKTtcbiAgICBpZiAodGhpcy5pbnB1dEN0cmwudG91Y2hlZCAmJiB0aGlzLmlucHV0Q3RybC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnB1dEN0cmwuZXJyb3JzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBkZWJvdW5jZVRpbWVJbnB1dCA9IGlucHV0PG51bWJlcj4oMzAwLCB7XG4gICAgYWxpYXM6ICdkZWJvdW5jZScsXG4gIH0pO1xuICByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5kZWJvdW5jZVRpbWVJbnB1dCgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZWRJbnB1dCQgPSB0b09ic2VydmFibGUodGhpcy5kZWJvdW5jZVRpbWUpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh0aW1lKSA9PiB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGltZSkpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG4gIHJlYWRvbmx5IGRlYm91bmNlZElucHV0ID0gdG9TaWduYWwodGhpcy5kZWJvdW5jZWRJbnB1dCQsIHtcbiAgICBpbml0aWFsVmFsdWU6IG51bGwsXG4gIH0pO1xuICByZWFkb25seSBwYWdlU2l6ZUlucHV0ID0gaW5wdXQoMjAsIHtcbiAgICBhbGlhczogJ3BhZ2VTaXplJyxcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFnZVNpemVFZmZlY3QgPSBlZmZlY3QoKCkgPT5cbiAgICB0aGlzLnN0b3JlLnNldFBhZ2VTaXplKHRoaXMucGFnZVNpemVJbnB1dCgpKVxuICApO1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc3RvcmUubG9hZGluZygpIHx8XG4gICAgICB0aGlzLmxvYWRpbmdJbnB1dCgpIHx8XG4gICAgICBSZHRPYmplY3RVdGlscy5zb21lVmFsdWVzVHJ1ZSh0aGlzLmxvYWRpbmdNYXAoKSlcbiAgICApO1xuICB9KTtcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGVib3VuY2VkSW5wdXQkXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLmhhbmRsZUlucHV0KHZhbHVlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSW5wdXQodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLnNldFF1ZXJ5KHZhbHVlKTtcbiAgfVxufVxuIl19","import { computed, Directive } from '@angular/core';\nimport { RdtBaseSelectCommonComponent } from './rdt-base-select.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtMultiSelectComponent extends RdtBaseSelectCommonComponent {\n selected = computed(() => {\n const selected = this.store.selectedItems();\n return selected.length > 0 ? selected : null;\n });\n isEmpty(value) {\n return value === null || value.length === 0;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtMultiSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtMultiSelectComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtMultiSelectComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L3JkdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUczRSxNQUFNLE9BQWdCLHVCQUdwQixTQUFRLDRCQUErQztJQUM5QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRWdCLE9BQU8sQ0FBQyxLQUFZO1FBQ3JDLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQVhtQix1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEJhc2VTZWxlY3RDb21tb25Db21wb25lbnQgfSBmcm9tICcuL3JkdC1iYXNlLXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRNdWx0aVNlbGVjdENvbXBvbmVudDxcbiAgVEl0ZW0sXG4gIFRJZFxuPiBleHRlbmRzIFJkdEJhc2VTZWxlY3RDb21tb25Db21wb25lbnQ8VEl0ZW0sIFRJZCwgVElkW10+IHtcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnN0b3JlLnNlbGVjdGVkSXRlbXMoKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID4gMCA/IHNlbGVjdGVkIDogbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IFRJZFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxufVxuIl19","import { computed, Directive } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { RdtBaseSelectCommonComponent } from './rdt-base-select.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtSingleSelectComponent extends RdtBaseSelectCommonComponent {\n selected = computed(() => {\n const items = this.store.selectedItems();\n return items.length > 0 ? items[0] : null;\n });\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtSingleSelectComponent, isStandalone: true, providers: [\n {\n provide: RdtBaseFormInputComponent,\n useValue: RdtSingleSelectComponent,\n },\n ], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSingleSelectComponent, decorators: [{\n type: Directive,\n args: [{\n providers: [\n {\n provide: RdtBaseFormInputComponent,\n useValue: RdtSingleSelectComponent,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNpbmdsZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9yZHQtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBVTNFLE1BQU0sT0FBZ0Isd0JBR3BCLFNBQVEsNEJBQTZDO0lBQzVDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFZ0IsT0FBTyxDQUFDLEtBQVU7UUFDbkMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7dUdBWG1CLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGlDQVBqQztZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFFBQVEsRUFBRSx3QkFBd0I7YUFDbkM7U0FDRjs7MkZBRW1CLHdCQUF3QjtrQkFSN0MsU0FBUzttQkFBQztvQkFDVCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSwwQkFBMEI7eUJBQ25DO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0QmFzZVNlbGVjdENvbW1vbkNvbXBvbmVudCB9IGZyb20gJy4vcmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50LFxuICAgICAgdXNlVmFsdWU6IFJkdFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFRJdGVtLFxuICBUSWRcbj4gZXh0ZW5kcyBSZHRCYXNlU2VsZWN0Q29tbW9uQ29tcG9uZW50PFRJdGVtLCBUSWQsIFRJZD4ge1xuICByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc3RvcmUuc2VsZWN0ZWRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXNbMF0gOiBudWxsO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNFbXB0eSh2YWx1ZTogVElkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { Directive, input } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined, nullToUndefinedNumeric, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtTextInputComponent extends RdtBaseFormInputComponent {\n type = input('text');\n autocomplete = input(undefined, {\n transform: nullToUndefined,\n });\n maxlength = input(undefined, { transform: nullToUndefinedNumeric });\n minlength = input(undefined, { transform: nullToUndefinedNumeric });\n pattern = input(undefined, {\n transform: nullToUndefined,\n });\n isEmpty(value) {\n return value === '' || value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtTextInputComponent, isStandalone: true, inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: \"autocomplete\", publicName: \"autocomplete\", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: \"maxlength\", publicName: \"maxlength\", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: \"minlength\", publicName: \"minlength\", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: \"pattern\", publicName: \"pattern\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTextInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRleHQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3RleHQtaW5wdXQvcmR0LXRleHQtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBRXZCLE1BQU0sYUFBYSxDQUFDOztBQUlyQixNQUFNLE9BQWdCLHFCQUFzQixTQUFRLHlCQUduRDtJQUNVLElBQUksR0FBRyxLQUFLLENBQWUsTUFBTSxDQUFDLENBQUM7SUFFbkMsWUFBWSxHQUFHLEtBQUssQ0FHM0IsU0FBUyxFQUFFO1FBQ1gsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQyxDQUFDO0lBQ00sU0FBUyxHQUFHLEtBQUssQ0FDeEIsU0FBUyxFQUNULEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQ3RDLENBQUM7SUFDTyxTQUFTLEdBQUcsS0FBSyxDQUN4QixTQUFTLEVBQ1QsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsQ0FDdEMsQ0FBQztJQUNPLE9BQU8sR0FBRyxLQUFLLENBQXFDLFNBQVMsRUFBRTtRQUN0RSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFFZ0IsT0FBTyxDQUFDLEtBQW9CO1FBQzdDLE9BQU8sS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hDLENBQUM7dUdBMUJtQixxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIG51bGxUb1VuZGVmaW5lZCxcbiAgbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgUmR0QXV0b2NvbXBsZXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0SW5wdXRUeXBlIH0gZnJvbSAnLi9pbnB1dC10eXBlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0VGV4dElucHV0Q29tcG9uZW50IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxcbiAgc3RyaW5nLFxuICBzdHJpbmdcbj4ge1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8UmR0SW5wdXRUeXBlPigndGV4dCcpO1xuXG4gIHJlYWRvbmx5IGF1dG9jb21wbGV0ZSA9IGlucHV0PFxuICAgIFJkdEF1dG9jb21wbGV0ZU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgTnVsbGFibGU8UmR0QXV0b2NvbXBsZXRlT3B0aW9ucz5cbiAgPih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heGxlbmd0aCA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIE51bGxhYmxlPHN0cmluZyB8IG51bWJlcj4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyB9XG4gICk7XG4gIHJlYWRvbmx5IG1pbmxlbmd0aCA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIE51bGxhYmxlPHN0cmluZyB8IG51bWJlcj4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyB9XG4gICk7XG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+LCBOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtZm9ybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL25ncmR0LWZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngrdt-forms.mjs","sources":["../tmp-esm2022/lib/utils/get-form-control.js","../tmp-esm2022/lib/base/rdt-base-form-input.component.js","../tmp-esm2022/lib/inputs/checkbox/rdt-checkbox.component.js","../tmp-esm2022/lib/utils/transform.js","../tmp-esm2022/lib/inputs/date/rdt-date.component.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-noop.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-base64.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-file-reader.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-label-fn.js","../tmp-esm2022/lib/inputs/file-input/tokens/rdt-default-max-file-size.js","../tmp-esm2022/lib/inputs/file-input/rdt-file-input.component.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-array-buffer.js","../tmp-esm2022/lib/inputs/file-input/reader/rdt-file-reader-text.js","../tmp-esm2022/lib/inputs/numeric-input/rdt-numeric-input.component.js","../tmp-esm2022/lib/inputs/select/datasource/rdt-select-datasource.js","../tmp-esm2022/lib/inputs/select/datasource/rdt-offline-select-datasource.js","../tmp-esm2022/lib/inputs/select/state/rdt-select-state.js","../tmp-esm2022/lib/inputs/select/utils/request.js","../tmp-esm2022/lib/inputs/select/state/rdt-select-store.js","../tmp-esm2022/lib/inputs/select/directives/rdt-select-offline-datasource.directive.js","../tmp-esm2022/lib/inputs/select/directives/rdt-select-option.directive.js","../tmp-esm2022/lib/inputs/select/rdt-base-select.component.js","../tmp-esm2022/lib/inputs/select/rdt-multi-select.component.js","../tmp-esm2022/lib/inputs/select/rdt-single-select.component.js","../tmp-esm2022/lib/inputs/text-input/rdt-text-input.component.js","../tmp-esm2022/ngrdt-forms.js"],"sourcesContent":["import { FormControlDirective, FormControlName, NgModel, } from '@angular/forms';\nexport function getFormControl(ngControl) {\n if (ngControl instanceof FormControlName) {\n const formGroupDirective = ngControl.formDirective;\n if (formGroupDirective) {\n return formGroupDirective.form.get(ngControl.path);\n }\n else {\n return null;\n }\n }\n else if (ngControl instanceof FormControlDirective ||\n ngControl instanceof NgModel) {\n return ngControl.control;\n }\n else {\n return null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3V0aWxzL2dldC1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG9CQUFvQixFQUNwQixlQUFlLEVBR2YsT0FBTyxHQUNSLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFvQjtJQUNqRCxJQUFJLFNBQVMsWUFBWSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxhQUFtQyxDQUFDO1FBQ3pFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztRQUNwRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7U0FBTSxJQUNMLFNBQVMsWUFBWSxvQkFBb0I7UUFDekMsU0FBUyxZQUFZLE9BQU8sRUFDNUIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUNvbnRyb2xEaXJlY3RpdmUsXG4gIEZvcm1Db250cm9sTmFtZSxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0NvbnRyb2wsXG4gIE5nTW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1Db250cm9sKG5nQ29udHJvbDogTmdDb250cm9sKSB7XG4gIGlmIChuZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbE5hbWUpIHtcbiAgICBjb25zdCBmb3JtR3JvdXBEaXJlY3RpdmUgPSBuZ0NvbnRyb2wuZm9ybURpcmVjdGl2ZSBhcyBGb3JtR3JvdXBEaXJlY3RpdmU7XG4gICAgaWYgKGZvcm1Hcm91cERpcmVjdGl2ZSkge1xuICAgICAgcmV0dXJuIGZvcm1Hcm91cERpcmVjdGl2ZS5mb3JtLmdldChuZ0NvbnRyb2wucGF0aCkgYXMgRm9ybUNvbnRyb2w7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSBlbHNlIGlmIChcbiAgICBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8fFxuICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWxcbiAgKSB7XG4gICAgcmV0dXJuIG5nQ29udHJvbC5jb250cm9sO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=","import { booleanAttribute, computed, Directive, effect, inject, Injector, input, linkedSignal, model, signal, untracked, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgControl, Validators, } from '@angular/forms';\nimport { RdtInteractiveElementComponent } from '@ngrdt/core';\nimport { startWith } from 'rxjs';\nimport { getFormControl } from '../utils/get-form-control';\nimport * as i0 from \"@angular/core\";\nconst noop = () => { };\nexport class RdtBaseFormInputComponent extends RdtInteractiveElementComponent {\n injector = inject(Injector);\n _control = signal(null);\n control = this._control.asReadonly();\n label = input('');\n placeholder = input('');\n externalValue = model(null, { alias: 'value' });\n internalValue = linkedSignal(() => this.toInternalValue(this.externalValue()));\n dataTestIdInput = input(undefined, { alias: 'dataTestId' });\n dataTestId = linkedSignal(() => this.dataTestIdInput() ?? this.label() ?? '');\n readonlyInput = input(null, {\n alias: 'readonly',\n transform: booleanAttribute,\n });\n requiredInput = input(null, {\n alias: 'required',\n transform: booleanAttribute,\n });\n requiredFromControl = signal(false);\n required = linkedSignal(() => {\n return this.requiredInput() ?? this.requiredFromControl() ?? false;\n });\n touchedInternal = signal(false);\n touched = computed(() => {\n const control = this.control();\n if (control) {\n return control.touchedReactive();\n }\n else {\n return this.touchedInternal();\n }\n });\n invalid = computed(() => {\n if (this.requiredInput() && this.isEmpty(this.externalValue())) {\n return true;\n }\n const control = this.control();\n if (control) {\n return control.statusReactive() === 'INVALID';\n }\n else {\n return false;\n }\n });\n requiredEffect = effect(() => {\n this.requiredInput();\n this.onValidatorChange();\n });\n requiredError = computed(() => this.getRequiredError(this.externalValue()));\n controlErrors = computed(() => {\n const control = this.control();\n if (control) {\n control.statusReactive();\n return control.errors;\n }\n else {\n return null;\n }\n });\n errors = computed(() => this.controlErrors() ?? this.requiredError());\n visibleErrors = computed(() => this.invalid() && this.touched() ? this.errors() : null);\n get ngControl() {\n return this._ngControl;\n }\n _ngControl = null;\n _onChange = noop;\n _onTouch = noop;\n _onValidatorChange = noop;\n get onChange() {\n return this._onChange;\n }\n get onTouch() {\n return this._onTouch;\n }\n get onValidatorChange() {\n return this._onValidatorChange;\n }\n ngOnInit() {\n this._ngControl = this.injector.get(NgControl, null, {\n self: true,\n optional: true,\n });\n if (this._ngControl) {\n const control = getFormControl(this._ngControl);\n this._control.set(control);\n if (control) {\n this.listenControlEvents(control);\n }\n }\n }\n ngOnDestroy() {\n const control = this.control();\n if (this.requiredInput() && control) {\n control.removeValidators(Validators.required);\n control.setErrors(null);\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouch = () => {\n this.touchedInternal.set(true);\n fn();\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n writeValue(value) {\n this.externalValue.set(value);\n }\n // Implemented as a part of Validator.\n validate(control) {\n return this.requiredError();\n }\n registerOnValidatorChange(fn) {\n this._onValidatorChange = fn;\n }\n onInternalValueChange(value) {\n if (value === '') {\n value = null; // Convert empty string to null\n }\n if (value !== untracked(this.internalValue)) {\n const externalValue = this.toExternalValue(value);\n this.externalValue.set(externalValue);\n this.onChange(externalValue);\n }\n }\n listenControlEvents(control) {\n control.events\n .pipe(startWith(null), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.requiredFromControl.set(control.hasValidator(Validators.required));\n });\n }\n toExternalValue(internalValue) {\n return internalValue;\n }\n toInternalValue(externalValue) {\n return externalValue;\n }\n onBlur() {\n super.onBlur();\n Promise.resolve().then(() => {\n this.onTouch();\n });\n }\n getRequiredError(value) {\n return this.required() && this.isEmpty(value)\n ? RdtBaseFormInputComponent.REQUIRED_ERROR\n : null;\n }\n static REQUIRED_ERROR = { required: true };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseFormInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseFormInputComponent, isStandalone: true, inputs: { label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, externalValue: { classPropertyName: \"externalValue\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, dataTestIdInput: { classPropertyName: \"dataTestIdInput\", publicName: \"dataTestId\", isSignal: true, isRequired: false, transformFunction: null }, readonlyInput: { classPropertyName: \"readonlyInput\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: \"requiredInput\", publicName: \"required\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { externalValue: \"valueChange\" }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseFormInputComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUUzRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFLdEIsTUFBTSxPQUFnQix5QkFDcEIsU0FBUSw4QkFBOEI7SUFHN0IsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVsQixRQUFRLEdBQUcsTUFBTSxDQUErQixJQUFJLENBQUMsQ0FBQztJQUNoRSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEIsYUFBYSxHQUFHLEtBQUssQ0FBYyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxhQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO0lBRU8sZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM1RCxVQUFVLEdBQUcsWUFBWSxDQUNoQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FDbkQsQ0FBQztJQUVPLGFBQWEsR0FBRyxLQUFLLENBRzVCLElBQUksRUFBRTtRQUNOLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDO0lBRU0sYUFBYSxHQUFHLEtBQUssQ0FHNUIsSUFBSSxFQUFFO1FBQ04sS0FBSyxFQUFFLFVBQVU7UUFDakIsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDLENBQUM7SUFDZ0IsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVnQixlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQVMsQ0FBQztRQUN0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBUyxDQUFDO1FBQ3RDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxTQUFTLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVnQixjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFYyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQzVDLENBQUM7SUFFZSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQWUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNNLE1BQU0sR0FBRyxRQUFRLENBQ3hCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQ25ELENBQUM7SUFDTyxhQUFhLEdBQW9DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDdEUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hELENBQUM7SUFFRixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNPLFVBQVUsR0FBcUIsSUFBSSxDQUFDO0lBRXBDLFNBQVMsR0FBeUIsSUFBSSxDQUFDO0lBQ3ZDLFFBQVEsR0FBZSxJQUFJLENBQUM7SUFDNUIsa0JBQWtCLEdBQWUsSUFBSSxDQUFDO0lBRTlDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUNuRCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsRUFBRSxFQUFFLENBQUM7UUFDUCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsUUFBUSxDQUFDLE9BQThCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUlELHFCQUFxQixDQUFDLEtBQWtCO1FBQ3RDLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQywrQkFBK0I7UUFDL0MsQ0FBQztRQUNELElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUNwRCxPQUFPLENBQUMsTUFBTTthQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzFELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsZUFBZSxDQUFDLGFBQTBCO1FBQ2xELE9BQU8sYUFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBRVMsZUFBZSxDQUFDLGFBQTBCO1FBQ2xELE9BQU8sYUFBNEIsQ0FBQztJQUN0QyxDQUFDO0lBRVEsTUFBTTtRQUNiLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFrQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMzQyxDQUFDLENBQUMseUJBQXlCLENBQUMsY0FBYztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVPLE1BQU0sQ0FBVSxjQUFjLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7dUdBdE14Qyx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIOUMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJkdEludGVyYWN0aXZlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJ0BuZ3JkdC9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0Rm9ybUNvbnRyb2wgfSBmcm9tICcuLi91dGlscy9nZXQtZm9ybS1jb250cm9sJztcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxURXh0LCBUSW50ID0gVEV4dD5cbiAgZXh0ZW5kcyBSZHRJbnRlcmFjdGl2ZUVsZW1lbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfY29udHJvbCA9IHNpZ25hbDxBYnN0cmFjdENvbnRyb2w8VEV4dD4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgY29udHJvbCA9IHRoaXMuX2NvbnRyb2wuYXNSZWFkb25seSgpO1xuXG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQoJycpO1xuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0KCcnKTtcblxuICByZWFkb25seSBleHRlcm5hbFZhbHVlID0gbW9kZWw8VEV4dCB8IG51bGw+KG51bGwsIHsgYWxpYXM6ICd2YWx1ZScgfSk7XG4gIHJlYWRvbmx5IGludGVybmFsVmFsdWUgPSBsaW5rZWRTaWduYWwoKCkgPT5cbiAgICB0aGlzLnRvSW50ZXJuYWxWYWx1ZSh0aGlzLmV4dGVybmFsVmFsdWUoKSlcbiAgKTtcblxuICByZWFkb25seSBkYXRhVGVzdElkSW5wdXQgPSBpbnB1dCh1bmRlZmluZWQsIHsgYWxpYXM6ICdkYXRhVGVzdElkJyB9KTtcbiAgcmVhZG9ubHkgZGF0YVRlc3RJZCA9IGxpbmtlZFNpZ25hbChcbiAgICAoKSA9PiB0aGlzLmRhdGFUZXN0SWRJbnB1dCgpID8/IHRoaXMubGFiZWwoKSA/PyAnJ1xuICApO1xuXG4gIHJlYWRvbmx5IHJlYWRvbmx5SW5wdXQgPSBpbnB1dDxcbiAgICBib29sZWFuIHwgbnVsbCxcbiAgICBOdWxsYWJsZTxib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyPlxuICA+KG51bGwsIHtcbiAgICBhbGlhczogJ3JlYWRvbmx5JyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJlcXVpcmVkSW5wdXQgPSBpbnB1dDxcbiAgICBOdWxsYWJsZTxib29sZWFuPixcbiAgICBOdWxsYWJsZTxib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyPlxuICA+KG51bGwsIHtcbiAgICBhbGlhczogJ3JlcXVpcmVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZWRGcm9tQ29udHJvbCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gbGlua2VkU2lnbmFsKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZElucHV0KCkgPz8gdGhpcy5yZXF1aXJlZEZyb21Db250cm9sKCkgPz8gZmFsc2U7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0b3VjaGVkSW50ZXJuYWwgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSB0b3VjaGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKSBhcyBhbnk7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBjb250cm9sLnRvdWNoZWRSZWFjdGl2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50b3VjaGVkSW50ZXJuYWwoKTtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBpbnZhbGlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLnJlcXVpcmVkSW5wdXQoKSAmJiB0aGlzLmlzRW1wdHkodGhpcy5leHRlcm5hbFZhbHVlKCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbCgpIGFzIGFueTtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgcmV0dXJuIGNvbnRyb2wuc3RhdHVzUmVhY3RpdmUoKSA9PT0gJ0lOVkFMSUQnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZWRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMucmVxdWlyZWRJbnB1dCgpO1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UoKTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXF1aXJlZEVycm9yID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmdldFJlcXVpcmVkRXJyb3IodGhpcy5leHRlcm5hbFZhbHVlKCkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRXJyb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKTtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgKGNvbnRyb2wgYXMgYW55KS5zdGF0dXNSZWFjdGl2ZSgpO1xuICAgICAgcmV0dXJuIGNvbnRyb2wuZXJyb3JzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBlcnJvcnMgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmNvbnRyb2xFcnJvcnMoKSA/PyB0aGlzLnJlcXVpcmVkRXJyb3IoKVxuICApO1xuICByZWFkb25seSB2aXNpYmxlRXJyb3JzOiBTaWduYWw8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmludmFsaWQoKSAmJiB0aGlzLnRvdWNoZWQoKSA/IHRoaXMuZXJyb3JzKCkgOiBudWxsXG4gICk7XG5cbiAgZ2V0IG5nQ29udHJvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sO1xuICB9XG4gIHByaXZhdGUgX25nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfb25Ub3VjaDogKCkgPT4gdm9pZCA9IG5vb3A7XG4gIHByaXZhdGUgX29uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkID0gbm9vcDtcblxuICBnZXQgb25DaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29uQ2hhbmdlO1xuICB9XG5cbiAgZ2V0IG9uVG91Y2goKSB7XG4gICAgcmV0dXJuIHRoaXMuX29uVG91Y2g7XG4gIH1cblxuICBnZXQgb25WYWxpZGF0b3JDaGFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29uVmFsaWRhdG9yQ2hhbmdlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fbmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsLCB7XG4gICAgICBzZWxmOiB0cnVlLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgY29uc3QgY29udHJvbCA9IGdldEZvcm1Db250cm9sKHRoaXMuX25nQ29udHJvbCk7XG4gICAgICB0aGlzLl9jb250cm9sLnNldChjb250cm9sKTtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIHRoaXMubGlzdGVuQ29udHJvbEV2ZW50cyhjb250cm9sKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWRJbnB1dCgpICYmIGNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2ggPSAoKSA9PiB7XG4gICAgICB0aGlzLnRvdWNoZWRJbnRlcm5hbC5zZXQodHJ1ZSk7XG4gICAgICBmbigpO1xuICAgIH07XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZXh0ZXJuYWxWYWx1ZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgLy8gSW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIFZhbGlkYXRvci5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPFRFeHQ+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkRXJyb3IoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzRW1wdHkodmFsdWU6IFRFeHQgfCBudWxsKTogYm9vbGVhbjtcblxuICBvbkludGVybmFsVmFsdWVDaGFuZ2UodmFsdWU6IFRJbnQgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgdmFsdWUgPSBudWxsOyAvLyBDb252ZXJ0IGVtcHR5IHN0cmluZyB0byBudWxsXG4gICAgfVxuICAgIGlmICh2YWx1ZSAhPT0gdW50cmFja2VkKHRoaXMuaW50ZXJuYWxWYWx1ZSkpIHtcbiAgICAgIGNvbnN0IGV4dGVybmFsVmFsdWUgPSB0aGlzLnRvRXh0ZXJuYWxWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLmV4dGVybmFsVmFsdWUuc2V0KGV4dGVybmFsVmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZShleHRlcm5hbFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbGlzdGVuQ29udHJvbEV2ZW50cyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBjb250cm9sLmV2ZW50c1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlcXVpcmVkRnJvbUNvbnRyb2wuc2V0KGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvRXh0ZXJuYWxWYWx1ZShpbnRlcm5hbFZhbHVlOiBUSW50IHwgbnVsbCk6IFRFeHQgfCBudWxsIHtcbiAgICByZXR1cm4gaW50ZXJuYWxWYWx1ZSBhcyBURXh0IHwgbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b0ludGVybmFsVmFsdWUoZXh0ZXJuYWxWYWx1ZTogVEV4dCB8IG51bGwpOiBUSW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIGV4dGVybmFsVmFsdWUgYXMgVEludCB8IG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBvbkJsdXIoKSB7XG4gICAgc3VwZXIub25CbHVyKCk7XG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVxdWlyZWRFcnJvcih2YWx1ZTogVEV4dCB8IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZCgpICYmIHRoaXMuaXNFbXB0eSh2YWx1ZSlcbiAgICAgID8gUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudC5SRVFVSVJFRF9FUlJPUlxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUkVRVUlSRURfRVJST1IgPSB7IHJlcXVpcmVkOiB0cnVlIH07XG59XG4iXX0=","import { booleanAttribute, Directive, input, linkedSignal, } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtCheckboxComponent extends RdtBaseFormInputComponent {\n trueValueInput = input(true, {\n alias: 'trueValue',\n });\n trueValue = linkedSignal(() => this.trueValueInput());\n falseValueInput = input(false, {\n alias: 'falseValue',\n });\n falseValue = linkedSignal(() => this.falseValueInput());\n indeterminate = input(false, { transform: booleanAttribute });\n toExternalValue(internalValue) {\n switch (internalValue) {\n case true:\n return this.trueValue();\n case false:\n return this.falseValue();\n default:\n return null;\n }\n }\n toInternalValue(externalValue) {\n switch (externalValue) {\n case this.trueValue():\n return true;\n case this.falseValue():\n return false;\n default:\n return null;\n }\n }\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtCheckboxComponent, isStandalone: true, inputs: { trueValueInput: { classPropertyName: \"trueValueInput\", publicName: \"trueValue\", isSignal: true, isRequired: false, transformFunction: null }, falseValueInput: { classPropertyName: \"falseValueInput\", publicName: \"falseValue\", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: \"indeterminate\", publicName: \"indeterminate\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtCheckboxComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9jaGVja2JveC9yZHQtY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3JGLE1BQU0sT0FBZ0Isb0JBR3BCLFNBQVEseUJBQWtEO0lBQ2pELGNBQWMsR0FBRyxLQUFLLENBQVEsSUFBYSxFQUFFO1FBQ3BELEtBQUssRUFBRSxXQUFXO0tBQ25CLENBQUMsQ0FBQztJQUNNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdEQsZUFBZSxHQUFHLEtBQUssQ0FBUyxLQUFlLEVBQUU7UUFDeEQsS0FBSyxFQUFFLFlBQVk7S0FDcEIsQ0FBQyxDQUFDO0lBQ00sVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUV4RCxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFcEQsZUFBZSxDQUNoQyxhQUE2QjtRQUU3QixRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssSUFBSTtnQkFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0I7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFa0IsZUFBZSxDQUNoQyxhQUFvQztRQUVwQyxRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sS0FBSyxDQUFDO1lBQ2Y7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFa0IsT0FBTyxDQUFDLEtBQTRCO1FBQ3JELE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztJQUN4QixDQUFDO3VHQTNDbUIsb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRHpDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRDaGVja2JveENvbXBvbmVudDxcbiAgVFRydWUgPSB0cnVlLFxuICBURmFsc2UgPSBmYWxzZVxuPiBleHRlbmRzIFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQ8VFRydWUgfCBURmFsc2UsIGJvb2xlYW4+IHtcbiAgcmVhZG9ubHkgdHJ1ZVZhbHVlSW5wdXQgPSBpbnB1dDxUVHJ1ZT4odHJ1ZSBhcyBUVHJ1ZSwge1xuICAgIGFsaWFzOiAndHJ1ZVZhbHVlJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHRydWVWYWx1ZSA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnRydWVWYWx1ZUlucHV0KCkpO1xuICByZWFkb25seSBmYWxzZVZhbHVlSW5wdXQgPSBpbnB1dDxURmFsc2U+KGZhbHNlIGFzIFRGYWxzZSwge1xuICAgIGFsaWFzOiAnZmFsc2VWYWx1ZScsXG4gIH0pO1xuICByZWFkb25seSBmYWxzZVZhbHVlID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuZmFsc2VWYWx1ZUlucHV0KCkpO1xuXG4gIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHRvRXh0ZXJuYWxWYWx1ZShcbiAgICBpbnRlcm5hbFZhbHVlOiBib29sZWFuIHwgbnVsbFxuICApOiBUVHJ1ZSB8IFRGYWxzZSB8IG51bGwge1xuICAgIHN3aXRjaCAoaW50ZXJuYWxWYWx1ZSkge1xuICAgICAgY2FzZSB0cnVlOlxuICAgICAgICByZXR1cm4gdGhpcy50cnVlVmFsdWUoKTtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiB0aGlzLmZhbHNlVmFsdWUoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB0b0ludGVybmFsVmFsdWUoXG4gICAgZXh0ZXJuYWxWYWx1ZTogVFRydWUgfCBURmFsc2UgfCBudWxsXG4gICk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBzd2l0Y2ggKGV4dGVybmFsVmFsdWUpIHtcbiAgICAgIGNhc2UgdGhpcy50cnVlVmFsdWUoKTpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIHRoaXMuZmFsc2VWYWx1ZSgpOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNFbXB0eSh2YWx1ZTogVFRydWUgfCBURmFsc2UgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { numberAttribute } from '@angular/core';\nexport function nullToUndefined(value) {\n return value === null ? undefined : value;\n}\nexport function nullToUndefinedNumeric(value) {\n return numberAttribute(value, undefined);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvdXRpbHMvdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEQsTUFBTSxVQUFVLGVBQWUsQ0FBSSxLQUFrQjtJQUNuRCxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBZ0M7SUFDckUsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBudW1iZXJBdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxUb1VuZGVmaW5lZDxUPih2YWx1ZTogTnVsbGFibGU8VD4pOiBUIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsVG9VbmRlZmluZWROdW1lcmljKHZhbHVlOiBOdWxsYWJsZTxudW1iZXIgfCBzdHJpbmc+KSB7XG4gIHJldHVybiBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIHVuZGVmaW5lZCk7XG59XG4iXX0=","import { Directive, input, linkedSignal } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtDateComponent extends RdtBaseFormInputComponent {\n type = input('date');\n minInput = input(undefined, {\n transform: nullToUndefined,\n });\n min = linkedSignal(() => {\n const minInput = this.minInput();\n return minInput ? this.toInternalValue(minInput) : null;\n });\n maxInput = input(undefined, {\n transform: nullToUndefined,\n });\n max = linkedSignal(() => {\n const maxInput = this.maxInput();\n return maxInput ? this.toInternalValue(maxInput) : null;\n });\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtDateComponent, isStandalone: true, inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: \"minInput\", publicName: \"minInput\", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: \"maxInput\", publicName: \"maxInput\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtDateComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2RhdGUvcmR0LWRhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5QyxNQUFNLE9BQWdCLGdCQUdwQixTQUFRLHlCQUFxQztJQUNwQyxJQUFJLEdBQUcsS0FBSyxDQUFjLE1BQU0sQ0FBQyxDQUFDO0lBRWxDLFFBQVEsR0FBRyxLQUFLLENBQThCLFNBQVMsRUFBRTtRQUNoRSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFDTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVNLFFBQVEsR0FBRyxLQUFLLENBQThCLFNBQVMsRUFBRTtRQUNoRSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFDTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVnQixPQUFPLENBQUMsS0FBa0I7UUFDM0MsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7dUdBeEJtQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQsIGxpbmtlZFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbnVsbFRvVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0RGF0ZVR5cGUgfSBmcm9tICcuL2RhdGUtdHlwZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJkdERhdGVDb21wb25lbnQ8XG4gIFRFeHQgPSBzdHJpbmcsXG4gIFRJbnQgPSBURXh0XG4+IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxURXh0LCBUSW50PiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxSZHREYXRlVHlwZT4oJ2RhdGUnKTtcblxuICByZWFkb25seSBtaW5JbnB1dCA9IGlucHV0PE51bGxhYmxlPFRFeHQ+LCBURXh0IHwgbnVsbD4odW5kZWZpbmVkLCB7XG4gICAgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQsXG4gIH0pO1xuICByZWFkb25seSBtaW4gPSBsaW5rZWRTaWduYWwoKCkgPT4ge1xuICAgIGNvbnN0IG1pbklucHV0ID0gdGhpcy5taW5JbnB1dCgpO1xuICAgIHJldHVybiBtaW5JbnB1dCA/IHRoaXMudG9JbnRlcm5hbFZhbHVlKG1pbklucHV0KSA6IG51bGw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IG1heElucHV0ID0gaW5wdXQ8TnVsbGFibGU8VEV4dD4sIFRFeHQgfCBudWxsPih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB7XG4gICAgY29uc3QgbWF4SW5wdXQgPSB0aGlzLm1heElucHV0KCk7XG4gICAgcmV0dXJuIG1heElucHV0ID8gdGhpcy50b0ludGVybmFsVmFsdWUobWF4SW5wdXQpIDogbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IFRFeHQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { forkJoin, map, take } from 'rxjs';\nexport class RdtFileReader {\n read(file) {\n return this.extractData(file).pipe(take(1), map((content) => ({\n fileName: file.name,\n content,\n size: file.size,\n mimeType: file.type ?? undefined,\n modified: isNaN(file.lastModified)\n ? undefined\n : new Date(file.lastModified),\n originalFile: file,\n })));\n }\n readAll(files) {\n return forkJoin(files.map((file) => this.read(file)));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2ZpbGUtaW5wdXQvcmVhZGVyL3JkdC1maWxlLXJlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsTUFBTSxPQUFnQixhQUFhO0lBRWpDLElBQUksQ0FBQyxJQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbkIsT0FBTztZQUNQLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRyxJQUFJLENBQUMsSUFBb0IsSUFBSSxTQUFTO1lBQ2pELFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDL0IsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBYTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRGaWxlLCBSZHRNaW1lVHlwZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRGaWxlUmVhZGVyPFQ+IHtcbiAgYWJzdHJhY3QgZXh0cmFjdERhdGEoZmlsZXM6IEZpbGUpOiBPYnNlcnZhYmxlPFQ+O1xuICByZWFkKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPFJkdEZpbGU8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0RGF0YShmaWxlKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoY29udGVudCkgPT4gKHtcbiAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICBtaW1lVHlwZTogKGZpbGUudHlwZSBhcyBSZHRNaW1lVHlwZSkgPz8gdW5kZWZpbmVkLFxuICAgICAgICBtb2RpZmllZDogaXNOYU4oZmlsZS5sYXN0TW9kaWZpZWQpXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IG5ldyBEYXRlKGZpbGUubGFzdE1vZGlmaWVkKSxcbiAgICAgICAgb3JpZ2luYWxGaWxlOiBmaWxlLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuICByZWFkQWxsKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPFJkdEZpbGU8VD5bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMucmVhZChmaWxlKSkpO1xuICB9XG59XG4iXX0=","import { of } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class NoOpFileReader extends RdtFileReader {\n extractData() {\n return of(undefined);\n }\n}\nexport const NO_OP_FILE_READER = new NoOpFileReader();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLW5vb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLW5vb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFtQjtJQUNyRCxXQUFXO1FBQ1QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRGaWxlUmVhZGVyIH0gZnJvbSAnLi9yZHQtZmlsZS1yZWFkZXInO1xuXG5leHBvcnQgY2xhc3MgTm9PcEZpbGVSZWFkZXIgZXh0ZW5kcyBSZHRGaWxlUmVhZGVyPHZvaWQ+IHtcbiAgZXh0cmFjdERhdGEoKSB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IE5PX09QX0ZJTEVfUkVBREVSID0gbmV3IE5vT3BGaWxlUmVhZGVyKCk7XG4iXX0=","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class RdtFileReaderBase64 extends RdtFileReader {\n removeDataPrefix;\n constructor(removeDataPrefix = false) {\n super();\n this.removeDataPrefix = removeDataPrefix;\n }\n extractData(file) {\n let promise = RdtFileUtils.blobToDataUrl(file);\n if (this.removeDataPrefix) {\n promise = promise.then((dataUrl) => dataUrl.substring(dataUrl.indexOf(',') + 1));\n }\n return from(promise);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLWJhc2U2NC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3JlYWRlci9yZHQtZmlsZS1yZWFkZXItYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQXFCO0lBQ3hDO0lBQXBCLFlBQW9CLG1CQUFtQixLQUFLO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTVDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNwQixJQUFJLE9BQU8sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzVDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmR0RmlsZVV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuL3JkdC1maWxlLXJlYWRlcic7XG5cbmV4cG9ydCBjbGFzcyBSZHRGaWxlUmVhZGVyQmFzZTY0IGV4dGVuZHMgUmR0RmlsZVJlYWRlcjxzdHJpbmc+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW1vdmVEYXRhUHJlZml4ID0gZmFsc2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZXh0cmFjdERhdGEoZmlsZTogRmlsZSkge1xuICAgIGxldCBwcm9taXNlID0gUmR0RmlsZVV0aWxzLmJsb2JUb0RhdGFVcmwoZmlsZSk7XG4gICAgaWYgKHRoaXMucmVtb3ZlRGF0YVByZWZpeCkge1xuICAgICAgcHJvbWlzZSA9IHByb21pc2UudGhlbigoZGF0YVVybCkgPT5cbiAgICAgICAgZGF0YVVybC5zdWJzdHJpbmcoZGF0YVVybC5pbmRleE9mKCcsJykgKyAxKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb20ocHJvbWlzZSk7XG4gIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\nimport { RdtFileReaderBase64 } from '../reader/rdt-file-reader-base64';\nexport const RDT_DEFAULT_FILE_READER = new InjectionToken('RDT_DEFAULT_FILE_READER', {\n factory: () => new RdtFileReaderBase64(),\n providedIn: 'root',\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtZmlsZS1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC90b2tlbnMvcmR0LWRlZmF1bHQtZmlsZS1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FFdkQseUJBQXlCLEVBQUU7SUFDM0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksbUJBQW1CLEVBQUU7SUFDeEMsVUFBVSxFQUFFLE1BQU07Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuLi9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXJCYXNlNjQgfSBmcm9tICcuLi9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLWJhc2U2NCc7XG5cbmV4cG9ydCBjb25zdCBSRFRfREVGQVVMVF9GSUxFX1JFQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgUmR0RmlsZVJlYWRlcjx1bmtub3duPlxuPignUkRUX0RFRkFVTFRfRklMRV9SRUFERVInLCB7XG4gIGZhY3Rvcnk6ICgpID0+IG5ldyBSZHRGaWxlUmVhZGVyQmFzZTY0KCksXG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pO1xuIl19","import { InjectionToken } from '@angular/core';\nexport function czechFileLabelFn(files) {\n switch (files.length) {\n case 0:\n return 'Vyberte soubor';\n case 1:\n return files[0].fileName;\n case 2:\n case 3:\n case 4:\n return `Vybrány ${files.length} soubory`;\n default:\n return `Vybráno ${files.length} souborů`;\n }\n}\nexport const RDT_DEFAULT_FILE_LABEL_FN = new InjectionToken('RDT_DEFAULT_FILE_LABEL_FN', {\n providedIn: 'root',\n factory: () => czechFileLabelFn,\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtbGFiZWwtZm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC90b2tlbnMvcmR0LWRlZmF1bHQtbGFiZWwtZm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBZ0I7SUFDL0MsUUFBUSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDO1lBQ0osT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixLQUFLLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0IsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssQ0FBQztZQUNKLE9BQU8sV0FBVyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7UUFDM0M7WUFDRSxPQUFPLFdBQVcsS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQ3pELDJCQUEyQixFQUMzQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0I7Q0FDaEMsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEZpbGUgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3plY2hGaWxlTGFiZWxGbihmaWxlczogUmR0RmlsZVtdKSB7XG4gIHN3aXRjaCAoZmlsZXMubGVuZ3RoKSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmV0dXJuICdWeWJlcnRlIHNvdWJvcic7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuIGZpbGVzWzBdLmZpbGVOYW1lO1xuICAgIGNhc2UgMjpcbiAgICBjYXNlIDM6XG4gICAgY2FzZSA0OlxuICAgICAgcmV0dXJuIGBWeWJyw6FueSAke2ZpbGVzLmxlbmd0aH0gc291Ym9yeWA7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBgVnlicsOhbm8gJHtmaWxlcy5sZW5ndGh9IHNvdWJvcsWvYDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZHRGaWxlTGFiZWxGbiA9IChmaWxlczogUmR0RmlsZVtdKSA9PiBzdHJpbmc7XG5leHBvcnQgY29uc3QgUkRUX0RFRkFVTFRfRklMRV9MQUJFTF9GTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRGaWxlTGFiZWxGbj4oXG4gICdSRFRfREVGQVVMVF9GSUxFX0xBQkVMX0ZOJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBjemVjaEZpbGVMYWJlbEZuLFxuICB9XG4pO1xuIl19","import { InjectionToken } from '@angular/core';\nexport const RDT_DEFAULT_MAX_FILE_SIZE = new InjectionToken('RDT_DEFAULT_MAX_FILE_SIZE', {\n factory: () => '100 MB',\n providedIn: 'root',\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWRlZmF1bHQtbWF4LWZpbGUtc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3Rva2Vucy9yZHQtZGVmYXVsdC1tYXgtZmlsZS1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQ3pELDJCQUEyQixFQUMzQjtJQUNFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNO0NBQ25CLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRGaWxlU2l6ZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBSRFRfREVGQVVMVF9NQVhfRklMRV9TSVpFID0gbmV3IEluamVjdGlvblRva2VuPFJkdEZpbGVTaXplPihcbiAgJ1JEVF9ERUZBVUxUX01BWF9GSUxFX1NJWkUnLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4gJzEwMCBNQicsXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB9XG4pO1xuIl19","import { booleanAttribute, computed, Directive, effect, inject, input, linkedSignal, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport { RdtFileUtils, } from '@ngrdt/utils';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined } from '../../utils';\nimport { NO_OP_FILE_READER } from './reader/rdt-file-reader-noop';\nimport { RDT_DEFAULT_FILE_READER } from './tokens/rdt-default-file-reader';\nimport { RDT_DEFAULT_FILE_LABEL_FN } from './tokens/rdt-default-label-fn';\nimport { RDT_DEFAULT_MAX_FILE_SIZE } from './tokens/rdt-default-max-file-size';\nimport * as i0 from \"@angular/core\";\nexport class RdtFileInputComponent extends RdtBaseFormInputComponent {\n defaultFileReader = inject(RDT_DEFAULT_FILE_READER);\n defaultMaxFileSize = inject(RDT_DEFAULT_MAX_FILE_SIZE);\n defaultLabelFn = inject(RDT_DEFAULT_FILE_LABEL_FN);\n readerInput = input(this.defaultFileReader, {\n alias: 'reader',\n });\n reader = linkedSignal(() => this.readerInput());\n acceptInput = input(undefined, { alias: 'accept', transform: nullToUndefined });\n accept = linkedSignal(() => {\n const acceptInput = this.acceptInput();\n return !acceptInput || Array.isArray(acceptInput)\n ? acceptInput\n : [acceptInput];\n });\n jointAccept = computed(() => this.accept()?.join(','));\n maxFileSizeInput = input(this.defaultMaxFileSize, {\n alias: 'maxFileSize',\n transform: nullToUndefined,\n });\n maxFileSize = linkedSignal(() => this.maxFileSizeInput());\n maxFileSizeInBytes = computed(() => {\n const maxFileSize = this.maxFileSize();\n return maxFileSize ? RdtFileUtils.fileSizeToBytes(maxFileSize) : null;\n });\n labelFn = input(this.defaultLabelFn);\n multiple = input(false, { transform: booleanAttribute });\n labelCtrl = new FormControl(null);\n labelDataTestId = computed(() => this.dataTestId() + '-label');\n touchedEffect = effect(() => {\n const touched = this.touched();\n if (touched) {\n this.labelCtrl.markAsTouched();\n }\n else {\n this.labelCtrl.markAsUntouched();\n }\n });\n errorEffect = effect(() => {\n this.labelCtrl?.setErrors(this.visibleErrors());\n });\n ngOnInit() {\n super.ngOnInit();\n this.control()?.addValidators(this._maxFileSizeValidator);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this.control()?.removeValidators(this._maxFileSizeValidator);\n }\n onFileSelected(event) {\n const target = event.target;\n if (!target.files) {\n return;\n }\n let shouldRead = true;\n const maxBytes = this.maxFileSizeInBytes();\n if (maxBytes !== null) {\n const files = Array.from(target.files);\n for (const file of files) {\n if (file.size > maxBytes) {\n shouldRead = false;\n break;\n }\n }\n }\n const reader = shouldRead\n ? this.reader()\n : NO_OP_FILE_READER;\n reader\n .readAll(Array.from(target.files))\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((files) => {\n console.log(files);\n this.onChange(files);\n this.writeValue(files);\n });\n }\n writeValue(value) {\n super.writeValue(value);\n this.setInnerValue(value);\n }\n setInnerValue(files) {\n if (this.labelCtrl) {\n const label = this.labelFn()(files ?? []);\n this.labelCtrl.setValue(label);\n }\n }\n clear() {\n this.onInternalValueChange(null);\n }\n _maxFileSizeValidator = (ctrl) => {\n const maxSize = this.maxFileSizeInBytes();\n if (maxSize === null ||\n !Array.isArray(ctrl.value) ||\n ctrl.value.length === 0) {\n return null;\n }\n const files = ctrl.value;\n for (const file of files) {\n if (file['size'] !== undefined && file.size > maxSize) {\n return {\n maxFileSize: {\n max: maxSize,\n actual: file.size,\n },\n };\n }\n }\n return null;\n };\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtFileInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtFileInputComponent, isStandalone: true, inputs: { readerInput: { classPropertyName: \"readerInput\", publicName: \"reader\", isSignal: true, isRequired: false, transformFunction: null }, acceptInput: { classPropertyName: \"acceptInput\", publicName: \"accept\", isSignal: true, isRequired: false, transformFunction: null }, maxFileSizeInput: { classPropertyName: \"maxFileSizeInput\", publicName: \"maxFileSize\", isSignal: true, isRequired: false, transformFunction: null }, labelFn: { classPropertyName: \"labelFn\", publicName: \"labelFn\", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtFileInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL2ZpbGUtaW5wdXQvcmR0LWZpbGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFLTCxZQUFZLEdBRWIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFRL0UsTUFBTSxPQUFnQixxQkFFcEIsU0FBUSx5QkFBK0I7SUFDcEIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDcEQsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDdkQsY0FBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRTdELFdBQVcsR0FBRyxLQUFLLENBQzFCLElBQUksQ0FBQyxpQkFBd0MsRUFDN0M7UUFDRSxLQUFLLEVBQUUsUUFBUTtLQUNoQixDQUNGLENBQUM7SUFDTyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRWhELFdBQVcsR0FBRyxLQUFLLENBQzFCLFNBQVMsRUFDVCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUNoRCxDQUFDO0lBQ08sTUFBTSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUU7UUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDL0MsQ0FBQyxDQUFDLFdBQVc7WUFDYixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXZELGdCQUFnQixHQUFHLEtBQUssQ0FHL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQ3pCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFNBQVMsRUFBRSxlQUFlO0tBQzNCLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMxRCxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFDM0QsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFFckQsYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFZ0IsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDM0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFTSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxFQUFFLENBQUM7b0JBQ3pCLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUN2QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLENBQUMsQ0FBRSxpQkFBb0QsQ0FBQztRQUUxRCxNQUFNO2FBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQVU7UUFDNUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBMEI7UUFDOUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLHFCQUFxQixHQUFnQixDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFDLElBQ0UsT0FBTyxLQUFLLElBQUk7WUFDaEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUN2QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQWtCLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztnQkFDdEQsT0FBTztvQkFDTCxXQUFXLEVBQUU7d0JBQ1gsR0FBRyxFQUFFLE9BQU87d0JBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNsQjtpQkFDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQzt1R0EzSWtCLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUQxQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgTnVsbGFibGUsXG4gIFJkdENvbWJpbmVkTWltZVR5cGUsXG4gIFJkdEZpbGUsXG4gIFJkdEZpbGVTaXplLFxuICBSZHRGaWxlVXRpbHMsXG4gIFJkdE1pbWVUeXBlLFxufSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgbnVsbFRvVW5kZWZpbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0RmlsZVJlYWRlciB9IGZyb20gJy4vcmVhZGVyL3JkdC1maWxlLXJlYWRlcic7XG5pbXBvcnQgeyBOT19PUF9GSUxFX1JFQURFUiB9IGZyb20gJy4vcmVhZGVyL3JkdC1maWxlLXJlYWRlci1ub29wJztcbmltcG9ydCB7IFJEVF9ERUZBVUxUX0ZJTEVfUkVBREVSIH0gZnJvbSAnLi90b2tlbnMvcmR0LWRlZmF1bHQtZmlsZS1yZWFkZXInO1xuaW1wb3J0IHsgUkRUX0RFRkFVTFRfRklMRV9MQUJFTF9GTiB9IGZyb20gJy4vdG9rZW5zL3JkdC1kZWZhdWx0LWxhYmVsLWZuJztcbmltcG9ydCB7IFJEVF9ERUZBVUxUX01BWF9GSUxFX1NJWkUgfSBmcm9tICcuL3Rva2Vucy9yZHQtZGVmYXVsdC1tYXgtZmlsZS1zaXplJztcblxudHlwZSBBY2NlcHRUeXBlID1cbiAgfCAoUmR0TWltZVR5cGUgfCBSZHRDb21iaW5lZE1pbWVUeXBlKVtdXG4gIHwgUmR0TWltZVR5cGVcbiAgfCBSZHRDb21iaW5lZE1pbWVUeXBlO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRGaWxlSW5wdXRDb21wb25lbnQ8XG4gIFRFeHQgPSBzdHJpbmdcbj4gZXh0ZW5kcyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50PFRFeHQ+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRGaWxlUmVhZGVyID0gaW5qZWN0KFJEVF9ERUZBVUxUX0ZJTEVfUkVBREVSKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNYXhGaWxlU2l6ZSA9IGluamVjdChSRFRfREVGQVVMVF9NQVhfRklMRV9TSVpFKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRMYWJlbEZuID0gaW5qZWN0KFJEVF9ERUZBVUxUX0ZJTEVfTEFCRUxfRk4pO1xuXG4gIHJlYWRvbmx5IHJlYWRlcklucHV0ID0gaW5wdXQ8UmR0RmlsZVJlYWRlcjxURXh0Pj4oXG4gICAgdGhpcy5kZWZhdWx0RmlsZVJlYWRlciBhcyBSZHRGaWxlUmVhZGVyPFRFeHQ+LFxuICAgIHtcbiAgICAgIGFsaWFzOiAncmVhZGVyJyxcbiAgICB9XG4gICk7XG4gIHJlYWRvbmx5IHJlYWRlciA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnJlYWRlcklucHV0KCkpO1xuXG4gIHJlYWRvbmx5IGFjY2VwdElucHV0ID0gaW5wdXQ8QWNjZXB0VHlwZSB8IHVuZGVmaW5lZCwgTnVsbGFibGU8QWNjZXB0VHlwZT4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IGFsaWFzOiAnYWNjZXB0JywgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQgfVxuICApO1xuICByZWFkb25seSBhY2NlcHQgPSBsaW5rZWRTaWduYWwoKCkgPT4ge1xuICAgIGNvbnN0IGFjY2VwdElucHV0ID0gdGhpcy5hY2NlcHRJbnB1dCgpO1xuICAgIHJldHVybiAhYWNjZXB0SW5wdXQgfHwgQXJyYXkuaXNBcnJheShhY2NlcHRJbnB1dClcbiAgICAgID8gYWNjZXB0SW5wdXRcbiAgICAgIDogW2FjY2VwdElucHV0XTtcbiAgfSk7XG4gIHJlYWRvbmx5IGpvaW50QWNjZXB0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY2NlcHQoKT8uam9pbignLCcpKTtcblxuICByZWFkb25seSBtYXhGaWxlU2l6ZUlucHV0ID0gaW5wdXQ8XG4gICAgTnVsbGFibGU8UmR0RmlsZVNpemU+LFxuICAgIFJkdEZpbGVTaXplIHwgdW5kZWZpbmVkXG4gID4odGhpcy5kZWZhdWx0TWF4RmlsZVNpemUsIHtcbiAgICBhbGlhczogJ21heEZpbGVTaXplJyxcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heEZpbGVTaXplID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMubWF4RmlsZVNpemVJbnB1dCgpKTtcbiAgcmVhZG9ubHkgbWF4RmlsZVNpemVJbkJ5dGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1heEZpbGVTaXplID0gdGhpcy5tYXhGaWxlU2l6ZSgpO1xuICAgIHJldHVybiBtYXhGaWxlU2l6ZSA/IFJkdEZpbGVVdGlscy5maWxlU2l6ZVRvQnl0ZXMobWF4RmlsZVNpemUpIDogbnVsbDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbGFiZWxGbiA9IGlucHV0KHRoaXMuZGVmYXVsdExhYmVsRm4pO1xuICByZWFkb25seSBtdWx0aXBsZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWxDdHJsID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBsYWJlbERhdGFUZXN0SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGFUZXN0SWQoKSArICctbGFiZWwnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG91Y2hlZEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMudG91Y2hlZCgpO1xuICAgIGlmICh0b3VjaGVkKSB7XG4gICAgICB0aGlzLmxhYmVsQ3RybC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxDdHJsLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVycm9yRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmxhYmVsQ3RybD8uc2V0RXJyb3JzKHRoaXMudmlzaWJsZUVycm9ycygpKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmNvbnRyb2woKT8uYWRkVmFsaWRhdG9ycyh0aGlzLl9tYXhGaWxlU2l6ZVZhbGlkYXRvcik7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuY29udHJvbCgpPy5yZW1vdmVWYWxpZGF0b3JzKHRoaXMuX21heEZpbGVTaXplVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkZpbGVTZWxlY3RlZChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBpZiAoIXRhcmdldC5maWxlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzaG91bGRSZWFkID0gdHJ1ZTtcbiAgICBjb25zdCBtYXhCeXRlcyA9IHRoaXMubWF4RmlsZVNpemVJbkJ5dGVzKCk7XG4gICAgaWYgKG1heEJ5dGVzICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20odGFyZ2V0LmZpbGVzKTtcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gbWF4Qnl0ZXMpIHtcbiAgICAgICAgICBzaG91bGRSZWFkID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZWFkZXIgPSBzaG91bGRSZWFkXG4gICAgICA/IHRoaXMucmVhZGVyKClcbiAgICAgIDogKE5PX09QX0ZJTEVfUkVBREVSIGFzIHVua25vd24gYXMgUmR0RmlsZVJlYWRlcjxURXh0Pik7XG5cbiAgICByZWFkZXJcbiAgICAgIC5yZWFkQWxsKEFycmF5LmZyb20odGFyZ2V0LmZpbGVzKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZmlsZXMpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZmlsZXMpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGZpbGVzKTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGZpbGVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zZXRJbm5lclZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5uZXJWYWx1ZShmaWxlczogTnVsbGFibGU8UmR0RmlsZVtdPikge1xuICAgIGlmICh0aGlzLmxhYmVsQ3RybCkge1xuICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsRm4oKShmaWxlcyA/PyBbXSk7XG4gICAgICB0aGlzLmxhYmVsQ3RybC5zZXRWYWx1ZShsYWJlbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyKCkge1xuICAgIHRoaXMub25JbnRlcm5hbFZhbHVlQ2hhbmdlKG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4RmlsZVNpemVWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKGN0cmwpID0+IHtcbiAgICBjb25zdCBtYXhTaXplID0gdGhpcy5tYXhGaWxlU2l6ZUluQnl0ZXMoKTtcbiAgICBpZiAoXG4gICAgICBtYXhTaXplID09PSBudWxsIHx8XG4gICAgICAhQXJyYXkuaXNBcnJheShjdHJsLnZhbHVlKSB8fFxuICAgICAgY3RybC52YWx1ZS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVzID0gY3RybC52YWx1ZSBhcyBSZHRGaWxlW107XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBpZiAoZmlsZVsnc2l6ZSddICE9PSB1bmRlZmluZWQgJiYgZmlsZS5zaXplID4gbWF4U2l6ZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1heEZpbGVTaXplOiB7XG4gICAgICAgICAgICBtYXg6IG1heFNpemUsXG4gICAgICAgICAgICBhY3R1YWw6IGZpbGUuc2l6ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class RdtFileReaderArrayBuffer extends RdtFileReader {\n extractData(file) {\n return from(RdtFileUtils.fileAsArrayBuffer(file));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLWFycmF5LWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9maWxlLWlucHV0L3JlYWRlci9yZHQtZmlsZS1yZWFkZXItYXJyYXktYnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQTBCO0lBQ3RFLFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdEZpbGVVdGlscyB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRGaWxlUmVhZGVyIH0gZnJvbSAnLi9yZHQtZmlsZS1yZWFkZXInO1xuXG5leHBvcnQgY2xhc3MgUmR0RmlsZVJlYWRlckFycmF5QnVmZmVyIGV4dGVuZHMgUmR0RmlsZVJlYWRlcjxBcnJheUJ1ZmZlcj4ge1xuICBleHRyYWN0RGF0YShmaWxlOiBGaWxlKSB7XG4gICAgcmV0dXJuIGZyb20oUmR0RmlsZVV0aWxzLmZpbGVBc0FycmF5QnVmZmVyKGZpbGUpKTtcbiAgfVxufVxuIl19","import { RdtFileUtils } from '@ngrdt/utils';\nimport { from } from 'rxjs';\nimport { RdtFileReader } from './rdt-file-reader';\nexport class VnshFileReaderText extends RdtFileReader {\n encoding;\n constructor(encoding) {\n super();\n this.encoding = encoding;\n }\n extractData(file) {\n return from(RdtFileUtils.fileAsText(file, this.encoding));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWZpbGUtcmVhZGVyLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvZmlsZS1pbnB1dC9yZWFkZXIvcmR0LWZpbGUtcmVhZGVyLXRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQXFCO0lBQ3hDO0lBQW5CLFlBQW1CLFFBQTZCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFaEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsbEVuY29kaW5nQWxpYXNlcywgUmR0RmlsZVV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEZpbGVSZWFkZXIgfSBmcm9tICcuL3JkdC1maWxlLXJlYWRlcic7XG5cbmV4cG9ydCBjbGFzcyBWbnNoRmlsZVJlYWRlclRleHQgZXh0ZW5kcyBSZHRGaWxlUmVhZGVyPHN0cmluZz4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZW5jb2Rpbmc/OiBBbGxFbmNvZGluZ0FsaWFzZXMpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIGV4dHJhY3REYXRhKGZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gZnJvbShSZHRGaWxlVXRpbHMuZmlsZUFzVGV4dChmaWxlLCB0aGlzLmVuY29kaW5nKSk7XG4gIH1cbn1cbiJdfQ==","import { Directive, input } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined, nullToUndefinedNumeric, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtNumericInputComponent extends RdtBaseFormInputComponent {\n min = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n max = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n step = input(undefined, {\n transform: nullToUndefinedNumeric,\n });\n autocomplete = input(undefined, {\n transform: nullToUndefined,\n });\n isEmpty(value) {\n return value === null;\n }\n toExternalValue(internalValue) {\n if (typeof internalValue === 'number') {\n return internalValue;\n }\n else if (internalValue && typeof internalValue === 'string') {\n return parseFloat(internalValue);\n }\n return null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtNumericInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtNumericInputComponent, isStandalone: true, inputs: { min: { classPropertyName: \"min\", publicName: \"min\", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: \"max\", publicName: \"max\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: \"autocomplete\", publicName: \"autocomplete\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtNumericInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW51bWVyaWMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL251bWVyaWMtaW5wdXQvcmR0LW51bWVyaWMtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBRXZCLE1BQU0sYUFBYSxDQUFDOztBQUdyQixNQUFNLE9BQWdCLHdCQUF5QixTQUFRLHlCQUV0RDtJQUNVLEdBQUcsR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN4RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLEdBQUcsR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN4RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLElBQUksR0FBRyxLQUFLLENBQTJDLFNBQVMsRUFBRTtRQUN6RSxTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDLENBQUMsQ0FBQztJQUNNLFlBQVksR0FBRyxLQUFLLENBRzNCLFNBQVMsRUFBRTtRQUNYLFNBQVMsRUFBRSxlQUFlO0tBQzNCLENBQUMsQ0FBQztJQUVnQixPQUFPLENBQUMsS0FBb0I7UUFDN0MsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFa0IsZUFBZSxDQUNoQyxhQUE0QjtRQUU1QixJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLGFBQWEsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQWhDbUIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRDdDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9yZHQtYmFzZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBudWxsVG9VbmRlZmluZWQsXG4gIG51bGxUb1VuZGVmaW5lZE51bWVyaWMsXG4gIFJkdEF1dG9jb21wbGV0ZU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0TnVtZXJpY0lucHV0Q29tcG9uZW50IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxcbiAgbnVtYmVyIHwgbnVsbFxuPiB7XG4gIHJlYWRvbmx5IG1pbiA9IGlucHV0PG51bWJlciB8IG51bGwsIE51bGxhYmxlPG51bWJlciB8IHN0cmluZz4+KHVuZGVmaW5lZCwge1xuICAgIHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlciB8IG51bGwsIE51bGxhYmxlPG51bWJlciB8IHN0cmluZz4+KHVuZGVmaW5lZCwge1xuICAgIHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgfSk7XG4gIHJlYWRvbmx5IHN0ZXAgPSBpbnB1dDxudW1iZXIgfCBudWxsLCBOdWxsYWJsZTxudW1iZXIgfCBzdHJpbmc+Pih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZE51bWVyaWMsXG4gIH0pO1xuICByZWFkb25seSBhdXRvY29tcGxldGUgPSBpbnB1dDxcbiAgICBSZHRBdXRvY29tcGxldGVPcHRpb25zIHwgdW5kZWZpbmVkLFxuICAgIE51bGxhYmxlPFJkdEF1dG9jb21wbGV0ZU9wdGlvbnM+XG4gID4odW5kZWZpbmVkLCB7XG4gICAgdHJhbnNmb3JtOiBudWxsVG9VbmRlZmluZWQsXG4gIH0pO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc0VtcHR5KHZhbHVlOiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHRvRXh0ZXJuYWxWYWx1ZShcbiAgICBpbnRlcm5hbFZhbHVlOiBudW1iZXIgfCBudWxsXG4gICk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0eXBlb2YgaW50ZXJuYWxWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBpbnRlcm5hbFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaW50ZXJuYWxWYWx1ZSAmJiB0eXBlb2YgaW50ZXJuYWxWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KGludGVybmFsVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","export class RdtSelectDatasource {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG1CQUFtQjtDQVN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuL3JkdC1zZWxlY3QtcGFnZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxSZHRTZWxlY3RQYWdlPFRJdGVtPj47XG4gIGFic3RyYWN0IGdldExhYmVsKGl0ZW06IFRJdGVtKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRJZChpdGVtOiBUSXRlbSk6IFRJZDtcbiAgYWJzdHJhY3QgZ2V0SXRlbXNCeUlkcyhpZHM6IFRJZFtdKTogT2JzZXJ2YWJsZTxNYXA8VElkLCBUSXRlbT4+O1xuICBhYnN0cmFjdCByZWFkb25seSB0b3RhbENvdW50S25vd246IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQ6IGJvb2xlYW47XG59XG4iXX0=","import { of } from 'rxjs';\nimport { RdtSelectDatasource } from './rdt-select-datasource';\nexport class RdtOfflineSelectDatasource extends RdtSelectDatasource {\n data;\n totalCountKnown = true;\n queryRequired = false;\n preprocessedData;\n constructor(data) {\n super();\n this.data = data;\n this.preprocessedData = this.preprocessData(data);\n }\n getData(params) {\n const page = this.getPage(this.filterData(params.query), params.pageIndex, params.pageSize);\n return of(page);\n }\n getLabel(item) {\n return item.label;\n }\n getId(item) {\n return item.value;\n }\n getItemsByIds(ids) {\n const result = new Map();\n for (const id of ids) {\n const item = this.preprocessedData.find((item) => item.value === id);\n if (item) {\n result.set(id, item);\n }\n }\n return of(result);\n }\n preprocessLabel(label) {\n return label.trim().toLowerCase();\n }\n preprocessData(data) {\n return data.map((item) => ({\n value: item.value,\n label: this.preprocessLabel(item.label),\n }));\n }\n filterData(query) {\n if (!query) {\n return this.preprocessedData;\n }\n const prepQuery = this.preprocessLabel(query);\n if (!prepQuery) {\n return this.preprocessedData;\n }\n return this.preprocessedData.filter((item) => item.label.includes(prepQuery));\n }\n getPage(data, pageIndex, pageSize) {\n if (pageSize < 1) {\n throw new Error('Invalid page size');\n }\n if (pageIndex < 0) {\n throw new Error('Invalid page index');\n }\n if (pageIndex * pageSize > data.length) {\n return {\n data: [],\n totalCount: data.length,\n pageIndex: pageIndex,\n };\n }\n const start = pageIndex * pageSize;\n const end = start + pageSize;\n const items = data.slice(start, end);\n return {\n data: items,\n totalCount: data.length,\n pageIndex: pageIndex,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L2RhdGFzb3VyY2UvcmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMEJBRVgsU0FBUSxtQkFBa0Q7SUFNckM7SUFMSCxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFckIsZ0JBQWdCLENBQTBCO0lBRTdELFlBQXFCLElBQTZCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFFaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLE9BQU8sQ0FDZCxNQUE4QjtRQUU5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFDN0IsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDUSxRQUFRLENBQUMsSUFBMkI7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDUSxLQUFLLENBQUMsSUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUSxhQUFhLENBQ3BCLEdBQWE7UUFFYixNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztRQUN4RCxLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxlQUFlLENBQUMsS0FBYTtRQUNyQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRVMsY0FBYyxDQUN0QixJQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFUyxPQUFPLENBQ2YsSUFBNkIsRUFDN0IsU0FBaUIsRUFDakIsUUFBZ0I7UUFFaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsT0FBTztnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO2FBQ3JCLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU87WUFDTCxJQUFJLEVBQUUsS0FBSztZQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUN2QixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdExhYmVsVmFsdWUgfSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQgeyBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0UGFnZSB9IGZyb20gJy4vcmR0LXNlbGVjdC1wYWdlJztcblxuZXhwb3J0IGNsYXNzIFJkdE9mZmxpbmVTZWxlY3REYXRhc291cmNlPFxuICBUVmFsdWUgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXJcbj4gZXh0ZW5kcyBSZHRTZWxlY3REYXRhc291cmNlPFJkdExhYmVsVmFsdWU8VFZhbHVlPiwgVFZhbHVlPiB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHRvdGFsQ291bnRLbm93biA9IHRydWU7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlcHJvY2Vzc2VkRGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJlcHJvY2Vzc2VkRGF0YSA9IHRoaXMucHJlcHJvY2Vzc0RhdGEoZGF0YSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXREYXRhKFxuICAgIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICApOiBPYnNlcnZhYmxlPFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLmdldFBhZ2UoXG4gICAgICB0aGlzLmZpbHRlckRhdGEocGFyYW1zLnF1ZXJ5KSxcbiAgICAgIHBhcmFtcy5wYWdlSW5kZXgsXG4gICAgICBwYXJhbXMucGFnZVNpemVcbiAgICApO1xuICAgIHJldHVybiBvZihwYWdlKTtcbiAgfVxuICBvdmVycmlkZSBnZXRMYWJlbChpdGVtOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICB9XG4gIG92ZXJyaWRlIGdldElkKGl0ZW06IFJkdExhYmVsVmFsdWU8VFZhbHVlPik6IFRWYWx1ZSB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gIH1cblxuICBvdmVycmlkZSBnZXRJdGVtc0J5SWRzKFxuICAgIGlkczogVFZhbHVlW11cbiAgKTogT2JzZXJ2YWJsZTxNYXA8VFZhbHVlLCBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4+PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxUVmFsdWUsIFJkdExhYmVsVmFsdWU8VFZhbHVlPj4oKTtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIGlkcykge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMucHJlcHJvY2Vzc2VkRGF0YS5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBpZCk7XG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICByZXN1bHQuc2V0KGlkLCBpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKHJlc3VsdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcHJvY2Vzc0xhYmVsKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBsYWJlbC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVwcm9jZXNzRGF0YShcbiAgICBkYXRhOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXVxuICApOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICBsYWJlbDogdGhpcy5wcmVwcm9jZXNzTGFiZWwoaXRlbS5sYWJlbCksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbHRlckRhdGEocXVlcnk6IHN0cmluZyB8IG51bGwpOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YTtcbiAgICB9XG4gICAgY29uc3QgcHJlcFF1ZXJ5ID0gdGhpcy5wcmVwcm9jZXNzTGFiZWwocXVlcnkpO1xuICAgIGlmICghcHJlcFF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmVwcm9jZXNzZWREYXRhO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcmVwcm9jZXNzZWREYXRhLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIGl0ZW0ubGFiZWwuaW5jbHVkZXMocHJlcFF1ZXJ5KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UGFnZShcbiAgICBkYXRhOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSxcbiAgICBwYWdlSW5kZXg6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICk6IFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+PiB7XG4gICAgaWYgKHBhZ2VTaXplIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2Ugc2l6ZScpO1xuICAgIH1cbiAgICBpZiAocGFnZUluZGV4IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2UgaW5kZXgnKTtcbiAgICB9XG4gICAgaWYgKHBhZ2VJbmRleCAqIHBhZ2VTaXplID4gZGF0YS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICB0b3RhbENvdW50OiBkYXRhLmxlbmd0aCxcbiAgICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBzdGFydCA9IHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgcGFnZVNpemU7XG4gICAgY29uc3QgaXRlbXMgPSBkYXRhLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBpdGVtcyxcbiAgICAgIHRvdGFsQ291bnQ6IGRhdGEubGVuZ3RoLFxuICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgfTtcbiAgfVxufVxuIl19","export const rdtSelectInitialState = {\n query: null,\n nextPageIndex: 0,\n pageSize: 20,\n totalCount: 0,\n totalCountKnown: false,\n options: [],\n datasource: null,\n selectedMap: new Map(),\n fetchError: null,\n missingValuePlaceholder: 'Načítání...',\n _fetchRequest: null,\n _fetchMissingRequest: null,\n _missingSelected: [],\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QkEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTZCO0lBQzdELEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLHVCQUF1QixFQUFFLGFBQWE7SUFDdEMsYUFBYSxFQUFFLElBQUk7SUFDbkIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixnQkFBZ0IsRUFBRSxFQUFFO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZUlkIH0gZnJvbSAnLi4vdXRpbHMvbGFiZWwtdmFsdWUtaWQnO1xuaW1wb3J0IHtcbiAgUmR0U2VsZWN0RmV0Y2hNaXNzaW5nUmVxdWVzdCxcbiAgUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0LFxufSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRTZWxlY3RTdGF0ZTxUSXRlbSwgVElkPiB7XG4gIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xuICBuZXh0UGFnZUluZGV4OiBudW1iZXIgfCBudWxsO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnRLbm93bjogYm9vbGVhbjtcbiAgb3B0aW9uczogUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+W107XG4gIGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VEl0ZW0sIFRJZD4gfCBudWxsO1xuICBzZWxlY3RlZE1hcDogTWFwPFRJZCwgUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+PjtcbiAgZmV0Y2hFcnJvcjogYW55IHwgbnVsbDtcbiAgbWlzc2luZ1ZhbHVlUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgX2ZldGNoUmVxdWVzdDogUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0IHwgbnVsbDtcbiAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IFJkdFNlbGVjdEZldGNoTWlzc2luZ1JlcXVlc3Q8VElkPiB8IG51bGw7XG4gIF9taXNzaW5nU2VsZWN0ZWQ6IFRJZFtdO1xufVxuXG5leHBvcnQgY29uc3QgcmR0U2VsZWN0SW5pdGlhbFN0YXRlOiBSZHRTZWxlY3RTdGF0ZTxhbnksIGFueT4gPSB7XG4gIHF1ZXJ5OiBudWxsLFxuICBuZXh0UGFnZUluZGV4OiAwLFxuICBwYWdlU2l6ZTogMjAsXG4gIHRvdGFsQ291bnQ6IDAsXG4gIHRvdGFsQ291bnRLbm93bjogZmFsc2UsXG4gIG9wdGlvbnM6IFtdLFxuICBkYXRhc291cmNlOiBudWxsLFxuICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICBmZXRjaEVycm9yOiBudWxsLFxuICBtaXNzaW5nVmFsdWVQbGFjZWhvbGRlcjogJ05hxI3DrXTDoW7DrS4uLicsXG4gIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbn07XG4iXX0=","export function compareSelectRequestParams(a, b) {\n return (a.query === b.query &&\n a.pageIndex === b.pageIndex &&\n a.pageSize === b.pageSize);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3QvdXRpbHMvcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxDQUF5QixFQUN6QixDQUF5QjtJQUV6QixPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsS0FBSztRQUNuQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxTQUFTO1FBQzNCLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDMUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIHtcbiAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJkdFNlbGVjdEZldGNoUmVxdWVzdCB7XG4gIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtcztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0U2VsZWN0RmV0Y2hNaXNzaW5nUmVxdWVzdDxUSWQ+IHtcbiAgaWRzOiBUSWRbXTtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyhcbiAgYTogUmR0U2VsZWN0UmVxdWVzdFBhcmFtcyxcbiAgYjogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgYS5xdWVyeSA9PT0gYi5xdWVyeSAmJlxuICAgIGEucGFnZUluZGV4ID09PSBiLnBhZ2VJbmRleCAmJlxuICAgIGEucGFnZVNpemUgPT09IGIucGFnZVNpemVcbiAgKTtcbn1cbiJdfQ==","import { computed, untracked } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState, } from '@ngrx/signals';\nimport { compareSelectRequestParams, } from '../utils/request';\nimport { rdtSelectInitialState } from './rdt-select-state';\nfunction getRdtSelectStore(initialState = rdtSelectInitialState) {\n return signalStore(withState(initialState), withHooks({\n onDestroy(store) {\n store._fetchMissingRequest()?.subscription.unsubscribe();\n store._fetchRequest()?.subscription.unsubscribe();\n },\n }), withComputed((state) => ({\n hasMore: computed(() => state.nextPageIndex !== null),\n selectedItems: computed(() => {\n return Array.from(state.selectedMap().values());\n }),\n loadingOptions: computed(() => state._fetchRequest() !== null),\n loadingMissing: computed(() => state._fetchMissingRequest() !== null),\n loading: computed(() => state._fetchRequest() !== null ||\n state._fetchMissingRequest() !== null),\n // Shows selected + others while query is empty\n // Shows only query results while query has value\n visibleOptions: computed(() => {\n const items = state.options();\n const query = state.query();\n const selectedMap = state.selectedMap();\n const missing = state._missingSelected();\n if (query || missing.length === 0) {\n return items.map((it) => ({\n ...it,\n selected: selectedMap.has(it.id),\n }));\n }\n const selected = Array.from(selectedMap.values()).map((it) => ({ ...it, selected: true }));\n const missingPlaceholder = state.missingValuePlaceholder();\n const placeholders = missing.map((id) => ({\n id,\n label: missingPlaceholder.replace('{id}', String(id)),\n value: null,\n selected: true,\n }));\n placeholders.forEach((pl) => selected.push(pl));\n items.forEach((item) => {\n if (!selectedMap.has(item.id)) {\n selected.push({ ...item, selected: false });\n }\n });\n return selected;\n }),\n })), withMethods((store) => ({\n fetch() {\n const datasource = untracked(store.datasource);\n const index = untracked(store.nextPageIndex);\n const query = untracked(store.query);\n const pageSize = untracked(store.pageSize);\n if (!datasource || index === null) {\n return;\n }\n const params = {\n query: query,\n pageIndex: index,\n pageSize: pageSize,\n };\n const currentRequest = untracked(store._fetchRequest);\n if (currentRequest) {\n if (compareSelectRequestParams(currentRequest.params, params)) {\n return;\n }\n else {\n currentRequest.subscription.unsubscribe();\n }\n }\n const observer = this._getFetchObserver(params);\n const subscription = datasource.getData(params).subscribe(observer);\n // Offline datasource using `of()` emits value synchronously\n if (!subscription.closed) {\n patchState(store, {\n _fetchRequest: { subscription, params: params },\n });\n }\n },\n _getFetchObserver(requestParams) {\n return {\n next: (page) => this._onFetchSuccess(page, requestParams),\n error: (error) => this._onFetchError(error),\n complete: () => this._onFetchComplete(),\n };\n },\n _onFetchSuccess(page, requestParams) {\n let nextPageIndex = page.pageIndex + 1;\n if (page.totalCount === null) {\n if (page.data.length < requestParams.pageSize) {\n nextPageIndex = null;\n }\n }\n else if (requestParams.pageIndex * requestParams.pageSize + page.data.length >=\n page.totalCount) {\n nextPageIndex = null;\n }\n const options = [\n ...untracked(store.options),\n ...this._getLabelValueIds(page.data),\n ];\n patchState(store, {\n totalCount: page.totalCount ??\n Math.max(untracked(store.totalCount), page.pageIndex * requestParams.pageSize + page.data.length),\n nextPageIndex,\n totalCountKnown: page.totalCount !== null ||\n page.data.length < requestParams.pageSize,\n options,\n _fetchRequest: null,\n });\n this._loadMissingSelected();\n },\n _onFetchError(error) {\n patchState(store, {\n fetchError: getRdtSelectError(error),\n _fetchRequest: null,\n });\n },\n _onFetchComplete() {\n patchState(store, {\n _fetchRequest: null,\n });\n },\n setDatasource(datasource) {\n untracked(store._fetchRequest)?.subscription.unsubscribe();\n patchState(store, {\n datasource,\n _fetchRequest: null,\n fetchError: null,\n totalCountKnown: datasource.totalCountKnown,\n nextPageIndex: 0,\n totalCount: 0,\n options: [],\n });\n if (!datasource.queryRequired) {\n this.fetch();\n }\n else {\n this._loadMissingSelected();\n }\n },\n setQuery(query) {\n const datasource = untracked(store.datasource);\n if (query !== untracked(store.query)) {\n this.reset();\n patchState(store, { query });\n if (query || !datasource?.queryRequired) {\n this.fetch();\n }\n }\n },\n reset() {\n patchState(store, {\n query: null,\n nextPageIndex: 0,\n options: [],\n totalCount: 0,\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n resetTotalCountKnown() {\n patchState(store, {\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n setSelected(ids) {\n patchState(store, {\n _missingSelected: ids,\n selectedMap: new Map(),\n });\n this._loadMissingSelected();\n },\n select(ids) {\n const oldMissing = untracked(store._missingSelected);\n const notInMissing = ids.filter((id) => !oldMissing.includes(id));\n if (notInMissing.length > 0) {\n patchState(store, {\n _missingSelected: oldMissing.concat(notInMissing),\n });\n this._loadMissingSelected();\n }\n },\n unselectAll() {\n const fetchMissingReq = untracked(store._fetchMissingRequest);\n if (fetchMissingReq) {\n fetchMissingReq.subscription.unsubscribe();\n }\n patchState(store, {\n _missingSelected: [],\n selectedMap: new Map(),\n _fetchMissingRequest: null,\n });\n },\n _setAndGetMissing() {\n const allMissing = untracked(store._missingSelected);\n const items = untracked(store.options);\n const selectedMap = new Map(untracked(store.selectedMap));\n const newMissing = [];\n let selectedChanged = false;\n for (const id of allMissing) {\n const item = items.find((it) => it.id === id);\n if (item) {\n selectedMap.set(id, item);\n selectedChanged = true;\n }\n else {\n newMissing.push(id);\n }\n }\n if (selectedChanged) {\n patchState(store, { selectedMap });\n }\n if (newMissing.length === 0) {\n this._cancelFetchMissingIfNeeded();\n }\n patchState(store, { _missingSelected: newMissing });\n return newMissing;\n },\n _loadMissingSelected() {\n const reallyMissing = this._setAndGetMissing();\n if (!untracked(store.loading) && reallyMissing.length > 0) {\n this._fetchMissing(reallyMissing);\n }\n },\n _cancelFetchMissingIfNeeded() {\n const fetchMissingReq = untracked(store._fetchMissingRequest);\n const items = untracked(store.options);\n if (fetchMissingReq?.ids.every((id) => items.some((it) => it.id === id))) {\n fetchMissingReq.subscription.unsubscribe();\n patchState(store, {\n _fetchMissingRequest: null,\n _missingSelected: [],\n });\n }\n },\n _fetchMissing(ids) {\n const datasource = untracked(store.datasource);\n if (!datasource || ids.length === 0) {\n return;\n }\n const sub = datasource.getItemsByIds(ids).subscribe((map) => {\n const newMissing = [];\n const newSelected = new Map(untracked(store.selectedMap));\n for (const id of untracked(store._missingSelected)) {\n if (map.has(id)) {\n const value = map.get(id);\n const label = datasource.getLabel(value);\n newSelected.set(id, { label, value, id });\n }\n else {\n newMissing.push(id);\n }\n }\n patchState(store, {\n _fetchMissingRequest: null,\n _missingSelected: newMissing,\n selectedMap: newSelected,\n });\n this._loadMissingSelected();\n });\n if (!sub.closed) {\n patchState(store, {\n _fetchMissingRequest: { ids, subscription: sub },\n });\n }\n },\n selectSingle(id) {\n this.setSelected([id]);\n },\n toggle(id) {\n const oldMap = untracked(store.selectedMap);\n const datasource = untracked(store.datasource);\n if (!datasource) {\n throw new Error('Datasource is undefined');\n }\n if (oldMap.has(id)) {\n const newMap = new Map(oldMap);\n newMap.delete(id);\n patchState(store, { selectedMap: newMap });\n }\n else {\n const item = untracked(store.options).find((it) => it.id === id);\n if (!item) {\n this.select([id]);\n }\n else {\n const newMap = new Map(oldMap);\n newMap.set(id, item);\n patchState(store, { selectedMap: newMap });\n }\n }\n },\n cancelFetch() {\n untracked(store._fetchRequest)?.subscription.unsubscribe();\n patchState(store, {\n _fetchRequest: null,\n fetchError: null,\n });\n },\n isSelected(item) {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n return false;\n }\n const id = datasource.getId(item);\n return untracked(store.selectedMap).has(id);\n },\n setPageSize(size) {\n patchState(store, { pageSize: size });\n },\n _getLabelValueIds(items) {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n throw new Error('Datasource not set!');\n }\n return items.map((item) => ({\n label: datasource.getLabel(item),\n value: item,\n id: datasource.getId(item),\n }));\n },\n })));\n}\nexport const RdtSelectStore = getRdtSelectStore();\nfunction getRdtSelectError(error) {\n if (typeof error === 'string') {\n return error;\n }\n else if (error instanceof Error) {\n return error.message;\n }\n else if (error && typeof error === 'object' && 'message' in error) {\n return error.message;\n }\n return 'Nastala chyba.';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFRdkIsT0FBTyxFQUNMLDBCQUEwQixHQUUzQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRSxTQUFTLGlCQUFpQixDQUFTLFlBQVksR0FBRyxxQkFBcUI7SUFDckUsT0FBTyxXQUFXLENBQ2hCLFNBQVMsQ0FBQyxZQUFzQyxDQUFDLEVBQ2pELFNBQVMsQ0FBQztRQUNSLFNBQVMsQ0FBQyxLQUFLO1lBQ2IsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pELEtBQUssQ0FBQyxhQUFhLEVBQUUsRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsQ0FBQztLQUNGLENBQUMsRUFDRixZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQztRQUNyRCxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEQs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QUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELGlCQUFpQixDQUFDLEtBQVU7WUFDMUIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2dCQUNYLEVBQUUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUMzQixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7S0FDRixDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsRUFBWSxDQUFDO0FBSzVELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN2QixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNwRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHBhdGNoU3RhdGUsXG4gIHNpZ25hbFN0b3JlLFxuICB3aXRoQ29tcHV0ZWQsXG4gIHdpdGhIb29rcyxcbiAgd2l0aE1ldGhvZHMsXG4gIHdpdGhTdGF0ZSxcbn0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0U2VsZWN0RGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXNlbGVjdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRMYWJlbFZhbHVlSWQsXG4gIFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uLFxufSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQge1xuICBjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyxcbiAgUmR0U2VsZWN0UmVxdWVzdFBhcmFtcyxcbn0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyByZHRTZWxlY3RJbml0aWFsU3RhdGUsIFJkdFNlbGVjdFN0YXRlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LXN0YXRlJztcblxuZnVuY3Rpb24gZ2V0UmR0U2VsZWN0U3RvcmU8VCwgVElkPihpbml0aWFsU3RhdGUgPSByZHRTZWxlY3RJbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHNpZ25hbFN0b3JlKFxuICAgIHdpdGhTdGF0ZShpbml0aWFsU3RhdGUgYXMgUmR0U2VsZWN0U3RhdGU8VCwgVElkPiksXG4gICAgd2l0aEhvb2tzKHtcbiAgICAgIG9uRGVzdHJveShzdG9yZSkge1xuICAgICAgICBzdG9yZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgc3RvcmUuX2ZldGNoUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgd2l0aENvbXB1dGVkKChzdGF0ZSkgPT4gKHtcbiAgICAgIGhhc01vcmU6IGNvbXB1dGVkKCgpID0+IHN0YXRlLm5leHRQYWdlSW5kZXggIT09IG51bGwpLFxuICAgICAgc2VsZWN0ZWRJdGVtczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShzdGF0ZS5zZWxlY3RlZE1hcCgpLnZhbHVlcygpKTtcbiAgICAgIH0pLFxuICAgICAgbG9hZGluZ09wdGlvbnM6IGNvbXB1dGVkKCgpID0+IHN0YXRlLl9mZXRjaFJlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nTWlzc2luZzogY29tcHV0ZWQoKCkgPT4gc3RhdGUuX2ZldGNoTWlzc2luZ1JlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nOiBjb21wdXRlZChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hSZXF1ZXN0KCkgIT09IG51bGwgfHxcbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpICE9PSBudWxsXG4gICAgICApLFxuICAgICAgLy8gU2hvd3Mgc2VsZWN0ZWQgKyBvdGhlcnMgd2hpbGUgcXVlcnkgaXMgZW1wdHlcbiAgICAgIC8vIFNob3dzIG9ubHkgcXVlcnkgcmVzdWx0cyB3aGlsZSBxdWVyeSBoYXMgdmFsdWVcbiAgICAgIHZpc2libGVPcHRpb25zOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gc3RhdGUub3B0aW9ucygpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHN0YXRlLnF1ZXJ5KCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gc3RhdGUuc2VsZWN0ZWRNYXAoKTtcbiAgICAgICAgY29uc3QgbWlzc2luZyA9IHN0YXRlLl9taXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgaWYgKHF1ZXJ5IHx8IG1pc3NpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXQpID0+ICh7XG4gICAgICAgICAgICAuLi5pdCxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZE1hcC5oYXMoaXQuaWQpLFxuICAgICAgICAgIH0pKSBhcyBSZHRSZW5kZXJlZFNlbGVjdE9wdGlvbjxULCBUSWQ+W107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQ6IFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uPFQsIFRJZD5bXSA9IEFycmF5LmZyb20oXG4gICAgICAgICAgc2VsZWN0ZWRNYXAudmFsdWVzKClcbiAgICAgICAgKS5tYXAoKGl0KSA9PiAoeyAuLi5pdCwgc2VsZWN0ZWQ6IHRydWUgfSkpO1xuICAgICAgICBjb25zdCBtaXNzaW5nUGxhY2Vob2xkZXIgPSBzdGF0ZS5taXNzaW5nVmFsdWVQbGFjZWhvbGRlcigpO1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnMgPSBtaXNzaW5nLm1hcCgoaWQpID0+ICh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgbGFiZWw6IG1pc3NpbmdQbGFjZWhvbGRlci5yZXBsYWNlKCd7aWR9JywgU3RyaW5nKGlkKSksXG4gICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcGxhY2Vob2xkZXJzLmZvckVhY2goKHBsKSA9PiBzZWxlY3RlZC5wdXNoKHBsKSk7XG5cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmICghc2VsZWN0ZWRNYXAuaGFzKGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZC5wdXNoKHsgLi4uaXRlbSwgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICBmZXRjaCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB1bnRyYWNrZWQoc3RvcmUubmV4dFBhZ2VJbmRleCk7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdW50cmFja2VkKHN0b3JlLnF1ZXJ5KTtcbiAgICAgICAgY29uc3QgcGFnZVNpemUgPSB1bnRyYWNrZWQoc3RvcmUucGFnZVNpemUpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UgfHwgaW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICBwYWdlSW5kZXg6IGluZGV4LFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY3VycmVudFJlcXVlc3QgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk7XG4gICAgICAgIGlmIChjdXJyZW50UmVxdWVzdCkge1xuICAgICAgICAgIGlmIChjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyhjdXJyZW50UmVxdWVzdC5wYXJhbXMsIHBhcmFtcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFJlcXVlc3Quc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5fZ2V0RmV0Y2hPYnNlcnZlcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBkYXRhc291cmNlLmdldERhdGEocGFyYW1zKS5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xuICAgICAgICAvLyBPZmZsaW5lIGRhdGFzb3VyY2UgdXNpbmcgYG9mKClgIGVtaXRzIHZhbHVlIHN5bmNocm9ub3VzbHlcbiAgICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoUmVxdWVzdDogeyBzdWJzY3JpcHRpb24sIHBhcmFtczogcGFyYW1zIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZ2V0RmV0Y2hPYnNlcnZlcihcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICAgICAgKTogT2JzZXJ2ZXI8UmR0U2VsZWN0UGFnZTxUPj4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5leHQ6IChwYWdlKSA9PiB0aGlzLl9vbkZldGNoU3VjY2VzcyhwYWdlLCByZXF1ZXN0UGFyYW1zKSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLl9vbkZldGNoRXJyb3IoZXJyb3IpLFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLl9vbkZldGNoQ29tcGxldGUoKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBfb25GZXRjaFN1Y2Nlc3MoXG4gICAgICAgIHBhZ2U6IFJkdFNlbGVjdFBhZ2U8VD4sXG4gICAgICAgIHJlcXVlc3RQYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgICAgICkge1xuICAgICAgICBsZXQgbmV4dFBhZ2VJbmRleDogbnVtYmVyIHwgbnVsbCA9IHBhZ2UucGFnZUluZGV4ICsgMTtcbiAgICAgICAgaWYgKHBhZ2UudG90YWxDb3VudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGlmIChwYWdlLmRhdGEubGVuZ3RoIDwgcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSkge1xuICAgICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMucGFnZUluZGV4ICogcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSArIHBhZ2UuZGF0YS5sZW5ndGggPj1cbiAgICAgICAgICBwYWdlLnRvdGFsQ291bnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFtcbiAgICAgICAgICAuLi51bnRyYWNrZWQoc3RvcmUub3B0aW9ucyksXG4gICAgICAgICAgLi4udGhpcy5fZ2V0TGFiZWxWYWx1ZUlkcyhwYWdlLmRhdGEpLFxuICAgICAgICBdO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudDpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCA/P1xuICAgICAgICAgICAgTWF0aC5tYXgoXG4gICAgICAgICAgICAgIHVudHJhY2tlZChzdG9yZS50b3RhbENvdW50KSxcbiAgICAgICAgICAgICAgcGFnZS5wYWdlSW5kZXggKiByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplICsgcGFnZS5kYXRhLmxlbmd0aFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBuZXh0UGFnZUluZGV4LFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgcGFnZS5kYXRhLmxlbmd0aCA8IHJlcXVlc3RQYXJhbXMucGFnZVNpemUsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZmV0Y2hFcnJvcjogZ2V0UmR0U2VsZWN0RXJyb3IoZXJyb3IpLFxuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoQ29tcGxldGUoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXREYXRhc291cmNlKGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VCwgVElkPikge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/LnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZGF0YXNvdXJjZSxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICAgIGZldGNoRXJyb3I6IG51bGwsXG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiBkYXRhc291cmNlLnRvdGFsQ291bnRLbm93bixcbiAgICAgICAgICBuZXh0UGFnZUluZGV4OiAwLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UucXVlcnlSZXF1aXJlZCkge1xuICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb2FkTWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZXRRdWVyeShxdWVyeTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAocXVlcnkgIT09IHVudHJhY2tlZChzdG9yZS5xdWVyeSkpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBxdWVyeSB9KTtcbiAgICAgICAgICBpZiAocXVlcnkgfHwgIWRhdGFzb3VyY2U/LnF1ZXJ5UmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXNldCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHF1ZXJ5OiBudWxsLFxuICAgICAgICAgIG5leHRQYWdlSW5kZXg6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKT8udG90YWxDb3VudEtub3duID8/IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHJlc2V0VG90YWxDb3VudEtub3duKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk/LnRvdGFsQ291bnRLbm93biA/PyB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXRTZWxlY3RlZChpZHM6IFRJZFtdKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBpZHMsXG4gICAgICAgICAgc2VsZWN0ZWRNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgIH0sXG4gICAgICBzZWxlY3QoaWRzOiBUSWRbXSkge1xuICAgICAgICBjb25zdCBvbGRNaXNzaW5nID0gdW50cmFja2VkKHN0b3JlLl9taXNzaW5nU2VsZWN0ZWQpO1xuICAgICAgICBjb25zdCBub3RJbk1pc3NpbmcgPSBpZHMuZmlsdGVyKChpZCkgPT4gIW9sZE1pc3NpbmcuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgaWYgKG5vdEluTWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX21pc3NpbmdTZWxlY3RlZDogb2xkTWlzc2luZy5jb25jYXQobm90SW5NaXNzaW5nKSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuc2VsZWN0QWxsKCkge1xuICAgICAgICBjb25zdCBmZXRjaE1pc3NpbmdSZXEgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QpO1xuICAgICAgICBpZiAoZmV0Y2hNaXNzaW5nUmVxKSB7XG4gICAgICAgICAgZmV0Y2hNaXNzaW5nUmVxLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbiAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBfc2V0QW5kR2V0TWlzc2luZygpIHtcbiAgICAgICAgY29uc3QgYWxsTWlzc2luZyA9IHVudHJhY2tlZChzdG9yZS5fbWlzc2luZ1NlbGVjdGVkKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUub3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gbmV3IE1hcCh1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApKTtcbiAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcblxuICAgICAgICBsZXQgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgYWxsTWlzc2luZykge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQuaWQgPT09IGlkKTtcbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRNYXAuc2V0KGlkLCBpdGVtKTtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld01pc3NpbmcucHVzaChpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTWFwIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdNaXNzaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuX2NhbmNlbEZldGNoTWlzc2luZ0lmTmVlZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfbWlzc2luZ1NlbGVjdGVkOiBuZXdNaXNzaW5nIH0pO1xuICAgICAgICByZXR1cm4gbmV3TWlzc2luZztcbiAgICAgIH0sXG4gICAgICBfbG9hZE1pc3NpbmdTZWxlY3RlZCgpIHtcbiAgICAgICAgY29uc3QgcmVhbGx5TWlzc2luZyA9IHRoaXMuX3NldEFuZEdldE1pc3NpbmcoKTtcbiAgICAgICAgaWYgKCF1bnRyYWNrZWQoc3RvcmUubG9hZGluZykgJiYgcmVhbGx5TWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5fZmV0Y2hNaXNzaW5nKHJlYWxseU1pc3NpbmcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2NhbmNlbEZldGNoTWlzc2luZ0lmTmVlZGVkKCkge1xuICAgICAgICBjb25zdCBmZXRjaE1pc3NpbmdSZXEgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QpO1xuICAgICAgICBjb25zdCBpdGVtcyA9IHVudHJhY2tlZChzdG9yZS5vcHRpb25zKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGZldGNoTWlzc2luZ1JlcT8uaWRzLmV2ZXJ5KChpZCkgPT4gaXRlbXMuc29tZSgoaXQpID0+IGl0LmlkID09PSBpZCkpXG4gICAgICAgICkge1xuICAgICAgICAgIGZldGNoTWlzc2luZ1JlcS5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2ZldGNoTWlzc2luZyhpZHM6IFRJZFtdKSB7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSB8fCBpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YiA9IGRhdGFzb3VyY2UuZ2V0SXRlbXNCeUlkcyhpZHMpLnN1YnNjcmliZSgobWFwKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZCA9IG5ldyBNYXAodW50cmFja2VkKHN0b3JlLnNlbGVjdGVkTWFwKSk7XG4gICAgICAgICAgZm9yIChjb25zdCBpZCBvZiB1bnRyYWNrZWQoc3RvcmUuX21pc3NpbmdTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIGlmIChtYXAuaGFzKGlkKSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1hcC5nZXQoaWQpITtcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhc291cmNlLmdldExhYmVsKHZhbHVlKTtcbiAgICAgICAgICAgICAgbmV3U2VsZWN0ZWQuc2V0KGlkLCB7IGxhYmVsLCB2YWx1ZSwgaWQgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXdNaXNzaW5nLnB1c2goaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IG5ld01pc3NpbmcsXG4gICAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3U2VsZWN0ZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFzdWIuY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IHsgaWRzLCBzdWJzY3JpcHRpb246IHN1YiB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0U2luZ2xlKGlkOiBUSWQpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChbaWRdKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGUoaWQ6IFRJZCkge1xuICAgICAgICBjb25zdCBvbGRNYXAgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApO1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFzb3VyY2UgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9sZE1hcC5oYXMoaWQpKSB7XG4gICAgICAgICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChvbGRNYXApO1xuICAgICAgICAgIG5ld01hcC5kZWxldGUoaWQpO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRNYXA6IG5ld01hcCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBpdGVtID0gdW50cmFja2VkKHN0b3JlLm9wdGlvbnMpLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpO1xuICAgICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QoW2lkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld01hcCA9IG5ldyBNYXAob2xkTWFwKTtcbiAgICAgICAgICAgIG5ld01hcC5zZXQoaWQsIGl0ZW0pO1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1hcDogbmV3TWFwIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNhbmNlbEZldGNoKCkge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/LnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgX2ZldGNoUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBpc1NlbGVjdGVkKGl0ZW06IFQpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgaWYgKCFkYXRhc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlkID0gZGF0YXNvdXJjZS5nZXRJZChpdGVtKTtcbiAgICAgICAgcmV0dXJuIHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZE1hcCkuaGFzKGlkKTtcbiAgICAgIH0sXG4gICAgICBzZXRQYWdlU2l6ZShzaXplOiBudW1iZXIpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBwYWdlU2l6ZTogc2l6ZSB9KTtcbiAgICAgIH0sXG4gICAgICBfZ2V0TGFiZWxWYWx1ZUlkcyhpdGVtczogVFtdKTogUmR0TGFiZWxWYWx1ZUlkPFQsIFRJZD5bXSB7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGF0YXNvdXJjZSBub3Qgc2V0IScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGRhdGFzb3VyY2UuZ2V0TGFiZWwoaXRlbSksXG4gICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgaWQ6IGRhdGFzb3VyY2UuZ2V0SWQoaXRlbSksXG4gICAgICAgIH0pKTtcbiAgICAgIH0sXG4gICAgfSkpXG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCBSZHRTZWxlY3RTdG9yZSA9IGdldFJkdFNlbGVjdFN0b3JlPGFueSwgYW55PigpO1xuZXhwb3J0IHR5cGUgUmR0U2VsZWN0U3RvcmU8VCA9IGFueSwgVElkID0gbnVtYmVyPiA9IEluc3RhbmNlVHlwZTxcbiAgUmV0dXJuVHlwZTx0eXBlb2YgZ2V0UmR0U2VsZWN0U3RvcmU8VCwgVElkPj5cbj47XG5cbmZ1bmN0aW9uIGdldFJkdFNlbGVjdEVycm9yKGVycm9yOiBhbnkpIHtcbiAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIHJldHVybiBlcnJvci5tZXNzYWdlO1xuICB9IGVsc2UgaWYgKGVycm9yICYmIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgJ21lc3NhZ2UnIGluIGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG4gIH1cbiAgcmV0dXJuICdOYXN0YWxhIGNoeWJhLic7XG59XG4iXX0=","import { computed, Directive, effect, inject, input } from '@angular/core';\nimport { RdtOfflineSelectDatasource } from '../datasource';\nimport { RdtSelectStore } from '../state';\nimport * as i0 from \"@angular/core\";\nexport class RdtSelectOfflineDatasourceProviderDirective {\n store = inject(RdtSelectStore);\n optionsInput = input.required({\n alias: 'options',\n });\n options = computed(() => this.parseOptions(this.optionsInput()));\n parseOptions(options) {\n if (!options || options.length === 0) {\n return [];\n }\n if (typeof options[0] === 'object' && options[0]) {\n return options;\n }\n else {\n return options.map((value) => ({\n label: String(value),\n value: value,\n }));\n }\n }\n optionsEffect = effect(() => this.setDatasource());\n setDatasource() {\n const options = this.options();\n this.store.setDatasource(new RdtOfflineSelectDatasource(options));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOfflineDatasourceProviderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtSelectOfflineDatasourceProviderDirective, isStandalone: true, inputs: { optionsInput: { classPropertyName: \"optionsInput\", publicName: \"options\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOfflineDatasourceProviderDirective, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1vZmZsaW5lLWRhdGFzb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kaXJlY3RpdmVzL3JkdC1zZWxlY3Qtb2ZmbGluZS1kYXRhc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJMUMsTUFBTSxPQUFnQiwyQ0FBMkM7SUFHdEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUvQixZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FFcEM7UUFDQSxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7SUFDTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVsRSxZQUFZLENBQ2xCLE9BQXVEO1FBRXZELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE9BQWtDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFRLE9BQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsS0FBSyxFQUFFLEtBQUs7YUFDYixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRWdCLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFNUQsYUFBYTtRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSwwQkFBMEIsQ0FBUyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7dUdBakNtQiwyQ0FBMkM7MkZBQTNDLDJDQUEyQzs7MkZBQTNDLDJDQUEyQztrQkFEaEUsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0T2ZmbGluZVNlbGVjdERhdGFzb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFN0b3JlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZSB9IGZyb20gJy4uL3V0aWxzL2xhYmVsLXZhbHVlLWlkJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0U2VsZWN0T2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZTxcbiAgVFZhbHVlIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyXG4+IHtcbiAgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoUmR0U2VsZWN0U3RvcmUpO1xuXG4gIHJlYWRvbmx5IG9wdGlvbnNJbnB1dCA9IGlucHV0LnJlcXVpcmVkPFxuICAgIFJkdExhYmVsVmFsdWU8VFZhbHVlPltdIHwgVFZhbHVlW10gfCB1bmRlZmluZWRcbiAgPih7XG4gICAgYWxpYXM6ICdvcHRpb25zJyxcbiAgfSk7XG4gIHJlYWRvbmx5IG9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhcnNlT3B0aW9ucyh0aGlzLm9wdGlvbnNJbnB1dCgpKSk7XG5cbiAgcHJpdmF0ZSBwYXJzZU9wdGlvbnMoXG4gICAgb3B0aW9uczogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10gfCBUVmFsdWVbXSB8IHVuZGVmaW5lZFxuICApOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT5bXSB7XG4gICAgaWYgKCFvcHRpb25zIHx8IG9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9uc1swXSA9PT0gJ29iamVjdCcgJiYgb3B0aW9uc1swXSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMgYXMgUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAob3B0aW9ucyBhcyBUVmFsdWVbXSkubWFwKCh2YWx1ZSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IFN0cmluZyh2YWx1ZSksXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnNFZmZlY3QgPSBlZmZlY3QoKCkgPT4gdGhpcy5zZXREYXRhc291cmNlKCkpO1xuXG4gIHByaXZhdGUgc2V0RGF0YXNvdXJjZSgpIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgdGhpcy5zdG9yZS5zZXREYXRhc291cmNlKG5ldyBSZHRPZmZsaW5lU2VsZWN0RGF0YXNvdXJjZTxUVmFsdWU+KG9wdGlvbnMpKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RdtSelectOptionDirective {\n elementRef = inject(ElementRef);\n value = input.required({ alias: 'rdtSelectOption' });\n _selected = signal(false);\n set selected(value) {\n this._selected.set(value);\n }\n get selected() {\n return this._selected();\n }\n _disabled = signal(false);\n set disabled(value) {\n this._disabled.set(value);\n }\n get disabled() {\n return this._disabled();\n }\n setActiveStyles() {\n this.selected = true;\n }\n setInactiveStyles() {\n this.selected = false;\n }\n scrollIntoElement() {\n this.elementRef.nativeElement.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtSelectOptionDirective, isStandalone: true, selector: \"[rdtSelectOption]\", inputs: { value: { classPropertyName: \"value\", publicName: \"rdtSelectOption\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"class.rdt-option-selected\": \"_selected()\", \"class.rdt-option-disabled\": \"_disabled()\" }, classAttribute: \"rdt-option\" }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSelectOptionDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtSelectOption]',\n host: {\n class: 'rdt-option',\n '[class.rdt-option-selected]': '_selected()',\n '[class.rdt-option-disabled]': '_disabled()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kaXJlY3RpdmVzL3JkdC1zZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVN0UsTUFBTSxPQUFPLHdCQUF3QjtJQUNsQixVQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztJQUNqRSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFFbkQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRWtCLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWpDVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFlBQVk7d0JBQ25CLDZCQUE2QixFQUFFLGFBQWE7d0JBQzVDLDZCQUE2QixFQUFFLGFBQWE7cUJBQzdDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyZHRTZWxlY3RPcHRpb25dJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAncmR0LW9wdGlvbicsXG4gICAgJ1tjbGFzcy5yZHQtb3B0aW9uLXNlbGVjdGVkXSc6ICdfc2VsZWN0ZWQoKScsXG4gICAgJ1tjbGFzcy5yZHQtb3B0aW9uLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUVmFsdWU+IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8VFZhbHVlPih7IGFsaWFzOiAncmR0U2VsZWN0T3B0aW9uJyB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3NlbGVjdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQuc2V0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQuc2V0KHZhbHVlKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkKCk7XG4gIH1cblxuICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBzY3JvbGxJbnRvRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICBibG9jazogJ25lYXJlc3QnLFxuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { computed, Directive, effect, inject, input, linkedSignal, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal, } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport { RdtObjectUtils } from '@ngrdt/utils';\nimport { debounceTime, distinctUntilChanged, switchMap } from 'rxjs';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { RdtSelectStore } from './state/rdt-select-store';\nimport * as i0 from \"@angular/core\";\nexport class RdtBaseSelectCommonComponent extends RdtBaseFormInputComponent {\n datasourceInput = input(null);\n store = inject(RdtSelectStore);\n visibleOptions = this.store.visibleOptions;\n queryValidatorFnInput = input(null, {\n alias: 'inputValidator',\n });\n queryValidatorFn = linkedSignal(() => this.queryValidatorFnInput());\n queryValidatorEffect = effect(() => {\n const validator = this.queryValidatorFn();\n if (validator) {\n this.inputCtrl.setValidators(validator);\n }\n else {\n this.inputCtrl.clearValidators();\n }\n });\n inputCtrl = new FormControl(null);\n inputCtrlEvents = toSignal(this.inputCtrl.events);\n inputErrors = computed(() => {\n this.inputCtrlEvents();\n if (this.inputCtrl.touched && this.inputCtrl.invalid) {\n return this.inputCtrl.errors;\n }\n else {\n return null;\n }\n });\n debounceTimeInput = input(300, {\n alias: 'debounce',\n });\n debounceTime = linkedSignal(() => this.debounceTimeInput());\n debouncedInput$ = toObservable(this.debounceTime).pipe(switchMap((time) => this.inputCtrl.valueChanges.pipe(debounceTime(time))), distinctUntilChanged());\n debouncedInput = toSignal(this.debouncedInput$, {\n initialValue: null,\n });\n pageSizeInput = input(20, {\n alias: 'pageSize',\n });\n pageSizeEffect = effect(() => this.store.setPageSize(this.pageSizeInput()));\n loading = computed(() => {\n return (this.store.loading() ||\n this.loadingInput() ||\n RdtObjectUtils.someValuesTrue(this.loadingMap()));\n });\n ngOnInit() {\n super.ngOnInit();\n this.debouncedInput$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => this.handleInput(value));\n }\n handleInput(value) {\n this.store.setQuery(value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseSelectCommonComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseSelectCommonComponent, isStandalone: true, inputs: { datasourceInput: { classPropertyName: \"datasourceInput\", publicName: \"datasourceInput\", isSignal: true, isRequired: false, transformFunction: null }, queryValidatorFnInput: { classPropertyName: \"queryValidatorFnInput\", publicName: \"inputValidator\", isSignal: true, isRequired: false, transformFunction: null }, debounceTimeInput: { classPropertyName: \"debounceTimeInput\", publicName: \"debounce\", isSignal: true, isRequired: false, transformFunction: null }, pageSizeInput: { classPropertyName: \"pageSizeInput\", publicName: \"pageSize\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseSelectCommonComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3QvcmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osUUFBUSxHQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUcxRCxNQUFNLE9BQWdCLDRCQUlwQixTQUFRLHlCQUErQjtJQUM5QixlQUFlLEdBQUcsS0FBSyxDQUM5QixJQUFJLENBQ0wsQ0FBQztJQUNPLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUErQixDQUFDO0lBQzdELGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUMzQyxxQkFBcUIsR0FBRyxLQUFLLENBQ3BDLElBQUksRUFDSjtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7S0FDeEIsQ0FDRixDQUFDO0lBQ08sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFD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Y3RpdmUsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHRha2VVbnRpbERlc3Ryb3llZCxcbiAgdG9PYnNlcnZhYmxlLFxuICB0b1NpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFJkdE9iamVjdFV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0U2VsZWN0RGF0YXNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0U3RvcmUgfSBmcm9tICcuL3N0YXRlL3JkdC1zZWxlY3Qtc3RvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRCYXNlU2VsZWN0Q29tbW9uQ29tcG9uZW50PFxuICBUSXRlbSxcbiAgVElkLFxuICBUT3V0XG4+IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxUT3V0PiB7XG4gIHJlYWRvbmx5IGRhdGFzb3VyY2VJbnB1dCA9IGlucHV0PFJkdFNlbGVjdERhdGFzb3VyY2U8VEl0ZW0sIFRJZD4gfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFNlbGVjdFN0b3JlKSBhcyBSZHRTZWxlY3RTdG9yZTxUSXRlbSwgVElkPjtcbiAgcmVhZG9ubHkgdmlzaWJsZU9wdGlvbnMgPSB0aGlzLnN0b3JlLnZpc2libGVPcHRpb25zO1xuICByZWFkb25seSBxdWVyeVZhbGlkYXRvckZuSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10+PihcbiAgICBudWxsLFxuICAgIHtcbiAgICAgIGFsaWFzOiAnaW5wdXRWYWxpZGF0b3InLFxuICAgIH1cbiAgKTtcbiAgcmVhZG9ubHkgcXVlcnlWYWxpZGF0b3JGbiA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnF1ZXJ5VmFsaWRhdG9yRm5JbnB1dCgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBxdWVyeVZhbGlkYXRvckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5xdWVyeVZhbGlkYXRvckZuKCk7XG4gICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgdGhpcy5pbnB1dEN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0Q3RybC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBpbnB1dEN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDdHJsRXZlbnRzID0gdG9TaWduYWwodGhpcy5pbnB1dEN0cmwuZXZlbnRzKTtcbiAgcmVhZG9ubHkgaW5wdXRFcnJvcnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pbnB1dEN0cmxFdmVudHMoKTtcbiAgICBpZiAodGhpcy5pbnB1dEN0cmwudG91Y2hlZCAmJiB0aGlzLmlucHV0Q3RybC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnB1dEN0cmwuZXJyb3JzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBkZWJvdW5jZVRpbWVJbnB1dCA9IGlucHV0PG51bWJlcj4oMzAwLCB7XG4gICAgYWxpYXM6ICdkZWJvdW5jZScsXG4gIH0pO1xuICByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5kZWJvdW5jZVRpbWVJbnB1dCgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZWRJbnB1dCQgPSB0b09ic2VydmFibGUodGhpcy5kZWJvdW5jZVRpbWUpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh0aW1lKSA9PiB0aGlzLmlucHV0Q3RybC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGltZSkpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG4gIHJlYWRvbmx5IGRlYm91bmNlZElucHV0ID0gdG9TaWduYWwodGhpcy5kZWJvdW5jZWRJbnB1dCQsIHtcbiAgICBpbml0aWFsVmFsdWU6IG51bGwsXG4gIH0pO1xuICByZWFkb25seSBwYWdlU2l6ZUlucHV0ID0gaW5wdXQoMjAsIHtcbiAgICBhbGlhczogJ3BhZ2VTaXplJyxcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFnZVNpemVFZmZlY3QgPSBlZmZlY3QoKCkgPT5cbiAgICB0aGlzLnN0b3JlLnNldFBhZ2VTaXplKHRoaXMucGFnZVNpemVJbnB1dCgpKVxuICApO1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc3RvcmUubG9hZGluZygpIHx8XG4gICAgICB0aGlzLmxvYWRpbmdJbnB1dCgpIHx8XG4gICAgICBSZHRPYmplY3RVdGlscy5zb21lVmFsdWVzVHJ1ZSh0aGlzLmxvYWRpbmdNYXAoKSlcbiAgICApO1xuICB9KTtcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGVib3VuY2VkSW5wdXQkXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLmhhbmRsZUlucHV0KHZhbHVlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSW5wdXQodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLnNldFF1ZXJ5KHZhbHVlKTtcbiAgfVxufVxuIl19","import { computed, Directive } from '@angular/core';\nimport { RdtBaseSelectCommonComponent } from './rdt-base-select.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtMultiSelectComponent extends RdtBaseSelectCommonComponent {\n selected = computed(() => {\n const selected = this.store.selectedItems();\n return selected.length > 0 ? selected : null;\n });\n isEmpty(value) {\n return value === null || value.length === 0;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtMultiSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtMultiSelectComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtMultiSelectComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L3JkdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUczRSxNQUFNLE9BQWdCLHVCQUdwQixTQUFRLDRCQUErQztJQUM5QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRWdCLE9BQU8sQ0FBQyxLQUFZO1FBQ3JDLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQVhtQix1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEJhc2VTZWxlY3RDb21tb25Db21wb25lbnQgfSBmcm9tICcuL3JkdC1iYXNlLXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRNdWx0aVNlbGVjdENvbXBvbmVudDxcbiAgVEl0ZW0sXG4gIFRJZFxuPiBleHRlbmRzIFJkdEJhc2VTZWxlY3RDb21tb25Db21wb25lbnQ8VEl0ZW0sIFRJZCwgVElkW10+IHtcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnN0b3JlLnNlbGVjdGVkSXRlbXMoKTtcbiAgICByZXR1cm4gc2VsZWN0ZWQubGVuZ3RoID4gMCA/IHNlbGVjdGVkIDogbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IFRJZFtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxufVxuIl19","import { computed, Directive } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { RdtBaseSelectCommonComponent } from './rdt-base-select.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtSingleSelectComponent extends RdtBaseSelectCommonComponent {\n selected = computed(() => {\n const items = this.store.selectedItems();\n return items.length > 0 ? items[0] : null;\n });\n isEmpty(value) {\n return value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtSingleSelectComponent, isStandalone: true, providers: [\n {\n provide: RdtBaseFormInputComponent,\n useValue: RdtSingleSelectComponent,\n },\n ], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtSingleSelectComponent, decorators: [{\n type: Directive,\n args: [{\n providers: [\n {\n provide: RdtBaseFormInputComponent,\n useValue: RdtSingleSelectComponent,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNpbmdsZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9yZHQtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBVTNFLE1BQU0sT0FBZ0Isd0JBR3BCLFNBQVEsNEJBQTZDO0lBQzVDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFZ0IsT0FBTyxDQUFDLEtBQVU7UUFDbkMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7dUdBWG1CLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGlDQVBqQztZQUNUO2dCQUNFLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFFBQVEsRUFBRSx3QkFBd0I7YUFDbkM7U0FDRjs7MkZBRW1CLHdCQUF3QjtrQkFSN0MsU0FBUzttQkFBQztvQkFDVCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSwwQkFBMEI7eUJBQ25DO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvcmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0QmFzZVNlbGVjdENvbW1vbkNvbXBvbmVudCB9IGZyb20gJy4vcmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50LFxuICAgICAgdXNlVmFsdWU6IFJkdFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFRJdGVtLFxuICBUSWRcbj4gZXh0ZW5kcyBSZHRCYXNlU2VsZWN0Q29tbW9uQ29tcG9uZW50PFRJdGVtLCBUSWQsIFRJZD4ge1xuICByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc3RvcmUuc2VsZWN0ZWRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXNbMF0gOiBudWxsO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNFbXB0eSh2YWx1ZTogVElkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","import { Directive, input } from '@angular/core';\nimport { RdtBaseFormInputComponent } from '../../base/rdt-base-form-input.component';\nimport { nullToUndefined, nullToUndefinedNumeric, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtTextInputComponent extends RdtBaseFormInputComponent {\n type = input('text');\n autocomplete = input(undefined, {\n transform: nullToUndefined,\n });\n maxlength = input(undefined, { transform: nullToUndefinedNumeric });\n minlength = input(undefined, { transform: nullToUndefinedNumeric });\n pattern = input(undefined, {\n transform: nullToUndefined,\n });\n isEmpty(value) {\n return value === '' || value === null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtTextInputComponent, isStandalone: true, inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: \"autocomplete\", publicName: \"autocomplete\", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: \"maxlength\", publicName: \"maxlength\", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: \"minlength\", publicName: \"minlength\", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: \"pattern\", publicName: \"pattern\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTextInputComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRleHQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3RleHQtaW5wdXQvcmR0LXRleHQtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBRXZCLE1BQU0sYUFBYSxDQUFDOztBQUlyQixNQUFNLE9BQWdCLHFCQUFzQixTQUFRLHlCQUduRDtJQUNVLElBQUksR0FBRyxLQUFLLENBQWUsTUFBTSxDQUFDLENBQUM7SUFFbkMsWUFBWSxHQUFHLEtBQUssQ0FHM0IsU0FBUyxFQUFFO1FBQ1gsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQyxDQUFDO0lBQ00sU0FBUyxHQUFHLEtBQUssQ0FDeEIsU0FBUyxFQUNULEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQ3RDLENBQUM7SUFDTyxTQUFTLEdBQUcsS0FBSyxDQUN4QixTQUFTLEVBQ1QsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsQ0FDdEMsQ0FBQztJQUNPLE9BQU8sR0FBRyxLQUFLLENBQXFDLFNBQVMsRUFBRTtRQUN0RSxTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDLENBQUM7SUFFZ0IsT0FBTyxDQUFDLEtBQW9CO1FBQzdDLE9BQU8sS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hDLENBQUM7dUdBMUJtQixxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIG51bGxUb1VuZGVmaW5lZCxcbiAgbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyxcbiAgUmR0QXV0b2NvbXBsZXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0SW5wdXRUeXBlIH0gZnJvbSAnLi9pbnB1dC10eXBlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0VGV4dElucHV0Q29tcG9uZW50IGV4dGVuZHMgUmR0QmFzZUZvcm1JbnB1dENvbXBvbmVudDxcbiAgc3RyaW5nLFxuICBzdHJpbmdcbj4ge1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8UmR0SW5wdXRUeXBlPigndGV4dCcpO1xuXG4gIHJlYWRvbmx5IGF1dG9jb21wbGV0ZSA9IGlucHV0PFxuICAgIFJkdEF1dG9jb21wbGV0ZU9wdGlvbnMgfCB1bmRlZmluZWQsXG4gICAgTnVsbGFibGU8UmR0QXV0b2NvbXBsZXRlT3B0aW9ucz5cbiAgPih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG4gIHJlYWRvbmx5IG1heGxlbmd0aCA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIE51bGxhYmxlPHN0cmluZyB8IG51bWJlcj4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyB9XG4gICk7XG4gIHJlYWRvbmx5IG1pbmxlbmd0aCA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIE51bGxhYmxlPHN0cmluZyB8IG51bWJlcj4+KFxuICAgIHVuZGVmaW5lZCxcbiAgICB7IHRyYW5zZm9ybTogbnVsbFRvVW5kZWZpbmVkTnVtZXJpYyB9XG4gICk7XG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+LCBOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06IG51bGxUb1VuZGVmaW5lZCxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRW1wdHkodmFsdWU6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtZm9ybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL25ncmR0LWZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -51,7 +51,7 @@ declare abstract class RdtBaseFormInputComponent<TExt, TInt = TExt> extends RdtI
51
51
  registerOnValidatorChange(fn: () => void): void;
52
52
  protected abstract isEmpty(value: TExt | null): boolean;
53
53
  onInternalValueChange(value: TInt | null): void;
54
- protected listenRequiredValidator(control: AbstractControl): void;
54
+ protected listenControlEvents(control: AbstractControl): void;
55
55
  protected toExternalValue(internalValue: TInt | null): TExt | null;
56
56
  protected toInternalValue(externalValue: TExt | null): TInt | null;
57
57
  onBlur(): void;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@ngrdt/forms",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "peerDependencies": {
5
- "@ngrdt/core": "^0.0.28",
6
- "@ngrdt/utils": "^0.0.28",
5
+ "@ngrdt/core": "^0.0.30",
6
+ "@ngrdt/utils": "^0.0.30",
7
7
  "@angular/core": ">=18.2.0",
8
8
  "@angular/forms": ">=18.2.0",
9
9
  "rxjs": ">=7.0.0",