superlikers-dynamic-forms 0.2.1 → 0.2.2

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.
Files changed (28) hide show
  1. package/fesm2022/{superlikers-dynamic-forms-select-field.component-DuEQPRWC.mjs → superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs} +6 -7
  2. package/fesm2022/superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs.map +1 -0
  3. package/fesm2022/superlikers-dynamic-forms.mjs +50 -50
  4. package/fesm2022/superlikers-dynamic-forms.mjs.map +1 -1
  5. package/lib/components/base-control/base-control.component.d.ts +4 -4
  6. package/lib/directives/validator-array-message/validator-array-message.directive.d.ts +1 -1
  7. package/lib/directives/validator-message/validator-message.directive.d.ts +1 -1
  8. package/package.json +1 -3
  9. package/esm2022/lib/components/base-control/base-control.component.mjs +0 -86
  10. package/esm2022/lib/components/checkbox-field/checkbox-field.component.mjs +0 -16
  11. package/esm2022/lib/components/checkbox-group-field/checkbox-group-field.component.mjs +0 -33
  12. package/esm2022/lib/components/errors/errors.component.mjs +0 -45
  13. package/esm2022/lib/components/group-field/group-field.component.mjs +0 -22
  14. package/esm2022/lib/components/help-text/help-text.component.mjs +0 -21
  15. package/esm2022/lib/components/input-field/input-field.component.mjs +0 -16
  16. package/esm2022/lib/components/radio-field/radio-field.component.mjs +0 -16
  17. package/esm2022/lib/components/select-field/select-field.component.mjs +0 -26
  18. package/esm2022/lib/directives/helpText/help-text.directive.mjs +0 -29
  19. package/esm2022/lib/directives/validator-array-message/validator-array-message.directive.mjs +0 -49
  20. package/esm2022/lib/directives/validator-message/validator-message.directive.mjs +0 -49
  21. package/esm2022/lib/models/forms.model.mjs +0 -10
  22. package/esm2022/lib/pipes/control-injector.pipe.mjs +0 -29
  23. package/esm2022/lib/services/control-resolver/control-resolver.service.mjs +0 -59
  24. package/esm2022/lib/utils/control-data.token.mjs +0 -3
  25. package/esm2022/lib/utils/validation-error-messages.token.mjs +0 -23
  26. package/esm2022/public-api.mjs +0 -20
  27. package/esm2022/superlikers-dynamic-forms.mjs +0 -5
  28. package/fesm2022/superlikers-dynamic-forms-select-field.component-DuEQPRWC.mjs.map +0 -1
@@ -1,29 +0,0 @@
1
- import { Injector, Pipe, inject } from '@angular/core';
2
- import { CONTROL_DATA } from '../utils/control-data.token';
3
- import * as i0 from "@angular/core";
4
- export class ControlInjector {
5
- constructor() {
6
- this.injector = inject(Injector);
7
- }
8
- transform(name, control, formGroup, index) {
9
- return Injector.create({
10
- parent: this.injector,
11
- providers: [
12
- {
13
- provide: CONTROL_DATA,
14
- useValue: { key: name, control, formGroup, index }
15
- }
16
- ]
17
- });
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ControlInjector, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ControlInjector, isStandalone: true, name: "controlInjector" }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ControlInjector, decorators: [{
23
- type: Pipe,
24
- args: [{
25
- name: 'controlInjector',
26
- standalone: true
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1pbmplY3Rvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3Jtcy9zcmMvbGliL3BpcGVzL2NvbnRyb2wtaW5qZWN0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTs7QUFPMUQsTUFBTSxPQUFPLGVBQWU7SUFKNUI7UUFLRSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBYTVCO0lBWEMsU0FBUyxDQUFDLElBQVksRUFBRSxPQUFnQixFQUFFLFNBQXFCLEVBQUUsS0FBYztRQUM3RSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtpQkFDbkQ7YUFDRjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBYlUsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29udHJvbCB9IGZyb20gJy4uL21vZGVscy9mb3Jtcy5tb2RlbCdcbmltcG9ydCB7IENPTlRST0xfREFUQSB9IGZyb20gJy4uL3V0aWxzL2NvbnRyb2wtZGF0YS50b2tlbidcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjb250cm9sSW5qZWN0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xJbmplY3RvciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBpbmplY3RvciA9IGluamVjdChJbmplY3RvcilcblxuICB0cmFuc2Zvcm0obmFtZTogc3RyaW5nLCBjb250cm9sOiBDb250cm9sLCBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsIGluZGV4PzogbnVtYmVyKTogSW5qZWN0b3Ige1xuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDT05UUk9MX0RBVEEsXG4gICAgICAgICAgdXNlVmFsdWU6IHsga2V5OiBuYW1lLCBjb250cm9sLCBmb3JtR3JvdXAsIGluZGV4IH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { distinctUntilChanged, from, map, of, tap } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ControlResolver {
5
- constructor() {
6
- this.lazyControlComponents = {
7
- input: () => import('../../components/input-field/input-field.component').then(c => c.InputFieldComponent),
8
- group: () => import('../../components/group-field/group-field.component').then(c => c.GroupFieldComponent),
9
- radio: () => import('../../components/radio-field/radio-field.component').then(c => c.RadioFieldComponent),
10
- checkbox: () => import('../../components/checkbox-field/checkbox-field.component').then(c => c.CheckboxFieldComponent),
11
- 'checkbox-group': () => import('../../components/checkbox-group-field/checkbox-group-field.component').then(c => c.CheckboxGroupFieldComponent),
12
- select: () => import('../../components/select-field/select-field.component').then(c => c.SelectFieldComponent)
13
- };
14
- this.loadedControlComponents = new Map();
15
- }
16
- resolve(control, form) {
17
- const controlType = control.controlType;
18
- const isVisible = this.checkVisible(control, form);
19
- if (!isVisible)
20
- return;
21
- const loadedComponent = this.loadedControlComponents.get(controlType);
22
- if (loadedComponent)
23
- return of(loadedComponent);
24
- return from(this.lazyControlComponents[controlType]()).pipe(tap(component => {
25
- this.loadedControlComponents.set(controlType, component);
26
- }));
27
- }
28
- checkVisible(control, form) {
29
- if (!control.visible)
30
- return true;
31
- return control.visible(form);
32
- }
33
- toggleControlDisability(controls, form) {
34
- return form.valueChanges.pipe(distinctUntilChanged((prev, current) => {
35
- return JSON.stringify(prev) === JSON.stringify(current);
36
- }), map(() => {
37
- controls.forEach(control => {
38
- if (control.disabled) {
39
- const disabled = control.disabled(form);
40
- if (disabled) {
41
- form.get(control.name)?.disable();
42
- }
43
- else {
44
- form.get(control.name)?.enable();
45
- }
46
- }
47
- });
48
- }));
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ControlResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ControlResolver, providedIn: 'root' }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ControlResolver, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: 'root'
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3Jtcy9zcmMvbGliL3NlcnZpY2VzL2NvbnRyb2wtcmVzb2x2ZXIvY29udHJvbC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUE7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFRL0QsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFJVSwwQkFBcUIsR0FBZTtZQUMxQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1lBQzFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7WUFDMUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvREFBb0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxRyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1lBQ3RILGdCQUFnQixFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztZQUMvSSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHNEQUFzRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1NBQy9HLENBQUE7UUFFTyw0QkFBdUIsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQTtLQTRDbkU7SUExQ0MsT0FBTyxDQUFDLE9BQWdCLEVBQUUsSUFBZTtRQUN2QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFBO1FBRXZDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRWxELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTTtRQUV0QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXJFLElBQUksZUFBZTtZQUFFLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRS9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6RCxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQWU7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDakMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUFtQixFQUFFLElBQWU7UUFDMUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0Isb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDekQsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNyQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUN2QyxJQUFJLFFBQVEsRUFBRSxDQUFDO3dCQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFBO29CQUNuQyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUE7b0JBQ2xDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7OEdBckRVLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbSwgbWFwLCBvZiwgdGFwIH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgQ29udHJvbCwgQ29udHJvbE1hcCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3Jtcy5tb2RlbCdcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb250cm9sUmVzb2x2ZXIge1xuICBwcml2YXRlIGxhenlDb250cm9sQ29tcG9uZW50czogQ29udHJvbE1hcCA9IHtcbiAgICBpbnB1dDogKCkgPT4gaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudCcpLnRoZW4oYyA9PiBjLklucHV0RmllbGRDb21wb25lbnQpLFxuICAgIGdyb3VwOiAoKSA9PiBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvZ3JvdXAtZmllbGQvZ3JvdXAtZmllbGQuY29tcG9uZW50JykudGhlbihjID0+IGMuR3JvdXBGaWVsZENvbXBvbmVudCksXG4gICAgcmFkaW86ICgpID0+IGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9yYWRpby1maWVsZC9yYWRpby1maWVsZC5jb21wb25lbnQnKS50aGVuKGMgPT4gYy5SYWRpb0ZpZWxkQ29tcG9uZW50KSxcbiAgICBjaGVja2JveDogKCkgPT4gaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL2NoZWNrYm94LWZpZWxkL2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudCcpLnRoZW4oYyA9PiBjLkNoZWNrYm94RmllbGRDb21wb25lbnQpLFxuICAgICdjaGVja2JveC1ncm91cCc6ICgpID0+IGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9jaGVja2JveC1ncm91cC1maWVsZC9jaGVja2JveC1ncm91cC1maWVsZC5jb21wb25lbnQnKS50aGVuKGMgPT4gYy5DaGVja2JveEdyb3VwRmllbGRDb21wb25lbnQpLFxuICAgIHNlbGVjdDogKCkgPT4gaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC1maWVsZC9zZWxlY3QtZmllbGQuY29tcG9uZW50JykudGhlbihjID0+IGMuU2VsZWN0RmllbGRDb21wb25lbnQpXG4gIH1cblxuICBwcml2YXRlIGxvYWRlZENvbnRyb2xDb21wb25lbnRzID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8dW5rbm93bj4+KClcblxuICByZXNvbHZlKGNvbnRyb2w6IENvbnRyb2wsIGZvcm06IEZvcm1Hcm91cCkge1xuICAgIGNvbnN0IGNvbnRyb2xUeXBlID0gY29udHJvbC5jb250cm9sVHlwZVxuXG4gICAgY29uc3QgaXNWaXNpYmxlID0gdGhpcy5jaGVja1Zpc2libGUoY29udHJvbCwgZm9ybSlcblxuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm5cblxuICAgIGNvbnN0IGxvYWRlZENvbXBvbmVudCA9IHRoaXMubG9hZGVkQ29udHJvbENvbXBvbmVudHMuZ2V0KGNvbnRyb2xUeXBlKVxuXG4gICAgaWYgKGxvYWRlZENvbXBvbmVudCkgcmV0dXJuIG9mKGxvYWRlZENvbXBvbmVudClcblxuICAgIHJldHVybiBmcm9tKHRoaXMubGF6eUNvbnRyb2xDb21wb25lbnRzW2NvbnRyb2xUeXBlXSgpKS5waXBlKFxuICAgICAgdGFwKGNvbXBvbmVudCA9PiB7XG4gICAgICAgIHRoaXMubG9hZGVkQ29udHJvbENvbXBvbmVudHMuc2V0KGNvbnRyb2xUeXBlLCBjb21wb25lbnQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGNoZWNrVmlzaWJsZShjb250cm9sOiBDb250cm9sLCBmb3JtOiBGb3JtR3JvdXApIHtcbiAgICBpZiAoIWNvbnRyb2wudmlzaWJsZSkgcmV0dXJuIHRydWVcbiAgICByZXR1cm4gY29udHJvbC52aXNpYmxlKGZvcm0pXG4gIH1cblxuICB0b2dnbGVDb250cm9sRGlzYWJpbGl0eShjb250cm9sczogQ29udHJvbFtdLCBmb3JtOiBGb3JtR3JvdXApIHtcbiAgICByZXR1cm4gZm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycmVudClcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBjb250cm9sLmRpc2FibGVkKGZvcm0pXG4gICAgICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgZm9ybS5nZXQoY29udHJvbC5uYW1lKT8uZGlzYWJsZSgpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmb3JtLmdldChjb250cm9sLm5hbWUpPy5lbmFibGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const CONTROL_DATA = new InjectionToken('Control Data');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1kYXRhLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1mb3Jtcy9zcmMvbGliL3V0aWxzL2NvbnRyb2wtZGF0YS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBVTlDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBYyxjQUFjLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2wgfSBmcm9tICcuLi9tb2RlbHMvZm9ybXMubW9kZWwnXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sRGF0YSB7XG4gIGNvbnRyb2w6IENvbnRyb2xcbiAgZm9ybUdyb3VwPzogRm9ybUdyb3VwXG4gIGluZGV4PzogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCBDT05UUk9MX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29udHJvbERhdGE+KCdDb250cm9sIERhdGEnKVxuIl19
@@ -1,23 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { InjectionToken } from '@angular/core';
3
- export const ERROR_MESSAGES = {
4
- required: () => `This field is required`,
5
- requiredTrue: () => `This field is required`,
6
- pattern: () => `Does not match the pattern`,
7
- email: () => `Must be a valid email`,
8
- minlength: ({ requiredLength }) => `Length must be at least ${requiredLength} characters`,
9
- customError: error => error
10
- };
11
- export const ERROR_MESSAGES_ES = {
12
- required: () => `Este campo es obligatorio`,
13
- requiredTrue: () => `Este campo es obligatorio`,
14
- pattern: () => `No coincide con el patrón`,
15
- email: () => `Debe ser un correo electrónico válido`,
16
- minlength: ({ requiredLength }) => `La longitud debe ser al menos de ${requiredLength} caracteres`,
17
- customError: error => error
18
- };
19
- export const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {
20
- providedIn: 'root',
21
- factory: () => ERROR_MESSAGES
22
- });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlcy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybXMvc3JjL2xpYi91dGlscy92YWxpZGF0aW9uLWVycm9yLW1lc3NhZ2VzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBOEM7SUFDdkUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QjtJQUN4QyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsd0JBQXdCO0lBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw0QkFBNEI7SUFDM0MsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QjtJQUNwQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQywyQkFBMkIsY0FBYyxhQUFhO0lBQ3pGLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUs7Q0FDNUIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE4QztJQUMxRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsMkJBQTJCO0lBQzNDLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQywyQkFBMkI7SUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDJCQUEyQjtJQUMxQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsdUNBQXVDO0lBQ3BELFNBQVMsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLG9DQUFvQyxjQUFjLGFBQWE7SUFDbEcsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSztDQUM1QixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQUMscUJBQXFCLEVBQUU7SUFDakYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWM7Q0FDOUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRVM6IHsgW2tleTogc3RyaW5nXTogKGFyZ3M/OiBhbnkpID0+IHN0cmluZyB9ID0ge1xuICByZXF1aXJlZDogKCkgPT4gYFRoaXMgZmllbGQgaXMgcmVxdWlyZWRgLFxuICByZXF1aXJlZFRydWU6ICgpID0+IGBUaGlzIGZpZWxkIGlzIHJlcXVpcmVkYCxcbiAgcGF0dGVybjogKCkgPT4gYERvZXMgbm90IG1hdGNoIHRoZSBwYXR0ZXJuYCxcbiAgZW1haWw6ICgpID0+IGBNdXN0IGJlIGEgdmFsaWQgZW1haWxgLFxuICBtaW5sZW5ndGg6ICh7IHJlcXVpcmVkTGVuZ3RoIH0pID0+IGBMZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAke3JlcXVpcmVkTGVuZ3RofSBjaGFyYWN0ZXJzYCxcbiAgY3VzdG9tRXJyb3I6IGVycm9yID0+IGVycm9yXG59XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9NRVNTQUdFU19FUzogeyBba2V5OiBzdHJpbmddOiAoYXJncz86IGFueSkgPT4gc3RyaW5nIH0gPSB7XG4gIHJlcXVpcmVkOiAoKSA9PiBgRXN0ZSBjYW1wbyBlcyBvYmxpZ2F0b3Jpb2AsXG4gIHJlcXVpcmVkVHJ1ZTogKCkgPT4gYEVzdGUgY2FtcG8gZXMgb2JsaWdhdG9yaW9gLFxuICBwYXR0ZXJuOiAoKSA9PiBgTm8gY29pbmNpZGUgY29uIGVsIHBhdHLDs25gLFxuICBlbWFpbDogKCkgPT4gYERlYmUgc2VyIHVuIGNvcnJlbyBlbGVjdHLDs25pY28gdsOhbGlkb2AsXG4gIG1pbmxlbmd0aDogKHsgcmVxdWlyZWRMZW5ndGggfSkgPT4gYExhIGxvbmdpdHVkIGRlYmUgc2VyIGFsIG1lbm9zIGRlICR7cmVxdWlyZWRMZW5ndGh9IGNhcmFjdGVyZXNgLFxuICBjdXN0b21FcnJvcjogZXJyb3IgPT4gZXJyb3Jcbn1cblxuZXhwb3J0IGNvbnN0IFZBTElEQVRJT05fRVJST1JfTUVTU0FHRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFZhbGlkYXRpb24gTWVzc2FnZXNgLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gRVJST1JfTUVTU0FHRVNcbn0pXG4iXX0=
@@ -1,20 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-dynamic-forms
3
- */
4
- export * from './lib/pipes/control-injector.pipe';
5
- export * from './lib/models/forms.model';
6
- export * from './lib/services/control-resolver/control-resolver.service';
7
- export * from './lib/components/base-control/base-control.component';
8
- export * from './lib/components/checkbox-field/checkbox-field.component';
9
- export * from './lib/components/checkbox-group-field/checkbox-group-field.component';
10
- export * from './lib/components/errors/errors.component';
11
- export * from './lib/components/group-field/group-field.component';
12
- export * from './lib/components/help-text/help-text.component';
13
- export * from './lib/components/input-field/input-field.component';
14
- export * from './lib/components/radio-field/radio-field.component';
15
- export * from './lib/directives/helpText/help-text.directive';
16
- export * from './lib/directives/validator-array-message/validator-array-message.directive';
17
- export * from './lib/directives/validator-message/validator-message.directive';
18
- export * from './lib/utils/control-data.token';
19
- export * from './lib/utils/validation-error-messages.token';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywwREFBMEQsQ0FBQTtBQUV4RSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsMERBQTBELENBQUE7QUFDeEUsY0FBYyxzRUFBc0UsQ0FBQTtBQUNwRixjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsb0RBQW9ELENBQUE7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsb0RBQW9ELENBQUE7QUFFbEUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDRFQUE0RSxDQUFBO0FBQzFGLGNBQWMsZ0VBQWdFLENBQUE7QUFFOUUsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLDZDQUE2QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHluYW1pYy1mb3Jtc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2NvbnRyb2wtaW5qZWN0b3IucGlwZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3Jtcy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbnRyb2wtcmVzb2x2ZXIvY29udHJvbC1yZXNvbHZlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UtY29udHJvbC9iYXNlLWNvbnRyb2wuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGVja2JveC1maWVsZC9jaGVja2JveC1maWVsZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWZpZWxkL2NoZWNrYm94LWdyb3VwLWZpZWxkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXJyb3JzL2Vycm9ycy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2dyb3VwLWZpZWxkL2dyb3VwLWZpZWxkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaGVscC10ZXh0L2hlbHAtdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmFkaW8tZmllbGQvcmFkaW8tZmllbGQuY29tcG9uZW50J1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2hlbHBUZXh0L2hlbHAtdGV4dC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3ZhbGlkYXRvci1hcnJheS1tZXNzYWdlL3ZhbGlkYXRvci1hcnJheS1tZXNzYWdlLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdmFsaWRhdG9yLW1lc3NhZ2UvdmFsaWRhdG9yLW1lc3NhZ2UuZGlyZWN0aXZlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9jb250cm9sLWRhdGEudG9rZW4nXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy92YWxpZGF0aW9uLWVycm9yLW1lc3NhZ2VzLnRva2VuJ1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJsaWtlcnMtZHluYW1pYy1mb3Jtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZm9ybXMvc3JjL3N1cGVybGlrZXJzLWR5bmFtaWMtZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"superlikers-dynamic-forms-select-field.component-DuEQPRWC.mjs","sources":["../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.ts","../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n standalone: true,\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './select-field.component.html'\n})\nexport class SelectFieldComponent extends BaseControlComponent implements OnInit {\n override ngOnInit() {\n this.initialize()\n\n this.setSelectedOption()\n }\n\n setSelectedOption() {\n const selectedOption = this.control.control.options?.find(option => option.selected)\n if (!selectedOption) return\n\n this.formControl.setValue(selectedOption.value)\n }\n}\n","<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective"],"mappings":";;;;;;;AAUM,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;IACnD,QAAQ,GAAA;QACf,IAAI,CAAC,UAAU,EAAE,CAAA;QAEjB,IAAI,CAAC,iBAAiB,EAAE,CAAA;KACzB;IAED,iBAAiB,GAAA;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA;AACpF,QAAA,IAAI,CAAC,cAAc;YAAE,OAAM;QAE3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;KAChD;8GAZU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECVjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,igBAmBA,EDZiB,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAC,eAAe,CAAC,EAAA,CAAA,CAAA,EAAA;;2FAGrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EAAA,OAAA,EACP,CAAC,GAAG,iBAAiB,CAAC,EAAA,aAAA,EAChB,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,igBAAA,EAAA,CAAA;;;;;"}