@dynamic-field-kit/angular 1.2.3 → 1.2.10

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 (55) hide show
  1. package/README.md +77 -87
  2. package/dist/README.md +126 -0
  3. package/dist/components/BaseInput.d.ts +22 -0
  4. package/{components → dist/components}/DynamicInput.d.ts +24 -28
  5. package/dist/components/FieldInput.d.ts +14 -0
  6. package/{components → dist/components}/MultiFieldInput.d.ts +23 -23
  7. package/dist/esm2022/components/BaseInput.mjs +60 -0
  8. package/dist/esm2022/components/DynamicInput.mjs +162 -0
  9. package/dist/esm2022/components/FieldInput.mjs +71 -0
  10. package/dist/esm2022/components/MultiFieldInput.mjs +85 -0
  11. package/{esm2020 → dist/esm2022}/dynamic-field-kit-angular.mjs +4 -4
  12. package/dist/esm2022/layout/defaultLayouts.mjs +67 -0
  13. package/{esm2020 → dist/esm2022}/layout/index.mjs +2 -2
  14. package/dist/esm2022/lib/dynamic-field-kit.module.mjs +52 -0
  15. package/{esm2020 → dist/esm2022}/public-api.mjs +14 -14
  16. package/{esm2020 → dist/esm2022}/types/layout.mjs +2 -2
  17. package/{fesm2020 → dist/fesm2022}/dynamic-field-kit-angular.mjs +434 -337
  18. package/dist/fesm2022/dynamic-field-kit-angular.mjs.map +1 -0
  19. package/{index.d.ts → dist/index.d.ts} +5 -5
  20. package/{layout → dist/layout}/defaultLayouts.d.ts +13 -13
  21. package/dist/layout/index.d.ts +1 -0
  22. package/{lib → dist/lib}/dynamic-field-kit.module.d.ts +11 -11
  23. package/{public-api.d.ts → dist/public-api.d.ts} +9 -9
  24. package/dist/types/layout.d.ts +1 -0
  25. package/ng-package.json +7 -0
  26. package/package.json +31 -28
  27. package/src/adapters/tailwind.ts +13 -0
  28. package/src/components/BaseInput.ts +31 -0
  29. package/src/components/DynamicInput.ts +188 -0
  30. package/src/components/FieldInput.ts +49 -0
  31. package/src/components/MultiFieldInput.ts +75 -0
  32. package/src/components/imports.ts +3 -0
  33. package/src/examples/index.ts +4 -0
  34. package/src/examples/registerExample.ts +7 -0
  35. package/src/examples/text-field.component.ts +18 -0
  36. package/src/layout/defaultLayouts.ts +38 -0
  37. package/src/layout/index.ts +1 -0
  38. package/src/lib/dynamic-field-kit.module.ts +29 -0
  39. package/src/public-api.ts +24 -0
  40. package/src/types/layout.ts +1 -0
  41. package/src/types.ts +1 -0
  42. package/tsconfig.json +13 -0
  43. package/components/BaseInput.d.ts +0 -22
  44. package/components/FieldInput.d.ts +0 -14
  45. package/esm2020/components/BaseInput.mjs +0 -46
  46. package/esm2020/components/DynamicInput.mjs +0 -146
  47. package/esm2020/components/FieldInput.mjs +0 -66
  48. package/esm2020/components/MultiFieldInput.mjs +0 -79
  49. package/esm2020/layout/defaultLayouts.mjs +0 -43
  50. package/esm2020/lib/dynamic-field-kit.module.mjs +0 -20
  51. package/fesm2015/dynamic-field-kit-angular.mjs +0 -393
  52. package/fesm2015/dynamic-field-kit-angular.mjs.map +0 -1
  53. package/fesm2020/dynamic-field-kit-angular.mjs.map +0 -1
  54. package/layout/index.d.ts +0 -1
  55. package/types/layout.d.ts +0 -1
@@ -0,0 +1,162 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef, SimpleChange, } from '@angular/core';
3
+ import { fieldRegistry } from '@dynamic-field-kit/core';
4
+ import { BaseInputComponent } from './BaseInput';
5
+ import * as i0 from "@angular/core";
6
+ export class DynamicInput extends BaseInputComponent {
7
+ type;
8
+ valueChange = new EventEmitter();
9
+ onChange = new EventEmitter(); // backward compat
10
+ host;
11
+ compRef;
12
+ inputInstance;
13
+ subscriptions = [];
14
+ ngOnChanges(changes) {
15
+ if (changes['type'] && !changes['type'].firstChange && this.host) {
16
+ this.render();
17
+ return;
18
+ }
19
+ if (this.inputInstance) {
20
+ this.applyKnownProps(this.inputInstance);
21
+ const childChanges = {};
22
+ for (const prop in changes) {
23
+ childChanges[prop] = new SimpleChange(changes[prop].previousValue, changes[prop].currentValue, changes[prop].firstChange);
24
+ }
25
+ this.inputInstance.ngOnChanges?.(childChanges);
26
+ this.compRef?.changeDetectorRef.detectChanges();
27
+ }
28
+ else if (this.host) {
29
+ this.render();
30
+ }
31
+ }
32
+ ngAfterViewInit() {
33
+ this.render();
34
+ }
35
+ ngOnDestroy() {
36
+ this.cleanupSubscriptions();
37
+ this.cleanupRenderedComponent();
38
+ }
39
+ cleanupSubscriptions() {
40
+ this.subscriptions.forEach((s) => s.unsubscribe());
41
+ this.subscriptions = [];
42
+ }
43
+ render() {
44
+ const Renderer = fieldRegistry.get(this.type);
45
+ this.cleanupRenderedComponent();
46
+ this.cleanupSubscriptions();
47
+ this.host.clear();
48
+ if (!Renderer) {
49
+ const el = document.createElement('div');
50
+ el.textContent = `Unknown field type: ${this.type}`;
51
+ this.host.element.nativeElement.appendChild(el);
52
+ return;
53
+ }
54
+ try {
55
+ const compType = Renderer;
56
+ const compRef = this.host.createComponent(compType);
57
+ const instance = compRef.instance;
58
+ if (!instance) {
59
+ throw new Error(`Failed to create instance for ${this.type}`);
60
+ }
61
+ this.applyKnownProps(instance);
62
+ const subA = this.bindOutput(instance, 'valueChange');
63
+ if (subA) {
64
+ this.subscriptions.push(subA);
65
+ }
66
+ const subB = this.bindOutput(instance, 'onValueChange');
67
+ if (subB) {
68
+ this.subscriptions.push(subB);
69
+ }
70
+ instance.changeDetectorRef?.detectChanges();
71
+ this.compRef = compRef;
72
+ this.inputInstance = instance;
73
+ compRef.changeDetectorRef.detectChanges();
74
+ }
75
+ catch (err) {
76
+ // Fallback to function renderer
77
+ try {
78
+ const props = {
79
+ value: this.value,
80
+ onValueChange: (v) => this.emitValue(v),
81
+ label: this.label,
82
+ placeholder: this.placeholder,
83
+ required: this.required,
84
+ options: this.options,
85
+ className: this.className,
86
+ description: this.description,
87
+ disabled: this.disabled,
88
+ errorMessage: this.errorMessage,
89
+ };
90
+ const out = Renderer(props);
91
+ if (typeof out === 'string') {
92
+ const el = document.createElement('div');
93
+ el.innerHTML = out;
94
+ this.host.element.nativeElement.appendChild(el);
95
+ }
96
+ }
97
+ catch (e) {
98
+ const el = document.createElement('div');
99
+ el.textContent = `Failed to render field: ${this.type}`;
100
+ this.host.element.nativeElement.appendChild(el);
101
+ }
102
+ }
103
+ }
104
+ applyKnownProps(instance) {
105
+ const knownProps = [
106
+ 'value',
107
+ 'label',
108
+ 'placeholder',
109
+ 'required',
110
+ 'disabled',
111
+ 'options',
112
+ 'className',
113
+ 'description',
114
+ 'errorMessage',
115
+ ];
116
+ for (const prop of knownProps) {
117
+ if (prop in this && prop in instance) {
118
+ instance[prop] = this[prop];
119
+ }
120
+ }
121
+ }
122
+ bindOutput(instance, outputName) {
123
+ const output = instance?.[outputName];
124
+ if (!output || typeof output.subscribe !== 'function') {
125
+ return;
126
+ }
127
+ const sub = output.subscribe((value) => {
128
+ this.emitValue(value);
129
+ });
130
+ return sub;
131
+ }
132
+ emitValue(value) {
133
+ this.valueChange.emit(value);
134
+ this.onChange.emit(value);
135
+ }
136
+ cleanupRenderedComponent() {
137
+ this.compRef?.destroy();
138
+ this.compRef = undefined;
139
+ this.inputInstance = undefined;
140
+ }
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DynamicInput, deps: null, target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DynamicInput, isStandalone: true, selector: "dfk-dynamic-input", inputs: { type: "type" }, outputs: { valueChange: "valueChange", onChange: "onChange" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, read: ViewContainerRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<div #host style="display: contents;"></div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
143
+ }
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DynamicInput, decorators: [{
145
+ type: Component,
146
+ args: [{
147
+ selector: 'dfk-dynamic-input',
148
+ standalone: true,
149
+ imports: [CommonModule],
150
+ template: `<div #host style="display: contents;"></div>`,
151
+ }]
152
+ }], propDecorators: { type: [{
153
+ type: Input
154
+ }], valueChange: [{
155
+ type: Output
156
+ }], onChange: [{
157
+ type: Output
158
+ }], host: [{
159
+ type: ViewChild,
160
+ args: ['host', { read: ViewContainerRef, static: false }]
161
+ }] } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY0lucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHluYW1pY0lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVCxnQkFBZ0IsRUFNaEIsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVFqRCxNQUFNLE9BQU8sWUFDWCxTQUFRLGtCQUFrQjtJQUdqQixJQUFJLENBQWdCO0lBQ1YsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUMsQ0FBQyxrQkFBa0I7SUFHaEUsSUFBSSxDQUFvQjtJQUNoQixPQUFPLENBQXFCO0lBQzVCLGFBQWEsQ0FBTztJQUNwQixhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUUzQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRXpDLE1BQU0sWUFBWSxHQUFrQixFQUFFLENBQUM7WUFDdkMsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVB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O0lBQzVCLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDO3dHQWhLVSxZQUFZOzRGQUFaLFlBQVksK09BUUksZ0JBQWdCLHlFQVZqQyw4Q0FBOEMsMkRBRDlDLFlBQVk7OzRGQUdYLFlBQVk7a0JBTnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFLDhDQUE4QztpQkFDekQ7OEJBS1UsSUFBSTtzQkFBWixLQUFLO2dCQUNhLFdBQVc7c0JBQTdCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFHUCxJQUFJO3NCQURILFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBPbkNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVHlwZSxcbiAgU2ltcGxlQ2hhbmdlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpZWxkUmVnaXN0cnksIEZpZWxkVHlwZUtleSB9IGZyb20gJ0BkeW5hbWljLWZpZWxkLWtpdC9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9CYXNlSW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZmstZHluYW1pYy1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2hvc3Qgc3R5bGU9XCJkaXNwbGF5OiBjb250ZW50cztcIj48L2Rpdj5gLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljSW5wdXRcbiAgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSB0eXBlITogRmllbGRUeXBlS2V5O1xuICBAT3V0cHV0KCkgb3ZlcnJpZGUgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IC8vIGJhY2t3YXJkIGNvbXBhdFxuXG4gIEBWaWV3Q2hpbGQoJ2hvc3QnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgaG9zdCE6IFZpZXdDb250YWluZXJSZWY7XG4gIHByaXZhdGUgY29tcFJlZj86IENvbXBvbmVudFJlZjxhbnk+O1xuICBwcml2YXRlIGlucHV0SW5zdGFuY2U/OiBhbnk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3R5cGUnXSAmJiAhY2hhbmdlc1sndHlwZSddLmZpcnN0Q2hhbmdlICYmIHRoaXMuaG9zdCkge1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbnB1dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLmFwcGx5S25vd25Qcm9wcyh0aGlzLmlucHV0SW5zdGFuY2UpO1xuXG4gICAgICBjb25zdCBjaGlsZENoYW5nZXM6IFNpbXBsZUNoYW5nZXMgPSB7fTtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBjaGFuZ2VzKSB7XG4gICAgICAgIGNoaWxkQ2hhbmdlc1twcm9wXSA9IG5ldyBTaW1wbGVDaGFuZ2UoXG4gICAgICAgICAgY2hhbmdlc1twcm9wXS5wcmV2aW91c1ZhbHVlLFxuICAgICAgICAgIGNoYW5nZXNbcHJvcF0uY3VycmVudFZhbHVlLFxuICAgICAgICAgIGNoYW5nZXNbcHJvcF0uZmlyc3RDaGFuZ2VcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pbnB1dEluc3RhbmNlLm5nT25DaGFuZ2VzPy4oY2hpbGRDaGFuZ2VzKTtcbiAgICAgIHRoaXMuY29tcFJlZj8uY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ob3N0KSB7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGVhbnVwU3Vic2NyaXB0aW9ucygpO1xuICAgIHRoaXMuY2xlYW51cFJlbmRlcmVkQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFudXBTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIoKSB7XG4gICAgY29uc3QgUmVuZGVyZXIgPSBmaWVsZFJlZ2lzdHJ5LmdldCh0aGlzLnR5cGUgYXMgRmllbGRUeXBlS2V5KTtcbiAgICB0aGlzLmNsZWFudXBSZW5kZXJlZENvbXBvbmVudCgpO1xuICAgIHRoaXMuY2xlYW51cFN1YnNjcmlwdGlvbnMoKTtcbiAgICB0aGlzLmhvc3QuY2xlYXIoKTtcbiAgICBpZiAoIVJlbmRlcmVyKSB7XG4gICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZWwudGV4dENvbnRlbnQgPSBgVW5rbm93biBmaWVsZCB0eXBlOiAke3RoaXMudHlwZX1gO1xuICAgICAgdGhpcy5ob3N0LmVsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXBUeXBlID0gUmVuZGVyZXIgYXMgdW5rbm93biBhcyBUeXBlPGFueT47XG4gICAgICBjb25zdCBjb21wUmVmID0gdGhpcy5ob3N0LmNyZWF0ZUNvbXBvbmVudChjb21wVHlwZSk7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBSZWYuaW5zdGFuY2U7XG4gICAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGNyZWF0ZSBpbnN0YW5jZSBmb3IgJHt0aGlzLnR5cGV9YCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXBwbHlLbm93blByb3BzKGluc3RhbmNlKTtcblxuICAgICAgY29uc3Qgc3ViQSA9IHRoaXMuYmluZE91dHB1dChpbnN0YW5jZSwgJ3ZhbHVlQ2hhbmdlJyk7XG4gICAgICBpZiAoc3ViQSkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJBKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN1YkIgPSB0aGlzLmJpbmRPdXRwdXQoaW5zdGFuY2UsICdvblZhbHVlQ2hhbmdlJyk7XG4gICAgICBpZiAoc3ViQikge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJCKTtcbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UuY2hhbmdlRGV0ZWN0b3JSZWY/LmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuY29tcFJlZiA9IGNvbXBSZWY7XG4gICAgICB0aGlzLmlucHV0SW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgIGNvbXBSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gRmFsbGJhY2sgdG8gZnVuY3Rpb24gcmVuZGVyZXJcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHByb3BzOiBhbnkgPSB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgb25WYWx1ZUNoYW5nZTogKHY6IGFueSkgPT4gdGhpcy5lbWl0VmFsdWUodiksXG4gICAgICAgICAgbGFiZWw6IHRoaXMubGFiZWwsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRoaXMucmVxdWlyZWQsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgIGNsYXNzTmFtZTogdGhpcy5jbGFzc05hbWUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiB0aGlzLmVycm9yTWVzc2FnZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb3V0ID0gKFJlbmRlcmVyIGFzIChwcm9wczogdW5rbm93bikgPT4gdW5rbm93bikocHJvcHMpO1xuICAgICAgICBpZiAodHlwZW9mIG91dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgIGVsLmlubmVySFRNTCA9IG91dDtcbiAgICAgICAgICB0aGlzLmhvc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBlbC50ZXh0Q29udGVudCA9IGBGYWlsZWQgdG8gcmVuZGVyIGZpZWxkOiAke3RoaXMudHlwZX1gO1xuICAgICAgICB0aGlzLmhvc3QuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGVsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5S25vd25Qcm9wcyhpbnN0YW5jZTogYW55KSB7XG4gICAgY29uc3Qga25vd25Qcm9wcyA9IFtcbiAgICAgICd2YWx1ZScsXG4gICAgICAnbGFiZWwnLFxuICAgICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAgICdyZXF1aXJlZCcsXG4gICAgICAnZGlzYWJsZWQnLFxuICAgICAgJ29wdGlvbnMnLFxuICAgICAgJ2NsYXNzTmFtZScsXG4gICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgJ2Vycm9yTWVzc2FnZScsXG4gICAgXTtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2Yga25vd25Qcm9wcykge1xuICAgICAgaWYgKHByb3AgaW4gdGhpcyAmJiBwcm9wIGluIGluc3RhbmNlKSB7XG4gICAgICAgIGluc3RhbmNlW3Byb3BdID0gKHRoaXMgYXMgYW55KVtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJpbmRPdXRwdXQoXG4gICAgaW5zdGFuY2U6IGFueSxcbiAgICBvdXRwdXROYW1lOiAndmFsdWVDaGFuZ2UnIHwgJ29uVmFsdWVDaGFuZ2UnXG4gICk6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb3V0cHV0ID0gaW5zdGFuY2U/LltvdXRwdXROYW1lXTtcbiAgICBpZiAoIW91dHB1dCB8fCB0eXBlb2Ygb3V0cHV0LnN1YnNjcmliZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YiA9IChvdXRwdXQgYXMgRXZlbnRFbWl0dGVyPGFueT4pLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3ViO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW51cFJlbmRlcmVkQ29tcG9uZW50KCkge1xuICAgIHRoaXMuY29tcFJlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMuY29tcFJlZiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmlucHV0SW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,71 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
3
+ import { DynamicInput } from './DynamicInput';
4
+ import * as i0 from "@angular/core";
5
+ export class FieldInput {
6
+ fieldDescription;
7
+ renderInfos;
8
+ onValueChangeField = new EventEmitter();
9
+ getFieldValue() {
10
+ if (!this.fieldDescription || !this.renderInfos) {
11
+ return undefined;
12
+ }
13
+ const value = this.renderInfos[this.fieldDescription.name];
14
+ if (value === undefined && this.fieldDescription.type === 'text') {
15
+ return '';
16
+ }
17
+ return value;
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FieldInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: FieldInput, isStandalone: true, selector: "dfk-field-input", inputs: { fieldDescription: "fieldDescription", renderInfos: "renderInfos" }, outputs: { onValueChangeField: "onValueChangeField" }, ngImport: i0, template: `
21
+ <dfk-dynamic-input
22
+ *ngIf="fieldDescription && renderInfos"
23
+ [type]="fieldDescription!.type"
24
+ [value]="getFieldValue()"
25
+ [label]="fieldDescription!.label"
26
+ [placeholder]="fieldDescription!.placeholder"
27
+ [required]="fieldDescription!.required"
28
+ [description]="fieldDescription!.description"
29
+ [options]="fieldDescription!.options"
30
+ [className]="fieldDescription!.className"
31
+ (valueChange)="
32
+ onValueChangeField.emit({ value: $event, key: fieldDescription!.name })
33
+ "
34
+ [disabled]="false"
35
+ [errorMessage]="''"
36
+ ></dfk-dynamic-input>
37
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicInput, selector: "dfk-dynamic-input", inputs: ["type"], outputs: ["valueChange", "onChange"] }] });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FieldInput, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'dfk-field-input',
43
+ standalone: true,
44
+ imports: [NgIf, DynamicInput],
45
+ template: `
46
+ <dfk-dynamic-input
47
+ *ngIf="fieldDescription && renderInfos"
48
+ [type]="fieldDescription!.type"
49
+ [value]="getFieldValue()"
50
+ [label]="fieldDescription!.label"
51
+ [placeholder]="fieldDescription!.placeholder"
52
+ [required]="fieldDescription!.required"
53
+ [description]="fieldDescription!.description"
54
+ [options]="fieldDescription!.options"
55
+ [className]="fieldDescription!.className"
56
+ (valueChange)="
57
+ onValueChangeField.emit({ value: $event, key: fieldDescription!.name })
58
+ "
59
+ [disabled]="false"
60
+ [errorMessage]="''"
61
+ ></dfk-dynamic-input>
62
+ `,
63
+ }]
64
+ }], propDecorators: { fieldDescription: [{
65
+ type: Input
66
+ }], renderInfos: [{
67
+ type: Input
68
+ }], onValueChangeField: [{
69
+ type: Output
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGRJbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0ZpZWxkSW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQXlCOUMsTUFBTSxPQUFPLFVBQVU7SUFDWixnQkFBZ0IsQ0FBb0I7SUFDcEMsV0FBVyxDQUFjO0lBQ3hCLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUczQyxDQUFDO0lBRUwsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0FuQlUsVUFBVTs0RkFBVixVQUFVLGdOQW5CWDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsNERBbEJTLElBQUksNkZBQUUsWUFBWTs7NEZBb0JqQixVQUFVO2tCQXZCdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtpQkFDRjs4QkFFVSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZERlc2NyaXB0aW9uLCBQcm9wZXJ0aWVzIH0gZnJvbSAnQGR5bmFtaWMtZmllbGQta2l0L2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0lucHV0IH0gZnJvbSAnLi9EeW5hbWljSW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZmstZmllbGQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgRHluYW1pY0lucHV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGZrLWR5bmFtaWMtaW5wdXRcbiAgICAgICpuZ0lmPVwiZmllbGREZXNjcmlwdGlvbiAmJiByZW5kZXJJbmZvc1wiXG4gICAgICBbdHlwZV09XCJmaWVsZERlc2NyaXB0aW9uIS50eXBlXCJcbiAgICAgIFt2YWx1ZV09XCJnZXRGaWVsZFZhbHVlKClcIlxuICAgICAgW2xhYmVsXT1cImZpZWxkRGVzY3JpcHRpb24hLmxhYmVsXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZERlc2NyaXB0aW9uIS5wbGFjZWhvbGRlclwiXG4gICAgICBbcmVxdWlyZWRdPVwiZmllbGREZXNjcmlwdGlvbiEucmVxdWlyZWRcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cImZpZWxkRGVzY3JpcHRpb24hLmRlc2NyaXB0aW9uXCJcbiAgICAgIFtvcHRpb25zXT1cImZpZWxkRGVzY3JpcHRpb24hLm9wdGlvbnNcIlxuICAgICAgW2NsYXNzTmFtZV09XCJmaWVsZERlc2NyaXB0aW9uIS5jbGFzc05hbWVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIlxuICAgICAgICBvblZhbHVlQ2hhbmdlRmllbGQuZW1pdCh7IHZhbHVlOiAkZXZlbnQsIGtleTogZmllbGREZXNjcmlwdGlvbiEubmFtZSB9KVxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlXT1cIicnXCJcbiAgICA+PC9kZmstZHluYW1pYy1pbnB1dD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRJbnB1dCB7XG4gIEBJbnB1dCgpIGZpZWxkRGVzY3JpcHRpb24/OiBGaWVsZERlc2NyaXB0aW9uO1xuICBASW5wdXQoKSByZW5kZXJJbmZvcz86IFByb3BlcnRpZXM7XG4gIEBPdXRwdXQoKSBvblZhbHVlQ2hhbmdlRmllbGQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICB2YWx1ZTogYW55O1xuICAgIGtleTogc3RyaW5nO1xuICB9PigpO1xuXG4gIGdldEZpZWxkVmFsdWUoKSB7XG4gICAgaWYgKCF0aGlzLmZpZWxkRGVzY3JpcHRpb24gfHwgIXRoaXMucmVuZGVySW5mb3MpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnJlbmRlckluZm9zW3RoaXMuZmllbGREZXNjcmlwdGlvbi5uYW1lXTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmZpZWxkRGVzY3JpcHRpb24udHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { NgClass, NgFor } from '@angular/common';
2
+ import { Component, Input, Output, EventEmitter, } from '@angular/core';
3
+ import { FieldInput } from './FieldInput';
4
+ import * as i0 from "@angular/core";
5
+ export class MultiFieldInput {
6
+ fieldDescriptions = [];
7
+ properties;
8
+ onChange = new EventEmitter();
9
+ layout = 'column';
10
+ data = {};
11
+ visibleFields = [];
12
+ trackByFn(index, field) {
13
+ return field.name || index;
14
+ }
15
+ ngOnInit() {
16
+ this.init();
17
+ }
18
+ ngOnChanges(_changes) {
19
+ this.init();
20
+ }
21
+ init() {
22
+ if (this.properties) {
23
+ this.data = { ...this.properties };
24
+ }
25
+ this.updateVisibleFields();
26
+ }
27
+ updateVisibleFields() {
28
+ this.visibleFields = this.fieldDescriptions.filter((f) => !f.appearCondition || f.appearCondition(this.data));
29
+ }
30
+ onFieldChange(event) {
31
+ this.data = { ...this.data, [event.key]: event.value };
32
+ this.updateVisibleFields();
33
+ this.onChange.emit(this.data);
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MultiFieldInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: MultiFieldInput, isStandalone: true, selector: "dfk-multi-field-input", inputs: { fieldDescriptions: "fieldDescriptions", properties: "properties", layout: "layout" }, outputs: { onChange: "onChange" }, usesOnChanges: true, ngImport: i0, template: `
37
+ <div
38
+ class="flex flex-col gap-3 p-4 border rounded-lg bg-gray-50"
39
+ [ngClass]="{
40
+ 'flex-row gap-3': layout === 'row',
41
+ 'grid grid-cols-2 gap-3': layout === 'grid'
42
+ }"
43
+ >
44
+ <dfk-field-input
45
+ *ngFor="let field of visibleFields; trackBy: trackByFn"
46
+ [fieldDescription]="field"
47
+ [renderInfos]="data"
48
+ (onValueChangeField)="onFieldChange($event)"
49
+ ></dfk-field-input>
50
+ </div>
51
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FieldInput, selector: "dfk-field-input", inputs: ["fieldDescription", "renderInfos"], outputs: ["onValueChangeField"] }] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MultiFieldInput, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ selector: 'dfk-multi-field-input',
57
+ standalone: true,
58
+ imports: [NgClass, NgFor, FieldInput],
59
+ template: `
60
+ <div
61
+ class="flex flex-col gap-3 p-4 border rounded-lg bg-gray-50"
62
+ [ngClass]="{
63
+ 'flex-row gap-3': layout === 'row',
64
+ 'grid grid-cols-2 gap-3': layout === 'grid'
65
+ }"
66
+ >
67
+ <dfk-field-input
68
+ *ngFor="let field of visibleFields; trackBy: trackByFn"
69
+ [fieldDescription]="field"
70
+ [renderInfos]="data"
71
+ (onValueChangeField)="onFieldChange($event)"
72
+ ></dfk-field-input>
73
+ </div>
74
+ `,
75
+ }]
76
+ }], propDecorators: { fieldDescriptions: [{
77
+ type: Input
78
+ }], properties: [{
79
+ type: Input
80
+ }], onChange: [{
81
+ type: Output
82
+ }], layout: [{
83
+ type: Input
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlGaWVsZElucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTXVsdGlGaWVsZElucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FJYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQXVCMUMsTUFBTSxPQUFPLGVBQWU7SUFDakIsaUJBQWlCLEdBQXVCLEVBQUUsQ0FBQztJQUMzQyxVQUFVLENBQWM7SUFDdkIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFDM0MsTUFBTSxHQUFpQixRQUFRLENBQUM7SUFFekMsSUFBSSxHQUFlLEVBQUUsQ0FBQztJQUN0QixhQUFhLEdBQXVCLEVBQUUsQ0FBQztJQUV2QyxTQUFTLENBQUMsS0FBYSxFQUFFLEtBQXVCO1FBQzlDLE9BQU8sS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTyxJQUFJO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBa0M7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBdENVLGVBQWU7NEZBQWYsZUFBZSx5T0FqQmhCOzs7Ozs7Ozs7Ozs7Ozs7R0FlVCw0REFoQlMsT0FBTyxvRkFBRSxLQUFLLG1IQUFFLFVBQVU7OzRGQWtCekIsZUFBZTtrQkFyQjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2lCQUNGOzhCQUVVLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkRGVzY3JpcHRpb24sIFByb3BlcnRpZXMgfSBmcm9tICdAZHluYW1pYy1maWVsZC1raXQvY29yZSc7XG5pbXBvcnQgeyBMYXlvdXRDb25maWcgfSBmcm9tICcuLi90eXBlcy9sYXlvdXQnO1xuaW1wb3J0IHsgRmllbGRJbnB1dCB9IGZyb20gJy4vRmllbGRJbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rmay1tdWx0aS1maWVsZC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0ZvciwgRmllbGRJbnB1dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIHAtNCBib3JkZXIgcm91bmRlZC1sZyBiZy1ncmF5LTUwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2ZsZXgtcm93IGdhcC0zJzogbGF5b3V0ID09PSAncm93JyxcbiAgICAgICAgJ2dyaWQgZ3JpZC1jb2xzLTIgZ2FwLTMnOiBsYXlvdXQgPT09ICdncmlkJ1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRmay1maWVsZC1pbnB1dFxuICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgdmlzaWJsZUZpZWxkczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgW2ZpZWxkRGVzY3JpcHRpb25dPVwiZmllbGRcIlxuICAgICAgICBbcmVuZGVySW5mb3NdPVwiZGF0YVwiXG4gICAgICAgIChvblZhbHVlQ2hhbmdlRmllbGQpPVwib25GaWVsZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2Rmay1maWVsZC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlGaWVsZElucHV0IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBmaWVsZERlc2NyaXB0aW9uczogRmllbGREZXNjcmlwdGlvbltdID0gW107XG4gIEBJbnB1dCgpIHByb3BlcnRpZXM/OiBQcm9wZXJ0aWVzO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFByb3BlcnRpZXM+KCk7XG4gIEBJbnB1dCgpIGxheW91dDogTGF5b3V0Q29uZmlnID0gJ2NvbHVtbic7XG5cbiAgZGF0YTogUHJvcGVydGllcyA9IHt9O1xuICB2aXNpYmxlRmllbGRzOiBGaWVsZERlc2NyaXB0aW9uW10gPSBbXTtcblxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgZmllbGQ6IEZpZWxkRGVzY3JpcHRpb24pOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBmaWVsZC5uYW1lIHx8IGluZGV4O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCkge1xuICAgIGlmICh0aGlzLnByb3BlcnRpZXMpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHsgLi4udGhpcy5wcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIHRoaXMudXBkYXRlVmlzaWJsZUZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWaXNpYmxlRmllbGRzKCkge1xuICAgIHRoaXMudmlzaWJsZUZpZWxkcyA9IHRoaXMuZmllbGREZXNjcmlwdGlvbnMuZmlsdGVyKFxuICAgICAgKGYpID0+ICFmLmFwcGVhckNvbmRpdGlvbiB8fCBmLmFwcGVhckNvbmRpdGlvbih0aGlzLmRhdGEpXG4gICAgKTtcbiAgfVxuXG4gIG9uRmllbGRDaGFuZ2UoZXZlbnQ6IHsgdmFsdWU6IGFueTsga2V5OiBzdHJpbmcgfSkge1xuICAgIHRoaXMuZGF0YSA9IHsgLi4udGhpcy5kYXRhLCBbZXZlbnQua2V5XTogZXZlbnQudmFsdWUgfTtcbiAgICB0aGlzLnVwZGF0ZVZpc2libGVGaWVsZHMoKTtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5kYXRhKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1raXQtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9keW5hbWljLWZpZWxkLWtpdC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class ColumnLayout {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ColumnLayout, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: ColumnLayout, isStandalone: true, selector: "dfk-column-layout", ngImport: i0, template: `<div
7
+ style="display:flex;flex-direction:column;gap:var(--dfk-gap,12px)"
8
+ >
9
+ <ng-content></ng-content>
10
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ColumnLayout, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'dfk-column-layout',
16
+ standalone: true,
17
+ imports: [CommonModule],
18
+ template: `<div
19
+ style="display:flex;flex-direction:column;gap:var(--dfk-gap,12px)"
20
+ >
21
+ <ng-content></ng-content>
22
+ </div>`,
23
+ }]
24
+ }] });
25
+ export class RowLayout {
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RowLayout, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: RowLayout, isStandalone: true, selector: "dfk-row-layout", ngImport: i0, template: `<div
28
+ style="display:flex;flex-direction:row;gap:var(--dfk-gap,12px)"
29
+ >
30
+ <ng-content></ng-content>
31
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RowLayout, decorators: [{
34
+ type: Component,
35
+ args: [{
36
+ selector: 'dfk-row-layout',
37
+ standalone: true,
38
+ imports: [CommonModule],
39
+ template: `<div
40
+ style="display:flex;flex-direction:row;gap:var(--dfk-gap,12px)"
41
+ >
42
+ <ng-content></ng-content>
43
+ </div>`,
44
+ }]
45
+ }] });
46
+ export class GridLayout {
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GridLayout, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GridLayout, isStandalone: true, selector: "dfk-grid-layout", ngImport: i0, template: `<div
49
+ style="display:grid;grid-template-columns:repeat(var(--dfk-columns,2),1fr);gap:var(--dfk-gap,12px)"
50
+ >
51
+ <ng-content></ng-content>
52
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GridLayout, decorators: [{
55
+ type: Component,
56
+ args: [{
57
+ selector: 'dfk-grid-layout',
58
+ standalone: true,
59
+ imports: [CommonModule],
60
+ template: `<div
61
+ style="display:grid;grid-template-columns:repeat(var(--dfk-columns,2),1fr);gap:var(--dfk-gap,12px)"
62
+ >
63
+ <ng-content></ng-content>
64
+ </div>`,
65
+ }]
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdExheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5b3V0L2RlZmF1bHRMYXlvdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVkxQyxNQUFNLE9BQU8sWUFBWTt3R0FBWixZQUFZOzRGQUFaLFlBQVksNkVBTmI7Ozs7U0FJSCwyREFMRyxZQUFZOzs0RkFPWCxZQUFZO2tCQVZ4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRTs7OztTQUlIO2lCQUNSOztBQWFELE1BQU0sT0FBTyxTQUFTO3dHQUFULFNBQVM7NEZBQVQsU0FBUywwRUFOVjs7OztTQUlILDJEQUxHLFlBQVk7OzRGQU9YLFNBQVM7a0JBVnJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFOzs7O1NBSUg7aUJBQ1I7O0FBYUQsTUFBTSxPQUFPLFVBQVU7d0dBQVYsVUFBVTs0RkFBVixVQUFVLDJFQU5YOzs7O1NBSUgsMkRBTEcsWUFBWTs7NEZBT1gsVUFBVTtrQkFWdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixRQUFRLEVBQUU7Ozs7U0FJSDtpQkFDUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGZrLWNvbHVtbi1sYXlvdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGA8ZGl2XG4gICAgc3R5bGU9XCJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1kZmstZ2FwLDEycHgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uTGF5b3V0IHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rmay1yb3ctbGF5b3V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgPGRpdlxuICAgIHN0eWxlPVwiZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6dmFyKC0tZGZrLWdhcCwxMnB4KVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFJvd0xheW91dCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZmstZ3JpZC1sYXlvdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGA8ZGl2XG4gICAgc3R5bGU9XCJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCh2YXIoLS1kZmstY29sdW1ucywyKSwxZnIpO2dhcDp2YXIoLS1kZmstZ2FwLDEycHgpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZExheW91dCB7fVxuIl19
@@ -1,2 +1,2 @@
1
- export * from "./defaultLayouts";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5b3V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZWZhdWx0TGF5b3V0c1wiXG4iXX0=
1
+ export * from './defaultLayouts';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5b3V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlZmF1bHRMYXlvdXRzJztcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { DynamicInput } from '../components/DynamicInput';
4
+ import { FieldInput } from '../components/FieldInput';
5
+ import { MultiFieldInput } from '../components/MultiFieldInput';
6
+ import { ColumnLayout, RowLayout, GridLayout } from '../layout/defaultLayouts';
7
+ import * as i0 from "@angular/core";
8
+ export class DynamicFieldKitModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DynamicFieldKitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: DynamicFieldKitModule, imports: [CommonModule,
11
+ DynamicInput,
12
+ FieldInput,
13
+ MultiFieldInput,
14
+ ColumnLayout,
15
+ RowLayout,
16
+ GridLayout], exports: [DynamicInput,
17
+ FieldInput,
18
+ MultiFieldInput,
19
+ ColumnLayout,
20
+ RowLayout,
21
+ GridLayout] });
22
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DynamicFieldKitModule, imports: [CommonModule,
23
+ DynamicInput,
24
+ FieldInput,
25
+ MultiFieldInput,
26
+ ColumnLayout,
27
+ RowLayout,
28
+ GridLayout] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DynamicFieldKitModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ imports: [
34
+ CommonModule,
35
+ DynamicInput,
36
+ FieldInput,
37
+ MultiFieldInput,
38
+ ColumnLayout,
39
+ RowLayout,
40
+ GridLayout,
41
+ ],
42
+ exports: [
43
+ DynamicInput,
44
+ FieldInput,
45
+ MultiFieldInput,
46
+ ColumnLayout,
47
+ RowLayout,
48
+ GridLayout,
49
+ ],
50
+ }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1raXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9keW5hbWljLWZpZWxkLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBcUIvRSxNQUFNLE9BQU8scUJBQXFCO3dHQUFyQixxQkFBcUI7eUdBQXJCLHFCQUFxQixZQWpCOUIsWUFBWTtZQUNaLFlBQVk7WUFDWixVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWixTQUFTO1lBQ1QsVUFBVSxhQUdWLFlBQVk7WUFDWixVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWixTQUFTO1lBQ1QsVUFBVTt5R0FHRCxxQkFBcUIsWUFqQjlCLFlBQVk7WUFDWixZQUFZO1lBQ1osVUFBVTtZQUNWLGVBQWU7WUFDZixZQUFZO1lBQ1osU0FBUztZQUNULFVBQVU7OzRGQVdELHFCQUFxQjtrQkFuQmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixTQUFTO3dCQUNULFVBQVU7cUJBQ1g7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxVQUFVO3FCQUNYO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IER5bmFtaWNJbnB1dCB9IGZyb20gJy4uL2NvbXBvbmVudHMvRHluYW1pY0lucHV0JztcbmltcG9ydCB7IEZpZWxkSW5wdXQgfSBmcm9tICcuLi9jb21wb25lbnRzL0ZpZWxkSW5wdXQnO1xuaW1wb3J0IHsgTXVsdGlGaWVsZElucHV0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9NdWx0aUZpZWxkSW5wdXQnO1xuXG5pbXBvcnQgeyBDb2x1bW5MYXlvdXQsIFJvd0xheW91dCwgR3JpZExheW91dCB9IGZyb20gJy4uL2xheW91dC9kZWZhdWx0TGF5b3V0cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHluYW1pY0lucHV0LFxuICAgIEZpZWxkSW5wdXQsXG4gICAgTXVsdGlGaWVsZElucHV0LFxuICAgIENvbHVtbkxheW91dCxcbiAgICBSb3dMYXlvdXQsXG4gICAgR3JpZExheW91dCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIER5bmFtaWNJbnB1dCxcbiAgICBGaWVsZElucHV0LFxuICAgIE11bHRpRmllbGRJbnB1dCxcbiAgICBDb2x1bW5MYXlvdXQsXG4gICAgUm93TGF5b3V0LFxuICAgIEdyaWRMYXlvdXQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZEtpdE1vZHVsZSB7fVxuIl19
@@ -1,14 +1,14 @@
1
- // public-api.ts
2
- // Components
3
- export * from './components/BaseInput';
4
- export * from './components/DynamicInput';
5
- export * from './components/FieldInput';
6
- export * from './components/MultiFieldInput';
7
- // Layout
8
- export * from './layout';
9
- export * from './types/layout';
10
- // Module
11
- export * from './lib/dynamic-field-kit.module';
12
- // Optional: expose registry for advanced use cases, but not required for basic usage
13
- export { fieldRegistry } from '@dynamic-field-kit/core';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUVoQixhQUFhO0FBQ2IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxTQUFTO0FBQ1QsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixTQUFTO0FBQ1QsY0FBYyxnQ0FBZ0MsQ0FBQztBQVMvQyxxRkFBcUY7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHVibGljLWFwaS50c1xyXG5cclxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL0Jhc2VJbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvRHluYW1pY0lucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9GaWVsZElucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9NdWx0aUZpZWxkSW5wdXQnO1xuXG4vLyBMYXlvdXRcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvbGF5b3V0JztcblxyXG4vLyBNb2R1bGVcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1maWVsZC1raXQubW9kdWxlJztcclxuXHJcbi8vIFJlLWV4cG9ydCB0eXBlcyBmcm9tIGNvcmUgKG9ubHkgdHlwZSwgbm90IGV4cG9ydCAqIClcclxuZXhwb3J0IHR5cGUge1xyXG4gIEZpZWxkVHlwZUtleSxcclxuICBGaWVsZERlc2NyaXB0aW9uLFxyXG4gIEZpZWxkUmVuZGVyZXJQcm9wc1xyXG59IGZyb20gJ0BkeW5hbWljLWZpZWxkLWtpdC9jb3JlJztcclxuXHJcbi8vIE9wdGlvbmFsOiBleHBvc2UgcmVnaXN0cnkgZm9yIGFkdmFuY2VkIHVzZSBjYXNlcywgYnV0IG5vdCByZXF1aXJlZCBmb3IgYmFzaWMgdXNhZ2VcbmV4cG9ydCB7IGZpZWxkUmVnaXN0cnkgfSBmcm9tICdAZHluYW1pYy1maWVsZC1raXQvY29yZSc7XG4iXX0=
1
+ // public-api.ts
2
+ // Components
3
+ export * from './components/BaseInput';
4
+ export * from './components/DynamicInput';
5
+ export * from './components/FieldInput';
6
+ export * from './components/MultiFieldInput';
7
+ // Layout
8
+ export * from './layout';
9
+ export * from './types/layout';
10
+ // Module
11
+ export * from './lib/dynamic-field-kit.module';
12
+ // Optional: expose registry for advanced use cases, but not required for basic usage
13
+ export { fieldRegistry } from '@dynamic-field-kit/core';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUVoQixhQUFhO0FBQ2IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxTQUFTO0FBQ1QsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixTQUFTO0FBQ1QsY0FBYyxnQ0FBZ0MsQ0FBQztBQVMvQyxxRkFBcUY7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHVibGljLWFwaS50c1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvQmFzZUlucHV0JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL0R5bmFtaWNJbnB1dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9GaWVsZElucHV0JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL011bHRpRmllbGRJbnB1dCc7XHJcblxyXG4vLyBMYXlvdXRcclxuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2xheW91dCc7XHJcblxyXG4vLyBNb2R1bGVcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1maWVsZC1raXQubW9kdWxlJztcclxuXHJcbi8vIFJlLWV4cG9ydCB0eXBlcyBmcm9tIGNvcmUgKG9ubHkgdHlwZSwgbm90IGV4cG9ydCAqIClcclxuZXhwb3J0IHR5cGUge1xyXG4gIEZpZWxkVHlwZUtleSxcclxuICBGaWVsZERlc2NyaXB0aW9uLFxyXG4gIEZpZWxkUmVuZGVyZXJQcm9wcyxcclxufSBmcm9tICdAZHluYW1pYy1maWVsZC1raXQvY29yZSc7XHJcblxyXG4vLyBPcHRpb25hbDogZXhwb3NlIHJlZ2lzdHJ5IGZvciBhZHZhbmNlZCB1c2UgY2FzZXMsIGJ1dCBub3QgcmVxdWlyZWQgZm9yIGJhc2ljIHVzYWdlXHJcbmV4cG9ydCB7IGZpZWxkUmVnaXN0cnkgfSBmcm9tICdAZHluYW1pYy1maWVsZC1raXQvY29yZSc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2xheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTGF5b3V0Q29uZmlnID0gXCJjb2x1bW5cIiB8IFwicm93XCIgfCBcImdyaWRcIlxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2xheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTGF5b3V0Q29uZmlnID0gJ2NvbHVtbicgfCAncm93JyB8ICdncmlkJztcbiJdfQ==