axioma-material 6.1.27 → 7.0.3

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.
@@ -45,10 +45,10 @@ class SnackService {
45
45
  info(message, action = 'Dismiss', duration = 3000) {
46
46
  this.snackBar.open(message, action, { duration });
47
47
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SnackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SnackService, providedIn: 'root' });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SnackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SnackService, providedIn: 'root' });
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SnackService, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SnackService, decorators: [{
52
52
  type: Injectable,
53
53
  args: [{
54
54
  providedIn: 'root'
@@ -105,10 +105,10 @@ class ConfirmationDialogComponent {
105
105
  clickButton(button) {
106
106
  this.dialogRef.close(button.value);
107
107
  }
108
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: ConfirmationDialogComponent, isStandalone: true, selector: "x-confirmation-dialog", ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\n<mat-dialog-content cdkTrapFocus class=\"mat-typography\">\n @if(data.message){\n <p>{{data.message}}</p>\n } @else if (data.messageRef) {\n <ng-container *ngTemplateOutlet=\"data.messageRef\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n @for(button of data.buttons; track button){\n @if(button.default){\n <button mat-button (click)=\"clickButton(button)\" cdkFocusInitial>{{button.text}}</button>\n } @else {\n <button mat-button (click)=\"clickButton(button)\">{{button.text}}</button>\n }\n }\n</mat-dialog-actions>", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ConfirmationDialogComponent, isStandalone: true, selector: "x-confirmation-dialog", ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\n<mat-dialog-content cdkTrapFocus class=\"mat-typography\">\n @if(data.message){\n <p>{{data.message}}</p>\n } @else if (data.messageRef) {\n <ng-container *ngTemplateOutlet=\"data.messageRef\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n @for(button of data.buttons; track button){\n @if(button.default){\n <button mat-button (click)=\"clickButton(button)\" cdkFocusInitial>{{button.text}}</button>\n } @else {\n <button mat-button (click)=\"clickButton(button)\">{{button.text}}</button>\n }\n }\n</mat-dialog-actions>", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: 'x-confirmation-dialog', imports: [NgTemplateOutlet, MatButtonModule, MatDialogContent, MatDialogActions, MatDialogTitle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<h2 mat-dialog-title>{{data.title}}</h2>\n<mat-dialog-content cdkTrapFocus class=\"mat-typography\">\n @if(data.message){\n <p>{{data.message}}</p>\n } @else if (data.messageRef) {\n <ng-container *ngTemplateOutlet=\"data.messageRef\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n @for(button of data.buttons; track button){\n @if(button.default){\n <button mat-button (click)=\"clickButton(button)\" cdkFocusInitial>{{button.text}}</button>\n } @else {\n <button mat-button (click)=\"clickButton(button)\">{{button.text}}</button>\n }\n }\n</mat-dialog-actions>" }]
114
114
  }], ctorParameters: () => [] });
@@ -121,10 +121,10 @@ class ConfirmationService {
121
121
  });
122
122
  return ref.afterClosed();
123
123
  }
124
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
125
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
125
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ConfirmationService, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ConfirmationService, decorators: [{
128
128
  type: Injectable,
129
129
  args: [{
130
130
  providedIn: 'root'
@@ -136,27 +136,27 @@ class SmartSelectComponent {
136
136
  input;
137
137
  auto;
138
138
  inputValue = '';
139
- $displayFn = input((v) => v?.name ?? '', ...(ngDevMode ? [{ debugName: "$displayFn", alias: 'display' }] : [{ alias: 'display' }]));
140
- $hint = input('Type to search', ...(ngDevMode ? [{ debugName: "$hint", alias: 'hint' }] : [{ alias: 'hint' }]));
141
- $label = input.required(...(ngDevMode ? [{ debugName: "$label", alias: 'label' }] : [{ alias: 'label' }]));
142
- $options = input([], ...(ngDevMode ? [{ debugName: "$options", alias: 'options' }] : [{ alias: 'options' }]));
143
- $toolbar = input(false, ...(ngDevMode ? [{ debugName: "$toolbar", transform: booleanAttribute, alias: 'toolbar' }] : [{ transform: booleanAttribute, alias: 'toolbar' }]));
144
- $new = input(false, ...(ngDevMode ? [{ debugName: "$new", transform: booleanAttribute, alias: 'new' }] : [{ transform: booleanAttribute, alias: 'new' }]));
139
+ $displayFn = input((v) => v?.name ?? '', { ...(ngDevMode ? { debugName: "$displayFn" } : {}), alias: 'display' });
140
+ $hint = input('Type to search', { ...(ngDevMode ? { debugName: "$hint" } : {}), alias: 'hint' });
141
+ $label = input.required({ ...(ngDevMode ? { debugName: "$label" } : {}), alias: 'label' });
142
+ $options = input([], { ...(ngDevMode ? { debugName: "$options" } : {}), alias: 'options' });
143
+ $toolbar = input(false, { ...(ngDevMode ? { debugName: "$toolbar" } : {}), transform: booleanAttribute, alias: 'toolbar' });
144
+ $new = input(false, { ...(ngDevMode ? { debugName: "$new" } : {}), transform: booleanAttribute, alias: 'new' });
145
145
  newClick = output();
146
146
  change = output();
147
- $required = input(false, ...(ngDevMode ? [{ debugName: "$required", alias: 'required', transform: booleanAttribute }] : [{ alias: 'required', transform: booleanAttribute }]));
147
+ $required = input(false, { ...(ngDevMode ? { debugName: "$required" } : {}), alias: 'required', transform: booleanAttribute });
148
148
  control = new FormControl();
149
149
  outerControl;
150
150
  filter = output();
151
- $filter = signal(undefined, ...(ngDevMode ? [{ debugName: "$filter" }] : []));
151
+ $filter = signal(undefined, { ...(ngDevMode ? { debugName: "$filter" } : {}) });
152
152
  $filtered = computed(() => {
153
153
  let filter = this.$filter()?.toLowerCase();
154
154
  let options = this.$options();
155
155
  let res = filter ? options?.filter(c => c.name?.toLowerCase().includes(filter)
156
156
  || c.name?.toLowerCase().includes(filter) || typeof c?.id === 'string' && c.id.toLowerCase().includes(filter)) : options;
157
157
  return res;
158
- }, ...(ngDevMode ? [{ debugName: "$filtered" }] : []));
159
- $touched = signal(false, ...(ngDevMode ? [{ debugName: "$touched", equal: (a, b) => false }] : [{ equal: (a, b) => false }]));
158
+ }, { ...(ngDevMode ? { debugName: "$filtered" } : {}) });
159
+ $touched = signal(false, { ...(ngDevMode ? { debugName: "$touched" } : {}), equal: (a, b) => false });
160
160
  set touched(value) {
161
161
  this.$touched.set(value);
162
162
  }
@@ -246,8 +246,8 @@ class SmartSelectComponent {
246
246
  e.stopPropagation();
247
247
  this.newClick.emit();
248
248
  }
249
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SmartSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
250
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: SmartSelectComponent, isStandalone: true, selector: "x-smart-select", inputs: { $displayFn: { classPropertyName: "$displayFn", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, $hint: { classPropertyName: "$hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, $options: { classPropertyName: "$options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, $toolbar: { classPropertyName: "$toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, $new: { classPropertyName: "$new", publicName: "new", isSignal: true, isRequired: false, transformFunction: null }, $required: { classPropertyName: "$required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { newClick: "newClick", change: "change", filter: "filter" }, host: { listeners: { "blur": "onTouched($event)" } }, providers: [
249
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SmartSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
250
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: SmartSelectComponent, isStandalone: true, selector: "x-smart-select", inputs: { $displayFn: { classPropertyName: "$displayFn", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, $hint: { classPropertyName: "$hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, $options: { classPropertyName: "$options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, $toolbar: { classPropertyName: "$toolbar", publicName: "toolbar", isSignal: true, isRequired: false, transformFunction: null }, $new: { classPropertyName: "$new", publicName: "new", isSignal: true, isRequired: false, transformFunction: null }, $required: { classPropertyName: "$required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { newClick: "newClick", change: "change", filter: "filter" }, host: { listeners: { "blur": "onTouched()" } }, providers: [
251
251
  {
252
252
  provide: NG_VALUE_ACCESSOR,
253
253
  multi: true,
@@ -255,11 +255,11 @@ class SmartSelectComponent {
255
255
  }
256
256
  ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<mat-form-field class=\"w-full\">\n <mat-label>{{$label()}}</mat-label>\n <input #input [formControl]=\"control\" [required]=\"$required()\" type=\"text\" (input)=\"setFilter()\" (focus)=\"setFilter()\"\n placeholder=\"Select {{$label()}}\" [attr.aria-label]=\"$label()\" matInput [matAutocomplete]=\"auto\">\n @if($new()){\n <button type=\"button\" matSuffix matTooltipPositionAtOrigin=\"true\" matTooltip=\"Create new\" (click)=\"onNew($event)\" mat-icon-button>\n <mat-icon>add</mat-icon>\n </button>\n }\n <mat-error>{{getErrorMessage()}}</mat-error>\n @if (!$toolbar()){\n <mat-hint>{{$hint()}}</mat-hint>\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onAutoCompleteChange($event)\"\n [displayWith]=\"$displayFn()\">\n @if(!$required()){\n <mat-option>None</mat-option>\n }\n @for (opt of $filtered(); track opt) {\n <mat-option [value]=\"opt\">{{display(opt)}}</mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SmartSelectComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SmartSelectComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{ selector: 'x-smart-select', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatAutocompleteModule, MatInputModule, ReactiveFormsModule, MatIconModule,
261
261
  MatTooltipModule, MatButtonModule], host: {
262
- '(blur)': 'onTouched($event)'
262
+ '(blur)': 'onTouched()'
263
263
  }, providers: [
264
264
  {
265
265
  provide: NG_VALUE_ACCESSOR,
@@ -290,10 +290,10 @@ class DetailActionsComponent {
290
290
  constructor() {
291
291
  this.cancel.pipe(take(1)).subscribe(() => this.dontRoute || this.store.dispatch(SharedActions.back()));
292
292
  }
293
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.12", type: DetailActionsComponent, isStandalone: true, selector: "x-detail-actions", inputs: { dontRoute: ["no-routing", "dontRoute", booleanAttribute] }, outputs: { cancel: "cancel" }, ngImport: i0, template: "<mat-toolbar class=\"flex flex-row gap-2 p-2\">\n <button mat-stroked-button type=\"submit\"><mat-icon>save</mat-icon> Save</button>\n <button mat-button type=\"button\" (click)=\"cancel.emit()\"><mat-icon>cancel</mat-icon> Cancel</button>\n <div class=\"flex-grow\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</mat-toolbar>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DetailActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.1", type: DetailActionsComponent, isStandalone: true, selector: "x-detail-actions", inputs: { dontRoute: ["no-routing", "dontRoute", booleanAttribute] }, outputs: { cancel: "cancel" }, ngImport: i0, template: "<mat-toolbar class=\"flex flex-row gap-2 p-2\">\n <button mat-stroked-button type=\"submit\"><mat-icon>save</mat-icon> Save</button>\n <button mat-button type=\"button\" (click)=\"cancel.emit()\"><mat-icon>cancel</mat-icon> Cancel</button>\n <div class=\"flex-grow\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</mat-toolbar>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
295
295
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailActionsComponent, decorators: [{
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: DetailActionsComponent, decorators: [{
297
297
  type: Component,
298
298
  args: [{ selector: 'x-detail-actions', imports: [MatToolbarModule, MatIconModule, MatButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar class=\"flex flex-row gap-2 p-2\">\n <button mat-stroked-button type=\"submit\"><mat-icon>save</mat-icon> Save</button>\n <button mat-button type=\"button\" (click)=\"cancel.emit()\"><mat-icon>cancel</mat-icon> Cancel</button>\n <div class=\"flex-grow\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</mat-toolbar>" }]
299
299
  }], ctorParameters: () => [], propDecorators: { dontRoute: [{
@@ -309,8 +309,8 @@ class EmailComponent {
309
309
  login = new EventEmitter();
310
310
  label = 'Email';
311
311
  exists = new EventEmitter();
312
- $touched = input(false, ...(ngDevMode ? [{ debugName: "$touched", transform: booleanAttribute, alias: 'touched' }] : [{ transform: booleanAttribute, alias: 'touched' }]));
313
- $existing = input(false, ...(ngDevMode ? [{ debugName: "$existing", transform: booleanAttribute, alias: 'existing' }] : [{ transform: booleanAttribute, alias: 'existing' }]));
312
+ $touched = input(false, { ...(ngDevMode ? { debugName: "$touched" } : {}), transform: booleanAttribute, alias: 'touched' });
313
+ $existing = input(false, { ...(ngDevMode ? { debugName: "$existing" } : {}), transform: booleanAttribute, alias: 'existing' });
314
314
  control = new FormControl('', [Validators.required, Validators.email]);
315
315
  onChange = (_) => { };
316
316
  onTouch = (_) => { };
@@ -365,8 +365,8 @@ class EmailComponent {
365
365
  }
366
366
  });
367
367
  }
368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: EmailComponent, isStandalone: true, selector: "x-email", inputs: { icons: { classPropertyName: "icons", publicName: "icons", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkUserExistsFn: { classPropertyName: "checkUserExistsFn", publicName: "checkUserExistsFn", isSignal: false, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, $touched: { classPropertyName: "$touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, $existing: { classPropertyName: "$existing", publicName: "existing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", exists: "exists" }, host: { listeners: { "blur": "onTouch($event)" } }, providers: [
368
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
369
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: EmailComponent, isStandalone: true, selector: "x-email", inputs: { icons: { classPropertyName: "icons", publicName: "icons", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkUserExistsFn: { classPropertyName: "checkUserExistsFn", publicName: "checkUserExistsFn", isSignal: false, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, $touched: { classPropertyName: "$touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, $existing: { classPropertyName: "$existing", publicName: "existing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", exists: "exists" }, host: { listeners: { "blur": "onTouch($event)" } }, providers: [
370
370
  {
371
371
  provide: NG_VALUE_ACCESSOR,
372
372
  multi: true,
@@ -379,7 +379,7 @@ class EmailComponent {
379
379
  },
380
380
  ], ngImport: i0, template: "<mat-form-field >\n <mat-label>{{label}}</mat-label>\n @if(icons){\n <mat-icon matPrefix>mail</mat-icon>\n }\n <input autocapitalize=\"off\" matInput type=\"email\" [formControl]=\"control\" required>\n <mat-hint><ng-content></ng-content></mat-hint>\n @if (control.hasError('required')){\n <mat-error>Email is required</mat-error>\n } @else if (control.hasError('email')){\n <mat-error>Email is invalid</mat-error>\n } @else if (control.hasError('exists')){\n <mat-error>Email already exists: <a (click)=\"login.emit()\">sign in</a>.</mat-error>\n } @else if (control.hasError('missing')){\n <mat-error>Email is missing</mat-error>\n }\n</mat-form-field>", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: RouterModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
381
381
  }
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: EmailComponent, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: EmailComponent, decorators: [{
383
383
  type: Component,
384
384
  args: [{ selector: 'x-email', imports: [ReactiveFormsModule, MatFormFieldModule, MatIconModule,
385
385
  MatInputModule, RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -537,21 +537,21 @@ class GridComponent {
537
537
  router = inject(Router);
538
538
  store = inject(Store);
539
539
  selection = new SelectionModel(true, [], true, (a, b) => (a.id ?? a) === (b.id ?? b));
540
- $config = signal(undefined, ...(ngDevMode ? [{ debugName: "$config" }] : []));
540
+ $config = signal(undefined, { ...(ngDevMode ? { debugName: "$config" } : {}) });
541
541
  action = output();
542
542
  set config(val) {
543
543
  this.$config.set(val);
544
544
  }
545
545
  ;
546
- $view = input(undefined, ...(ngDevMode ? [{ debugName: "$view", alias: 'view' }] : [{ alias: 'view' }]));
546
+ $view = input(undefined, { ...(ngDevMode ? { debugName: "$view" } : {}), alias: 'view' });
547
547
  dataChange = output();
548
548
  $sort = this.store.selectSignal(selectSortBy);
549
549
  $dir;
550
- $bulk = input(false, ...(ngDevMode ? [{ debugName: "$bulk", alias: 'bulk', transform: booleanAttribute }] : [{ alias: 'bulk', transform: booleanAttribute }]));
551
- $allSelected = signal(false, ...(ngDevMode ? [{ debugName: "$allSelected" }] : []));
550
+ $bulk = input(false, { ...(ngDevMode ? { debugName: "$bulk" } : {}), alias: 'bulk', transform: booleanAttribute });
551
+ $allSelected = signal(false, { ...(ngDevMode ? { debugName: "$allSelected" } : {}) });
552
552
  $gridName = this.store.selectSignal(selectGridName);
553
- $columns = computed(() => this.$config()?.columns, ...(ngDevMode ? [{ debugName: "$columns" }] : []));
554
- $buttons = computed(() => this.$config()?.buttons, ...(ngDevMode ? [{ debugName: "$buttons" }] : []));
553
+ $columns = computed(() => this.$config()?.columns, { ...(ngDevMode ? { debugName: "$columns" } : {}) });
554
+ $buttons = computed(() => this.$config()?.buttons, { ...(ngDevMode ? { debugName: "$buttons" } : {}) });
555
555
  $displayedColumns = computed(() => {
556
556
  let res = this.$columns()?.map(c => c.name);
557
557
  if (res && this.$hasActions()) {
@@ -561,28 +561,28 @@ class GridComponent {
561
561
  res.unshift('select');
562
562
  }
563
563
  return res;
564
- }, ...(ngDevMode ? [{ debugName: "$displayedColumns" }] : []));
565
- $data = input(undefined, ...(ngDevMode ? [{ debugName: "$data", alias: 'data' }] : [{ alias: 'data' }]));
564
+ }, { ...(ngDevMode ? { debugName: "$displayedColumns" } : {}) });
565
+ $data = input(undefined, { ...(ngDevMode ? { debugName: "$data" } : {}), alias: 'data' });
566
566
  $storeData = toSignal(toObservable(this.$gridName).pipe(filter(name => !!name), mergeMap(name => this.store.select(selectGridData(name)))));
567
567
  $gridData = computed(() => {
568
568
  let data = this.$data();
569
569
  let storeData = this.$storeData();
570
570
  return data ?? storeData;
571
- }, ...(ngDevMode ? [{ debugName: "$gridData" }] : []));
571
+ }, { ...(ngDevMode ? { debugName: "$gridData" } : {}) });
572
572
  $hasPaging = computed(() => {
573
573
  let gridData = this.$gridData();
574
574
  return gridData?.data && typeof gridData.count === 'number';
575
- }, ...(ngDevMode ? [{ debugName: "$hasPaging" }] : []));
575
+ }, { ...(ngDevMode ? { debugName: "$hasPaging" } : {}) });
576
576
  $filter = this.store.selectSignal(selectFilterText);
577
577
  $pageIndex = this.store.selectSignal(selectPageIndex);
578
578
  $pageSizeRouter = this.store.selectSignal(selectPageSize);
579
- $pageSizeInput = input(undefined, ...(ngDevMode ? [{ debugName: "$pageSizeInput", alias: 'pageSize' }] : [{ alias: 'pageSize' }]));
580
- $pageSize = computed(() => this.$pageSizeInput() ?? this.$pageSizeRouter(), ...(ngDevMode ? [{ debugName: "$pageSize" }] : []));
581
- $dataSource = computed(() => this.$gridData()?.data ?? [], ...(ngDevMode ? [{ debugName: "$dataSource" }] : []));
579
+ $pageSizeInput = input(undefined, { ...(ngDevMode ? { debugName: "$pageSizeInput" } : {}), alias: 'pageSize' });
580
+ $pageSize = computed(() => this.$pageSizeInput() ?? this.$pageSizeRouter(), { ...(ngDevMode ? { debugName: "$pageSize" } : {}) });
581
+ $dataSource = computed(() => this.$gridData()?.data ?? [], { ...(ngDevMode ? { debugName: "$dataSource" } : {}) });
582
582
  $searchColumns = this.store.selectSignal(selectSearchFields);
583
- $hasSearch = computed(() => this.$searchColumns()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasSearch" }] : []));
584
- $actions = computed(() => this.$config()?.actions, ...(ngDevMode ? [{ debugName: "$actions" }] : []));
585
- $hasActions = computed(() => this.$actions()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasActions" }] : []));
583
+ $hasSearch = computed(() => this.$searchColumns()?.length ?? 0, { ...(ngDevMode ? { debugName: "$hasSearch" } : {}) });
584
+ $actions = computed(() => this.$config()?.actions, { ...(ngDevMode ? { debugName: "$actions" } : {}) });
585
+ $hasActions = computed(() => this.$actions()?.length ?? 0, { ...(ngDevMode ? { debugName: "$hasActions" } : {}) });
586
586
  $selectedCount;
587
587
  toggleAll() {
588
588
  this.selection.clear();
@@ -666,7 +666,7 @@ class GridComponent {
666
666
  $request = this.store.selectSignal(selectDataRequest);
667
667
  constructor() {
668
668
  let $dir = this.store.selectSignal(selectSortDir);
669
- this.$dir = computed(() => $dir() == SortDir.Desc ? 'desc' : 'asc', ...(ngDevMode ? [{ debugName: "$dir" }] : []));
669
+ this.$dir = computed(() => $dir() == SortDir.Desc ? 'desc' : 'asc', { ...(ngDevMode ? { debugName: "$dir" } : {}) });
670
670
  effect(() => {
671
671
  this.$deleteSuccess();
672
672
  this.selection.clear();
@@ -680,17 +680,17 @@ class GridComponent {
680
680
  let selection = $selectionChanged()?.source;
681
681
  let total = this.$gridData()?.count;
682
682
  return this.$allSelected() && !selection?.hasValue() ? total : selection?.selected.length;
683
- }, ...(ngDevMode ? [{ debugName: "$selectedCount" }] : []));
683
+ }, { ...(ngDevMode ? { debugName: "$selectedCount" } : {}) });
684
684
  }
685
685
  onClick($event, row, column) {
686
686
  $event.stopPropagation();
687
687
  if (column.action)
688
688
  column.action(row);
689
689
  }
690
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
691
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: GridComponent, isStandalone: true, selector: "x-grid", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, $view: { classPropertyName: "$view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, $bulk: { classPropertyName: "$bulk", publicName: "bulk", isSignal: true, isRequired: false, transformFunction: null }, $data: { classPropertyName: "$data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, $pageSizeInput: { classPropertyName: "$pageSizeInput", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action", dataChange: "dataChange" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar #toolbar class=\"flex flex-row gap-2 p-2\" [style.display]=\"hasToolbar?undefined:' none'\">\n @if($hasSearch()){\n <div class=\"h-full\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"text\" [value]=\"$filter()\" (keyup)=\"filterKeyUp($event)\">\n @if ($filter()) {\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"setFilter('')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n </div>\n }\n <ng-content select=\"[toolbar]\"></ng-content>\n @for(button of $buttons(); track button.name){\n @if (!button.visible || button.visible()){\n <button mat-button [routerLink]=\"button.routerLink?button.routerLink():undefined\" \n [matTooltip]=\"button.text\" [disabled]=\"button.disabled?button.disabled():undefined\"\n (click)=\"onAction($event,undefined,button)\"><mat-icon>{{button.icon}}</mat-icon> {{button.text}}</button>\n }\n }\n @if ($config()?.new){\n <a mat-button routerLink=\"../new\"><mat-icon>add</mat-icon> New</a>\n }\n @if($config()?.refresh)\n {\n <button mat-button (click)=\"refresh()\"><mat-icon>sync</mat-icon> Refresh</button>\n }\n @if($bulk()){\n <button mat-button [disabled]=\"!$selectedCount()\" (click)=\"deleteSelected()\"><mat-icon>delete</mat-icon>\n Delete</button>\n }\n <span class=\"flex-grow\"></span>\n @if ($selectedCount() || $allSelected()){\n <span class=\"count\"> {{$selectedCount()??0}} items selected</span>\n }\n</mat-toolbar>\n@if($view(); as view){\n<ng-container *ngTemplateOutlet=\"view; context:{ $implicit: $gridData() }\"></ng-container>\n} @else {\n<mat-table [dataSource]=\"$dataSource()\" matSort (matSortChange)=\"sortChange($event)\" [matSortActive]=\"$sort()\"\n [matSortDirection]=\"$dir()\" matSortDisableClear>\n @if ($bulk()){\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef class=\"select\" matTooltip=\"Select all\">\n <mat-checkbox (change)=\"$event ? toggleAll() : null\" [checked]=\"!selection.hasValue() && $allSelected()\"\n [indeterminate]=\"selection.hasValue() && !$allSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"select\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"toggleOne($event, row)\"\n [checked]=\"selection.isSelected(row) || $allSelected() && !selection.hasValue()\">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n }\n @for(column of $columns(); track column.name){\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sort){\n <mat-header-cell [style]=\"getStyle(column)\" *matHeaderCellDef\n mat-sort-header>{{column.header}}</mat-header-cell>\n } @else {\n <mat-header-cell [style]=\"getStyle(column)\" *matHeaderCellDef>{{column.header}}</mat-header-cell>\n }\n <mat-cell [style]=\"getStyle(column)\" *matCellDef=\"let row\">\n @if (column.icon) {\n <mat-icon>{{column.icon(row)}}</mat-icon>\n } @else if(column.href || column.routerLink || column.action){\n <a [routerLink]=\"column.routerLink?column.routerLink(row):undefined\"\n [queryParams]=\"column.queryParams?column.queryParams(row):undefined\"\n [attr.href]=\"column.href?column.href(row):'#'\" (click)=\"onClick($event, row, column)\">\n {{ display(column,row) }}\n </a>\n } @else if (getDisplayRef(column)) {\n <ng-container *ngTemplateOutlet=\"getDisplayRef(column); context: { $implicit: row}\"></ng-container>\n } @else {\n {{ display(column,row)}}\n }\n </mat-cell>\n </ng-container>\n }\n @if($hasActions()){\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell [style]=\"getActionStyle()\" *matHeaderCellDef>Actions</mat-header-cell>\n <mat-cell [style]=\"getActionStyle()\" *matCellDef=\"let row\">\n @for(action of $actions(); track action.name){\n @if(!action.visible || action.visible(row)){\n <button type=\"button\" mat-icon-button [disabled]=\"action.disabled?action.disabled(row):undefined\"\n [matTooltip]=\"action.text\" (click)=\"onAction($event, row, action)\"\n [queryParams]=\"action.queryParams?action.queryParams(row):undefined\"\n [routerLink]=\"action.routerLink?action.routerLink(row):undefined\">\n <mat-icon>{{action.icon}}</mat-icon>\n </button>\n }\n }\n </mat-cell>\n </ng-container>\n }\n <mat-header-row *matHeaderRowDef=\"$displayedColumns()\"></mat-header-row>\n <mat-row [class.clickable]=\"!!$config()?.defaultAction\" *matRowDef=\"let row; columns: $displayedColumns()\"\n (click)=\"onRowClick(row)\"></mat-row>\n</mat-table>\n}\n@if($hasPaging()){\n<mat-paginator [pageIndex]=\"$pageIndex()\" [length]=\"$gridData()?.count\" [pageSize]=\"$pageSize()\"\n (page)=\"pageChange($event)\" aria-label=\"Select page\"></mat-paginator>\n}", styles: ["mat-row.clickable:hover{background:var(--mat-sys-surface-container-high);cursor:pointer}.select{max-width:80px}.count{font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
690
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
691
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: GridComponent, isStandalone: true, selector: "x-grid", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, $view: { classPropertyName: "$view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, $bulk: { classPropertyName: "$bulk", publicName: "bulk", isSignal: true, isRequired: false, transformFunction: null }, $data: { classPropertyName: "$data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, $pageSizeInput: { classPropertyName: "$pageSizeInput", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: "action", dataChange: "dataChange" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar #toolbar class=\"flex flex-row gap-2 p-2\" [style.display]=\"hasToolbar?undefined:' none'\">\n @if($hasSearch()){\n <div class=\"h-full\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"text\" [value]=\"$filter()\" (keyup)=\"filterKeyUp($event)\">\n @if ($filter()) {\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"setFilter('')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n </div>\n }\n <ng-content select=\"[toolbar]\"></ng-content>\n @for(button of $buttons(); track button.name){\n @if (!button.visible || button.visible()){\n <button mat-button [routerLink]=\"button.routerLink?button.routerLink():undefined\" \n [matTooltip]=\"button.text\" [disabled]=\"button.disabled?button.disabled():undefined\"\n (click)=\"onAction($event,undefined,button)\"><mat-icon>{{button.icon}}</mat-icon> {{button.text}}</button>\n }\n }\n @if ($config()?.new){\n <a mat-button routerLink=\"../new\"><mat-icon>add</mat-icon> New</a>\n }\n @if($config()?.refresh)\n {\n <button mat-button (click)=\"refresh()\"><mat-icon>sync</mat-icon> Refresh</button>\n }\n @if($bulk()){\n <button mat-button [disabled]=\"!$selectedCount()\" (click)=\"deleteSelected()\"><mat-icon>delete</mat-icon>\n Delete</button>\n }\n <span class=\"flex-grow\"></span>\n @if ($selectedCount() || $allSelected()){\n <span class=\"count\"> {{$selectedCount()??0}} items selected</span>\n }\n</mat-toolbar>\n@if($view(); as view){\n<ng-container *ngTemplateOutlet=\"view; context:{ $implicit: $gridData() }\"></ng-container>\n} @else {\n<mat-table [dataSource]=\"$dataSource()\" matSort (matSortChange)=\"sortChange($event)\" [matSortActive]=\"$sort()\"\n [matSortDirection]=\"$dir()\" matSortDisableClear>\n @if ($bulk()){\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef class=\"select\" matTooltip=\"Select all\">\n <mat-checkbox (change)=\"$event ? toggleAll() : null\" [checked]=\"!selection.hasValue() && $allSelected()\"\n [indeterminate]=\"selection.hasValue() && !$allSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"select\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"toggleOne($event, row)\"\n [checked]=\"selection.isSelected(row) || $allSelected() && !selection.hasValue()\">\n </mat-checkbox>\n </mat-cell>\n </ng-container>\n }\n @for(column of $columns(); track column.name){\n <ng-container [matColumnDef]=\"column.name\">\n @if (column.sort){\n <mat-header-cell [style]=\"getStyle(column)\" *matHeaderCellDef\n mat-sort-header>{{column.header}}</mat-header-cell>\n } @else {\n <mat-header-cell [style]=\"getStyle(column)\" *matHeaderCellDef>{{column.header}}</mat-header-cell>\n }\n <mat-cell [style]=\"getStyle(column)\" *matCellDef=\"let row\">\n @if (column.icon) {\n <mat-icon>{{column.icon(row)}}</mat-icon>\n } @else if(column.href || column.routerLink || column.action){\n <a [routerLink]=\"column.routerLink?column.routerLink(row):undefined\"\n [queryParams]=\"column.queryParams?column.queryParams(row):undefined\"\n [attr.href]=\"column.href?column.href(row):'#'\" (click)=\"onClick($event, row, column)\">\n {{ display(column,row) }}\n </a>\n } @else if (getDisplayRef(column)) {\n <ng-container *ngTemplateOutlet=\"getDisplayRef(column); context: { $implicit: row}\"></ng-container>\n } @else {\n {{ display(column,row)}}\n }\n </mat-cell>\n </ng-container>\n }\n @if($hasActions()){\n <ng-container matColumnDef=\"actions\">\n <mat-header-cell [style]=\"getActionStyle()\" *matHeaderCellDef>Actions</mat-header-cell>\n <mat-cell [style]=\"getActionStyle()\" *matCellDef=\"let row\">\n @for(action of $actions(); track action.name){\n @if(!action.visible || action.visible(row)){\n <button type=\"button\" mat-icon-button [disabled]=\"action.disabled?action.disabled(row):undefined\"\n [matTooltip]=\"action.text\" (click)=\"onAction($event, row, action)\"\n [queryParams]=\"action.queryParams?action.queryParams(row):undefined\"\n [routerLink]=\"action.routerLink?action.routerLink(row):undefined\">\n <mat-icon>{{action.icon}}</mat-icon>\n </button>\n }\n }\n </mat-cell>\n </ng-container>\n }\n <mat-header-row *matHeaderRowDef=\"$displayedColumns()\"></mat-header-row>\n <mat-row [class.clickable]=\"!!$config()?.defaultAction\" *matRowDef=\"let row; columns: $displayedColumns()\"\n (click)=\"onRowClick(row)\"></mat-row>\n</mat-table>\n}\n@if($hasPaging()){\n<mat-paginator [pageIndex]=\"$pageIndex()\" [length]=\"$gridData()?.count\" [pageSize]=\"$pageSize()\"\n (page)=\"pageChange($event)\" aria-label=\"Select page\"></mat-paginator>\n}", styles: ["mat-row.clickable:hover{background:var(--mat-sys-surface-container-high);cursor:pointer}.select{max-width:80px}.count{font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
692
692
  }
693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridComponent, decorators: [{
693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridComponent, decorators: [{
694
694
  type: Component,
695
695
  args: [{ selector: 'x-grid', imports: [MatInputModule, MatTableModule, MatToolbarModule, MatButtonModule,
696
696
  MatCheckboxModule, MatTooltipModule, MatIconModule, RouterModule,
@@ -716,21 +716,21 @@ class RouterEffects {
716
716
  $set = createEffect(() => this.actions$.pipe(ofType(RouterActions.setQueryParams), concatLatestFrom(() => this.store.select(selectQueryParams)), tap(([{ queryParams }, params]) => {
717
717
  this.router.navigate([], { queryParams: Object.assign({ ...params }, queryParams) });
718
718
  })), { dispatch: false });
719
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
720
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterEffects });
719
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: RouterEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
720
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: RouterEffects });
721
721
  }
722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterEffects, decorators: [{
722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: RouterEffects, decorators: [{
723
723
  type: Injectable
724
724
  }] });
725
725
 
726
726
  class StateRouterModule {
727
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: StateRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
728
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: StateRouterModule, imports: [CommonModule] });
729
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: StateRouterModule, providers: [
727
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StateRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
728
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: StateRouterModule, imports: [CommonModule] });
729
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StateRouterModule, providers: [
730
730
  provideEffects(RouterEffects)
731
731
  ], imports: [CommonModule] });
732
732
  }
733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: StateRouterModule, decorators: [{
733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: StateRouterModule, decorators: [{
734
734
  type: NgModule,
735
735
  args: [{
736
736
  declarations: [],
@@ -848,10 +848,10 @@ class GridEffects {
848
848
  return this.actions$.pipe(ofType(GridActions.bulkDeleteSuccess), tap$1(() => this.snack.info('Deleted!')), map$1(() => GridActions.refresh()));
849
849
  });
850
850
  constructor() { }
851
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
852
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridEffects });
851
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
852
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridEffects });
853
853
  }
854
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridEffects, decorators: [{
854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridEffects, decorators: [{
855
855
  type: Injectable
856
856
  }], ctorParameters: () => [] });
857
857
  function buildFilters(filter, fields) {
@@ -868,14 +868,14 @@ function buildFilters(filter, fields) {
868
868
  }
869
869
 
870
870
  class GridModule {
871
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
872
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: GridModule, imports: [CommonModule] });
873
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridModule, providers: [
871
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
872
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: GridModule, imports: [CommonModule] });
873
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridModule, providers: [
874
874
  provideState(gridFeature),
875
875
  provideEffects([GridEffects])
876
876
  ], imports: [CommonModule] });
877
877
  }
878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: GridModule, decorators: [{
878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: GridModule, decorators: [{
879
879
  type: NgModule,
880
880
  args: [{
881
881
  declarations: [],
@@ -980,22 +980,22 @@ class CrudEffects {
980
980
  }));
981
981
  });
982
982
  constructor() { }
983
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
984
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudEffects });
983
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
984
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudEffects });
985
985
  }
986
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudEffects, decorators: [{
986
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudEffects, decorators: [{
987
987
  type: Injectable
988
988
  }], ctorParameters: () => [] });
989
989
 
990
990
  class CrudModule {
991
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
992
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: CrudModule, imports: [CommonModule] });
993
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudModule, providers: [
991
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
992
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: CrudModule, imports: [CommonModule] });
993
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudModule, providers: [
994
994
  provideState(crudFeature),
995
995
  provideEffects(CrudEffects)
996
996
  ], imports: [CommonModule] });
997
997
  }
998
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CrudModule, decorators: [{
998
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CrudModule, decorators: [{
999
999
  type: NgModule,
1000
1000
  args: [{
1001
1001
  declarations: [],
@@ -1058,10 +1058,10 @@ class SharedEffects {
1058
1058
  ngrxOnInitEffects() {
1059
1059
  return SharedActions.init();
1060
1060
  }
1061
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedEffects, deps: [{ token: i1$2.HttpClient }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1062
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedEffects });
1061
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedEffects, deps: [{ token: i1$2.HttpClient }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1062
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedEffects });
1063
1063
  }
1064
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedEffects, decorators: [{
1064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedEffects, decorators: [{
1065
1065
  type: Injectable
1066
1066
  }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i2$2.Router }] });
1067
1067
 
@@ -1078,14 +1078,14 @@ const sharedFeature = createFeature({
1078
1078
  });
1079
1079
 
1080
1080
  class SharedModule {
1081
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1082
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: SharedModule, imports: [CommonModule] });
1083
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedModule, providers: [
1081
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1082
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: SharedModule, imports: [CommonModule] });
1083
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedModule, providers: [
1084
1084
  provideState(sharedFeature),
1085
1085
  provideEffects([SharedEffects])
1086
1086
  ], imports: [CommonModule] });
1087
1087
  }
1088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SharedModule, decorators: [{
1088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: SharedModule, decorators: [{
1089
1089
  type: NgModule,
1090
1090
  args: [{
1091
1091
  declarations: [],
@@ -1153,8 +1153,8 @@ class HostControlDirective {
1153
1153
  ngOnDestroy() {
1154
1154
  this.subscription?.unsubscribe();
1155
1155
  }
1156
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HostControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1157
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: HostControlDirective, isStandalone: true, providers: [
1156
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: HostControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1157
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.1", type: HostControlDirective, isStandalone: true, providers: [
1158
1158
  {
1159
1159
  provide: NG_VALUE_ACCESSOR,
1160
1160
  multi: true,
@@ -1162,7 +1162,7 @@ class HostControlDirective {
1162
1162
  },
1163
1163
  ], ngImport: i0 });
1164
1164
  }
1165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HostControlDirective, decorators: [{
1165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: HostControlDirective, decorators: [{
1166
1166
  type: Directive,
1167
1167
  args: [{
1168
1168
  standalone: true,