@abp/ng.components 10.1.0 → 10.2.0-rc.1

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,29 +1,32 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, ChangeDetectorRef, EventEmitter, ViewChild, Output, Input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, ChangeDetectorRef, input, output, effect, untracked, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
 
4
4
  let Chart;
5
5
  class ChartComponent {
6
6
  constructor() {
7
7
  this.el = inject(ElementRef);
8
8
  this.cdr = inject(ChangeDetectorRef);
9
- this.data = {};
10
- this.options = {};
11
- this.plugins = [];
12
- this.responsive = true;
13
- this.dataSelect = new EventEmitter();
14
- this.initialized = new EventEmitter();
15
- this.initChart = () => {
16
- const opts = this.options || {};
17
- opts.responsive = this.responsive;
9
+ this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
10
+ this.data = input({}, ...(ngDevMode ? [{ debugName: "data" }] : []));
11
+ this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
12
+ this.plugins = input([], ...(ngDevMode ? [{ debugName: "plugins" }] : []));
13
+ this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
14
+ this.height = input(...(ngDevMode ? [undefined, { debugName: "height" }] : []));
15
+ this.responsive = input(true, ...(ngDevMode ? [{ debugName: "responsive" }] : []));
16
+ this.dataSelect = output();
17
+ this.initialized = output();
18
+ this.initChart = (data, options) => {
19
+ const opts = options || {};
20
+ opts.responsive = this.responsive();
18
21
  // allows chart to resize in responsive mode
19
- if (opts.responsive && (this.height || this.width)) {
22
+ if (opts.responsive && (this.height() || this.width())) {
20
23
  opts.maintainAspectRatio = false;
21
24
  }
22
25
  this.chart = new Chart(this.canvas.nativeElement, {
23
- type: this.type,
24
- data: this.data,
25
- options: this.options,
26
- plugins: this.plugins,
26
+ type: this.type(),
27
+ data: data,
28
+ options: opts,
29
+ plugins: this.plugins(),
27
30
  });
28
31
  };
29
32
  this.getCanvas = () => {
@@ -47,13 +50,23 @@ class ChartComponent {
47
50
  if (!this.chart)
48
51
  return;
49
52
  this.chart.destroy();
50
- this.initChart();
53
+ this.initChart(this.data(), this.options());
51
54
  };
55
+ effect(() => {
56
+ const data = this.data();
57
+ const options = this.options();
58
+ untracked(() => {
59
+ if (!this.chart)
60
+ return;
61
+ this.chart.destroy();
62
+ this.initChart(data, options);
63
+ });
64
+ });
52
65
  }
53
66
  ngAfterViewInit() {
54
67
  import('chart.js/auto').then(module => {
55
68
  Chart = module.default;
56
- this.initChart();
69
+ this.initChart(this.data(), this.options());
57
70
  this.initialized.emit(true);
58
71
  });
59
72
  }
@@ -72,25 +85,17 @@ class ChartComponent {
72
85
  this.chart = null;
73
86
  }
74
87
  }
75
- ngOnChanges(changes) {
76
- if (!this.chart)
77
- return;
78
- if (changes.data?.currentValue || changes.options?.currentValue) {
79
- this.chart.destroy();
80
- this.initChart();
81
- }
82
- }
83
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.9", type: ChartComponent, isStandalone: true, selector: "abp-chart", inputs: { type: "type", data: "data", options: "options", plugins: "plugins", width: "width", height: "height", responsive: "responsive" }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], usesOnChanges: true, ngImport: i0, template: `
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: ChartComponent, isStandalone: true, selector: "abp-chart", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, plugins: { classPropertyName: "plugins", publicName: "plugins", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], ngImport: i0, template: `
85
90
  <div
86
91
  style="position:relative"
87
- [style.width]="responsive && !width ? null : width"
88
- [style.height]="responsive && !height ? null : height"
92
+ [style.width]="responsive() && !width() ? null : width()"
93
+ [style.height]="responsive() && !height() ? null : height()"
89
94
  >
90
95
  <canvas
91
96
  #canvas
92
- [attr.width]="responsive && !width ? null : width"
93
- [attr.height]="responsive && !height ? null : height"
97
+ [attr.width]="responsive() && !width() ? null : width()"
98
+ [attr.height]="responsive() && !height() ? null : height()"
94
99
  (click)="onCanvasClick($event)"
95
100
  ></canvas>
96
101
  </div>
@@ -103,13 +108,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
103
108
  template: `
104
109
  <div
105
110
  style="position:relative"
106
- [style.width]="responsive && !width ? null : width"
107
- [style.height]="responsive && !height ? null : height"
111
+ [style.width]="responsive() && !width() ? null : width()"
112
+ [style.height]="responsive() && !height() ? null : height()"
108
113
  >
109
114
  <canvas
110
115
  #canvas
111
- [attr.width]="responsive && !width ? null : width"
112
- [attr.height]="responsive && !height ? null : height"
116
+ [attr.width]="responsive() && !width() ? null : width()"
117
+ [attr.height]="responsive() && !height() ? null : height()"
113
118
  (click)="onCanvasClick($event)"
114
119
  ></canvas>
115
120
  </div>
@@ -117,25 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
117
122
  changeDetection: ChangeDetectionStrategy.OnPush,
118
123
  exportAs: 'abpChart',
119
124
  }]
120
- }], propDecorators: { type: [{
121
- type: Input
122
- }], data: [{
123
- type: Input
124
- }], options: [{
125
- type: Input
126
- }], plugins: [{
127
- type: Input
128
- }], width: [{
129
- type: Input
130
- }], height: [{
131
- type: Input
132
- }], responsive: [{
133
- type: Input
134
- }], dataSelect: [{
135
- type: Output
136
- }], initialized: [{
137
- type: Output
138
- }], canvas: [{
125
+ }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], plugins: [{ type: i0.Input, args: [{ isSignal: true, alias: "plugins", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], dataSelect: [{ type: i0.Output, args: ["dataSelect"] }], initialized: [{ type: i0.Output, args: ["initialized"] }], canvas: [{
139
126
  type: ViewChild,
140
127
  args: ['canvas']
141
128
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.components-chart.js.mjs","sources":["../../../../packages/components/chart.js/src/chart.component.ts","../../../../packages/components/chart.js/src/chart.module.ts","../../../../packages/components/chart.js/src/widget-utils.ts","../../../../packages/components/chart.js/src/abp-ng.components-chart.js.ts"],"sourcesContent":["import { \r\n AfterViewInit, \r\n ChangeDetectionStrategy, \r\n ChangeDetectorRef, \r\n Component, \r\n ElementRef, \r\n EventEmitter, \r\n Input, \r\n OnChanges, \r\n OnDestroy, \r\n Output, \r\n SimpleChanges, \r\n ViewChild, \r\n inject \r\n} from '@angular/core';\r\n\r\nlet Chart: any;\r\n\r\n@Component({\r\n selector: 'abp-chart',\r\n template: `\r\n <div\r\n style=\"position:relative\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n >\r\n <canvas\r\n #canvas\r\n [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\"\r\n (click)=\"onCanvasClick($event)\"\r\n ></canvas>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'abpChart',\r\n})\r\nexport class ChartComponent implements AfterViewInit, OnDestroy, OnChanges {\r\n el = inject(ElementRef);\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n @Input() type!: string;\r\n\r\n @Input() data: any = {};\r\n\r\n @Input() options: any = {};\r\n\r\n @Input() plugins: any[] = [];\r\n\r\n @Input() width?: string;\r\n\r\n @Input() height?: string;\r\n\r\n @Input() responsive = true;\r\n\r\n @Output() dataSelect = new EventEmitter();\r\n\r\n @Output() initialized = new EventEmitter<boolean>();\r\n\r\n @ViewChild('canvas') canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n chart: any;\r\n\r\n ngAfterViewInit() {\r\n import('chart.js/auto').then(module => {\r\n Chart = module.default;\r\n this.initChart();\r\n this.initialized.emit(true);\r\n });\r\n }\r\n\r\n onCanvasClick(event: MouseEvent) {\r\n if (this.chart) {\r\n const element = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'nearest',\r\n { intersect: true },\r\n false,\r\n );\r\n const dataset = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'dataset',\r\n { intersect: true },\r\n false,\r\n );\r\n\r\n if (element && element[0] && dataset) {\r\n this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\r\n }\r\n }\r\n }\r\n\r\n private initChart = () => {\r\n const opts = this.options || {};\r\n opts.responsive = this.responsive;\r\n\r\n // allows chart to resize in responsive mode\r\n if (opts.responsive && (this.height || this.width)) {\r\n opts.maintainAspectRatio = false;\r\n }\r\n\r\n this.chart = new Chart(this.canvas.nativeElement, {\r\n type: this.type as any,\r\n data: this.data,\r\n options: this.options,\r\n plugins: this.plugins,\r\n });\r\n };\r\n\r\n getCanvas = () => {\r\n return this.canvas.nativeElement;\r\n };\r\n\r\n getBase64Image = () => {\r\n return this.chart.toBase64Image();\r\n };\r\n\r\n generateLegend = () => {\r\n if (this.chart) {\r\n return this.chart.generateLegend();\r\n }\r\n };\r\n\r\n refresh = () => {\r\n if (this.chart) {\r\n this.chart.update();\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n reinit = () => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart();\r\n };\r\n\r\n ngOnDestroy() {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = null;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!this.chart) return;\r\n\r\n if (changes.data?.currentValue || changes.options?.currentValue) {\r\n this.chart.destroy();\r\n this.initChart();\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartComponent } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [ChartComponent],\r\n exports: [ChartComponent],\r\n declarations: [],\r\n providers: [],\r\n})\r\nexport class ChartModule {}\r\n","export function getRandomBackgroundColor(count: number) {\r\n const colors = [];\r\n\r\n for (let i = 0; i < count; i++) {\r\n const r = ((i + 5) * (i + 5) * 474) % 255;\r\n const g = ((i + 5) * (i + 5) * 1600) % 255;\r\n const b = ((i + 5) * (i + 5) * 84065) % 255;\r\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\r\n }\r\n\r\n return colors;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.components-chart.js.mjs","sources":["../../../../packages/components/chart.js/src/chart.component.ts","../../../../packages/components/chart.js/src/chart.module.ts","../../../../packages/components/chart.js/src/widget-utils.ts","../../../../packages/components/chart.js/src/abp-ng.components-chart.js.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n untracked,\r\n} from '@angular/core';\r\n\r\nlet Chart: any;\r\n\r\n@Component({\r\n selector: 'abp-chart',\r\n template: `\r\n <div\r\n style=\"position:relative\"\r\n [style.width]=\"responsive() && !width() ? null : width()\"\r\n [style.height]=\"responsive() && !height() ? null : height()\"\r\n >\r\n <canvas\r\n #canvas\r\n [attr.width]=\"responsive() && !width() ? null : width()\"\r\n [attr.height]=\"responsive() && !height() ? null : height()\"\r\n (click)=\"onCanvasClick($event)\"\r\n ></canvas>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'abpChart',\r\n})\r\nexport class ChartComponent implements AfterViewInit, OnDestroy {\r\n el = inject(ElementRef);\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n readonly type = input.required<string>();\r\n readonly data = input<any>({});\r\n readonly options = input<any>({});\r\n readonly plugins = input<any[]>([]);\r\n readonly width = input<string>();\r\n readonly height = input<string>();\r\n readonly responsive = input<boolean>(true);\r\n\r\n readonly dataSelect = output<any>();\r\n readonly initialized = output<boolean>();\r\n\r\n @ViewChild('canvas') canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n chart: any;\r\n\r\n constructor() {\r\n effect(() => {\r\n const data = this.data();\r\n const options = this.options();\r\n\r\n untracked(() => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(data, options);\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n import('chart.js/auto').then(module => {\r\n Chart = module.default;\r\n this.initChart(this.data(), this.options());\r\n this.initialized.emit(true);\r\n });\r\n }\r\n\r\n onCanvasClick(event: MouseEvent) {\r\n if (this.chart) {\r\n const element = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'nearest',\r\n { intersect: true },\r\n false,\r\n );\r\n const dataset = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'dataset',\r\n { intersect: true },\r\n false,\r\n );\r\n\r\n if (element && element[0] && dataset) {\r\n this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\r\n }\r\n }\r\n }\r\n\r\n private initChart = (data: any, options: any) => {\r\n const opts = options || {};\r\n opts.responsive = this.responsive();\r\n\r\n // allows chart to resize in responsive mode\r\n if (opts.responsive && (this.height() || this.width())) {\r\n opts.maintainAspectRatio = false;\r\n }\r\n\r\n this.chart = new Chart(this.canvas.nativeElement, {\r\n type: this.type() as any,\r\n data: data,\r\n options: opts,\r\n plugins: this.plugins(),\r\n });\r\n };\r\n\r\n getCanvas = () => {\r\n return this.canvas.nativeElement;\r\n };\r\n\r\n getBase64Image = () => {\r\n return this.chart.toBase64Image();\r\n };\r\n\r\n generateLegend = () => {\r\n if (this.chart) {\r\n return this.chart.generateLegend();\r\n }\r\n };\r\n\r\n refresh = () => {\r\n if (this.chart) {\r\n this.chart.update();\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n reinit = () => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(this.data(), this.options());\r\n };\r\n\r\n ngOnDestroy() {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = null;\r\n }\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartComponent } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [ChartComponent],\r\n exports: [ChartComponent],\r\n declarations: [],\r\n providers: [],\r\n})\r\nexport class ChartModule {}\r\n","export function getRandomBackgroundColor(count: number) {\r\n const colors = [];\r\n\r\n for (let i = 0; i < count; i++) {\r\n const r = ((i + 5) * (i + 5) * 474) % 255;\r\n const g = ((i + 5) * (i + 5) * 1600) % 255;\r\n const b = ((i + 5) * (i + 5) * 84065) % 255;\r\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\r\n }\r\n\r\n return colors;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injectable, InjectionToken, forwardRef, input, ChangeDetectorRef, DestroyRef, Injector, ChangeDetectionStrategy, Component, effect, ViewContainerRef, ViewChild, output } from '@angular/core';
2
+ import { inject, Injectable, InjectionToken, forwardRef, input, ChangeDetectorRef, DestroyRef, Injector, ChangeDetectionStrategy, Component, viewChild, ViewContainerRef, effect, output } from '@angular/core';
3
3
  import * as i2 from '@angular/forms';
4
4
  import { FormBuilder, FormControl, Validators, NG_VALUE_ACCESSOR, NgControl, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i1 from '@angular/common';
@@ -263,6 +263,7 @@ class DynamicFieldHostComponent {
263
263
  constructor() {
264
264
  this.component = input(...(ngDevMode ? [undefined, { debugName: "component" }] : []));
265
265
  this.inputs = input({}, ...(ngDevMode ? [{ debugName: "inputs" }] : []));
266
+ this.viewContainerRef = viewChild.required('vcRef', { read: ViewContainerRef });
266
267
  this.disabled = false;
267
268
  // if child has not implemented ControlValueAccessor. Create form control
268
269
  this.innerControl = new FormControl(null);
@@ -279,10 +280,10 @@ class DynamicFieldHostComponent {
279
280
  });
280
281
  }
281
282
  createChild() {
282
- this.viewContainerRef.clear();
283
+ this.viewContainerRef().clear();
283
284
  if (!this.component())
284
285
  return;
285
- this.componentRef = this.viewContainerRef.createComponent(this.component());
286
+ this.componentRef = this.viewContainerRef().createComponent(this.component());
286
287
  this.applyInputs();
287
288
  const instance = this.componentRef.instance;
288
289
  if (this.isCVA(instance)) {
@@ -349,11 +350,11 @@ class DynamicFieldHostComponent {
349
350
  }
350
351
  }
351
352
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: DynamicFieldHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
352
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: DynamicFieldHostComponent, isStandalone: true, selector: "abp-dynamic-form-field-host", inputs: { component: { classPropertyName: "component", publicName: "component", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{
353
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.9", type: DynamicFieldHostComponent, isStandalone: true, selector: "abp-dynamic-form-field-host", inputs: { component: { classPropertyName: "component", publicName: "component", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{
353
354
  provide: NG_VALUE_ACCESSOR,
354
355
  useExisting: forwardRef(() => DynamicFieldHostComponent),
355
356
  multi: true
356
- }], viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["vcRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `<ng-template #vcRef></ng-template>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
357
+ }], viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["vcRef"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `<ng-template #vcRef></ng-template>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
357
358
  }
358
359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: DynamicFieldHostComponent, decorators: [{
359
360
  type: Component,
@@ -368,10 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
368
369
  multi: true
369
370
  }]
370
371
  }]
371
- }], ctorParameters: () => [], propDecorators: { component: [{ type: i0.Input, args: [{ isSignal: true, alias: "component", required: false }] }], inputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputs", required: false }] }], viewContainerRef: [{
372
- type: ViewChild,
373
- args: ['vcRef', { read: ViewContainerRef, static: true }]
374
- }] } });
372
+ }], ctorParameters: () => [], propDecorators: { component: [{ type: i0.Input, args: [{ isSignal: true, alias: "component", required: false }] }], inputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputs", required: false }] }], viewContainerRef: [{ type: i0.ViewChild, args: ['vcRef', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
375
373
 
376
374
  class DynamicFormArrayComponent {
377
375
  constructor() {