@ngrdt/forms 0.0.45 → 0.0.46

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.
@@ -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/utils/paginate.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/lib/validators/date.js","../tmp-esm2022/lib/validators/general.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,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 function getRdtSelectPage(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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L3V0aWxzL3BhZ2luYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBNkIsRUFDN0IsU0FBaUIsRUFDakIsUUFBZ0I7SUFFaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsT0FBTztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE9BQU87UUFDTCxJQUFJLEVBQUUsS0FBSztRQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtRQUN2QixTQUFTLEVBQUUsU0FBUztLQUNyQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdExhYmVsVmFsdWUgfSBmcm9tICcuL2xhYmVsLXZhbHVlLWlkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJkdFNlbGVjdFBhZ2U8VFZhbHVlPihcbiAgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10sXG4gIHBhZ2VJbmRleDogbnVtYmVyLFxuICBwYWdlU2l6ZTogbnVtYmVyXG4pOiBSZHRTZWxlY3RQYWdlPFJkdExhYmVsVmFsdWU8VFZhbHVlPj4ge1xuICBpZiAocGFnZVNpemUgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2Ugc2l6ZScpO1xuICB9XG4gIGlmIChwYWdlSW5kZXggPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2UgaW5kZXgnKTtcbiAgfVxuICBpZiAocGFnZUluZGV4ICogcGFnZVNpemUgPiBkYXRhLmxlbmd0aCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBbXSxcbiAgICAgIHRvdGFsQ291bnQ6IGRhdGEubGVuZ3RoLFxuICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgfTtcbiAgfVxuICBjb25zdCBzdGFydCA9IHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICBjb25zdCBlbmQgPSBzdGFydCArIHBhZ2VTaXplO1xuICBjb25zdCBpdGVtcyA9IGRhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogaXRlbXMsXG4gICAgdG90YWxDb3VudDogZGF0YS5sZW5ndGgsXG4gICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gIH07XG59XG4iXX0=","export class RdtSelectDatasource {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG1CQUFtQjtDQVN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuL3JkdC1zZWxlY3QtcGFnZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxSZHRTZWxlY3RQYWdlPFRJdGVtPj47XG4gIGFic3RyYWN0IGdldExhYmVsKGl0ZW06IFRJdGVtKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRJZChpdGVtOiBUSXRlbSk6IFRJZDtcbiAgYWJzdHJhY3QgZ2V0SXRlbXNCeUlkcyhpZHM6IFRJZFtdKTogT2JzZXJ2YWJsZTxNYXA8VElkLCBUSXRlbT4+O1xuICBhYnN0cmFjdCByZWFkb25seSB0b3RhbENvdW50S25vd246IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQ6IGJvb2xlYW47XG59XG4iXX0=","import { of } from 'rxjs';\nimport { getRdtSelectPage } from '../utils/paginate';\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 = getRdtSelectPage(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}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L2RhdGFzb3VyY2UvcmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMEJBRVgsU0FBUSxtQkFBa0Q7SUFNckM7SUFMSCxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFckIsZ0JBQWdCLENBQTBCO0lBRTdELFlBQXFCLElBQTZCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFFaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLE9BQU8sQ0FDZCxNQUE4QjtRQUU5QixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUM7UUFDRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ1EsUUFBUSxDQUFDLElBQTJCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ1EsS0FBSyxDQUFDLElBQTJCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRVEsYUFBYSxDQUNwQixHQUFhO1FBRWIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFDeEQsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWE7UUFDckMsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVTLGNBQWMsQ0FDdEIsSUFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQy9CLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZSB9IGZyb20gJy4uL3V0aWxzL2xhYmVsLXZhbHVlLWlkJztcbmltcG9ydCB7IGdldFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi91dGlscy9wYWdpbmF0ZSc7XG5pbXBvcnQgeyBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0UGFnZSB9IGZyb20gJy4vcmR0LXNlbGVjdC1wYWdlJztcblxuZXhwb3J0IGNsYXNzIFJkdE9mZmxpbmVTZWxlY3REYXRhc291cmNlPFxuICBUVmFsdWUgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXJcbj4gZXh0ZW5kcyBSZHRTZWxlY3REYXRhc291cmNlPFJkdExhYmVsVmFsdWU8VFZhbHVlPiwgVFZhbHVlPiB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHRvdGFsQ291bnRLbm93biA9IHRydWU7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlcHJvY2Vzc2VkRGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJlcHJvY2Vzc2VkRGF0YSA9IHRoaXMucHJlcHJvY2Vzc0RhdGEoZGF0YSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXREYXRhKFxuICAgIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICApOiBPYnNlcnZhYmxlPFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHBhZ2UgPSBnZXRSZHRTZWxlY3RQYWdlKFxuICAgICAgdGhpcy5maWx0ZXJEYXRhKHBhcmFtcy5xdWVyeSksXG4gICAgICBwYXJhbXMucGFnZUluZGV4LFxuICAgICAgcGFyYW1zLnBhZ2VTaXplXG4gICAgKTtcbiAgICByZXR1cm4gb2YocGFnZSk7XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0TGFiZWwoaXRlbTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuICBvdmVycmlkZSBnZXRJZChpdGVtOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4pOiBUVmFsdWUge1xuICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0SXRlbXNCeUlkcyhcbiAgICBpZHM6IFRWYWx1ZVtdXG4gICk6IE9ic2VydmFibGU8TWFwPFRWYWx1ZSwgUmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8VFZhbHVlLCBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4+KCk7XG4gICAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnByZXByb2Nlc3NlZERhdGEuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gaWQpO1xuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgcmVzdWx0LnNldChpZCwgaXRlbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvZihyZXN1bHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXByb2Nlc3NMYWJlbChsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFiZWwudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcHJvY2Vzc0RhdGEoXG4gICAgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W11cbiAgKTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10ge1xuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgbGFiZWw6IHRoaXMucHJlcHJvY2Vzc0xhYmVsKGl0ZW0ubGFiZWwpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJEYXRhKHF1ZXJ5OiBzdHJpbmcgfCBudWxsKTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByZXByb2Nlc3NlZERhdGE7XG4gICAgfVxuICAgIGNvbnN0IHByZXBRdWVyeSA9IHRoaXMucHJlcHJvY2Vzc0xhYmVsKHF1ZXJ5KTtcbiAgICBpZiAoIXByZXBRdWVyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBpdGVtLmxhYmVsLmluY2x1ZGVzKHByZXBRdWVyeSlcbiAgICApO1xuICB9XG59XG4iXX0=","export const rdtSelectInitialState = {\n initialized: false,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QkEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTZCO0lBQzdELFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLHVCQUF1QixFQUFFLGFBQWE7SUFDdEMsYUFBYSxFQUFFLElBQUk7SUFDbkIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixnQkFBZ0IsRUFBRSxFQUFFO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZUlkIH0gZnJvbSAnLi4vdXRpbHMvbGFiZWwtdmFsdWUtaWQnO1xuaW1wb3J0IHtcbiAgUmR0U2VsZWN0RmV0Y2hNaXNzaW5nUmVxdWVzdCxcbiAgUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0LFxufSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRTZWxlY3RTdGF0ZTxUSXRlbSwgVElkPiB7XG4gIGluaXRpYWxpemVkOiBib29sZWFuO1xuICBxdWVyeTogc3RyaW5nIHwgbnVsbDtcbiAgbmV4dFBhZ2VJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICB0b3RhbENvdW50S25vd246IGJvb2xlYW47XG4gIG9wdGlvbnM6IFJkdExhYmVsVmFsdWVJZDxUSXRlbSwgVElkPltdO1xuICBkYXRhc291cmNlOiBSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHwgbnVsbDtcbiAgc2VsZWN0ZWRNYXA6IE1hcDxUSWQsIFJkdExhYmVsVmFsdWVJZDxUSXRlbSwgVElkPj47XG4gIGZldGNoRXJyb3I6IGFueSB8IG51bGw7XG4gIG1pc3NpbmdWYWx1ZVBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIF9mZXRjaFJlcXVlc3Q6IFJkdFNlbGVjdEZldGNoUmVxdWVzdCB8IG51bGw7XG4gIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBSZHRTZWxlY3RGZXRjaE1pc3NpbmdSZXF1ZXN0PFRJZD4gfCBudWxsO1xuICBfbWlzc2luZ1NlbGVjdGVkOiBUSWRbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHJkdFNlbGVjdEluaXRpYWxTdGF0ZTogUmR0U2VsZWN0U3RhdGU8YW55LCBhbnk+ID0ge1xuICBpbml0aWFsaXplZDogZmFsc2UsXG4gIHF1ZXJ5OiBudWxsLFxuICBuZXh0UGFnZUluZGV4OiAwLFxuICBwYWdlU2l6ZTogMjAsXG4gIHRvdGFsQ291bnQ6IDAsXG4gIHRvdGFsQ291bnRLbm93bjogZmFsc2UsXG4gIG9wdGlvbnM6IFtdLFxuICBkYXRhc291cmNlOiBudWxsLFxuICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICBmZXRjaEVycm9yOiBudWxsLFxuICBtaXNzaW5nVmFsdWVQbGFjZWhvbGRlcjogJ05hxI3DrXTDoW7DrS4uLicsXG4gIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbn07XG4iXX0=","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 init(initialValue) {\n if (initialValue && initialValue.length > 0) {\n this.setSelected(initialValue ?? []);\n }\n else {\n patchState(store, { initialized: true });\n }\n },\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 datasource = store.datasource();\n const reallyMissing = this._setAndGetMissing();\n if (!untracked(store.loading) && datasource) {\n if (reallyMissing.length > 0) {\n this._fetchMissing(reallyMissing, datasource);\n }\n else {\n patchState(store, { initialized: true });\n }\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, datasource) {\n if (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 initialized: true,\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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QVU7SUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7U0FBTSxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztTQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFLENBQUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBwYXRjaFN0YXRlLFxuICBzaWduYWxTdG9yZSxcbiAgd2l0aENvbXB1dGVkLFxuICB3aXRoSG9va3MsXG4gIHdpdGhNZXRob2RzLFxuICB3aXRoU3RhdGUsXG59IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xuaW1wb3J0IHsgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFNlbGVjdERhdGFzb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBSZHRTZWxlY3RQYWdlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtc2VsZWN0LXBhZ2UnO1xuaW1wb3J0IHtcbiAgUmR0TGFiZWxWYWx1ZUlkLFxuICBSZHRSZW5kZXJlZFNlbGVjdE9wdGlvbixcbn0gZnJvbSAnLi4vdXRpbHMvbGFiZWwtdmFsdWUtaWQnO1xuaW1wb3J0IHtcbiAgY29tcGFyZVNlbGVjdFJlcXVlc3RQYXJhbXMsXG4gIFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMsXG59IGZyb20gJy4uL3V0aWxzL3JlcXVlc3QnO1xuaW1wb3J0IHsgcmR0U2VsZWN0SW5pdGlhbFN0YXRlLCBSZHRTZWxlY3RTdGF0ZSB9IGZyb20gJy4vcmR0LXNlbGVjdC1zdGF0ZSc7XG5cbmZ1bmN0aW9uIGdldFJkdFNlbGVjdFN0b3JlPFQsIFRJZD4oaW5pdGlhbFN0YXRlID0gcmR0U2VsZWN0SW5pdGlhbFN0YXRlKSB7XG4gIHJldHVybiBzaWduYWxTdG9yZShcbiAgICB3aXRoU3RhdGUoaW5pdGlhbFN0YXRlIGFzIFJkdFNlbGVjdFN0YXRlPFQsIFRJZD4pLFxuICAgIHdpdGhIb29rcyh7XG4gICAgICBvbkRlc3Ryb3koc3RvcmUpIHtcbiAgICAgICAgc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QoKT8uc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHN0b3JlLl9mZXRjaFJlcXVlc3QoKT8uc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9LFxuICAgIH0pLFxuICAgIHdpdGhDb21wdXRlZCgoc3RhdGUpID0+ICh7XG4gICAgICBoYXNNb3JlOiBjb21wdXRlZCgoKSA9PiBzdGF0ZS5uZXh0UGFnZUluZGV4ICE9PSBudWxsKSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oc3RhdGUuc2VsZWN0ZWRNYXAoKS52YWx1ZXMoKSk7XG4gICAgICB9KSxcbiAgICAgIGxvYWRpbmdPcHRpb25zOiBjb21wdXRlZCgoKSA9PiBzdGF0ZS5fZmV0Y2hSZXF1ZXN0KCkgIT09IG51bGwpLFxuICAgICAgbG9hZGluZ01pc3Npbmc6IGNvbXB1dGVkKCgpID0+IHN0YXRlLl9mZXRjaE1pc3NpbmdSZXF1ZXN0KCkgIT09IG51bGwpLFxuICAgICAgbG9hZGluZzogY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgc3RhdGUuX2ZldGNoUmVxdWVzdCgpICE9PSBudWxsIHx8XG4gICAgICAgICAgc3RhdGUuX2ZldGNoTWlzc2luZ1JlcXVlc3QoKSAhPT0gbnVsbFxuICAgICAgKSxcbiAgICAgIC8vIFNob3dzIHNlbGVjdGVkICsgb3RoZXJzIHdoaWxlIHF1ZXJ5IGlzIGVtcHR5XG4gICAgICAvLyBTaG93cyBvbmx5IHF1ZXJ5IHJlc3VsdHMgd2hpbGUgcXVlcnkgaGFzIHZhbHVlXG4gICAgICB2aXNpYmxlT3B0aW9uczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHN0YXRlLm9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBzdGF0ZS5xdWVyeSgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZE1hcCA9IHN0YXRlLnNlbGVjdGVkTWFwKCk7XG4gICAgICAgIGNvbnN0IG1pc3NpbmcgPSBzdGF0ZS5fbWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICAgIGlmIChxdWVyeSB8fCBtaXNzaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBpdGVtcy5tYXAoKGl0KSA9PiAoe1xuICAgICAgICAgICAgLi4uaXQsXG4gICAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRNYXAuaGFzKGl0LmlkKSxcbiAgICAgICAgICB9KSkgYXMgUmR0UmVuZGVyZWRTZWxlY3RPcHRpb248VCwgVElkPltdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkOiBSZHRSZW5kZXJlZFNlbGVjdE9wdGlvbjxULCBUSWQ+W10gPSBBcnJheS5mcm9tKFxuICAgICAgICAgIHNlbGVjdGVkTWFwLnZhbHVlcygpXG4gICAgICAgICkubWFwKChpdCkgPT4gKHsgLi4uaXQsIHNlbGVjdGVkOiB0cnVlIH0pKTtcbiAgICAgICAgY29uc3QgbWlzc2luZ1BsYWNlaG9sZGVyID0gc3RhdGUubWlzc2luZ1ZhbHVlUGxhY2Vob2xkZXIoKTtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJzID0gbWlzc2luZy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGxhYmVsOiBtaXNzaW5nUGxhY2Vob2xkZXIucmVwbGFjZSgne2lkfScsIFN0cmluZyhpZCkpLFxuICAgICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICB9KSk7XG4gICAgICAgIHBsYWNlaG9sZGVycy5mb3JFYWNoKChwbCkgPT4gc2VsZWN0ZWQucHVzaChwbCkpO1xuXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkTWFwLmhhcyhpdGVtLmlkKSkge1xuICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCh7IC4uLml0ZW0sIHNlbGVjdGVkOiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICB9KSxcbiAgICB9KSksXG4gICAgd2l0aE1ldGhvZHMoKHN0b3JlKSA9PiAoe1xuICAgICAgaW5pdChpbml0aWFsVmFsdWU6IFRJZFtdIHwgbnVsbCkge1xuICAgICAgICBpZiAoaW5pdGlhbFZhbHVlICYmIGluaXRpYWxWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChpbml0aWFsVmFsdWUgPz8gW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgaW5pdGlhbGl6ZWQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmZXRjaCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB1bnRyYWNrZWQoc3RvcmUubmV4dFBhZ2VJbmRleCk7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdW50cmFja2VkKHN0b3JlLnF1ZXJ5KTtcbiAgICAgICAgY29uc3QgcGFnZVNpemUgPSB1bnRyYWNrZWQoc3RvcmUucGFnZVNpemUpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UgfHwgaW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgICBwYWdlSW5kZXg6IGluZGV4LFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY3VycmVudFJlcXVlc3QgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk7XG4gICAgICAgIGlmIChjdXJyZW50UmVxdWVzdCkge1xuICAgICAgICAgIGlmIChjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyhjdXJyZW50UmVxdWVzdC5wYXJhbXMsIHBhcmFtcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFJlcXVlc3Quc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5fZ2V0RmV0Y2hPYnNlcnZlcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBkYXRhc291cmNlLmdldERhdGEocGFyYW1zKS5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xuICAgICAgICAvLyBPZmZsaW5lIGRhdGFzb3VyY2UgdXNpbmcgYG9mKClgIGVtaXRzIHZhbHVlIHN5bmNocm9ub3VzbHlcbiAgICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoUmVxdWVzdDogeyBzdWJzY3JpcHRpb24sIHBhcmFtczogcGFyYW1zIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZ2V0RmV0Y2hPYnNlcnZlcihcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICAgICAgKTogT2JzZXJ2ZXI8UmR0U2VsZWN0UGFnZTxUPj4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5leHQ6IChwYWdlKSA9PiB0aGlzLl9vbkZldGNoU3VjY2VzcyhwYWdlLCByZXF1ZXN0UGFyYW1zKSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLl9vbkZldGNoRXJyb3IoZXJyb3IpLFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLl9vbkZldGNoQ29tcGxldGUoKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBfb25GZXRjaFN1Y2Nlc3MoXG4gICAgICAgIHBhZ2U6IFJkdFNlbGVjdFBhZ2U8VD4sXG4gICAgICAgIHJlcXVlc3RQYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgICAgICkge1xuICAgICAgICBsZXQgbmV4dFBhZ2VJbmRleDogbnVtYmVyIHwgbnVsbCA9IHBhZ2UucGFnZUluZGV4ICsgMTtcbiAgICAgICAgaWYgKHBhZ2UudG90YWxDb3VudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGlmIChwYWdlLmRhdGEubGVuZ3RoIDwgcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSkge1xuICAgICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMucGFnZUluZGV4ICogcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSArIHBhZ2UuZGF0YS5sZW5ndGggPj1cbiAgICAgICAgICBwYWdlLnRvdGFsQ291bnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dFBhZ2VJbmRleCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFtcbiAgICAgICAgICAuLi51bnRyYWNrZWQoc3RvcmUub3B0aW9ucyksXG4gICAgICAgICAgLi4udGhpcy5fZ2V0TGFiZWxWYWx1ZUlkcyhwYWdlLmRhdGEpLFxuICAgICAgICBdO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudDpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCA/P1xuICAgICAgICAgICAgTWF0aC5tYXgoXG4gICAgICAgICAgICAgIHVudHJhY2tlZChzdG9yZS50b3RhbENvdW50KSxcbiAgICAgICAgICAgICAgcGFnZS5wYWdlSW5kZXggKiByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplICsgcGFnZS5kYXRhLmxlbmd0aFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBuZXh0UGFnZUluZGV4LFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjpcbiAgICAgICAgICAgIHBhZ2UudG90YWxDb3VudCAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgcGFnZS5kYXRhLmxlbmd0aCA8IHJlcXVlc3RQYXJhbXMucGFnZVNpemUsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZmV0Y2hFcnJvcjogZ2V0UmR0U2VsZWN0RXJyb3IoZXJyb3IpLFxuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoQ29tcGxldGUoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXREYXRhc291cmNlKGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VCwgVElkPikge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/LnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZGF0YXNvdXJjZSxcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICAgIGZldGNoRXJyb3I6IG51bGwsXG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiBkYXRhc291cmNlLnRvdGFsQ291bnRLbm93bixcbiAgICAgICAgICBuZXh0UGFnZUluZGV4OiAwLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UucXVlcnlSZXF1aXJlZCkge1xuICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9sb2FkTWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZXRRdWVyeShxdWVyeTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAocXVlcnkgIT09IHVudHJhY2tlZChzdG9yZS5xdWVyeSkpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBxdWVyeSB9KTtcbiAgICAgICAgICBpZiAocXVlcnkgfHwgIWRhdGFzb3VyY2U/LnF1ZXJ5UmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXNldCgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHF1ZXJ5OiBudWxsLFxuICAgICAgICAgIG5leHRQYWdlSW5kZXg6IDAsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKT8udG90YWxDb3VudEtub3duID8/IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHJlc2V0VG90YWxDb3VudEtub3duKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk/LnRvdGFsQ291bnRLbm93biA/PyB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBzZXRTZWxlY3RlZChpZHM6IFRJZFtdKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBpZHMsXG4gICAgICAgICAgc2VsZWN0ZWRNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgIH0sXG4gICAgICBzZWxlY3QoaWRzOiBUSWRbXSkge1xuICAgICAgICBjb25zdCBvbGRNaXNzaW5nID0gdW50cmFja2VkKHN0b3JlLl9taXNzaW5nU2VsZWN0ZWQpO1xuICAgICAgICBjb25zdCBub3RJbk1pc3NpbmcgPSBpZHMuZmlsdGVyKChpZCkgPT4gIW9sZE1pc3NpbmcuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgaWYgKG5vdEluTWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX21pc3NpbmdTZWxlY3RlZDogb2xkTWlzc2luZy5jb25jYXQobm90SW5NaXNzaW5nKSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuc2VsZWN0QWxsKCkge1xuICAgICAgICBjb25zdCBmZXRjaE1pc3NpbmdSZXEgPSB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoTWlzc2luZ1JlcXVlc3QpO1xuICAgICAgICBpZiAoZmV0Y2hNaXNzaW5nUmVxKSB7XG4gICAgICAgICAgZmV0Y2hNaXNzaW5nUmVxLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbiAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBfc2V0QW5kR2V0TWlzc2luZygpIHtcbiAgICAgICAgY29uc3QgYWxsTWlzc2luZyA9IHVudHJhY2tlZChzdG9yZS5fbWlzc2luZ1NlbGVjdGVkKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUub3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gbmV3IE1hcCh1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApKTtcbiAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcblxuICAgICAgICBsZXQgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgYWxsTWlzc2luZykge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQuaWQgPT09IGlkKTtcbiAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRNYXAuc2V0KGlkLCBpdGVtKTtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld01pc3NpbmcucHVzaChpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTWFwIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdNaXNzaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuX2NhbmNlbEZldGNoTWlzc2luZ0lmTmVlZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfbWlzc2luZ1NlbGVjdGVkOiBuZXdNaXNzaW5nIH0pO1xuICAgICAgICByZXR1cm4gbmV3TWlzc2luZztcbiAgICAgIH0sXG4gICAgICBfbG9hZE1pc3NpbmdTZWxlY3RlZCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHN0b3JlLmRhdGFzb3VyY2UoKTtcbiAgICAgICAgY29uc3QgcmVhbGx5TWlzc2luZyA9IHRoaXMuX3NldEFuZEdldE1pc3NpbmcoKTtcbiAgICAgICAgaWYgKCF1bnRyYWNrZWQoc3RvcmUubG9hZGluZykgJiYgZGF0YXNvdXJjZSkge1xuICAgICAgICAgIGlmIChyZWFsbHlNaXNzaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2ZldGNoTWlzc2luZyhyZWFsbHlNaXNzaW5nLCBkYXRhc291cmNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBpbml0aWFsaXplZDogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY2FuY2VsRmV0Y2hNaXNzaW5nSWZOZWVkZWQoKSB7XG4gICAgICAgIGNvbnN0IGZldGNoTWlzc2luZ1JlcSA9IHVudHJhY2tlZChzdG9yZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdW50cmFja2VkKHN0b3JlLm9wdGlvbnMpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZmV0Y2hNaXNzaW5nUmVxPy5pZHMuZXZlcnkoKGlkKSA9PiBpdGVtcy5zb21lKChpdCkgPT4gaXQuaWQgPT09IGlkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgZmV0Y2hNaXNzaW5nUmVxLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIF9mZXRjaE1pc3NpbmdSZXF1ZXN0OiBudWxsLFxuICAgICAgICAgICAgX21pc3NpbmdTZWxlY3RlZDogW10sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZmV0Y2hNaXNzaW5nKGlkczogVElkW10sIGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VCwgVElkPikge1xuICAgICAgICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWIgPSBkYXRhc291cmNlLmdldEl0ZW1zQnlJZHMoaWRzKS5zdWJzY3JpYmUoKG1hcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld01pc3Npbmc6IFRJZFtdID0gW107XG4gICAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWQgPSBuZXcgTWFwKHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZE1hcCkpO1xuICAgICAgICAgIGZvciAoY29uc3QgaWQgb2YgdW50cmFja2VkKHN0b3JlLl9taXNzaW5nU2VsZWN0ZWQpKSB7XG4gICAgICAgICAgICBpZiAobWFwLmhhcyhpZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBtYXAuZ2V0KGlkKSE7XG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGF0YXNvdXJjZS5nZXRMYWJlbCh2YWx1ZSk7XG4gICAgICAgICAgICAgIG5ld1NlbGVjdGVkLnNldChpZCwgeyBsYWJlbCwgdmFsdWUsIGlkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbmV3TWlzc2luZy5wdXNoKGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IG51bGwsXG4gICAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBuZXdNaXNzaW5nLFxuICAgICAgICAgICAgc2VsZWN0ZWRNYXA6IG5ld1NlbGVjdGVkLFxuICAgICAgICAgICAgaW5pdGlhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFzdWIuY2xvc2VkKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IHsgaWRzLCBzdWJzY3JpcHRpb246IHN1YiB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc2VsZWN0U2luZ2xlKGlkOiBUSWQpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChbaWRdKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGUoaWQ6IFRJZCkge1xuICAgICAgICBjb25zdCBvbGRNYXAgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRNYXApO1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RhdGFzb3VyY2UgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9sZE1hcC5oYXMoaWQpKSB7XG4gICAgICAgICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChvbGRNYXApO1xuICAgICAgICAgIG5ld01hcC5kZWxldGUoaWQpO1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRNYXA6IG5ld01hcCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBpdGVtID0gdW50cmFja2VkKHN0b3JlLm9wdGlvbnMpLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpO1xuICAgICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QoW2lkXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld01hcCA9IG5ldyBNYXAob2xkTWFwKTtcbiAgICAgICAgICAgIG5ld01hcC5zZXQoaWQsIGl0ZW0pO1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1hcDogbmV3TWFwIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNhbmNlbEZldGNoKCkge1xuICAgICAgICB1bnRyYWNrZWQoc3RvcmUuX2ZldGNoUmVxdWVzdCk/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 const control = this.control();\n if (control && control.value !== null) {\n const arr = Array.isArray(control.value)\n ? control.value\n : [control.value];\n this.store.init(arr);\n }\n else {\n this.store.init(null);\n }\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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QUFDLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlO2FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVTLFdBQVcsQ0FBQyxLQUFvQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO3VHQS9FbUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRGpELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICB0YWtlVW50aWxEZXN0cm95ZWQsXG4gIHRvT2JzZXJ2YWJsZSxcbiAgdG9TaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlLCBSZHRPYmplY3RVdGlscyB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJkdFNlbGVjdERhdGFzb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UvcmR0LXNlbGVjdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFN0b3JlIH0gZnJvbSAnLi9zdGF0ZS9yZHQtc2VsZWN0LXN0b3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZVNlbGVjdENvbW1vbkNvbXBvbmVudDxcbiAgVEl0ZW0sXG4gIFRJZCxcbiAgVE91dFxuPiBleHRlbmRzIFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQ8VE91dD4ge1xuICByZWFkb25seSBkYXRhc291cmNlSW5wdXQgPSBpbnB1dDxSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuICByZWFkb25seSBzdG9yZSA9IGluamVjdChSZHRTZWxlY3RTdG9yZSkgYXMgUmR0U2VsZWN0U3RvcmU8VEl0ZW0sIFRJZD47XG4gIHJlYWRvbmx5IHZpc2libGVPcHRpb25zID0gdGhpcy5zdG9yZS52aXNpYmxlT3B0aW9ucztcbiAgcmVhZG9ubHkgcXVlcnlWYWxpZGF0b3JGbklucHV0ID0gaW5wdXQ8TnVsbGFibGU8VmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdPj4oXG4gICAgbnVsbCxcbiAgICB7XG4gICAgICBhbGlhczogJ2lucHV0VmFsaWRhdG9yJyxcbiAgICB9XG4gICk7XG4gIHJlYWRvbmx5IHF1ZXJ5VmFsaWRhdG9yRm4gPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5xdWVyeVZhbGlkYXRvckZuSW5wdXQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVlcnlWYWxpZGF0b3JFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMucXVlcnlWYWxpZGF0b3JGbigpO1xuICAgIGlmICh2YWxpZGF0b3IpIHtcbiAgICAgIHRoaXMuaW5wdXRDdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dEN0cmwuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgfVxuICB9KTtcbiAgcmVhZG9ubHkgaW5wdXRDdHJsID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q3RybEV2ZW50cyA9IHRvU2lnbmFsKHRoaXMuaW5wdXRDdHJsLmV2ZW50cyk7XG4gIHJlYWRvbmx5IGlucHV0RXJyb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaW5wdXRDdHJsRXZlbnRzKCk7XG4gICAgaWYgKHRoaXMuaW5wdXRDdHJsLnRvdWNoZWQgJiYgdGhpcy5pbnB1dEN0cmwuaW52YWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5wdXRDdHJsLmVycm9ycztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9KTtcbiAgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSBpbnB1dDxudW1iZXI+KDMwMCwge1xuICAgIGFsaWFzOiAnZGVib3VuY2UnLFxuICB9KTtcbiAgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuZGVib3VuY2VUaW1lSW5wdXQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VkSW5wdXQkID0gdG9PYnNlcnZhYmxlKHRoaXMuZGVib3VuY2VUaW1lKS5waXBlKFxuICAgIHN3aXRjaE1hcCgodGltZSkgPT4gdGhpcy5pbnB1dEN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKHRpbWUpKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuICByZWFkb25seSBkZWJvdW5jZWRJbnB1dCA9IHRvU2lnbmFsKHRoaXMuZGVib3VuY2VkSW5wdXQkLCB7XG4gICAgaW5pdGlhbFZhbHVlOiBudWxsLFxuICB9KTtcbiAgcmVhZG9ubHkgcGFnZVNpemVJbnB1dCA9IGlucHV0KDIwLCB7XG4gICAgYWxpYXM6ICdwYWdlU2l6ZScsXG4gIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VTaXplRWZmZWN0ID0gZWZmZWN0KCgpID0+XG4gICAgdGhpcy5zdG9yZS5zZXRQYWdlU2l6ZSh0aGlzLnBhZ2VTaXplSW5wdXQoKSlcbiAgKTtcblxuICBvdmVycmlkZSByZWFkb25seSBsb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnN0b3JlLmxvYWRpbmcoKSB8fFxuICAgICAgdGhpcy5sb2FkaW5nSW5wdXQoKSB8fFxuICAgICAgUmR0T2JqZWN0VXRpbHMuc29tZVZhbHVlc1RydWUodGhpcy5sb2FkaW5nTWFwKCkpXG4gICAgKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCk7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXJyID0gQXJyYXkuaXNBcnJheShjb250cm9sLnZhbHVlKVxuICAgICAgICA/IGNvbnRyb2wudmFsdWVcbiAgICAgICAgOiBbY29udHJvbC52YWx1ZV07XG4gICAgICB0aGlzLnN0b3JlLmluaXQoYXJyIGFzIFRJZFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdG9yZS5pbml0KG51bGwpO1xuICAgIH1cbiAgICB0aGlzLmRlYm91bmNlZElucHV0JFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVJbnB1dCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUlucHV0KHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5zZXRRdWVyeSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==","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=","import { FormControl, } from '@angular/forms';\nimport { RdtDateUtils } from '@ngrdt/utils';\nimport { distinctUntilChanged, merge, takeUntil, } from 'rxjs';\nexport class RdtDateValidators {\n static notInFuture = (control) => {\n let value = null;\n if (control.value == null) {\n value = null;\n }\n else if (typeof control.value === 'string') {\n value = Date.parse(control.value);\n }\n else if (typeof control.value === 'number') {\n value = control.value;\n }\n else if (control.value instanceof Date) {\n value = control.value.getTime();\n }\n if (value == null || Date.now() > value) {\n return null;\n }\n return {\n dateInFuture: true,\n };\n };\n static lastDayOfMonth = (control) => {\n if (control.value == null) {\n return null;\n }\n const date = new Date(control.value);\n const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n if (date.getDate() === lastDay.getDate()) {\n return null;\n }\n return {\n lastDayOfMonth: true,\n };\n };\n static greaterOrEqualToField(startDateField, error = 'Platnost do musí být později než platnost od.', unsubscribeSubj) {\n let subbed = false;\n return (endControl) => {\n const startControl = startDateField instanceof FormControl\n ? startDateField\n : endControl.parent?.get(startDateField);\n if (!startControl) {\n return null;\n }\n if (!subbed) {\n subbed = true;\n let change$ = merge(startControl.statusChanges.pipe(distinctUntilChanged()), startControl.valueChanges.pipe(distinctUntilChanged()));\n if (unsubscribeSubj) {\n change$ = change$.pipe(takeUntil(unsubscribeSubj));\n }\n if (change$) {\n change$.subscribe(() => {\n endControl.updateValueAndValidity();\n });\n }\n }\n const startDate = startControl?.value;\n const endDate = endControl.value;\n if (!startDate || !endDate) {\n return null;\n }\n if (Date.parse(startDate) > Date.parse(endDate)) {\n return { dateGreaterOrEqualToField: error };\n }\n return null;\n };\n }\n static lessOrEqualToField(endDateField, error = 'Platnost od musí být dříve než platnost do.', unsubscribeSubj) {\n let subbed = false;\n return (startControl) => {\n const endControl = endDateField instanceof FormControl\n ? endDateField\n : startControl.parent?.get(endDateField);\n if (!endControl) {\n return null;\n }\n if (!subbed) {\n subbed = true;\n let change$ = merge(endControl.statusChanges.pipe(distinctUntilChanged()), endControl.valueChanges.pipe(distinctUntilChanged()));\n if (unsubscribeSubj) {\n change$ = change$.pipe(takeUntil(unsubscribeSubj));\n }\n change$.subscribe(() => {\n startControl.updateValueAndValidity();\n });\n }\n const startDate = startControl.value;\n const endDate = endControl?.value;\n if (!startDate || !endDate) {\n return null;\n }\n if (Date.parse(startDate) > Date.parse(endDate)) {\n return { dateLessOrEqualToField: error };\n }\n return null;\n };\n }\n static lessOrEqualToConstant(value) {\n return (control) => RdtDateValidators.getDateRangeErrors(control.value, null, value);\n }\n static greaterOrEqualToConstant(value) {\n return (control) => RdtDateValidators.getDateRangeErrors(control.value, value, null);\n }\n static getDateRangeErrors(value, minDate, maxDate) {\n if ((minDate == null && maxDate == null) || value == null) {\n return null;\n }\n const dateValue = Date.parse(value);\n let minDateValue = RdtDateUtils.parse(minDate);\n let maxDateValue = RdtDateUtils.parse(maxDate);\n if (minDateValue) {\n minDateValue = RdtDateUtils.startOfDay(new Date(minDateValue)).getTime();\n }\n if (maxDateValue) {\n maxDateValue = RdtDateUtils.endOfDay(new Date(maxDateValue)).getTime();\n }\n const errors = {};\n if (minDateValue !== null && dateValue < minDateValue) {\n errors['dateGreaterOrEqualToConstant'] = {\n min: RdtDateUtils.formatDate(minDate),\n actual: RdtDateUtils.formatDate(value),\n };\n }\n if (maxDateValue !== null && dateValue > maxDateValue) {\n errors['dateLessOrEqualToConstant'] = {\n max: RdtDateUtils.formatDate(maxDate),\n actual: RdtDateUtils.formatDate(value),\n };\n }\n if (Object.keys(errors).length === 0) {\n return null;\n }\n else {\n return errors;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3ZhbGlkYXRvcnMvZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsV0FBVyxHQUdaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFZLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBVSxXQUFXLEdBQWdCLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ3RFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzthQUFNLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDekMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FB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SSxZQUFZLEtBQUssSUFBSSxJQUFJLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsOEJBQThCLENBQUMsR0FBRztnQkFDdkMsR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDdkMsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksU0FBUyxHQUFHLFlBQVksRUFBRSxDQUFDO1lBQ3RELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHO2dCQUNwQyxHQUFHLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3JDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUN2QyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlLCBSZHREYXRlVXRpbHMgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgUmR0RGF0ZVZhbGlkYXRvcnMge1xuICBzdGF0aWMgcmVhZG9ubHkgbm90SW5GdXR1cmU6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IG51bGw7XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gRGF0ZS5wYXJzZShjb250cm9sLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHZhbHVlID0gY29udHJvbC52YWx1ZS5nZXRUaW1lKCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09IG51bGwgfHwgRGF0ZS5ub3coKSA+IHZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVJbkZ1dHVyZTogdHJ1ZSxcbiAgICB9O1xuICB9O1xuXG4gIHN0YXRpYyBsYXN0RGF5T2ZNb250aDogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjb250cm9sLnZhbHVlKTtcbiAgICBjb25zdCBsYXN0RGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAwKTtcbiAgICBpZiAoZGF0ZS5nZXREYXRlKCkgPT09IGxhc3REYXkuZ2V0RGF0ZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhc3REYXlPZk1vbnRoOiB0cnVlLFxuICAgIH07XG4gIH07XG5cbiAgc3RhdGljIGdyZWF0ZXJPckVxdWFsVG9GaWVsZChcbiAgICBzdGFydERhdGVGaWVsZDogc3RyaW5nIHwgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4sXG4gICAgZXJyb3IgPSAnUGxhdG5vc3QgZG8gbXVzw60gYsO9dCBwb3pkxJtqaSBuZcW+IHBsYXRub3N0IG9kLicsXG4gICAgdW5zdWJzY3JpYmVTdWJqPzogU3ViamVjdDx2b2lkPlxuICApOiBWYWxpZGF0b3JGbiB7XG4gICAgbGV0IHN1YmJlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIChlbmRDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnN0IHN0YXJ0Q29udHJvbCA9XG4gICAgICAgIHN0YXJ0RGF0ZUZpZWxkIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xcbiAgICAgICAgICA/IHN0YXJ0RGF0ZUZpZWxkXG4gICAgICAgICAgOiBlbmRDb250cm9sLnBhcmVudD8uZ2V0KHN0YXJ0RGF0ZUZpZWxkKTtcblxuICAgICAgaWYgKCFzdGFydENvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghc3ViYmVkKSB7XG4gICAgICAgIHN1YmJlZCA9IHRydWU7XG4gICAgICAgIGxldCBjaGFuZ2UkOiBPYnNlcnZhYmxlPGFueT4gfCB1bmRlZmluZWQgPSBtZXJnZShcbiAgICAgICAgICBzdGFydENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICAgIHN0YXJ0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICApO1xuICAgICAgICBpZiAodW5zdWJzY3JpYmVTdWJqKSB7XG4gICAgICAgICAgY2hhbmdlJCA9IGNoYW5nZSQucGlwZSh0YWtlVW50aWwodW5zdWJzY3JpYmVTdWJqKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZSQpIHtcbiAgICAgICAgICBjaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBlbmRDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnRDb250cm9sPy52YWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmRDb250cm9sLnZhbHVlO1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoRGF0ZS5wYXJzZShzdGFydERhdGUpID4gRGF0ZS5wYXJzZShlbmREYXRlKSkge1xuICAgICAgICByZXR1cm4geyBkYXRlR3JlYXRlck9yRXF1YWxUb0ZpZWxkOiBlcnJvciB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBsZXNzT3JFcXVhbFRvRmllbGQoXG4gICAgZW5kRGF0ZUZpZWxkOiBzdHJpbmcgfCBGb3JtQ29udHJvbDxzdHJpbmc+IHwgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4sXG4gICAgZXJyb3IgPSAnUGxhdG5vc3Qgb2QgbXVzw60gYsO9dCBkxZnDrXZlIG5lxb4gcGxhdG5vc3QgZG8uJyxcbiAgICB1bnN1YnNjcmliZVN1Ymo/OiBTdWJqZWN0PHZvaWQ+XG4gICk6IFZhbGlkYXRvckZuIHtcbiAgICBsZXQgc3ViYmVkID0gZmFsc2U7XG4gICAgcmV0dXJuIChzdGFydENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgY29uc3QgZW5kQ29udHJvbCA9XG4gICAgICAgIGVuZERhdGVGaWVsZCBpbnN0YW5jZW9mIEZvcm1Db250cm9sXG4gICAgICAgICAgPyBlbmREYXRlRmllbGRcbiAgICAgICAgICA6IHN0YXJ0Q29udHJvbC5wYXJlbnQ/LmdldChlbmREYXRlRmllbGQpO1xuICAgICAgaWYgKCFlbmRDb250cm9sKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFzdWJiZWQpIHtcbiAgICAgICAgc3ViYmVkID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNoYW5nZSQ6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCA9IG1lcmdlKFxuICAgICAgICAgIGVuZENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICAgIGVuZENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHVuc3Vic2NyaWJlU3Viaikge1xuICAgICAgICAgIGNoYW5nZSQgPSBjaGFuZ2UkLnBpcGUodGFrZVVudGlsKHVuc3Vic2NyaWJlU3ViaikpO1xuICAgICAgICB9XG4gICAgICAgIGNoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBzdGFydENvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmRDb250cm9sPy52YWx1ZTtcbiAgICAgIGlmICghc3RhcnREYXRlIHx8ICFlbmREYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKERhdGUucGFyc2Uoc3RhcnREYXRlKSA+IERhdGUucGFyc2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsgZGF0ZUxlc3NPckVxdWFsVG9GaWVsZDogZXJyb3IgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgbGVzc09yRXF1YWxUb0NvbnN0YW50KHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+XG4gICAgICBSZHREYXRlVmFsaWRhdG9ycy5nZXREYXRlUmFuZ2VFcnJvcnMoY29udHJvbC52YWx1ZSwgbnVsbCwgdmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIGdyZWF0ZXJPckVxdWFsVG9Db25zdGFudCh2YWx1ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PlxuICAgICAgUmR0RGF0ZVZhbGlkYXRvcnMuZ2V0RGF0ZVJhbmdlRXJyb3JzKGNvbnRyb2wudmFsdWUsIHZhbHVlLCBudWxsKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREYXRlUmFuZ2VFcnJvcnMoXG4gICAgdmFsdWU6IE51bGxhYmxlPHN0cmluZz4sXG4gICAgbWluRGF0ZTogTnVsbGFibGU8RGF0ZSB8IHN0cmluZz4sXG4gICAgbWF4RGF0ZTogTnVsbGFibGU8RGF0ZSB8IHN0cmluZz5cbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICgobWluRGF0ZSA9PSBudWxsICYmIG1heERhdGUgPT0gbnVsbCkgfHwgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGVWYWx1ZSA9IERhdGUucGFyc2UodmFsdWUpO1xuICAgIGxldCBtaW5EYXRlVmFsdWUgPSBSZHREYXRlVXRpbHMucGFyc2UobWluRGF0ZSk7XG4gICAgbGV0IG1heERhdGVWYWx1ZSA9IFJkdERhdGVVdGlscy5wYXJzZShtYXhEYXRlKTtcblxuICAgIGlmIChtaW5EYXRlVmFsdWUpIHtcbiAgICAgIG1pbkRhdGVWYWx1ZSA9IFJkdERhdGVVdGlscy5zdGFydE9mRGF5KG5ldyBEYXRlKG1pbkRhdGVWYWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9XG4gICAgaWYgKG1heERhdGVWYWx1ZSkge1xuICAgICAgbWF4RGF0ZVZhbHVlID0gUmR0RGF0ZVV0aWxzLmVuZE9mRGF5KG5ldyBEYXRlKG1heERhdGVWYWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB7fTtcblxuICAgIGlmIChtaW5EYXRlVmFsdWUgIT09IG51bGwgJiYgZGF0ZVZhbHVlIDwgbWluRGF0ZVZhbHVlKSB7XG4gICAgICBlcnJvcnNbJ2RhdGVHcmVhdGVyT3JFcXVhbFRvQ29uc3RhbnQnXSA9IHtcbiAgICAgICAgbWluOiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZShtaW5EYXRlKSxcbiAgICAgICAgYWN0dWFsOiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZSh2YWx1ZSksXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAobWF4RGF0ZVZhbHVlICE9PSBudWxsICYmIGRhdGVWYWx1ZSA+IG1heERhdGVWYWx1ZSkge1xuICAgICAgZXJyb3JzWydkYXRlTGVzc09yRXF1YWxUb0NvbnN0YW50J10gPSB7XG4gICAgICAgIG1heDogUmR0RGF0ZVV0aWxzLmZvcm1hdERhdGUobWF4RGF0ZSksXG4gICAgICAgIGFjdHVhbDogUmR0RGF0ZVV0aWxzLmZvcm1hdERhdGUodmFsdWUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKGVycm9ycykubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { FormGroup, } from '@angular/forms';\nexport class RdtCommonValidators {\n static atLeastOneRequired = () => null;\n static atLeastOneRequiredParent = (control) => {\n if (!(control instanceof FormGroup)) {\n throw new Error('Apply this validator to FormGroup.');\n }\n let someControlsHaveIt = false;\n for (const key in control.controls) {\n const ctrl = control.controls[key];\n if (ctrl.hasValidator(RdtCommonValidators.atLeastOneRequired)) {\n if (ctrl.value !== '' && ctrl.value != null) {\n return null;\n }\n someControlsHaveIt = true;\n }\n }\n if (someControlsHaveIt) {\n return {\n atLeastOneRequired: true,\n };\n }\n return null;\n };\n static cannotContainChars(chars) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (chars.some((char) => value.includes(char))) {\n return {\n cannotContainChars: chars,\n };\n }\n return null;\n };\n }\n static startsWithPrefix(text) {\n return (control) => {\n const isValid = control.value?.startsWith(text);\n return isValid\n ? null\n : {\n mustHavePrefix: {\n text,\n },\n };\n };\n }\n static exactLength(length) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (value.length !== length) {\n return {\n exactLength: length,\n };\n }\n return null;\n };\n }\n static maxNumLength(length) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const maxlengthError = { requiredLength: length };\n const constrolValue = control.value + '';\n if (constrolValue.length > length) {\n return {\n maxlength: maxlengthError,\n };\n }\n return null;\n };\n }\n static mustBeLowercase = (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (value !== value.toLowerCase()) {\n return {\n mustBeLowercase: true,\n };\n }\n return null;\n };\n static cannotContainAccents = (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (/^[a-zA-Z0-9]+$/.test(value)) {\n return null;\n }\n else {\n return {\n cannotContainSpecialChars: true,\n };\n }\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3ZhbGlkYXRvcnMvZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQVUsa0JBQWtCLEdBQWdCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUU3RCxNQUFNLENBQVUsd0JBQXdCLEdBQWdCLENBQ3RELE9BQXdCLEVBQ3hCLEVBQUU7UUFDRixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM1QyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2dCQUNELGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixPQUFPO2dCQUNMLGtCQUFrQixFQUFFLElBQUk7YUFDekIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FB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dEMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTztnQkFDTCx5QkFBeUIsRUFBRSxJQUFJO2FBQ2hDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBSZHRDb21tb25WYWxpZGF0b3JzIHtcbiAgc3RhdGljIHJlYWRvbmx5IGF0TGVhc3RPbmVSZXF1aXJlZDogVmFsaWRhdG9yRm4gPSAoKSA9PiBudWxsO1xuXG4gIHN0YXRpYyByZWFkb25seSBhdExlYXN0T25lUmVxdWlyZWRQYXJlbnQ6IFZhbGlkYXRvckZuID0gKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbFxuICApID0+IHtcbiAgICBpZiAoIShjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBseSB0aGlzIHZhbGlkYXRvciB0byBGb3JtR3JvdXAuJyk7XG4gICAgfVxuXG4gICAgbGV0IHNvbWVDb250cm9sc0hhdmVJdCA9IGZhbHNlO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29udHJvbC5jb250cm9scykge1xuICAgICAgY29uc3QgY3RybCA9IGNvbnRyb2wuY29udHJvbHNba2V5XTtcbiAgICAgIGlmIChjdHJsLmhhc1ZhbGlkYXRvcihSZHRDb21tb25WYWxpZGF0b3JzLmF0TGVhc3RPbmVSZXF1aXJlZCkpIHtcbiAgICAgICAgaWYgKGN0cmwudmFsdWUgIT09ICcnICYmIGN0cmwudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNvbWVDb250cm9sc0hhdmVJdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzb21lQ29udHJvbHNIYXZlSXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF0TGVhc3RPbmVSZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHN0YXRpYyBjYW5ub3RDb250YWluQ2hhcnMoY2hhcnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIGlmIChjaGFycy5zb21lKChjaGFyKSA9PiB2YWx1ZS5pbmNsdWRlcyhjaGFyKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjYW5ub3RDb250YWluQ2hhcnM6IGNoYXJzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBzdGFydHNXaXRoUHJlZml4KHRleHQ6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBjb250cm9sLnZhbHVlPy5zdGFydHNXaXRoKHRleHQpO1xuICAgICAgcmV0dXJuIGlzVmFsaWRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgbXVzdEhhdmVQcmVmaXg6IHtcbiAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGV4YWN0TGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGV4YWN0TGVuZ3RoOiBsZW5ndGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIG1heE51bUxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhsZW5ndGhFcnJvciA9IHsgcmVxdWlyZWRMZW5ndGg6IGxlbmd0aCB9O1xuICAgICAgY29uc3QgY29uc3Ryb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWUgKyAnJztcbiAgICAgIGlmIChjb25zdHJvbFZhbHVlLmxlbmd0aCA+IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1heGxlbmd0aDogbWF4bGVuZ3RoRXJyb3IsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIG11c3RCZUxvd2VyY2FzZTogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xuICAgIGlmICh2YWx1ZSAhPT0gdmFsdWUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbXVzdEJlTG93ZXJjYXNlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgc3RhdGljIGNhbm5vdENvbnRhaW5BY2NlbnRzOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgaWYgKC9eW2EtekEtWjAtOV0rJC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjYW5ub3RDb250YWluU3BlY2lhbENoYXJzOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG4iXX0=","/**\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/utils/paginate.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/lib/validators/date.js","../tmp-esm2022/lib/validators/general.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9iYXNlL3JkdC1iYXNlLWZvcm0taW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUUzRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFLdEIsTUFBTSxPQUFnQix5QkFDcEIsU0FBUSw4QkFBOEI7SUFHN0IsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVsQixRQUFRLEdBQUcsTUFBTSxDQUErQixJQUFJLENBQUMsQ0FBQztJQUNoRSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEIsYUFBYSxHQUFHLEtBQUssQ0FBYyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVB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Qjs7MkZBQXpCLHlCQUF5QjtrQkFIOUMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJkdEludGVyYWN0aXZlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJ0BuZ3JkdC9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0Rm9ybUNvbnRyb2wgfSBmcm9tICcuLi91dGlscy9nZXQtZm9ybS1jb250cm9sJztcblxuY29uc3Qgbm9vcCA9ICgpID0+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,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 function getRdtSelectPage(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//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L3V0aWxzL3BhZ2luYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBNkIsRUFDN0IsU0FBaUIsRUFDakIsUUFBZ0I7SUFFaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsT0FBTztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE9BQU87UUFDTCxJQUFJLEVBQUUsS0FBSztRQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtRQUN2QixTQUFTLEVBQUUsU0FBUztLQUNyQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdExhYmVsVmFsdWUgfSBmcm9tICcuL2xhYmVsLXZhbHVlLWlkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJkdFNlbGVjdFBhZ2U8VFZhbHVlPihcbiAgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10sXG4gIHBhZ2VJbmRleDogbnVtYmVyLFxuICBwYWdlU2l6ZTogbnVtYmVyXG4pOiBSZHRTZWxlY3RQYWdlPFJkdExhYmVsVmFsdWU8VFZhbHVlPj4ge1xuICBpZiAocGFnZVNpemUgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2Ugc2l6ZScpO1xuICB9XG4gIGlmIChwYWdlSW5kZXggPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhZ2UgaW5kZXgnKTtcbiAgfVxuICBpZiAocGFnZUluZGV4ICogcGFnZVNpemUgPiBkYXRhLmxlbmd0aCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiBbXSxcbiAgICAgIHRvdGFsQ291bnQ6IGRhdGEubGVuZ3RoLFxuICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgfTtcbiAgfVxuICBjb25zdCBzdGFydCA9IHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICBjb25zdCBlbmQgPSBzdGFydCArIHBhZ2VTaXplO1xuICBjb25zdCBpdGVtcyA9IGRhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogaXRlbXMsXG4gICAgdG90YWxDb3VudDogZGF0YS5sZW5ndGgsXG4gICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gIH07XG59XG4iXX0=","export class RdtSelectDatasource {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2Zvcm1zL3NyYy9saWIvaW5wdXRzL3NlbGVjdC9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG1CQUFtQjtDQVN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuL3JkdC1zZWxlY3QtcGFnZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRTZWxlY3REYXRhc291cmNlPFRJdGVtLCBUSWQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxSZHRTZWxlY3RQYWdlPFRJdGVtPj47XG4gIGFic3RyYWN0IGdldExhYmVsKGl0ZW06IFRJdGVtKTogc3RyaW5nO1xuICBhYnN0cmFjdCBnZXRJZChpdGVtOiBUSXRlbSk6IFRJZDtcbiAgYWJzdHJhY3QgZ2V0SXRlbXNCeUlkcyhpZHM6IFRJZFtdKTogT2JzZXJ2YWJsZTxNYXA8VElkLCBUSXRlbT4+O1xuICBhYnN0cmFjdCByZWFkb25seSB0b3RhbENvdW50S25vd246IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQ6IGJvb2xlYW47XG59XG4iXX0=","import { of } from 'rxjs';\nimport { getRdtSelectPage } from '../utils/paginate';\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 = getRdtSelectPage(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}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL2xpYi9pbnB1dHMvc2VsZWN0L2RhdGFzb3VyY2UvcmR0LW9mZmxpbmUtc2VsZWN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxNQUFNLE9BQU8sMEJBRVgsU0FBUSxtQkFBa0Q7SUFNckM7SUFMSCxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFckIsZ0JBQWdCLENBQTBCO0lBRTdELFlBQXFCLElBQTZCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFFaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLE9BQU8sQ0FDZCxNQUE4QjtRQUU5QixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUM7UUFDRixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ1EsUUFBUSxDQUFDLElBQTJCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ1EsS0FBSyxDQUFDLElBQTJCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRVEsYUFBYSxDQUNwQixHQUFhO1FBRWIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFDeEQsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWE7UUFDckMsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVTLGNBQWMsQ0FDdEIsSUFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQy9CLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0TGFiZWxWYWx1ZSB9IGZyb20gJy4uL3V0aWxzL2xhYmVsLXZhbHVlLWlkJztcbmltcG9ydCB7IGdldFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi91dGlscy9wYWdpbmF0ZSc7XG5pbXBvcnQgeyBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0U2VsZWN0UGFnZSB9IGZyb20gJy4vcmR0LXNlbGVjdC1wYWdlJztcblxuZXhwb3J0IGNsYXNzIFJkdE9mZmxpbmVTZWxlY3REYXRhc291cmNlPFxuICBUVmFsdWUgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXJcbj4gZXh0ZW5kcyBSZHRTZWxlY3REYXRhc291cmNlPFJkdExhYmVsVmFsdWU8VFZhbHVlPiwgVFZhbHVlPiB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHRvdGFsQ291bnRLbm93biA9IHRydWU7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHF1ZXJ5UmVxdWlyZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlcHJvY2Vzc2VkRGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W107XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJlcHJvY2Vzc2VkRGF0YSA9IHRoaXMucHJlcHJvY2Vzc0RhdGEoZGF0YSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXREYXRhKFxuICAgIHBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICApOiBPYnNlcnZhYmxlPFJkdFNlbGVjdFBhZ2U8UmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHBhZ2UgPSBnZXRSZHRTZWxlY3RQYWdlKFxuICAgICAgdGhpcy5maWx0ZXJEYXRhKHBhcmFtcy5xdWVyeSksXG4gICAgICBwYXJhbXMucGFnZUluZGV4LFxuICAgICAgcGFyYW1zLnBhZ2VTaXplXG4gICAgKTtcbiAgICByZXR1cm4gb2YocGFnZSk7XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0TGFiZWwoaXRlbTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuICBvdmVycmlkZSBnZXRJZChpdGVtOiBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4pOiBUVmFsdWUge1xuICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0SXRlbXNCeUlkcyhcbiAgICBpZHM6IFRWYWx1ZVtdXG4gICk6IE9ic2VydmFibGU8TWFwPFRWYWx1ZSwgUmR0TGFiZWxWYWx1ZTxUVmFsdWU+Pj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8VFZhbHVlLCBSZHRMYWJlbFZhbHVlPFRWYWx1ZT4+KCk7XG4gICAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnByZXByb2Nlc3NlZERhdGEuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gaWQpO1xuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgcmVzdWx0LnNldChpZCwgaXRlbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvZihyZXN1bHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXByb2Nlc3NMYWJlbChsYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGFiZWwudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcHJvY2Vzc0RhdGEoXG4gICAgZGF0YTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W11cbiAgKTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10ge1xuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgbGFiZWw6IHRoaXMucHJlcHJvY2Vzc0xhYmVsKGl0ZW0ubGFiZWwpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWx0ZXJEYXRhKHF1ZXJ5OiBzdHJpbmcgfCBudWxsKTogUmR0TGFiZWxWYWx1ZTxUVmFsdWU+W10ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByZXByb2Nlc3NlZERhdGE7XG4gICAgfVxuICAgIGNvbnN0IHByZXBRdWVyeSA9IHRoaXMucHJlcHJvY2Vzc0xhYmVsKHF1ZXJ5KTtcbiAgICBpZiAoIXByZXBRdWVyeSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJlcHJvY2Vzc2VkRGF0YS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBpdGVtLmxhYmVsLmluY2x1ZGVzKHByZXBRdWVyeSlcbiAgICApO1xuICB9XG59XG4iXX0=","export const rdtSelectInitialState = {\n initialized: false,\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í (ID = {id})...',\n _fetchRequest: null,\n _fetchMissingRequest: null,\n _missingSelected: [],\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXNlbGVjdC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3Qvc3RhdGUvcmR0LXNlbGVjdC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QkEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTZCO0lBQzdELFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFO0lBQ3RCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLHVCQUF1QixFQUFFLHlCQUF5QjtJQUNsRCxhQUFhLEVBQUUsSUFBSTtJQUNuQixvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGdCQUFnQixFQUFFLEVBQUU7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdFNlbGVjdERhdGFzb3VyY2UgfSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBSZHRMYWJlbFZhbHVlSWQgfSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQge1xuICBSZHRTZWxlY3RGZXRjaE1pc3NpbmdSZXF1ZXN0LFxuICBSZHRTZWxlY3RGZXRjaFJlcXVlc3QsXG59IGZyb20gJy4uL3V0aWxzL3JlcXVlc3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdFNlbGVjdFN0YXRlPFRJdGVtLCBUSWQ+IHtcbiAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG4gIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xuICBuZXh0UGFnZUluZGV4OiBudW1iZXIgfCBudWxsO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHRvdGFsQ291bnRLbm93bjogYm9vbGVhbjtcbiAgb3B0aW9uczogUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+W107XG4gIGRhdGFzb3VyY2U6IFJkdFNlbGVjdERhdGFzb3VyY2U8VEl0ZW0sIFRJZD4gfCBudWxsO1xuICBzZWxlY3RlZE1hcDogTWFwPFRJZCwgUmR0TGFiZWxWYWx1ZUlkPFRJdGVtLCBUSWQ+PjtcbiAgZmV0Y2hFcnJvcjogYW55IHwgbnVsbDtcbiAgbWlzc2luZ1ZhbHVlUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgX2ZldGNoUmVxdWVzdDogUmR0U2VsZWN0RmV0Y2hSZXF1ZXN0IHwgbnVsbDtcbiAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IFJkdFNlbGVjdEZldGNoTWlzc2luZ1JlcXVlc3Q8VElkPiB8IG51bGw7XG4gIF9taXNzaW5nU2VsZWN0ZWQ6IFRJZFtdO1xufVxuXG5leHBvcnQgY29uc3QgcmR0U2VsZWN0SW5pdGlhbFN0YXRlOiBSZHRTZWxlY3RTdGF0ZTxhbnksIGFueT4gPSB7XG4gIGluaXRpYWxpemVkOiBmYWxzZSxcbiAgcXVlcnk6IG51bGwsXG4gIG5leHRQYWdlSW5kZXg6IDAsXG4gIHBhZ2VTaXplOiAyMCxcbiAgdG90YWxDb3VudDogMCxcbiAgdG90YWxDb3VudEtub3duOiBmYWxzZSxcbiAgb3B0aW9uczogW10sXG4gIGRhdGFzb3VyY2U6IG51bGwsXG4gIHNlbGVjdGVkTWFwOiBuZXcgTWFwKCksXG4gIGZldGNoRXJyb3I6IG51bGwsXG4gIG1pc3NpbmdWYWx1ZVBsYWNlaG9sZGVyOiAnTmHEjcOtdMOhbsOtIChJRCA9IHtpZH0pLi4uJyxcbiAgX2ZldGNoUmVxdWVzdDogbnVsbCxcbiAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IG51bGwsXG4gIF9taXNzaW5nU2VsZWN0ZWQ6IFtdLFxufTtcbiJdfQ==","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) {\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 init(initialValue) {\n if (initialValue && initialValue.length > 0) {\n this.setSelected(initialValue ?? []);\n }\n else {\n patchState(store, { initialized: true });\n }\n },\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 datasource = store.datasource();\n const reallyMissing = this._setAndGetMissing();\n if (!untracked(store.loading) && datasource) {\n if (reallyMissing.length > 0) {\n this._fetchMissing(reallyMissing, datasource);\n }\n else {\n patchState(store, { initialized: true });\n }\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, datasource) {\n if (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 initialized: true,\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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QVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN2QixDQUFDO1NBQU0sSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNwRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHBhdGNoU3RhdGUsXG4gIHNpZ25hbFN0b3JlLFxuICB3aXRoQ29tcHV0ZWQsXG4gIHdpdGhIb29rcyxcbiAgd2l0aE1ldGhvZHMsXG4gIHdpdGhTdGF0ZSxcbn0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0U2VsZWN0RGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXNlbGVjdC1kYXRhc291cmNlJztcbmltcG9ydCB7IFJkdFNlbGVjdFBhZ2UgfSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRMYWJlbFZhbHVlSWQsXG4gIFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uLFxufSBmcm9tICcuLi91dGlscy9sYWJlbC12YWx1ZS1pZCc7XG5pbXBvcnQge1xuICBjb21wYXJlU2VsZWN0UmVxdWVzdFBhcmFtcyxcbiAgUmR0U2VsZWN0UmVxdWVzdFBhcmFtcyxcbn0gZnJvbSAnLi4vdXRpbHMvcmVxdWVzdCc7XG5pbXBvcnQgeyByZHRTZWxlY3RJbml0aWFsU3RhdGUsIFJkdFNlbGVjdFN0YXRlIH0gZnJvbSAnLi9yZHQtc2VsZWN0LXN0YXRlJztcblxuZnVuY3Rpb24gZ2V0UmR0U2VsZWN0U3RvcmU8VCwgVElkPihpbml0aWFsU3RhdGUgPSByZHRTZWxlY3RJbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHNpZ25hbFN0b3JlKFxuICAgIHdpdGhTdGF0ZShpbml0aWFsU3RhdGUgYXMgUmR0U2VsZWN0U3RhdGU8VCwgVElkPiksXG4gICAgd2l0aEhvb2tzKHtcbiAgICAgIG9uRGVzdHJveShzdG9yZSkge1xuICAgICAgICBzdG9yZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgc3RvcmUuX2ZldGNoUmVxdWVzdCgpPy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sXG4gICAgfSksXG4gICAgd2l0aENvbXB1dGVkKChzdGF0ZSkgPT4gKHtcbiAgICAgIGhhc01vcmU6IGNvbXB1dGVkKCgpID0+IHN0YXRlLm5leHRQYWdlSW5kZXggIT09IG51bGwpLFxuICAgICAgc2VsZWN0ZWRJdGVtczogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShzdGF0ZS5zZWxlY3RlZE1hcCgpLnZhbHVlcygpKTtcbiAgICAgIH0pLFxuICAgICAgbG9hZGluZ09wdGlvbnM6IGNvbXB1dGVkKCgpID0+IHN0YXRlLl9mZXRjaFJlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nTWlzc2luZzogY29tcHV0ZWQoKCkgPT4gc3RhdGUuX2ZldGNoTWlzc2luZ1JlcXVlc3QoKSAhPT0gbnVsbCksXG4gICAgICBsb2FkaW5nOiBjb21wdXRlZChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hSZXF1ZXN0KCkgIT09IG51bGwgfHxcbiAgICAgICAgICBzdGF0ZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCgpICE9PSBudWxsXG4gICAgICApLFxuICAgICAgLy8gU2hvd3Mgc2VsZWN0ZWQgKyBvdGhlcnMgd2hpbGUgcXVlcnkgaXMgZW1wdHlcbiAgICAgIC8vIFNob3dzIG9ubHkgcXVlcnkgcmVzdWx0cyB3aGlsZSBxdWVyeSBoYXMgdmFsdWVcbiAgICAgIHZpc2libGVPcHRpb25zOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gc3RhdGUub3B0aW9ucygpO1xuICAgICAgICBjb25zdCBxdWVyeSA9IHN0YXRlLnF1ZXJ5KCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gc3RhdGUuc2VsZWN0ZWRNYXAoKTtcbiAgICAgICAgY29uc3QgbWlzc2luZyA9IHN0YXRlLl9taXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXQpID0+ICh7XG4gICAgICAgICAgICAuLi5pdCxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZE1hcC5oYXMoaXQuaWQpLFxuICAgICAgICAgIH0pKSBhcyBSZHRSZW5kZXJlZFNlbGVjdE9wdGlvbjxULCBUSWQ+W107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQ6IFJkdFJlbmRlcmVkU2VsZWN0T3B0aW9uPFQsIFRJZD5bXSA9IEFycmF5LmZyb20oXG4gICAgICAgICAgc2VsZWN0ZWRNYXAudmFsdWVzKClcbiAgICAgICAgKS5tYXAoKGl0KSA9PiAoeyAuLi5pdCwgc2VsZWN0ZWQ6IHRydWUgfSkpO1xuICAgICAgICBjb25zdCBtaXNzaW5nUGxhY2Vob2xkZXIgPSBzdGF0ZS5taXNzaW5nVmFsdWVQbGFjZWhvbGRlcigpO1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcnMgPSBtaXNzaW5nLm1hcCgoaWQpID0+ICh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgbGFiZWw6IG1pc3NpbmdQbGFjZWhvbGRlci5yZXBsYWNlKCd7aWR9JywgU3RyaW5nKGlkKSksXG4gICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICAgICAgcGxhY2Vob2xkZXJzLmZvckVhY2goKHBsKSA9PiBzZWxlY3RlZC5wdXNoKHBsKSk7XG5cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmICghc2VsZWN0ZWRNYXAuaGFzKGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZC5wdXNoKHsgLi4uaXRlbSwgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICBpbml0KGluaXRpYWxWYWx1ZTogVElkW10gfCBudWxsKSB7XG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUgJiYgaW5pdGlhbFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkKGluaXRpYWxWYWx1ZSA/PyBbXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBpbml0aWFsaXplZDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZldGNoKCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHVudHJhY2tlZChzdG9yZS5uZXh0UGFnZUluZGV4KTtcbiAgICAgICAgY29uc3QgcXVlcnkgPSB1bnRyYWNrZWQoc3RvcmUucXVlcnkpO1xuICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IHVudHJhY2tlZChzdG9yZS5wYWdlU2l6ZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSB8fCBpbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJhbXM6IFJkdFNlbGVjdFJlcXVlc3RQYXJhbXMgPSB7XG4gICAgICAgICAgcXVlcnk6IHF1ZXJ5LFxuICAgICAgICAgIHBhZ2VJbmRleDogaW5kZXgsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBjdXJyZW50UmVxdWVzdCA9IHVudHJhY2tlZChzdG9yZS5fZmV0Y2hSZXF1ZXN0KTtcbiAgICAgICAgaWYgKGN1cnJlbnRSZXF1ZXN0KSB7XG4gICAgICAgICAgaWYgKGNvbXBhcmVTZWxlY3RSZXF1ZXN0UGFyYW1zKGN1cnJlbnRSZXF1ZXN0LnBhcmFtcywgcGFyYW1zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50UmVxdWVzdC5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSB0aGlzLl9nZXRGZXRjaE9ic2VydmVyKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGRhdGFzb3VyY2UuZ2V0RGF0YShwYXJhbXMpLnN1YnNjcmliZShvYnNlcnZlcik7XG4gICAgICAgIC8vIE9mZmxpbmUgZGF0YXNvdXJjZSB1c2luZyBgb2YoKWAgZW1pdHMgdmFsdWUgc3luY2hyb25vdXNseVxuICAgICAgICBpZiAoIXN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiB7IHN1YnNjcmlwdGlvbiwgcGFyYW1zOiBwYXJhbXMgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9nZXRGZXRjaE9ic2VydmVyKFxuICAgICAgICByZXF1ZXN0UGFyYW1zOiBSZHRTZWxlY3RSZXF1ZXN0UGFyYW1zXG4gICAgICApOiBPYnNlcnZlcjxSZHRTZWxlY3RQYWdlPFQ+PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmV4dDogKHBhZ2UpID0+IHRoaXMuX29uRmV0Y2hTdWNjZXNzKHBhZ2UsIHJlcXVlc3RQYXJhbXMpLFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMuX29uRmV0Y2hFcnJvcihlcnJvciksXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHRoaXMuX29uRmV0Y2hDb21wbGV0ZSgpLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoU3VjY2VzcyhcbiAgICAgICAgcGFnZTogUmR0U2VsZWN0UGFnZTxUPixcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0U2VsZWN0UmVxdWVzdFBhcmFtc1xuICAgICAgKSB7XG4gICAgICAgIGxldCBuZXh0UGFnZUluZGV4OiBudW1iZXIgfCBudWxsID0gcGFnZS5wYWdlSW5kZXggKyAxO1xuICAgICAgICBpZiAocGFnZS50b3RhbENvdW50ID09PSBudWxsKSB7XG4gICAgICAgICAgaWYgKHBhZ2UuZGF0YS5sZW5ndGggPCByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICBuZXh0UGFnZUluZGV4ID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcy5wYWdlSW5kZXggKiByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplICsgcGFnZS5kYXRhLmxlbmd0aCA+PVxuICAgICAgICAgIHBhZ2UudG90YWxDb3VudFxuICAgICAgICApIHtcbiAgICAgICAgICBuZXh0UGFnZUluZGV4ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcHRpb25zID0gW1xuICAgICAgICAgIC4uLnVudHJhY2tlZChzdG9yZS5vcHRpb25zKSxcbiAgICAgICAgICAuLi50aGlzLl9nZXRMYWJlbFZhbHVlSWRzKHBhZ2UuZGF0YSksXG4gICAgICAgIF07XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICB0b3RhbENvdW50OlxuICAgICAgICAgICAgcGFnZS50b3RhbENvdW50ID8/XG4gICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgdW50cmFja2VkKHN0b3JlLnRvdGFsQ291bnQpLFxuICAgICAgICAgICAgICBwYWdlLnBhZ2VJbmRleCAqIHJlcXVlc3RQYXJhbXMucGFnZVNpemUgKyBwYWdlLmRhdGEubGVuZ3RoXG4gICAgICAgICAgICApLFxuICAgICAgICAgIG5leHRQYWdlSW5kZXgsXG4gICAgICAgICAgdG90YWxDb3VudEtub3duOlxuICAgICAgICAgICAgcGFnZS50b3RhbENvdW50ICE9PSBudWxsIHx8XG4gICAgICAgICAgICBwYWdlLmRhdGEubGVuZ3RoIDwgcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9sb2FkTWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBmZXRjaEVycm9yOiBnZXRSZHRTZWxlY3RFcnJvcihlcnJvciksXG4gICAgICAgICAgX2ZldGNoUmVxdWVzdDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hDb21wbGV0ZSgpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHNldERhdGFzb3VyY2UoZGF0YXNvdXJjZTogUmR0U2VsZWN0RGF0YXNvdXJjZTxULCBUSWQ+KSB7XG4gICAgICAgIHVudHJhY2tlZChzdG9yZS5fZmV0Y2hSZXF1ZXN0KT8uc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBkYXRhc291cmNlLFxuICAgICAgICAgIF9mZXRjaFJlcXVlc3Q6IG51bGwsXG4gICAgICAgICAgZmV0Y2hFcnJvcjogbnVsbCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IGRhdGFzb3VyY2UudG90YWxDb3VudEtub3duLFxuICAgICAgICAgIG5leHRQYWdlSW5kZXg6IDAsXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZS5xdWVyeVJlcXVpcmVkKSB7XG4gICAgICAgICAgdGhpcy5mZXRjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2xvYWRNaXNzaW5nU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNldFF1ZXJ5KHF1ZXJ5OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmIChxdWVyeSAhPT0gdW50cmFja2VkKHN0b3JlLnF1ZXJ5KSkge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHF1ZXJ5IH0pO1xuICAgICAgICAgIGlmIChxdWVyeSB8fCAhZGF0YXNvdXJjZT8ucXVlcnlSZXF1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy5mZXRjaCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc2V0KCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgcXVlcnk6IG51bGwsXG4gICAgICAgICAgbmV4dFBhZ2VJbmRleDogMCxcbiAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgICB0b3RhbENvdW50OiAwLFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjogdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpPy50b3RhbENvdW50S25vd24gPz8gdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgcmVzZXRUb3RhbENvdW50S25vd24oKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKT8udG90YWxDb3VudEtub3duID8/IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHNldFNlbGVjdGVkKGlkczogVElkW10pIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IGlkcyxcbiAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3IE1hcCgpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgfSxcbiAgICAgIHNlbGVjdChpZHM6IFRJZFtdKSB7XG4gICAgICAgIGNvbnN0IG9sZE1pc3NpbmcgPSB1bnRyYWNrZWQoc3RvcmUuX21pc3NpbmdTZWxlY3RlZCk7XG4gICAgICAgIGNvbnN0IG5vdEluTWlzc2luZyA9IGlkcy5maWx0ZXIoKGlkKSA9PiAhb2xkTWlzc2luZy5pbmNsdWRlcyhpZCkpO1xuICAgICAgICBpZiAobm90SW5NaXNzaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBvbGRNaXNzaW5nLmNvbmNhdChub3RJbk1pc3NpbmcpLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5fbG9hZE1pc3NpbmdTZWxlY3RlZCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdW5zZWxlY3RBbGwoKSB7XG4gICAgICAgIGNvbnN0IGZldGNoTWlzc2luZ1JlcSA9IHVudHJhY2tlZChzdG9yZS5fZmV0Y2hNaXNzaW5nUmVxdWVzdCk7XG4gICAgICAgIGlmIChmZXRjaE1pc3NpbmdSZXEpIHtcbiAgICAgICAgICBmZXRjaE1pc3NpbmdSZXEuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IFtdLFxuICAgICAgICAgIHNlbGVjdGVkTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIF9zZXRBbmRHZXRNaXNzaW5nKCkge1xuICAgICAgICBjb25zdCBhbGxNaXNzaW5nID0gdW50cmFja2VkKHN0b3JlLl9taXNzaW5nU2VsZWN0ZWQpO1xuICAgICAgICBjb25zdCBpdGVtcyA9IHVudHJhY2tlZChzdG9yZS5vcHRpb25zKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRNYXAgPSBuZXcgTWFwKHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZE1hcCkpO1xuICAgICAgICBjb25zdCBuZXdNaXNzaW5nOiBUSWRbXSA9IFtdO1xuXG4gICAgICAgIGxldCBzZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChjb25zdCBpZCBvZiBhbGxNaXNzaW5nKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pZCA9PT0gaWQpO1xuICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBzZWxlY3RlZE1hcC5zZXQoaWQsIGl0ZW0pO1xuICAgICAgICAgICAgc2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3TWlzc2luZy5wdXNoKGlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkQ2hhbmdlZCkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRNYXAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld01pc3NpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5fY2FuY2VsRmV0Y2hNaXNzaW5nSWZOZWVkZWQoKTtcbiAgICAgICAgfVxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IF9taXNzaW5nU2VsZWN0ZWQ6IG5ld01pc3NpbmcgfSk7XG4gICAgICAgIHJldHVybiBuZXdNaXNzaW5nO1xuICAgICAgfSxcbiAgICAgIF9sb2FkTWlzc2luZ1NlbGVjdGVkKCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gc3RvcmUuZGF0YXNvdXJjZSgpO1xuICAgICAgICBjb25zdCByZWFsbHlNaXNzaW5nID0gdGhpcy5fc2V0QW5kR2V0TWlzc2luZygpO1xuICAgICAgICBpZiAoIXVudHJhY2tlZChzdG9yZS5sb2FkaW5nKSAmJiBkYXRhc291cmNlKSB7XG4gICAgICAgICAgaWYgKHJlYWxseU1pc3NpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fZmV0Y2hNaXNzaW5nKHJlYWxseU1pc3NpbmcsIGRhdGFzb3VyY2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGluaXRpYWxpemVkOiB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jYW5jZWxGZXRjaE1pc3NpbmdJZk5lZWRlZCgpIHtcbiAgICAgICAgY29uc3QgZmV0Y2hNaXNzaW5nUmVxID0gdW50cmFja2VkKHN0b3JlLl9mZXRjaE1pc3NpbmdSZXF1ZXN0KTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUub3B0aW9ucyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBmZXRjaE1pc3NpbmdSZXE/Lmlkcy5ldmVyeSgoaWQpID0+IGl0ZW1zLnNvbWUoKGl0KSA9PiBpdC5pZCA9PT0gaWQpKVxuICAgICAgICApIHtcbiAgICAgICAgICBmZXRjaE1pc3NpbmdSZXEuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgX2ZldGNoTWlzc2luZ1JlcXVlc3Q6IG51bGwsXG4gICAgICAgICAgICBfbWlzc2luZ1NlbGVjdGVkOiBbXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9mZXRjaE1pc3NpbmcoaWRzOiBUSWRbXSwgZGF0YXNvdXJjZTogUmR0U2VsZWN0RGF0YXNvdXJjZTxULCBUSWQ+KSB7XG4gICAgICAgIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YiA9IGRhdGFzb3VyY2UuZ2V0SXRlbXNCeUlkcyhpZHMpLnN1YnNjcmliZSgobWFwKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3TWlzc2luZzogVElkW10gPSBbXTtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZCA9IG5ldyBNYXAodW50cmFja2VkKHN0b3JlLnNlbGVjdGVkTWFwKSk7XG4gICAgICAgICAgZm9yIChjb25zdCBpZCBvZiB1bnRyYWNrZWQoc3RvcmUuX21pc3NpbmdTZWxlY3RlZCkpIHtcbiAgICAgICAgICAgIGlmIChtYXAuaGFzKGlkKSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1hcC5nZXQoaWQpITtcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBkYXRhc291cmNlLmdldExhYmVsKHZhbHVlKTtcbiAgICAgICAgICAgICAgbmV3U2VsZWN0ZWQuc2V0KGlkLCB7IGxhYmVsLCB2YWx1ZSwgaWQgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXdNaXNzaW5nLnB1c2goaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogbnVsbCxcbiAgICAgICAgICAgIF9taXNzaW5nU2VsZWN0ZWQ6IG5ld01pc3NpbmcsXG4gICAgICAgICAgICBzZWxlY3RlZE1hcDogbmV3U2VsZWN0ZWQsXG4gICAgICAgICAgICBpbml0aWFsaXplZDogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLl9sb2FkTWlzc2luZ1NlbGVjdGVkKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXN1Yi5jbG9zZWQpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBfZmV0Y2hNaXNzaW5nUmVxdWVzdDogeyBpZHMsIHN1YnNjcmlwdGlvbjogc3ViIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzZWxlY3RTaW5nbGUoaWQ6IFRJZCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkKFtpZF0pO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZShpZDogVElkKSB7XG4gICAgICAgIGNvbnN0IG9sZE1hcCA9IHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZE1hcCk7XG4gICAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk7XG4gICAgICAgIGlmICghZGF0YXNvdXJjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGF0YXNvdXJjZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2xkTWFwLmhhcyhpZCkpIHtcbiAgICAgICAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKG9sZE1hcCk7XG4gICAgICAgICAgbmV3TWFwLmRlbGV0ZShpZCk7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1hcDogbmV3TWFwIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSB1bnRyYWNrZWQoc3RvcmUub3B0aW9ucykuZmluZCgoaXQpID0+IGl0LmlkID09PSBpZCk7XG4gICAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdChbaWRdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmV3TWFwID0gbmV3IE1hcChvbGRNYXApO1xuICAgICAgICAgICAgbmV3TWFwLnNldChpZCwgaXRlbSk7XG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTWFwOiBuZXdNYXAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgY2FuY2VsRmV0Y2goKSB7XG4gICAgICAgIHVudHJhY2tlZChzdG9yZS5fZmV0Y2hSZXF1ZXN0KT8uc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hSZXF1ZXN0OiBudWxsLFxuICAgICAgICAgIGZldGNoRXJyb3I6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGlzU2VsZWN0ZWQoaXRlbTogVCkge1xuICAgICAgICBjb25zdCBkYXRhc291cmNlID0gdW50cmFja2VkKHN0b3JlLmRhdGFzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGFzb3VyY2UpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaWQgPSBkYXRhc291cmNlLmdldElkKGl0ZW0pO1xuICAgICAgICByZXR1cm4gdW50cmFja2VkKHN0b3JlLnNlbGVjdGVkTWFwKS5oYXMoaWQpO1xuICAgICAgfSxcbiAgICAgIHNldFBhZ2VTaXplKHNpemU6IG51bWJlcikge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHBhZ2VTaXplOiBzaXplIH0pO1xuICAgICAgfSxcbiAgICAgIF9nZXRMYWJlbFZhbHVlSWRzKGl0ZW1zOiBUW10pOiBSZHRMYWJlbFZhbHVlSWQ8VCwgVElkPltdIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgaWYgKCFkYXRhc291cmNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEYXRhc291cmNlIG5vdCBzZXQhJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZGF0YXNvdXJjZS5nZXRMYWJlbChpdGVtKSxcbiAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICBpZDogZGF0YXNvdXJjZS5nZXRJZChpdGVtKSxcbiAgICAgICAgfSkpO1xuICAgICAgfSxcbiAgICB9KSlcbiAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFJkdFNlbGVjdFN0b3JlID0gZ2V0UmR0U2VsZWN0U3RvcmU8YW55LCBhbnk+KCk7XG5leHBvcnQgdHlwZSBSZHRTZWxlY3RTdG9yZTxUID0gYW55LCBUSWQgPSBudW1iZXI+ID0gSW5zdGFuY2VUeXBlPFxuICBSZXR1cm5UeXBlPHR5cGVvZiBnZXRSZHRTZWxlY3RTdG9yZTxULCBUSWQ+PlxuPjtcblxuZnVuY3Rpb24gZ2V0UmR0U2VsZWN0RXJyb3IoZXJyb3I6IGFueSkge1xuICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG4gIH0gZWxzZSBpZiAoZXJyb3IgJiYgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyAmJiAnbWVzc2FnZScgaW4gZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IubWVzc2FnZTtcbiAgfVxuICByZXR1cm4gJ05hc3RhbGEgY2h5YmEuJztcbn1cbiJdfQ==","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, untracked, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal, } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport { RdtObjectUtils } from '@ngrdt/utils';\nimport { isEqual } from 'lodash-es';\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 const control = this.control();\n if (control && control.value !== null) {\n const arr = Array.isArray(control.value)\n ? control.value\n : [control.value];\n this.store.init(arr);\n }\n else {\n this.store.init(null);\n }\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 storeValueChangeEffect = effect(() => {\n const selectedMap = this.store.selectedMap();\n const values = Array.from(selectedMap.keys());\n const internalValue = untracked(this.internalValue);\n if (!untracked(this.store.datasource) ||\n !untracked(this.store.initialized)) {\n return;\n }\n if (values.length > 0) {\n const arrayInternalValue = Array.isArray(internalValue)\n ? internalValue\n : internalValue !== null\n ? [internalValue]\n : [];\n if (!isEqual(arrayInternalValue, values)) {\n this.onInternalValueChange(values);\n }\n }\n else {\n this.onInternalValueChange(null);\n }\n });\n externalValueEffect = effect(() => {\n const externalValue = this.externalValue();\n const selectedMap = untracked(this.store.selectedMap);\n const values = Array.from(selectedMap.keys());\n if (externalValue !== null) {\n const newExternalValue = Array.isArray(externalValue)\n ? externalValue\n : [externalValue];\n if (!isEqual(newExternalValue, values)) {\n this.store.setSelected(newExternalValue);\n }\n }\n else {\n this.store.unselectAll();\n }\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL2lucHV0cy9zZWxlY3QvcmR0LWJhc2Utc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEVBQ1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFFBQVEsR0FDVCxNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUcxRCxNQUFNLE9BQWdCLDRCQUlwQixTQUFRLHlCQUFzQztJQUNyQyxlQUFlLEdBQUcsS0FBSyxDQUM5QixJQUFJLENBQ0wsQ0FBQztJQUNPLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUErQixDQUFDO0lBQzdELGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUMzQyxxQkFBcUIsR0FBRyxLQUFLLENBQ3BDLElBQUksRUFDSjtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7S0FDeEIsQ0FDRixDQUFDO0lBQ08sZ0JBQWdCLEdBQUcsWUFBWSxDQUFD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IGluamVjdCxcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHRha2VVbnRpbERlc3Ryb3llZCxcbiAgdG9PYnNlcnZhYmxlLFxuICB0b1NpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFJkdE9iamVjdFV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRCYXNlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9yZHQtYmFzZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHRTZWxlY3REYXRhc291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlL3JkdC1zZWxlY3QtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBSZHRTZWxlY3RTdG9yZSB9IGZyb20gJy4vc3RhdGUvcmR0LXNlbGVjdC1zdG9yZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJkdEJhc2VTZWxlY3RDb21tb25Db21wb25lbnQ8XG4gIFRJdGVtLFxuICBUSWQsXG4gIFRPdXQgZXh0ZW5kcyBUSWQgfCBUSWRbXVxuPiBleHRlbmRzIFJkdEJhc2VGb3JtSW5wdXRDb21wb25lbnQ8VE91dCwgVElkW10+IHtcbiAgcmVhZG9ubHkgZGF0YXNvdXJjZUlucHV0ID0gaW5wdXQ8UmR0U2VsZWN0RGF0YXNvdXJjZTxUSXRlbSwgVElkPiB8IG51bGw+KFxuICAgIG51bGxcbiAgKTtcbiAgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoUmR0U2VsZWN0U3RvcmUpIGFzIFJkdFNlbGVjdFN0b3JlPFRJdGVtLCBUSWQ+O1xuICByZWFkb25seSB2aXNpYmxlT3B0aW9ucyA9IHRoaXMuc3RvcmUudmlzaWJsZU9wdGlvbnM7XG4gIHJlYWRvbmx5IHF1ZXJ5VmFsaWRhdG9yRm5JbnB1dCA9IGlucHV0PE51bGxhYmxlPFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXT4+KFxuICAgIG51bGwsXG4gICAge1xuICAgICAgYWxpYXM6ICdpbnB1dFZhbGlkYXRvcicsXG4gICAgfVxuICApO1xuICByZWFkb25seSBxdWVyeVZhbGlkYXRvckZuID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMucXVlcnlWYWxpZGF0b3JGbklucHV0KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5VmFsaWRhdG9yRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLnF1ZXJ5VmFsaWRhdG9yRm4oKTtcbiAgICBpZiAodmFsaWRhdG9yKSB7XG4gICAgICB0aGlzLmlucHV0Q3RybC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5wdXRDdHJsLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIH1cbiAgfSk7XG4gIHJlYWRvbmx5IGlucHV0Q3RybCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEN0cmxFdmVudHMgPSB0b1NpZ25hbCh0aGlzLmlucHV0Q3RybC5ldmVudHMpO1xuICByZWFkb25seSBpbnB1dEVycm9ycyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmlucHV0Q3RybEV2ZW50cygpO1xuICAgIGlmICh0aGlzLmlucHV0Q3RybC50b3VjaGVkICYmIHRoaXMuaW5wdXRDdHJsLmludmFsaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlucHV0Q3RybC5lcnJvcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSk7XG4gIHJlYWRvbmx5IGRlYm91bmNlVGltZUlucHV0ID0gaW5wdXQ8bnVtYmVyPigzMDAsIHtcbiAgICBhbGlhczogJ2RlYm91bmNlJyxcbiAgfSk7XG4gIHJlYWRvbmx5IGRlYm91bmNlVGltZSA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmRlYm91bmNlVGltZUlucHV0KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlYm91bmNlZElucHV0JCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmRlYm91bmNlVGltZSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKHRpbWUpID0+IHRoaXMuaW5wdXRDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aW1lKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcbiAgcmVhZG9ubHkgZGVib3VuY2VkSW5wdXQgPSB0b1NpZ25hbCh0aGlzLmRlYm91bmNlZElucHV0JCwge1xuICAgIGluaXRpYWxWYWx1ZTogbnVsbCxcbiAgfSk7XG4gIHJlYWRvbmx5IHBhZ2VTaXplSW5wdXQgPSBpbnB1dCgyMCwge1xuICAgIGFsaWFzOiAncGFnZVNpemUnLFxuICB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWdlU2l6ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PlxuICAgIHRoaXMuc3RvcmUuc2V0UGFnZVNpemUodGhpcy5wYWdlU2l6ZUlucHV0KCkpXG4gICk7XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbG9hZGluZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zdG9yZS5sb2FkaW5nKCkgfHxcbiAgICAgIHRoaXMubG9hZGluZ0lucHV0KCkgfHxcbiAgICAgIFJkdE9iamVjdFV0aWxzLnNvbWVWYWx1ZXNUcnVlKHRoaXMubG9hZGluZ01hcCgpKVxuICAgICk7XG4gIH0pO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29udHJvbCgpO1xuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGFyciA9IEFycmF5LmlzQXJyYXkoY29udHJvbC52YWx1ZSlcbiAgICAgICAgPyBjb250cm9sLnZhbHVlXG4gICAgICAgIDogW2NvbnRyb2wudmFsdWVdO1xuICAgICAgdGhpcy5zdG9yZS5pbml0KGFyciBhcyBUSWRbXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuaW5pdChudWxsKTtcbiAgICB9XG4gICAgdGhpcy5kZWJvdW5jZWRJbnB1dCRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuaGFuZGxlSW5wdXQodmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVJbnB1dCh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuc2V0UXVlcnkodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlVmFsdWVDaGFuZ2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gdGhpcy5zdG9yZS5zZWxlY3RlZE1hcCgpO1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmZyb20oc2VsZWN0ZWRNYXAua2V5cygpKTtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlID0gdW50cmFja2VkKHRoaXMuaW50ZXJuYWxWYWx1ZSk7XG5cbiAgICBpZiAoXG4gICAgICAhdW50cmFja2VkKHRoaXMuc3RvcmUuZGF0YXNvdXJjZSkgfHxcbiAgICAgICF1bnRyYWNrZWQodGhpcy5zdG9yZS5pbml0aWFsaXplZClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhcnJheUludGVybmFsVmFsdWUgPSBBcnJheS5pc0FycmF5KGludGVybmFsVmFsdWUpXG4gICAgICAgID8gaW50ZXJuYWxWYWx1ZVxuICAgICAgICA6IGludGVybmFsVmFsdWUgIT09IG51bGxcbiAgICAgICAgPyBbaW50ZXJuYWxWYWx1ZV1cbiAgICAgICAgOiBbXTtcbiAgICAgIGlmICghaXNFcXVhbChhcnJheUludGVybmFsVmFsdWUsIHZhbHVlcykpIHtcbiAgICAgICAgdGhpcy5vbkludGVybmFsVmFsdWVDaGFuZ2UodmFsdWVzKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkludGVybmFsVmFsdWVDaGFuZ2UobnVsbCk7XG4gICAgfVxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXh0ZXJuYWxWYWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZXh0ZXJuYWxWYWx1ZSA9IHRoaXMuZXh0ZXJuYWxWYWx1ZSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkTWFwID0gdW50cmFja2VkKHRoaXMuc3RvcmUuc2VsZWN0ZWRNYXApO1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmZyb20oc2VsZWN0ZWRNYXAua2V5cygpKTtcblxuICAgIGlmIChleHRlcm5hbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBuZXdFeHRlcm5hbFZhbHVlID0gQXJyYXkuaXNBcnJheShleHRlcm5hbFZhbHVlKVxuICAgICAgICA/IGV4dGVybmFsVmFsdWVcbiAgICAgICAgOiBbZXh0ZXJuYWxWYWx1ZV07XG5cbiAgICAgIGlmICghaXNFcXVhbChuZXdFeHRlcm5hbFZhbHVlLCB2YWx1ZXMpKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2V0U2VsZWN0ZWQobmV3RXh0ZXJuYWxWYWx1ZSBhcyBUSWRbXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUudW5zZWxlY3RBbGwoKTtcbiAgICB9XG4gIH0pO1xufVxuIl19","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=","import { FormControl, } from '@angular/forms';\nimport { RdtDateUtils } from '@ngrdt/utils';\nimport { distinctUntilChanged, merge, takeUntil, } from 'rxjs';\nexport class RdtDateValidators {\n static notInFuture = (control) => {\n let value = null;\n if (control.value == null) {\n value = null;\n }\n else if (typeof control.value === 'string') {\n value = Date.parse(control.value);\n }\n else if (typeof control.value === 'number') {\n value = control.value;\n }\n else if (control.value instanceof Date) {\n value = control.value.getTime();\n }\n if (value == null || Date.now() > value) {\n return null;\n }\n return {\n dateInFuture: true,\n };\n };\n static lastDayOfMonth = (control) => {\n if (control.value == null) {\n return null;\n }\n const date = new Date(control.value);\n const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n if (date.getDate() === lastDay.getDate()) {\n return null;\n }\n return {\n lastDayOfMonth: true,\n };\n };\n static greaterOrEqualToField(startDateField, error = 'Platnost do musí být později než platnost od.', unsubscribeSubj) {\n let subbed = false;\n return (endControl) => {\n const startControl = startDateField instanceof FormControl\n ? startDateField\n : endControl.parent?.get(startDateField);\n if (!startControl) {\n return null;\n }\n if (!subbed) {\n subbed = true;\n let change$ = merge(startControl.statusChanges.pipe(distinctUntilChanged()), startControl.valueChanges.pipe(distinctUntilChanged()));\n if (unsubscribeSubj) {\n change$ = change$.pipe(takeUntil(unsubscribeSubj));\n }\n if (change$) {\n change$.subscribe(() => {\n endControl.updateValueAndValidity();\n });\n }\n }\n const startDate = startControl?.value;\n const endDate = endControl.value;\n if (!startDate || !endDate) {\n return null;\n }\n if (Date.parse(startDate) > Date.parse(endDate)) {\n return { dateGreaterOrEqualToField: error };\n }\n return null;\n };\n }\n static lessOrEqualToField(endDateField, error = 'Platnost od musí být dříve než platnost do.', unsubscribeSubj) {\n let subbed = false;\n return (startControl) => {\n const endControl = endDateField instanceof FormControl\n ? endDateField\n : startControl.parent?.get(endDateField);\n if (!endControl) {\n return null;\n }\n if (!subbed) {\n subbed = true;\n let change$ = merge(endControl.statusChanges.pipe(distinctUntilChanged()), endControl.valueChanges.pipe(distinctUntilChanged()));\n if (unsubscribeSubj) {\n change$ = change$.pipe(takeUntil(unsubscribeSubj));\n }\n change$.subscribe(() => {\n startControl.updateValueAndValidity();\n });\n }\n const startDate = startControl.value;\n const endDate = endControl?.value;\n if (!startDate || !endDate) {\n return null;\n }\n if (Date.parse(startDate) > Date.parse(endDate)) {\n return { dateLessOrEqualToField: error };\n }\n return null;\n };\n }\n static lessOrEqualToConstant(value) {\n return (control) => RdtDateValidators.getDateRangeErrors(control.value, null, value);\n }\n static greaterOrEqualToConstant(value) {\n return (control) => RdtDateValidators.getDateRangeErrors(control.value, value, null);\n }\n static getDateRangeErrors(value, minDate, maxDate) {\n if ((minDate == null && maxDate == null) || value == null) {\n return null;\n }\n const dateValue = Date.parse(value);\n let minDateValue = RdtDateUtils.parse(minDate);\n let maxDateValue = RdtDateUtils.parse(maxDate);\n if (minDateValue) {\n minDateValue = RdtDateUtils.startOfDay(new Date(minDateValue)).getTime();\n }\n if (maxDateValue) {\n maxDateValue = RdtDateUtils.endOfDay(new Date(maxDateValue)).getTime();\n }\n const errors = {};\n if (minDateValue !== null && dateValue < minDateValue) {\n errors['dateGreaterOrEqualToConstant'] = {\n min: RdtDateUtils.formatDate(minDate),\n actual: RdtDateUtils.formatDate(value),\n };\n }\n if (maxDateValue !== null && dateValue > maxDateValue) {\n errors['dateLessOrEqualToConstant'] = {\n max: RdtDateUtils.formatDate(maxDate),\n actual: RdtDateUtils.formatDate(value),\n };\n }\n if (Object.keys(errors).length === 0) {\n return null;\n }\n else {\n return errors;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3ZhbGlkYXRvcnMvZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsV0FBVyxHQUdaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFZLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBVSxXQUFXLEdBQWdCLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ3RFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzthQUFNLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDekMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FB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SSxZQUFZLEtBQUssSUFBSSxJQUFJLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsOEJBQThCLENBQUMsR0FBRztnQkFDdkMsR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDdkMsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksU0FBUyxHQUFHLFlBQVksRUFBRSxDQUFDO1lBQ3RELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHO2dCQUNwQyxHQUFHLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3JDLE1BQU0sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUN2QyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlLCBSZHREYXRlVXRpbHMgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgUmR0RGF0ZVZhbGlkYXRvcnMge1xuICBzdGF0aWMgcmVhZG9ubHkgbm90SW5GdXR1cmU6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IG51bGw7XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gRGF0ZS5wYXJzZShjb250cm9sLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHZhbHVlID0gY29udHJvbC52YWx1ZS5nZXRUaW1lKCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09IG51bGwgfHwgRGF0ZS5ub3coKSA+IHZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVJbkZ1dHVyZTogdHJ1ZSxcbiAgICB9O1xuICB9O1xuXG4gIHN0YXRpYyBsYXN0RGF5T2ZNb250aDogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjb250cm9sLnZhbHVlKTtcbiAgICBjb25zdCBsYXN0RGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAwKTtcbiAgICBpZiAoZGF0ZS5nZXREYXRlKCkgPT09IGxhc3REYXkuZ2V0RGF0ZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhc3REYXlPZk1vbnRoOiB0cnVlLFxuICAgIH07XG4gIH07XG5cbiAgc3RhdGljIGdyZWF0ZXJPckVxdWFsVG9GaWVsZChcbiAgICBzdGFydERhdGVGaWVsZDogc3RyaW5nIHwgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4sXG4gICAgZXJyb3IgPSAnUGxhdG5vc3QgZG8gbXVzw60gYsO9dCBwb3pkxJtqaSBuZcW+IHBsYXRub3N0IG9kLicsXG4gICAgdW5zdWJzY3JpYmVTdWJqPzogU3ViamVjdDx2b2lkPlxuICApOiBWYWxpZGF0b3JGbiB7XG4gICAgbGV0IHN1YmJlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIChlbmRDb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnN0IHN0YXJ0Q29udHJvbCA9XG4gICAgICAgIHN0YXJ0RGF0ZUZpZWxkIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xcbiAgICAgICAgICA/IHN0YXJ0RGF0ZUZpZWxkXG4gICAgICAgICAgOiBlbmRDb250cm9sLnBhcmVudD8uZ2V0KHN0YXJ0RGF0ZUZpZWxkKTtcblxuICAgICAgaWYgKCFzdGFydENvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICghc3ViYmVkKSB7XG4gICAgICAgIHN1YmJlZCA9IHRydWU7XG4gICAgICAgIGxldCBjaGFuZ2UkOiBPYnNlcnZhYmxlPGFueT4gfCB1bmRlZmluZWQgPSBtZXJnZShcbiAgICAgICAgICBzdGFydENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICAgIHN0YXJ0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICApO1xuICAgICAgICBpZiAodW5zdWJzY3JpYmVTdWJqKSB7XG4gICAgICAgICAgY2hhbmdlJCA9IGNoYW5nZSQucGlwZSh0YWtlVW50aWwodW5zdWJzY3JpYmVTdWJqKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZSQpIHtcbiAgICAgICAgICBjaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBlbmRDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnRDb250cm9sPy52YWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmRDb250cm9sLnZhbHVlO1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoRGF0ZS5wYXJzZShzdGFydERhdGUpID4gRGF0ZS5wYXJzZShlbmREYXRlKSkge1xuICAgICAgICByZXR1cm4geyBkYXRlR3JlYXRlck9yRXF1YWxUb0ZpZWxkOiBlcnJvciB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBsZXNzT3JFcXVhbFRvRmllbGQoXG4gICAgZW5kRGF0ZUZpZWxkOiBzdHJpbmcgfCBGb3JtQ29udHJvbDxzdHJpbmc+IHwgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4sXG4gICAgZXJyb3IgPSAnUGxhdG5vc3Qgb2QgbXVzw60gYsO9dCBkxZnDrXZlIG5lxb4gcGxhdG5vc3QgZG8uJyxcbiAgICB1bnN1YnNjcmliZVN1Ymo/OiBTdWJqZWN0PHZvaWQ+XG4gICk6IFZhbGlkYXRvckZuIHtcbiAgICBsZXQgc3ViYmVkID0gZmFsc2U7XG4gICAgcmV0dXJuIChzdGFydENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgY29uc3QgZW5kQ29udHJvbCA9XG4gICAgICAgIGVuZERhdGVGaWVsZCBpbnN0YW5jZW9mIEZvcm1Db250cm9sXG4gICAgICAgICAgPyBlbmREYXRlRmllbGRcbiAgICAgICAgICA6IHN0YXJ0Q29udHJvbC5wYXJlbnQ/LmdldChlbmREYXRlRmllbGQpO1xuICAgICAgaWYgKCFlbmRDb250cm9sKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFzdWJiZWQpIHtcbiAgICAgICAgc3ViYmVkID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNoYW5nZSQ6IE9ic2VydmFibGU8YW55PiB8IHVuZGVmaW5lZCA9IG1lcmdlKFxuICAgICAgICAgIGVuZENvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICAgIGVuZENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHVuc3Vic2NyaWJlU3Viaikge1xuICAgICAgICAgIGNoYW5nZSQgPSBjaGFuZ2UkLnBpcGUodGFrZVVudGlsKHVuc3Vic2NyaWJlU3ViaikpO1xuICAgICAgICB9XG4gICAgICAgIGNoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBzdGFydENvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmRDb250cm9sPy52YWx1ZTtcbiAgICAgIGlmICghc3RhcnREYXRlIHx8ICFlbmREYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKERhdGUucGFyc2Uoc3RhcnREYXRlKSA+IERhdGUucGFyc2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsgZGF0ZUxlc3NPckVxdWFsVG9GaWVsZDogZXJyb3IgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgbGVzc09yRXF1YWxUb0NvbnN0YW50KHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+XG4gICAgICBSZHREYXRlVmFsaWRhdG9ycy5nZXREYXRlUmFuZ2VFcnJvcnMoY29udHJvbC52YWx1ZSwgbnVsbCwgdmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIGdyZWF0ZXJPckVxdWFsVG9Db25zdGFudCh2YWx1ZTogRGF0ZSB8IHN0cmluZykge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PlxuICAgICAgUmR0RGF0ZVZhbGlkYXRvcnMuZ2V0RGF0ZVJhbmdlRXJyb3JzKGNvbnRyb2wudmFsdWUsIHZhbHVlLCBudWxsKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREYXRlUmFuZ2VFcnJvcnMoXG4gICAgdmFsdWU6IE51bGxhYmxlPHN0cmluZz4sXG4gICAgbWluRGF0ZTogTnVsbGFibGU8RGF0ZSB8IHN0cmluZz4sXG4gICAgbWF4RGF0ZTogTnVsbGFibGU8RGF0ZSB8IHN0cmluZz5cbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICgobWluRGF0ZSA9PSBudWxsICYmIG1heERhdGUgPT0gbnVsbCkgfHwgdmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGVWYWx1ZSA9IERhdGUucGFyc2UodmFsdWUpO1xuICAgIGxldCBtaW5EYXRlVmFsdWUgPSBSZHREYXRlVXRpbHMucGFyc2UobWluRGF0ZSk7XG4gICAgbGV0IG1heERhdGVWYWx1ZSA9IFJkdERhdGVVdGlscy5wYXJzZShtYXhEYXRlKTtcblxuICAgIGlmIChtaW5EYXRlVmFsdWUpIHtcbiAgICAgIG1pbkRhdGVWYWx1ZSA9IFJkdERhdGVVdGlscy5zdGFydE9mRGF5KG5ldyBEYXRlKG1pbkRhdGVWYWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9XG4gICAgaWYgKG1heERhdGVWYWx1ZSkge1xuICAgICAgbWF4RGF0ZVZhbHVlID0gUmR0RGF0ZVV0aWxzLmVuZE9mRGF5KG5ldyBEYXRlKG1heERhdGVWYWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSB7fTtcblxuICAgIGlmIChtaW5EYXRlVmFsdWUgIT09IG51bGwgJiYgZGF0ZVZhbHVlIDwgbWluRGF0ZVZhbHVlKSB7XG4gICAgICBlcnJvcnNbJ2RhdGVHcmVhdGVyT3JFcXVhbFRvQ29uc3RhbnQnXSA9IHtcbiAgICAgICAgbWluOiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZShtaW5EYXRlKSxcbiAgICAgICAgYWN0dWFsOiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZSh2YWx1ZSksXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAobWF4RGF0ZVZhbHVlICE9PSBudWxsICYmIGRhdGVWYWx1ZSA+IG1heERhdGVWYWx1ZSkge1xuICAgICAgZXJyb3JzWydkYXRlTGVzc09yRXF1YWxUb0NvbnN0YW50J10gPSB7XG4gICAgICAgIG1heDogUmR0RGF0ZVV0aWxzLmZvcm1hdERhdGUobWF4RGF0ZSksXG4gICAgICAgIGFjdHVhbDogUmR0RGF0ZVV0aWxzLmZvcm1hdERhdGUodmFsdWUpLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKGVycm9ycykubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { FormGroup, } from '@angular/forms';\nexport class RdtCommonValidators {\n static atLeastOneRequired = () => null;\n static atLeastOneRequiredParent = (control) => {\n if (!(control instanceof FormGroup)) {\n throw new Error('Apply this validator to FormGroup.');\n }\n let someControlsHaveIt = false;\n for (const key in control.controls) {\n const ctrl = control.controls[key];\n if (ctrl.hasValidator(RdtCommonValidators.atLeastOneRequired)) {\n if (ctrl.value !== '' && ctrl.value != null) {\n return null;\n }\n someControlsHaveIt = true;\n }\n }\n if (someControlsHaveIt) {\n return {\n atLeastOneRequired: true,\n };\n }\n return null;\n };\n static cannotContainChars(chars) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (chars.some((char) => value.includes(char))) {\n return {\n cannotContainChars: chars,\n };\n }\n return null;\n };\n }\n static startsWithPrefix(text) {\n return (control) => {\n const isValid = control.value?.startsWith(text);\n return isValid\n ? null\n : {\n mustHavePrefix: {\n text,\n },\n };\n };\n }\n static exactLength(length) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (value.length !== length) {\n return {\n exactLength: length,\n };\n }\n return null;\n };\n }\n static maxNumLength(length) {\n return (control) => {\n if (!control.value) {\n return null;\n }\n const maxlengthError = { requiredLength: length };\n const constrolValue = control.value + '';\n if (constrolValue.length > length) {\n return {\n maxlength: maxlengthError,\n };\n }\n return null;\n };\n }\n static mustBeLowercase = (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (value !== value.toLowerCase()) {\n return {\n mustBeLowercase: true,\n };\n }\n return null;\n };\n static cannotContainAccents = (control) => {\n if (!control.value) {\n return null;\n }\n const value = control.value;\n if (/^[a-zA-Z0-9]+$/.test(value)) {\n return null;\n }\n else {\n return {\n cannotContainSpecialChars: true,\n };\n }\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9mb3Jtcy9zcmMvbGliL3ZhbGlkYXRvcnMvZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQVUsa0JBQWtCLEdBQWdCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUU3RCxNQUFNLENBQVUsd0JBQXdCLEdBQWdCLENBQ3RELE9BQXdCLEVBQ3hCLEVBQUU7UUFDRixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM1QyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2dCQUNELGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixPQUFPO2dCQUNMLGtCQUFrQixFQUFFLElBQUk7YUFDekIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FB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dEMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTztnQkFDTCx5QkFBeUIsRUFBRSxJQUFJO2FBQ2hDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBSZHRDb21tb25WYWxpZGF0b3JzIHtcbiAgc3RhdGljIHJlYWRvbmx5IGF0TGVhc3RPbmVSZXF1aXJlZDogVmFsaWRhdG9yRm4gPSAoKSA9PiBudWxsO1xuXG4gIHN0YXRpYyByZWFkb25seSBhdExlYXN0T25lUmVxdWlyZWRQYXJlbnQ6IFZhbGlkYXRvckZuID0gKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbFxuICApID0+IHtcbiAgICBpZiAoIShjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBseSB0aGlzIHZhbGlkYXRvciB0byBGb3JtR3JvdXAuJyk7XG4gICAgfVxuXG4gICAgbGV0IHNvbWVDb250cm9sc0hhdmVJdCA9IGZhbHNlO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY29udHJvbC5jb250cm9scykge1xuICAgICAgY29uc3QgY3RybCA9IGNvbnRyb2wuY29udHJvbHNba2V5XTtcbiAgICAgIGlmIChjdHJsLmhhc1ZhbGlkYXRvcihSZHRDb21tb25WYWxpZGF0b3JzLmF0TGVhc3RPbmVSZXF1aXJlZCkpIHtcbiAgICAgICAgaWYgKGN0cmwudmFsdWUgIT09ICcnICYmIGN0cmwudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNvbWVDb250cm9sc0hhdmVJdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzb21lQ29udHJvbHNIYXZlSXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF0TGVhc3RPbmVSZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHN0YXRpYyBjYW5ub3RDb250YWluQ2hhcnMoY2hhcnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIGlmIChjaGFycy5zb21lKChjaGFyKSA9PiB2YWx1ZS5pbmNsdWRlcyhjaGFyKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjYW5ub3RDb250YWluQ2hhcnM6IGNoYXJzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBzdGFydHNXaXRoUHJlZml4KHRleHQ6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBjb250cm9sLnZhbHVlPy5zdGFydHNXaXRoKHRleHQpO1xuICAgICAgcmV0dXJuIGlzVmFsaWRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgbXVzdEhhdmVQcmVmaXg6IHtcbiAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGV4YWN0TGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIGlmICh2YWx1ZS5sZW5ndGggIT09IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGV4YWN0TGVuZ3RoOiBsZW5ndGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIG1heE51bUxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhsZW5ndGhFcnJvciA9IHsgcmVxdWlyZWRMZW5ndGg6IGxlbmd0aCB9O1xuICAgICAgY29uc3QgY29uc3Ryb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWUgKyAnJztcbiAgICAgIGlmIChjb25zdHJvbFZhbHVlLmxlbmd0aCA+IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1heGxlbmd0aDogbWF4bGVuZ3RoRXJyb3IsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIG11c3RCZUxvd2VyY2FzZTogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xuICAgIGlmICh2YWx1ZSAhPT0gdmFsdWUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbXVzdEJlTG93ZXJjYXNlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgc3RhdGljIGNhbm5vdENvbnRhaW5BY2NlbnRzOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZSBhcyBzdHJpbmc7XG4gICAgaWYgKC9eW2EtekEtWjAtOV0rJC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjYW5ub3RDb250YWluU3BlY2lhbENoYXJzOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtZm9ybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvZm9ybXMvc3JjL25ncmR0LWZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}