axioma-material 7.0.24 → 7.0.26

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.
@@ -46,10 +46,10 @@ class SnackService {
46
46
  let ref = this.snackBar.open(message, action, { duration });
47
47
  return ref.afterDismissed().pipe(map(d => d.dismissedByAction));
48
48
  }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SnackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
50
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SnackService, providedIn: 'root' });
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SnackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
50
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SnackService, providedIn: 'root' });
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SnackService, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SnackService, decorators: [{
53
53
  type: Injectable,
54
54
  args: [{
55
55
  providedIn: 'root'
@@ -106,10 +106,10 @@ class ConfirmationDialogComponent {
106
106
  clickButton(button) {
107
107
  this.dialogRef.close(button.value);
108
108
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.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 });
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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 });
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
113
113
  type: Component,
114
114
  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>" }]
115
115
  }], ctorParameters: () => [] });
@@ -122,10 +122,10 @@ class ConfirmationService {
122
122
  });
123
123
  return ref.afterClosed();
124
124
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ConfirmationService, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmationService, decorators: [{
129
129
  type: Injectable,
130
130
  args: [{
131
131
  providedIn: 'root'
@@ -137,27 +137,27 @@ class SmartSelectComponent {
137
137
  input;
138
138
  auto;
139
139
  inputValue = '';
140
- $displayFn = input((v) => v?.name ?? '', { ...(ngDevMode ? { debugName: "$displayFn" } : {}), alias: 'display' });
141
- $hint = input('Type to search', { ...(ngDevMode ? { debugName: "$hint" } : {}), alias: 'hint' });
142
- $label = input.required({ ...(ngDevMode ? { debugName: "$label" } : {}), alias: 'label' });
143
- $options = input([], { ...(ngDevMode ? { debugName: "$options" } : {}), alias: 'options' });
144
- $toolbar = input(false, { ...(ngDevMode ? { debugName: "$toolbar" } : {}), transform: booleanAttribute, alias: 'toolbar' });
145
- $new = input(false, { ...(ngDevMode ? { debugName: "$new" } : {}), transform: booleanAttribute, alias: 'new' });
140
+ $displayFn = input((v) => v?.name ?? '', { ...(ngDevMode ? { debugName: "$displayFn" } : /* istanbul ignore next */ {}), alias: 'display' });
141
+ $hint = input('Type to search', { ...(ngDevMode ? { debugName: "$hint" } : /* istanbul ignore next */ {}), alias: 'hint' });
142
+ $label = input.required({ ...(ngDevMode ? { debugName: "$label" } : /* istanbul ignore next */ {}), alias: 'label' });
143
+ $options = input([], { ...(ngDevMode ? { debugName: "$options" } : /* istanbul ignore next */ {}), alias: 'options' });
144
+ $toolbar = input(false, { ...(ngDevMode ? { debugName: "$toolbar" } : /* istanbul ignore next */ {}), transform: booleanAttribute, alias: 'toolbar' });
145
+ $new = input(false, { ...(ngDevMode ? { debugName: "$new" } : /* istanbul ignore next */ {}), transform: booleanAttribute, alias: 'new' });
146
146
  newClick = output();
147
147
  change = output();
148
- $required = input(false, { ...(ngDevMode ? { debugName: "$required" } : {}), alias: 'required', transform: booleanAttribute });
148
+ $required = input(false, { ...(ngDevMode ? { debugName: "$required" } : /* istanbul ignore next */ {}), alias: 'required', transform: booleanAttribute });
149
149
  control = new FormControl();
150
150
  outerControl;
151
151
  filter = output();
152
- $filter = signal(undefined, ...(ngDevMode ? [{ debugName: "$filter" }] : []));
152
+ $filter = signal(undefined, ...(ngDevMode ? [{ debugName: "$filter" }] : /* istanbul ignore next */ []));
153
153
  $filtered = computed(() => {
154
154
  let filter = this.$filter()?.toLowerCase();
155
155
  let options = this.$options();
156
156
  let res = filter ? options?.filter(c => c.name?.toLowerCase().includes(filter)
157
157
  || c.name?.toLowerCase().includes(filter) || typeof c?.id === 'string' && c.id.toLowerCase().includes(filter)) : options;
158
158
  return res;
159
- }, ...(ngDevMode ? [{ debugName: "$filtered" }] : []));
160
- $touched = signal(false, { ...(ngDevMode ? { debugName: "$touched" } : {}), equal: (a, b) => false });
159
+ }, ...(ngDevMode ? [{ debugName: "$filtered" }] : /* istanbul ignore next */ []));
160
+ $touched = signal(false, { ...(ngDevMode ? { debugName: "$touched" } : /* istanbul ignore next */ {}), equal: (a, b) => false });
161
161
  set touched(value) {
162
162
  this.$touched.set(value);
163
163
  }
@@ -247,8 +247,8 @@ class SmartSelectComponent {
247
247
  e.stopPropagation();
248
248
  this.newClick.emit();
249
249
  }
250
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SmartSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
251
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.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: [
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SmartSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
251
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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: [
252
252
  {
253
253
  provide: NG_VALUE_ACCESSOR,
254
254
  multi: true,
@@ -256,7 +256,7 @@ class SmartSelectComponent {
256
256
  }
257
257
  ], 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 });
258
258
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SmartSelectComponent, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SmartSelectComponent, decorators: [{
260
260
  type: Component,
261
261
  args: [{ selector: 'x-smart-select', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatAutocompleteModule, MatInputModule, ReactiveFormsModule, MatIconModule,
262
262
  MatTooltipModule, MatButtonModule], host: {
@@ -291,10 +291,10 @@ class DetailActionsComponent {
291
291
  constructor() {
292
292
  this.cancel.pipe(take(1)).subscribe(() => this.dontRoute || this.store.dispatch(SharedActions.back()));
293
293
  }
294
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
295
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.1.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 });
294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DetailActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
295
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", 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 });
296
296
  }
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailActionsComponent, decorators: [{
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DetailActionsComponent, decorators: [{
298
298
  type: Component,
299
299
  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>" }]
300
300
  }], ctorParameters: () => [], propDecorators: { dontRoute: [{
@@ -310,8 +310,8 @@ class EmailComponent {
310
310
  login = new EventEmitter();
311
311
  label = 'Email';
312
312
  exists = new EventEmitter();
313
- $touched = input(false, { ...(ngDevMode ? { debugName: "$touched" } : {}), transform: booleanAttribute, alias: 'touched' });
314
- $existing = input(false, { ...(ngDevMode ? { debugName: "$existing" } : {}), transform: booleanAttribute, alias: 'existing' });
313
+ $touched = input(false, { ...(ngDevMode ? { debugName: "$touched" } : /* istanbul ignore next */ {}), transform: booleanAttribute, alias: 'touched' });
314
+ $existing = input(false, { ...(ngDevMode ? { debugName: "$existing" } : /* istanbul ignore next */ {}), transform: booleanAttribute, alias: 'existing' });
315
315
  control = new FormControl('', [Validators.required, Validators.email]);
316
316
  onChange = (_) => { };
317
317
  onTouch = (_) => { };
@@ -366,8 +366,8 @@ class EmailComponent {
366
366
  }
367
367
  });
368
368
  }
369
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
370
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.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: [
369
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
370
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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: [
371
371
  {
372
372
  provide: NG_VALUE_ACCESSOR,
373
373
  multi: true,
@@ -380,7 +380,7 @@ class EmailComponent {
380
380
  },
381
381
  ], 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 });
382
382
  }
383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EmailComponent, decorators: [{
383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: EmailComponent, decorators: [{
384
384
  type: Component,
385
385
  args: [{ selector: 'x-email', imports: [ReactiveFormsModule, MatFormFieldModule, MatIconModule,
386
386
  MatInputModule, RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -541,21 +541,21 @@ class GridComponent {
541
541
  router = inject(Router);
542
542
  store = inject(Store);
543
543
  selection = new SelectionModel(true, [], true, (a, b) => (a.id ?? a) === (b.id ?? b));
544
- $config = signal(undefined, ...(ngDevMode ? [{ debugName: "$config" }] : []));
544
+ $config = signal(undefined, ...(ngDevMode ? [{ debugName: "$config" }] : /* istanbul ignore next */ []));
545
545
  action = output();
546
546
  set config(val) {
547
547
  this.$config.set(val);
548
548
  }
549
549
  ;
550
- $view = input(undefined, { ...(ngDevMode ? { debugName: "$view" } : {}), alias: 'view' });
550
+ $view = input(undefined, { ...(ngDevMode ? { debugName: "$view" } : /* istanbul ignore next */ {}), alias: 'view' });
551
551
  dataChange = output();
552
552
  $sort = this.store.selectSignal(selectSortBy);
553
553
  $dir;
554
- $bulk = input(false, { ...(ngDevMode ? { debugName: "$bulk" } : {}), alias: 'bulk', transform: booleanAttribute });
555
- $allSelected = signal(false, ...(ngDevMode ? [{ debugName: "$allSelected" }] : []));
554
+ $bulk = input(false, { ...(ngDevMode ? { debugName: "$bulk" } : /* istanbul ignore next */ {}), alias: 'bulk', transform: booleanAttribute });
555
+ $allSelected = signal(false, ...(ngDevMode ? [{ debugName: "$allSelected" }] : /* istanbul ignore next */ []));
556
556
  $gridName = this.store.selectSignal(selectGridName);
557
- $columns = computed(() => this.$config()?.columns, ...(ngDevMode ? [{ debugName: "$columns" }] : []));
558
- $buttons = computed(() => this.$config()?.buttons, ...(ngDevMode ? [{ debugName: "$buttons" }] : []));
557
+ $columns = computed(() => this.$config()?.columns, ...(ngDevMode ? [{ debugName: "$columns" }] : /* istanbul ignore next */ []));
558
+ $buttons = computed(() => this.$config()?.buttons, ...(ngDevMode ? [{ debugName: "$buttons" }] : /* istanbul ignore next */ []));
559
559
  $displayedColumns = computed(() => {
560
560
  let res = this.$columns()?.map(c => c.name);
561
561
  if (res && this.$hasActions()) {
@@ -565,28 +565,28 @@ class GridComponent {
565
565
  res.unshift('select');
566
566
  }
567
567
  return res;
568
- }, ...(ngDevMode ? [{ debugName: "$displayedColumns" }] : []));
569
- $data = input(undefined, { ...(ngDevMode ? { debugName: "$data" } : {}), alias: 'data' });
568
+ }, ...(ngDevMode ? [{ debugName: "$displayedColumns" }] : /* istanbul ignore next */ []));
569
+ $data = input(undefined, { ...(ngDevMode ? { debugName: "$data" } : /* istanbul ignore next */ {}), alias: 'data' });
570
570
  $storeData = toSignal(toObservable(this.$gridName).pipe(filter(name => !!name), mergeMap(name => this.store.select(selectGridData(name)))));
571
571
  $gridData = computed(() => {
572
572
  let data = this.$data();
573
573
  let storeData = this.$storeData();
574
574
  return data ?? storeData;
575
- }, ...(ngDevMode ? [{ debugName: "$gridData" }] : []));
575
+ }, ...(ngDevMode ? [{ debugName: "$gridData" }] : /* istanbul ignore next */ []));
576
576
  $hasPaging = computed(() => {
577
577
  let gridData = this.$gridData();
578
578
  return gridData?.data && typeof gridData.count === 'number';
579
- }, ...(ngDevMode ? [{ debugName: "$hasPaging" }] : []));
579
+ }, ...(ngDevMode ? [{ debugName: "$hasPaging" }] : /* istanbul ignore next */ []));
580
580
  $filter = toSignal(toObservable(this.$gridName).pipe(filter(name => !!name), mergeMap(name => this.store.select(selectFilterText(name)))));
581
581
  $pageIndex = this.store.selectSignal(selectPageIndex);
582
582
  $pageSizeRouter = this.store.selectSignal(selectPageSize);
583
- $pageSizeInput = input(undefined, { ...(ngDevMode ? { debugName: "$pageSizeInput" } : {}), alias: 'pageSize' });
584
- $pageSize = computed(() => this.$pageSizeInput() ?? this.$pageSizeRouter(), ...(ngDevMode ? [{ debugName: "$pageSize" }] : []));
585
- $dataSource = computed(() => this.$gridData()?.data ?? [], ...(ngDevMode ? [{ debugName: "$dataSource" }] : []));
583
+ $pageSizeInput = input(undefined, { ...(ngDevMode ? { debugName: "$pageSizeInput" } : /* istanbul ignore next */ {}), alias: 'pageSize' });
584
+ $pageSize = computed(() => this.$pageSizeInput() ?? this.$pageSizeRouter(), ...(ngDevMode ? [{ debugName: "$pageSize" }] : /* istanbul ignore next */ []));
585
+ $dataSource = computed(() => this.$gridData()?.data ?? [], ...(ngDevMode ? [{ debugName: "$dataSource" }] : /* istanbul ignore next */ []));
586
586
  $searchColumns = this.store.selectSignal(selectSearchFields);
587
- $hasSearch = computed(() => this.$searchColumns()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasSearch" }] : []));
588
- $actions = computed(() => this.$config()?.actions, ...(ngDevMode ? [{ debugName: "$actions" }] : []));
589
- $hasActions = computed(() => this.$actions()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasActions" }] : []));
587
+ $hasSearch = computed(() => this.$searchColumns()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasSearch" }] : /* istanbul ignore next */ []));
588
+ $actions = computed(() => this.$config()?.actions, ...(ngDevMode ? [{ debugName: "$actions" }] : /* istanbul ignore next */ []));
589
+ $hasActions = computed(() => this.$actions()?.length ?? 0, ...(ngDevMode ? [{ debugName: "$hasActions" }] : /* istanbul ignore next */ []));
590
590
  $selectedCount;
591
591
  toggleAll() {
592
592
  this.selection.clear();
@@ -670,7 +670,7 @@ class GridComponent {
670
670
  $request = this.store.selectSignal(selectDataRequest);
671
671
  constructor() {
672
672
  let $dir = this.store.selectSignal(selectSortDir);
673
- this.$dir = computed(() => $dir() == SortDir.Desc ? 'desc' : 'asc', ...(ngDevMode ? [{ debugName: "$dir" }] : []));
673
+ this.$dir = computed(() => $dir() == SortDir.Desc ? 'desc' : 'asc', ...(ngDevMode ? [{ debugName: "$dir" }] : /* istanbul ignore next */ []));
674
674
  effect(() => {
675
675
  this.$deleteSuccess();
676
676
  this.selection.clear();
@@ -684,17 +684,17 @@ class GridComponent {
684
684
  let selection = $selectionChanged()?.source;
685
685
  let total = this.$gridData()?.count;
686
686
  return this.$allSelected() && !selection?.hasValue() ? total : selection?.selected.length;
687
- }, ...(ngDevMode ? [{ debugName: "$selectedCount" }] : []));
687
+ }, ...(ngDevMode ? [{ debugName: "$selectedCount" }] : /* istanbul ignore next */ []));
688
688
  }
689
689
  onClick($event, row, column) {
690
690
  $event.stopPropagation();
691
691
  if (column.action)
692
692
  column.action(row);
693
693
  }
694
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
695
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.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 });
694
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
695
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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 });
696
696
  }
697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridComponent, decorators: [{
697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridComponent, decorators: [{
698
698
  type: Component,
699
699
  args: [{ selector: 'x-grid', imports: [MatInputModule, MatTableModule, MatToolbarModule, MatButtonModule,
700
700
  MatCheckboxModule, MatTooltipModule, MatIconModule, RouterModule,
@@ -720,21 +720,21 @@ class RouterEffects {
720
720
  $set = createEffect(() => this.actions$.pipe(ofType(RouterActions.setQueryParams), concatLatestFrom(() => this.store.select(selectQueryParams)), tap(([{ queryParams }, params]) => {
721
721
  this.router.navigate([], { queryParams: Object.assign({ ...params }, queryParams) });
722
722
  })), { dispatch: false });
723
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RouterEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
724
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RouterEffects });
723
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RouterEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
724
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RouterEffects });
725
725
  }
726
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RouterEffects, decorators: [{
726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RouterEffects, decorators: [{
727
727
  type: Injectable
728
728
  }] });
729
729
 
730
730
  class StateRouterModule {
731
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StateRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
732
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: StateRouterModule, imports: [CommonModule] });
733
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StateRouterModule, providers: [
731
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StateRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
732
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: StateRouterModule, imports: [CommonModule] });
733
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StateRouterModule, providers: [
734
734
  provideEffects(RouterEffects)
735
735
  ], imports: [CommonModule] });
736
736
  }
737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StateRouterModule, decorators: [{
737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: StateRouterModule, decorators: [{
738
738
  type: NgModule,
739
739
  args: [{
740
740
  declarations: [],
@@ -785,7 +785,9 @@ class GridEffects {
785
785
  this.store.select(selectSearchFields)
786
786
  ]), debounceTime(300), map$1(([{ filter }, req, fields]) => GridActions.updateRequest({
787
787
  request: {
788
- ...req, filters: filter
788
+ ...req,
789
+ paging: req.paging ? { ...req.paging, page: 1 } : req.paging,
790
+ filters: filter
789
791
  ? buildFilters(filter, fields)
790
792
  : undefined
791
793
  }
@@ -852,10 +854,10 @@ class GridEffects {
852
854
  return this.actions$.pipe(ofType(GridActions.bulkDeleteSuccess), tap$1(() => this.snack.info('Deleted!')), map$1(() => GridActions.refresh()));
853
855
  });
854
856
  constructor() { }
855
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
856
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridEffects });
857
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
858
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridEffects });
857
859
  }
858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridEffects, decorators: [{
860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridEffects, decorators: [{
859
861
  type: Injectable
860
862
  }], ctorParameters: () => [] });
861
863
  function buildFilters(filter, fields) {
@@ -872,14 +874,14 @@ function buildFilters(filter, fields) {
872
874
  }
873
875
 
874
876
  class GridModule {
875
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
876
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: GridModule, imports: [CommonModule] });
877
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridModule, providers: [
877
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
878
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: GridModule, imports: [CommonModule] });
879
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridModule, providers: [
878
880
  provideState(gridFeature),
879
881
  provideEffects([GridEffects])
880
882
  ], imports: [CommonModule] });
881
883
  }
882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridModule, decorators: [{
884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: GridModule, decorators: [{
883
885
  type: NgModule,
884
886
  args: [{
885
887
  declarations: [],
@@ -984,22 +986,22 @@ class CrudEffects {
984
986
  }));
985
987
  });
986
988
  constructor() { }
987
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
988
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudEffects });
989
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
990
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudEffects });
989
991
  }
990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudEffects, decorators: [{
992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudEffects, decorators: [{
991
993
  type: Injectable
992
994
  }], ctorParameters: () => [] });
993
995
 
994
996
  class CrudModule {
995
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
996
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: CrudModule, imports: [CommonModule] });
997
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudModule, providers: [
997
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
998
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: CrudModule, imports: [CommonModule] });
999
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudModule, providers: [
998
1000
  provideState(crudFeature),
999
1001
  provideEffects(CrudEffects)
1000
1002
  ], imports: [CommonModule] });
1001
1003
  }
1002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CrudModule, decorators: [{
1004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CrudModule, decorators: [{
1003
1005
  type: NgModule,
1004
1006
  args: [{
1005
1007
  declarations: [],
@@ -1062,10 +1064,10 @@ class SharedEffects {
1062
1064
  ngrxOnInitEffects() {
1063
1065
  return SharedActions.init();
1064
1066
  }
1065
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedEffects, deps: [{ token: i1$2.HttpClient }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1066
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedEffects });
1067
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedEffects, deps: [{ token: i1$2.HttpClient }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1068
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedEffects });
1067
1069
  }
1068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedEffects, decorators: [{
1070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedEffects, decorators: [{
1069
1071
  type: Injectable
1070
1072
  }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i2$2.Router }] });
1071
1073
 
@@ -1082,14 +1084,14 @@ const sharedFeature = createFeature({
1082
1084
  });
1083
1085
 
1084
1086
  class SharedModule {
1085
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1086
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: SharedModule, imports: [CommonModule] });
1087
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedModule, providers: [
1087
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1088
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: SharedModule, imports: [CommonModule] });
1089
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedModule, providers: [
1088
1090
  provideState(sharedFeature),
1089
1091
  provideEffects([SharedEffects])
1090
1092
  ], imports: [CommonModule] });
1091
1093
  }
1092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: SharedModule, decorators: [{
1094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SharedModule, decorators: [{
1093
1095
  type: NgModule,
1094
1096
  args: [{
1095
1097
  declarations: [],
@@ -1157,8 +1159,8 @@ class HostControlDirective {
1157
1159
  ngOnDestroy() {
1158
1160
  this.subscription?.unsubscribe();
1159
1161
  }
1160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HostControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1161
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: HostControlDirective, isStandalone: true, providers: [
1162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: HostControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1163
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: HostControlDirective, isStandalone: true, providers: [
1162
1164
  {
1163
1165
  provide: NG_VALUE_ACCESSOR,
1164
1166
  multi: true,
@@ -1166,7 +1168,7 @@ class HostControlDirective {
1166
1168
  },
1167
1169
  ], ngImport: i0 });
1168
1170
  }
1169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HostControlDirective, decorators: [{
1171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: HostControlDirective, decorators: [{
1170
1172
  type: Directive,
1171
1173
  args: [{
1172
1174
  standalone: true,