@vality/matez 21.0.1-pr-496-5e2c2b6.0 → 22.0.1-1a8ec1d.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as i1$1 from '@angular/common';
2
- import { CommonModule, AsyncPipe, formatCurrency as formatCurrency$1, getCurrencySymbol, formatDate, NgClass } from '@angular/common';
2
+ import { CommonModule, AsyncPipe, formatDate, NgClass } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { ChangeDetectionStrategy, Component, NgModule, Input, EventEmitter, booleanAttribute, Output, HostBinding, InjectionToken, inject, Injectable, Directive, input, numberAttribute, isSignal, ChangeDetectorRef, DestroyRef, forwardRef, Injector, ElementRef, Renderer2, LOCALE_ID, model, runInInjectionContext, output, viewChild, computed, signal, ViewChild, TemplateRef, ContentChild, effect, ViewEncapsulation, DEFAULT_CURRENCY_CODE, Pipe } from '@angular/core';
4
+ import { ChangeDetectionStrategy, Component, NgModule, Input, EventEmitter, booleanAttribute, Output, HostBinding, InjectionToken, inject, Injectable, Directive, input, numberAttribute, model, output, ElementRef, Renderer2, DestroyRef, Injector, isSignal, ChangeDetectorRef, forwardRef, LOCALE_ID, runInInjectionContext, viewChild, computed, signal, ViewChild, TemplateRef, ContentChild, effect, ViewEncapsulation, DEFAULT_CURRENCY_CODE, Pipe } from '@angular/core';
5
5
  import * as i1$2 from '@angular/material/button';
6
6
  import { MatButtonModule, MatIconButton, MatButton } from '@angular/material/button';
7
7
  import * as i4 from '@angular/material/dialog';
@@ -14,11 +14,11 @@ import * as i1 from '@angular/material/progress-bar';
14
14
  import { MatProgressBarModule, MatProgressBar } from '@angular/material/progress-bar';
15
15
  import * as i10 from '@angular/cdk/drag-drop';
16
16
  import { CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';
17
- import * as i3 from '@angular/forms';
17
+ import * as i3$2 from '@angular/forms';
18
18
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule, NonNullableFormBuilder, FormsModule } from '@angular/forms';
19
19
  import * as i7 from '@angular/material/badge';
20
20
  import { MatBadgeModule } from '@angular/material/badge';
21
- import * as i3$2 from '@angular/material/card';
21
+ import * as i3$3 from '@angular/material/card';
22
22
  import { MatCardModule } from '@angular/material/card';
23
23
  import * as i9 from '@angular/material/sort';
24
24
  import { MatSort, MatSortModule } from '@angular/material/sort';
@@ -26,14 +26,24 @@ import * as i1$4 from '@angular/material/table';
26
26
  import { MatTableDataSource, MatTable, MatColumnDef, MatCellDef, MatHeaderCellDef, MatFooterCellDef, MatTableModule, MatRow } from '@angular/material/table';
27
27
  import * as i3$1 from '@angular/material/tooltip';
28
28
  import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
29
- import { random, get, difference, isEqual as isEqual$1, isObject as isObject$2, capitalize, negate, isEmpty as isEmpty$1, lowerFirst, isNil as isNil$1 } from 'lodash-es';
29
+ import { random, isNil as isNil$1, get, difference, isEqual as isEqual$1, isObject as isObject$2, capitalize, negate, isEmpty as isEmpty$1, lowerFirst } from 'lodash-es';
30
+ import * as i3 from '@angular/forms/signals';
31
+ import { transformedValue, form, required, disabled, FormField } from '@angular/forms/signals';
30
32
  import * as i2$2 from '@angular/material/input';
31
33
  import { MatInputModule } from '@angular/material/input';
34
+ import * as i2$3 from '@angular/material/chips';
35
+ import { MatChipsModule } from '@angular/material/chips';
36
+ import { combineLatest, isObservable, defer, merge, mergeMap, EMPTY, catchError, of, scan, takeLast, from, switchMap, ReplaySubject, debounce, interval, concat, timer, tap, take, fromEvent, filter as filter$1, map as map$1, startWith as startWith$1, distinctUntilChanged as distinctUntilChanged$1, shareReplay as shareReplay$1, BehaviorSubject, Subject, Observable, debounceTime as debounceTime$1, first as first$1, forkJoin, lastValueFrom, timeout, skipWhile as skipWhile$1, race, skip, mergeScan as mergeScan$1, takeUntil, combineLatestWith, throttleTime } from 'rxjs';
37
+ import { distinctUntilChanged, map, finalize, delay, startWith, shareReplay, catchError as catchError$1, filter, mergeScan, switchMap as switchMap$1, mergeWith, skipWhile, take as take$1, first, debounceTime, share } from 'rxjs/operators';
38
+ import { toObservable, takeUntilDestroyed, toSignal, outputFromObservable } from '@angular/core/rxjs-interop';
39
+ import * as i1$6 from '@angular/router';
40
+ import { Router, RouterModule, ActivatedRoute, RouterLink } from '@angular/router';
41
+ export { MtxTooltip as Tooltip } from '@ng-matero/extensions/tooltip';
42
+ import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
43
+ import * as i1$3 from '@angular/material/slide-toggle';
44
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
32
45
  import startCase from 'lodash-es/startCase';
33
46
  import { isPrimitive } from 'utility-types';
34
- import { isObservable, defer, merge, combineLatest, mergeMap, EMPTY, catchError, of, scan, takeLast, from, switchMap, ReplaySubject, debounce, interval, concat, timer, tap, take, fromEvent, filter as filter$1, map as map$1, startWith as startWith$1, distinctUntilChanged as distinctUntilChanged$1, shareReplay as shareReplay$1, BehaviorSubject, Subject, Observable, debounceTime as debounceTime$1, first as first$1, forkJoin, lastValueFrom, timeout, skipWhile as skipWhile$1, race, skip, mergeScan as mergeScan$1, takeUntil, combineLatestWith, throttleTime } from 'rxjs';
35
- import { finalize, map, delay, startWith, distinctUntilChanged, shareReplay, catchError as catchError$1, filter, mergeScan, switchMap as switchMap$1, mergeWith, skipWhile, take as take$1, first, debounceTime, share } from 'rxjs/operators';
36
- import { toObservable, takeUntilDestroyed, toSignal, outputFromObservable } from '@angular/core/rxjs-interop';
37
47
  import { isPromise } from 'rxjs/internal/util/isPromise';
38
48
  import { WrappedControlSuperclass, FormComponentSuperclass as FormComponentSuperclass$1 } from '@s-libs/ng-core';
39
49
  import omitBy from 'lodash-es/omitBy';
@@ -46,14 +56,6 @@ import isObject$1 from 'lodash-es/isObject';
46
56
  import * as papaparse from 'papaparse';
47
57
  import papaparse__default from 'papaparse';
48
58
  import autoBind from 'auto-bind';
49
- import * as i2$3 from '@angular/material/chips';
50
- import { MatChipsModule } from '@angular/material/chips';
51
- import * as i1$6 from '@angular/router';
52
- import { Router, RouterModule, ActivatedRoute, RouterLink } from '@angular/router';
53
- export { MtxTooltip as Tooltip } from '@ng-matero/extensions/tooltip';
54
- import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
55
- import * as i1$3 from '@angular/material/slide-toggle';
56
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
57
59
  import { SelectionModel } from '@angular/cdk/collections';
58
60
  import * as i2$4 from '@angular/material/checkbox';
59
61
  import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -65,7 +67,7 @@ import { enGB } from 'date-fns/locale';
65
67
  import { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
66
68
  import { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';
67
69
  import { isEqual as isEqual$2, endOfDay, subDays, startOfDay, format, isValid, formatDistanceToNow } from 'date-fns';
68
- import * as i3$3 from '@ng-matero/extensions/select';
70
+ import * as i3$4 from '@ng-matero/extensions/select';
69
71
  import { MtxSelectModule } from '@ng-matero/extensions/select';
70
72
  import * as i4$1 from '@angular/material/autocomplete';
71
73
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
@@ -78,20 +80,20 @@ import * as i2$5 from '@angular/material/list';
78
80
  import { MatListModule } from '@angular/material/list';
79
81
 
80
82
  class ActionsComponent {
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ActionsComponent, isStandalone: false, selector: "v-actions", ngImport: i0, template: "<div class=\"v-actions\">\n <ng-content></ng-content>\n</div>\n", styles: ["::ng-deep .v-actions{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px}::ng-deep .v-actions>*:first-child:not(:last-child){margin-right:auto}::ng-deep .v-actions>*:first-child:last-child{margin-left:auto}@media screen and (max-width:600px){::ng-deep .v-actions>*{margin-left:auto!important;margin-right:auto!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: ActionsComponent, isStandalone: false, selector: "v-actions", ngImport: i0, template: "<div class=\"v-actions\">\n <ng-content></ng-content>\n</div>\n", styles: ["::ng-deep .v-actions{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px}::ng-deep .v-actions>*:first-child:not(:last-child){margin-right:auto}::ng-deep .v-actions>*:first-child:last-child{margin-left:auto}@media screen and (max-width:600px){::ng-deep .v-actions>*{margin-left:auto!important;margin-right:auto!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
85
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionsComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActionsComponent, decorators: [{
85
87
  type: Component,
86
88
  args: [{ selector: 'v-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"v-actions\">\n <ng-content></ng-content>\n</div>\n", styles: ["::ng-deep .v-actions{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px}::ng-deep .v-actions>*:first-child:not(:last-child){margin-right:auto}::ng-deep .v-actions>*:first-child:last-child{margin-left:auto}@media screen and (max-width:600px){::ng-deep .v-actions>*{margin-left:auto!important;margin-right:auto!important}}\n"] }]
87
89
  }] });
88
90
 
89
91
  class ActionsModule {
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
91
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ActionsModule, declarations: [ActionsComponent], exports: [ActionsComponent] });
92
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionsModule });
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
93
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ActionsModule, declarations: [ActionsComponent], exports: [ActionsComponent] });
94
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActionsModule });
93
95
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ActionsModule, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActionsModule, decorators: [{
95
97
  type: NgModule,
96
98
  args: [{
97
99
  imports: [],
@@ -114,22 +116,22 @@ class ProgressComponent {
114
116
  ? Math.max(Math.min((1 - this.progress) * 100, 100), 0)
115
117
  : undefined;
116
118
  }
117
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ProgressComponent, isStandalone: false, selector: "v-progress", inputs: { progress: "progress" }, ngImport: i0, template: "@if (!!mode) {\n <mat-progress-bar [mode]=\"mode\" [value]=\"value\"></mat-progress-bar>\n}\n", dependencies: [{ kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
119
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ProgressComponent, isStandalone: false, selector: "v-progress", inputs: { progress: "progress" }, ngImport: i0, template: "@if (!!mode) {\n <mat-progress-bar [mode]=\"mode\" [value]=\"value\"></mat-progress-bar>\n}\n", dependencies: [{ kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
119
121
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ProgressComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ProgressComponent, decorators: [{
121
123
  type: Component,
122
- args: [{ selector: 'v-progress', standalone: false, template: "@if (!!mode) {\n <mat-progress-bar [mode]=\"mode\" [value]=\"value\"></mat-progress-bar>\n}\n" }]
124
+ args: [{ selector: 'v-progress', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "@if (!!mode) {\n <mat-progress-bar [mode]=\"mode\" [value]=\"value\"></mat-progress-bar>\n}\n" }]
123
125
  }], propDecorators: { progress: [{
124
126
  type: Input
125
127
  }] } });
126
128
 
127
129
  class ProgressModule {
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
129
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ProgressModule, declarations: [ProgressComponent], imports: [CommonModule, MatProgressBarModule], exports: [ProgressComponent] });
130
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ProgressModule, imports: [CommonModule, MatProgressBarModule] });
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
131
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ProgressModule, declarations: [ProgressComponent], imports: [CommonModule, MatProgressBarModule], exports: [ProgressComponent] });
132
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ProgressModule, imports: [CommonModule, MatProgressBarModule] });
131
133
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ProgressModule, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ProgressModule, decorators: [{
133
135
  type: NgModule,
134
136
  args: [{
135
137
  declarations: [ProgressComponent],
@@ -139,12 +141,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
139
141
  }] });
140
142
 
141
143
  class DialogActionsComponent {
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: DialogActionsComponent, isStandalone: false, selector: "v-dialog-actions", ngImport: i0, template: "<v-actions><ng-content></ng-content></v-actions>\n", dependencies: [{ kind: "component", type: ActionsComponent, selector: "v-actions" }] });
144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DialogActionsComponent, isStandalone: false, selector: "v-dialog-actions", ngImport: i0, template: "<v-actions><ng-content></ng-content></v-actions>\n", dependencies: [{ kind: "component", type: ActionsComponent, selector: "v-actions" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
144
146
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogActionsComponent, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogActionsComponent, decorators: [{
146
148
  type: Component,
147
- args: [{ selector: 'v-dialog-actions', standalone: false, template: "<v-actions><ng-content></ng-content></v-actions>\n" }]
149
+ args: [{ selector: 'v-dialog-actions', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<v-actions><ng-content></ng-content></v-actions>\n" }]
148
150
  }] });
149
151
 
150
152
  var DialogResponseStatus;
@@ -157,6 +159,7 @@ var DialogResponseStatus;
157
159
  class DialogComponent {
158
160
  hostClass = true;
159
161
  title;
162
+ description;
160
163
  disabled = false;
161
164
  progress;
162
165
  hasDivider = true;
@@ -172,17 +175,19 @@ class DialogComponent {
172
175
  cancelDialog() {
173
176
  this.cancel.emit();
174
177
  }
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DialogComponent, isStandalone: false, selector: "v-dialog", inputs: { title: "title", disabled: ["disabled", "disabled", booleanAttribute], progress: "progress", hasDivider: ["hasDivider", "hasDivider", booleanAttribute], noContent: ["noContent", "noContent", booleanAttribute], noActions: ["noActions", "noActions", booleanAttribute], noCloseButton: ["noCloseButton", "noCloseButton", booleanAttribute], fullSize: ["fullSize", "fullSize", booleanAttribute] }, outputs: { cancel: "cancel" }, host: { properties: { "class.v-dialog": "this.hostClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-size': fullSize }\" class=\"dialog\">\n <div class=\"dialog-title\">\n <div>\n <h2 class=\"font-normal text-2xl\">{{ title }}</h2>\n </div>\n @if (!noCloseButton) {\n <mat-icon\n [matDialogClose]=\"cancelData\"\n class=\"dialog-title-close\"\n inline\n (click)=\"cancelDialog()\"\n >clear</mat-icon\n >\n }\n </div>\n\n @if (!noContent) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n }\n @if (!noActions) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-actions\">\n <ng-content select=\"v-dialog-actions\"></ng-content>\n </div>\n }\n\n <v-progress [progress]=\"progress\"></v-progress>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: ProgressComponent, selector: "v-progress", inputs: ["progress"] }] });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
179
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: DialogComponent, isStandalone: false, selector: "v-dialog", inputs: { title: "title", description: "description", disabled: ["disabled", "disabled", booleanAttribute], progress: "progress", hasDivider: ["hasDivider", "hasDivider", booleanAttribute], noContent: ["noContent", "noContent", booleanAttribute], noActions: ["noActions", "noActions", booleanAttribute], noCloseButton: ["noCloseButton", "noCloseButton", booleanAttribute], fullSize: ["fullSize", "fullSize", booleanAttribute] }, outputs: { cancel: "cancel" }, host: { properties: { "class.v-dialog": "this.hostClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-size': fullSize }\" class=\"dialog\">\n <div class=\"dialog-title\">\n <div>\n <h2 class=\"font-normal text-2xl\">{{ title }}</h2>\n @if (description) {\n <div class=\"text-sm text-[var(--mat-sys-outline)] font-normal mt-0.5\">\n {{ description }}\n </div>\n }\n </div>\n @if (!noCloseButton) {\n <mat-icon\n [matDialogClose]=\"cancelData\"\n class=\"dialog-title-close\"\n inline\n (click)=\"cancelDialog()\"\n >clear</mat-icon\n >\n }\n </div>\n\n @if (!noContent) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n }\n @if (!noActions) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-actions\">\n <ng-content select=\"v-dialog-actions\"></ng-content>\n </div>\n }\n\n <v-progress [progress]=\"progress\"></v-progress>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: ProgressComponent, selector: "v-progress", inputs: ["progress"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
177
180
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogComponent, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogComponent, decorators: [{
179
182
  type: Component,
180
- args: [{ selector: 'v-dialog', standalone: false, template: "<div [ngClass]=\"{ 'full-size': fullSize }\" class=\"dialog\">\n <div class=\"dialog-title\">\n <div>\n <h2 class=\"font-normal text-2xl\">{{ title }}</h2>\n </div>\n @if (!noCloseButton) {\n <mat-icon\n [matDialogClose]=\"cancelData\"\n class=\"dialog-title-close\"\n inline\n (click)=\"cancelDialog()\"\n >clear</mat-icon\n >\n }\n </div>\n\n @if (!noContent) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n }\n @if (!noActions) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-actions\">\n <ng-content select=\"v-dialog-actions\"></ng-content>\n </div>\n }\n\n <v-progress [progress]=\"progress\"></v-progress>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\n"] }]
183
+ args: [{ selector: 'v-dialog', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div [ngClass]=\"{ 'full-size': fullSize }\" class=\"dialog\">\n <div class=\"dialog-title\">\n <div>\n <h2 class=\"font-normal text-2xl\">{{ title }}</h2>\n @if (description) {\n <div class=\"text-sm text-[var(--mat-sys-outline)] font-normal mt-0.5\">\n {{ description }}\n </div>\n }\n </div>\n @if (!noCloseButton) {\n <mat-icon\n [matDialogClose]=\"cancelData\"\n class=\"dialog-title-close\"\n inline\n (click)=\"cancelDialog()\"\n >clear</mat-icon\n >\n }\n </div>\n\n @if (!noContent) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n }\n @if (!noActions) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-actions\">\n <ng-content select=\"v-dialog-actions\"></ng-content>\n </div>\n }\n\n <v-progress [progress]=\"progress\"></v-progress>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width:959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\n"] }]
181
184
  }], propDecorators: { hostClass: [{
182
185
  type: HostBinding,
183
186
  args: ['class.v-dialog']
184
187
  }], title: [{
185
188
  type: Input
189
+ }], description: [{
190
+ type: Input
186
191
  }], disabled: [{
187
192
  type: Input,
188
193
  args: [{ transform: booleanAttribute }]
@@ -255,10 +260,10 @@ class DialogService {
255
260
  ...config,
256
261
  });
257
262
  }
258
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
259
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogService, providedIn: 'root' });
263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
264
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogService, providedIn: 'root' });
260
265
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogService, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogService, decorators: [{
262
267
  type: Injectable,
263
268
  args: [{
264
269
  providedIn: 'root',
@@ -266,8 +271,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
266
271
  }] });
267
272
 
268
273
  class DialogModule {
269
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
270
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: DialogModule, declarations: [DialogComponent, DialogActionsComponent], imports: [CommonModule,
274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
275
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: DialogModule, declarations: [DialogComponent, DialogActionsComponent], imports: [CommonModule,
271
276
  MatDividerModule,
272
277
  MatButtonModule,
273
278
  ActionsModule,
@@ -275,7 +280,7 @@ class DialogModule {
275
280
  MatProgressBarModule,
276
281
  MatDialogModule,
277
282
  ProgressModule], exports: [DialogComponent, DialogActionsComponent] });
278
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogModule, providers: [DialogService], imports: [CommonModule,
283
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogModule, providers: [DialogService], imports: [CommonModule,
279
284
  MatDividerModule,
280
285
  MatButtonModule,
281
286
  ActionsModule,
@@ -284,7 +289,7 @@ class DialogModule {
284
289
  MatDialogModule,
285
290
  ProgressModule] });
286
291
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogModule, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogModule, decorators: [{
288
293
  type: NgModule,
289
294
  args: [{
290
295
  imports: [
@@ -325,25 +330,237 @@ class DialogSuperclass {
325
330
  data,
326
331
  });
327
332
  }
328
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Directive });
329
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: DialogSuperclass, isStandalone: true, ngImport: i0 });
333
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Directive });
334
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: DialogSuperclass, isStandalone: true, ngImport: i0 });
330
335
  }
331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DialogSuperclass, decorators: [{
336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogSuperclass, decorators: [{
332
337
  type: Directive
333
338
  }] });
334
339
 
335
340
  class ContentLoadingComponent {
336
- width = input(random(35, 80) + '%', ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
341
+ width = input(random(35, 80) + '%', /* @ts-ignore */
342
+ ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
337
343
  textSize = input(0, { ...(ngDevMode ? { debugName: "textSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
338
- hiddenText = input(...(ngDevMode ? [undefined, { debugName: "hiddenText" }] : /* istanbul ignore next */ []));
339
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ContentLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
340
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: ContentLoadingComponent, isStandalone: true, selector: "v-content-loading", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, textSize: { classPropertyName: "textSize", publicName: "textSize", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hiddenText", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n [ngClass]=\"{ 'content-loading__text': !!hiddenText() }\"\n [style.width]=\"hiddenText() || textSize() ? undefined : width()\"\n class=\"content-loading\"\n >{{ hiddenText() || '&nbsp;'.repeat(textSize() || 1) }}</span\n>\n", styles: ["@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.content-loading{color:transparent;display:inline-block;line-height:100%;background-color:#00000014;animation:content-loading-animation 1.5s ease-in-out infinite}.content-loading__text{color:inherit;background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
344
+ hiddenText = input(/* @ts-ignore */
345
+ ...(ngDevMode ? [undefined, { debugName: "hiddenText" }] : /* istanbul ignore next */ []));
346
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
347
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: ContentLoadingComponent, isStandalone: true, selector: "v-content-loading", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, textSize: { classPropertyName: "textSize", publicName: "textSize", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: "hiddenText", publicName: "hiddenText", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n [ngClass]=\"{ 'content-loading__text': !!hiddenText() }\"\n [style.width]=\"hiddenText() || textSize() ? undefined : width()\"\n class=\"content-loading\"\n >{{ hiddenText() || '&nbsp;'.repeat(textSize() || 1) }}</span\n>\n", styles: ["@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.content-loading{color:transparent;display:inline-block;line-height:100%;background-color:#00000014;animation:content-loading-animation 1.5s ease-in-out infinite}.content-loading__text{color:inherit;background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
341
348
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ContentLoadingComponent, decorators: [{
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentLoadingComponent, decorators: [{
343
350
  type: Component,
344
351
  args: [{ selector: 'v-content-loading', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: "<span\n [ngClass]=\"{ 'content-loading__text': !!hiddenText() }\"\n [style.width]=\"hiddenText() || textSize() ? undefined : width()\"\n class=\"content-loading\"\n >{{ hiddenText() || '&nbsp;'.repeat(textSize() || 1) }}</span\n>\n", styles: ["@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.content-loading{color:transparent;display:inline-block;line-height:100%;background-color:#00000014;animation:content-loading-animation 1.5s ease-in-out infinite}.content-loading__text{color:inherit;background-color:transparent}\n"] }]
345
352
  }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], textSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "textSize", required: false }] }], hiddenText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenText", required: false }] }] } });
346
353
 
354
+ class InputFieldComponent {
355
+ value = model(/* @ts-ignore */
356
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
357
+ disabled = input(false, /* @ts-ignore */
358
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
359
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
360
+ touch = output();
361
+ label;
362
+ placeholder = '';
363
+ type = 'text';
364
+ appearance;
365
+ size;
366
+ cleanButton = input(false, { ...(ngDevMode ? { debugName: "cleanButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
367
+ icon = input(/* @ts-ignore */
368
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
369
+ hintText = input(/* @ts-ignore */
370
+ ...(ngDevMode ? [undefined, { debugName: "hintText" }] : /* istanbul ignore next */ []));
371
+ formValue = transformedValue(this.value, {
372
+ parse: (rawValue) => ({
373
+ value: rawValue,
374
+ }),
375
+ format: (value) => {
376
+ if (this.type === 'number') {
377
+ return value ?? null;
378
+ }
379
+ return value ?? '';
380
+ },
381
+ });
382
+ control = form(this.formValue, (path) => {
383
+ required(path, { when: () => this.required() });
384
+ disabled(path, () => this.disabled());
385
+ });
386
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
387
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: InputFieldComponent, isStandalone: false, selector: "v-input-field", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: (v) => (v === 'string' ? 'text' : v) }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, cleanButton: { classPropertyName: "cleanButton", publicName: "cleanButton", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, hintText: { classPropertyName: "hintText", publicName: "hintText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", touch: "touch" }, ngImport: i0, template: "<mat-form-field\n [appearance]=\"appearance\"\n [ngClass]=\"{\n 'v-input-field__small': size === 'small',\n 'v-input-field__outline': appearance === 'outline',\n }\"\n class=\"v-input-field\"\n>\n @if (icon()) {\n <div class=\"prefix\" matPrefix>\n <mat-icon>{{ icon() }}</mat-icon>\n </div>\n }\n <mat-label>{{ label }}</mat-label>\n <input\n [formField]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n autocomplete=\"false\"\n matInput\n (blur)=\"touch.emit()\"\n />\n <div class=\"postfix\" matSuffix>\n @if (cleanButton()) {\n <button\n [disabled]=\"!value()\"\n [style.visibility]=\"value() ? '' : 'hidden'\"\n mat-icon-button\n type=\"button\"\n (click)=\"control().reset(); value.set(undefined)\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n }\n </div>\n @if (hintText()) {\n <mat-hint>{{ hintText() }}</mat-hint>\n }\n</mat-form-field>\n", styles: [".v-input-field{width:100%}.v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
388
+ }
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, decorators: [{
390
+ type: Component,
391
+ args: [{ selector: 'v-input-field', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<mat-form-field\n [appearance]=\"appearance\"\n [ngClass]=\"{\n 'v-input-field__small': size === 'small',\n 'v-input-field__outline': appearance === 'outline',\n }\"\n class=\"v-input-field\"\n>\n @if (icon()) {\n <div class=\"prefix\" matPrefix>\n <mat-icon>{{ icon() }}</mat-icon>\n </div>\n }\n <mat-label>{{ label }}</mat-label>\n <input\n [formField]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n autocomplete=\"false\"\n matInput\n (blur)=\"touch.emit()\"\n />\n <div class=\"postfix\" matSuffix>\n @if (cleanButton()) {\n <button\n [disabled]=\"!value()\"\n [style.visibility]=\"value() ? '' : 'hidden'\"\n mat-icon-button\n type=\"button\"\n (click)=\"control().reset(); value.set(undefined)\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n }\n </div>\n @if (hintText()) {\n <mat-hint>{{ hintText() }}</mat-hint>\n }\n</mat-form-field>\n", styles: [".v-input-field{width:100%}.v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\n"] }]
392
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], touch: [{ type: i0.Output, args: ["touch"] }], label: [{
393
+ type: Input
394
+ }], placeholder: [{
395
+ type: Input
396
+ }], type: [{
397
+ type: Input,
398
+ args: [{ transform: (v) => (v === 'string' ? 'text' : v) }]
399
+ }], appearance: [{
400
+ type: Input
401
+ }], size: [{
402
+ type: Input
403
+ }], cleanButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "cleanButton", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], hintText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintText", required: false }] }] } });
404
+
405
+ class InputFieldModule {
406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
407
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, declarations: [InputFieldComponent], imports: [CommonModule, MatInputModule, FormField, MatIcon, MatIconButton], exports: [InputFieldComponent] });
408
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, imports: [CommonModule, MatInputModule, MatIcon, MatIconButton] });
409
+ }
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, decorators: [{
411
+ type: NgModule,
412
+ args: [{
413
+ declarations: [InputFieldComponent],
414
+ exports: [InputFieldComponent],
415
+ imports: [CommonModule, MatInputModule, FormField, MatIcon, MatIconButton],
416
+ }]
417
+ }] });
418
+
419
+ function getProgressByCount(count, completedCount = Number.MIN_VALUE) {
420
+ return 1 - completedCount / count;
421
+ }
422
+
423
+ class TagComponent {
424
+ hostClass = true;
425
+ color;
426
+ icon = input(/* @ts-ignore */
427
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
428
+ progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
429
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
430
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TagComponent, isStandalone: false, selector: "v-tag", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.v-tag": "this.hostClass" } }, ngImport: i0, template: "<mat-chip-row\n [disabled]=\"progress()\"\n [ngClass]=\"{ loading: progress(), action: !!icon() }\"\n class=\"tag {{ 'color-' + color }}\"\n disableRipple\n>\n @if (icon()) {\n <button matChipRemove>\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\n </button>\n }\n <ng-content></ng-content>\n</mat-chip-row>\n", styles: [":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag.tag{transition:all .3s ease-in-out;background-color:var(--mat-sys-primary-container)}.tag.tag.color-pending{background-color:var(--v-color-pending-bg)}.tag.tag.color-pending ::ng-deep *{color:var(--v-color-pending-text)}.tag.tag.color-success{background-color:var(--v-color-success-bg)}.tag.tag.color-success ::ng-deep *{color:var(--v-color-success-text)}.tag.tag.color-warn{background-color:var(--mat-sys-error)}.tag.tag.color-warn ::ng-deep *{color:var(--mat-sys-on-primary)}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
431
+ }
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, decorators: [{
433
+ type: Component,
434
+ args: [{ selector: 'v-tag', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-chip-row\n [disabled]=\"progress()\"\n [ngClass]=\"{ loading: progress(), action: !!icon() }\"\n class=\"tag {{ 'color-' + color }}\"\n disableRipple\n>\n @if (icon()) {\n <button matChipRemove>\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\n </button>\n }\n <ng-content></ng-content>\n</mat-chip-row>\n", styles: [":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag.tag{transition:all .3s ease-in-out;background-color:var(--mat-sys-primary-container)}.tag.tag.color-pending{background-color:var(--v-color-pending-bg)}.tag.tag.color-pending ::ng-deep *{color:var(--v-color-pending-text)}.tag.tag.color-success{background-color:var(--v-color-success-bg)}.tag.tag.color-success ::ng-deep *{color:var(--v-color-success-text)}.tag.tag.color-warn{background-color:var(--mat-sys-error)}.tag.tag.color-warn ::ng-deep *{color:var(--mat-sys-on-primary)}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\n"] }]
435
+ }], propDecorators: { hostClass: [{
436
+ type: HostBinding,
437
+ args: ['class.v-tag']
438
+ }], color: [{
439
+ type: Input
440
+ }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
441
+
442
+ class TagModule {
443
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
444
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: TagModule, declarations: [TagComponent], imports: [CommonModule, MatChipsModule, MatIconModule], exports: [TagComponent] });
445
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, imports: [CommonModule, MatChipsModule, MatIconModule] });
446
+ }
447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, decorators: [{
448
+ type: NgModule,
449
+ args: [{
450
+ declarations: [TagComponent],
451
+ imports: [CommonModule, MatChipsModule, MatIconModule],
452
+ exports: [TagComponent],
453
+ }]
454
+ }] });
455
+
456
+ const SPACES = /[\s\u00A0]/g;
457
+ function normalizeString(str) {
458
+ return (str || '').replace(SPACES, ' ');
459
+ }
460
+
461
+ class HighlightDirective {
462
+ el = inject(ElementRef);
463
+ renderer = inject(Renderer2);
464
+ dr = inject(DestroyRef);
465
+ injector = inject(Injector);
466
+ vHighlightText = input('', { ...(ngDevMode ? { debugName: "vHighlightText" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
467
+ vHighlightSearch = input('', { ...(ngDevMode ? { debugName: "vHighlightSearch" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
468
+ ngOnInit() {
469
+ combineLatest([
470
+ toObservable(this.vHighlightText, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
471
+ toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
472
+ ])
473
+ .pipe(map(([text, search]) => {
474
+ if (!search) {
475
+ return text;
476
+ }
477
+ const re = new RegExp(`(${search.replace(SPACES, '\\s')})`, 'gi');
478
+ return text.replace(re, `<mark>$1</mark>`);
479
+ }), distinctUntilChanged(), takeUntilDestroyed(this.dr))
480
+ .subscribe((text) => {
481
+ this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);
482
+ });
483
+ }
484
+ escapeHtml(html) {
485
+ return html
486
+ .replace(/&/g, '&amp;')
487
+ .replace(/</g, '&lt;')
488
+ .replace(/>/g, '&gt;')
489
+ .replace(/"/g, '&quot;')
490
+ .replace(/'/g, '&#39;');
491
+ }
492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
493
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HighlightDirective, isStandalone: true, selector: "[vHighlight]", inputs: { vHighlightText: { classPropertyName: "vHighlightText", publicName: "vHighlightText", isSignal: true, isRequired: false, transformFunction: null }, vHighlightSearch: { classPropertyName: "vHighlightSearch", publicName: "vHighlightSearch", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
494
+ }
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, decorators: [{
496
+ type: Directive,
497
+ args: [{
498
+ standalone: true,
499
+ selector: '[vHighlight]',
500
+ }]
501
+ }], propDecorators: { vHighlightText: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightText", required: false }] }], vHighlightSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightSearch", required: false }] }] } });
502
+
503
+ class MenuValueComponent {
504
+ value = input.required(/* @ts-ignore */
505
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
506
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
507
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MenuValueComponent, isStandalone: true, selector: "v-menu-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {
508
+ <button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
509
+ <mat-icon>more_vert</mat-icon>
510
+ </button>
511
+ <mat-menu #menu="matMenu">
512
+ @for (item of v.params.items; track item; let index = $index) {
513
+ <button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
514
+ {{ item.label }}
515
+ </button>
516
+ }
517
+ </mat-menu>
518
+ }`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
519
+ }
520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, decorators: [{
521
+ type: Component,
522
+ args: [{ selector: 'v-menu-value', imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger], template: ` @if (value(); as v) {
523
+ <button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
524
+ <mat-icon>more_vert</mat-icon>
525
+ </button>
526
+ <mat-menu #menu="matMenu">
527
+ @for (item of v.params.items; track item; let index = $index) {
528
+ <button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
529
+ {{ item.label }}
530
+ </button>
531
+ }
532
+ </mat-menu>
533
+ }`, changeDetection: ChangeDetectionStrategy.Eager }]
534
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
535
+
536
+ class ToggleValueComponent {
537
+ value = input.required(/* @ts-ignore */
538
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
539
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
540
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ToggleValueComponent, isStandalone: true, selector: "v-toggle-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {
541
+ <mat-slide-toggle
542
+ [checked]="value().value"
543
+ (change)="$event.source.checked = !!value().value"
544
+ >
545
+ </mat-slide-toggle>
546
+ }`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
547
+ }
548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, decorators: [{
549
+ type: Component,
550
+ args: [{
551
+ selector: 'v-toggle-value',
552
+ imports: [MatSlideToggleModule],
553
+ changeDetection: ChangeDetectionStrategy.Eager,
554
+ template: ` @if (value(); as v) {
555
+ <mat-slide-toggle
556
+ [checked]="value().value"
557
+ (change)="$event.source.checked = !!value().value"
558
+ >
559
+ </mat-slide-toggle>
560
+ }`,
561
+ }]
562
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
563
+
347
564
  function renderList(list, renderItem, isMore) {
348
565
  return list.length ? (isMore ? '…' : list.map(renderItem).join(', ')) : '';
349
566
  }
@@ -427,10 +644,6 @@ function passError(handler, value) {
427
644
  }));
428
645
  }
429
646
 
430
- function getProgressByCount(count, completedCount = Number.MIN_VALUE) {
431
- return 1 - completedCount / count;
432
- }
433
-
434
647
  function forkJoinToResult(sources, progress$, dataItems = [], concurrency = 4) {
435
648
  let completed = 0;
436
649
  if (progress$) {
@@ -499,10 +712,10 @@ class AsyncTransform {
499
712
  this.args$.next(args);
500
713
  return this.asyncPipe.transform(this.result$);
501
714
  }
502
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AsyncTransform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
503
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AsyncTransform });
715
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AsyncTransform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
716
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AsyncTransform });
504
717
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AsyncTransform, decorators: [{
718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AsyncTransform, decorators: [{
506
719
  type: Injectable
507
720
  }] });
508
721
 
@@ -550,7 +763,7 @@ function asyncStartWith(value, timerMs = 0) {
550
763
  return (src$) => concat(...(value ? [of(value)] : []), timer(timerMs).pipe(switchMap(() => src$)));
551
764
  }
552
765
 
553
- function tapLog(message = `Log`) {
766
+ function tapLog(message = 'Log') {
554
767
  return (source) => {
555
768
  return source.pipe(tap((value) => console.log(`${message}:`, value)));
556
769
  };
@@ -610,6 +823,9 @@ function getErrorsTree(control) {
610
823
  return errors;
611
824
  }
612
825
 
826
+ /**
827
+ * @deprecated Use FormControlValue
828
+ */
613
829
  class AbstractControlSuperclass extends WrappedControlSuperclass {
614
830
  _cdr = inject(ChangeDetectorRef);
615
831
  _destroyRef = inject(DestroyRef);
@@ -635,13 +851,16 @@ class AbstractControlSuperclass extends WrappedControlSuperclass {
635
851
  return EMPTY;
636
852
  }
637
853
  onValidatorChange = () => undefined;
638
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AbstractControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
639
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: AbstractControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
854
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AbstractControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
855
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: AbstractControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
640
856
  }
641
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AbstractControlSuperclass, decorators: [{
857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AbstractControlSuperclass, decorators: [{
642
858
  type: Directive
643
859
  }] });
644
860
 
861
+ /**
862
+ * @deprecated Use FormControlValue
863
+ */
645
864
  class FormGroupSuperclass extends AbstractControlSuperclass {
646
865
  emptyValue;
647
866
  setDisabledState(_isDisabled) {
@@ -662,10 +881,10 @@ class FormGroupSuperclass extends AbstractControlSuperclass {
662
881
  }
663
882
  return outer;
664
883
  }
665
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormGroupSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
666
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: FormGroupSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
884
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormGroupSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
885
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: FormGroupSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
667
886
  }
668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormGroupSuperclass, decorators: [{
887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormGroupSuperclass, decorators: [{
669
888
  type: Directive
670
889
  }] });
671
890
 
@@ -686,15 +905,21 @@ const createControlProviders = (component) => [
686
905
  provideValidators(component),
687
906
  ];
688
907
 
908
+ /**
909
+ * @deprecated Use FormControlValue
910
+ */
689
911
  class FormControlSuperclass extends AbstractControlSuperclass {
690
912
  control = new FormControl();
691
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
692
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: FormControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
913
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
914
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: FormControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
693
915
  }
694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormControlSuperclass, decorators: [{
916
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormControlSuperclass, decorators: [{
695
917
  type: Directive
696
918
  }] });
697
919
 
920
+ /**
921
+ * @deprecated Use FormControlValue
922
+ */
698
923
  class FormComponentSuperclass extends FormComponentSuperclass$1 {
699
924
  _cdr = inject(ChangeDetectorRef);
700
925
  _destroyRef = inject(DestroyRef);
@@ -713,13 +938,16 @@ class FormComponentSuperclass extends FormComponentSuperclass$1 {
713
938
  this.onValidatorChange = fn;
714
939
  }
715
940
  onValidatorChange = () => undefined;
716
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormComponentSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
717
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: FormComponentSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
941
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormComponentSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
942
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: FormComponentSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
718
943
  }
719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormComponentSuperclass, decorators: [{
944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormComponentSuperclass, decorators: [{
720
945
  type: Directive
721
946
  }] });
722
947
 
948
+ /**
949
+ * @deprecated Use FormControlValue
950
+ */
723
951
  class FormArraySuperclass extends FormGroupSuperclass {
724
952
  outerToInnerValue(outer) {
725
953
  if (hasControls(this.control)) {
@@ -734,10 +962,10 @@ class FormArraySuperclass extends FormGroupSuperclass {
734
962
  }
735
963
  return outer;
736
964
  }
737
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormArraySuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
738
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: FormArraySuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
965
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormArraySuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
966
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: FormArraySuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 });
739
967
  }
740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FormArraySuperclass, decorators: [{
968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormArraySuperclass, decorators: [{
741
969
  type: Directive
742
970
  }] });
743
971
 
@@ -784,11 +1012,26 @@ const toMajor = (amount, currencyCode) => toMajorByExponent(amount, getCurrencyE
784
1012
  const toMinorByExponent = (amount, exponent) => Math.round(amount * 10 ** exponent);
785
1013
  const toMinor = (amount, currencyCode) => toMinorByExponent(amount, getCurrencyExponent(currencyCode));
786
1014
 
1015
+ const DEFAULT_EXPONENT = 2;
787
1016
  function formatCurrency(amount, currencyCode = 'USD', format = 'long', locale = 'en-GB', exponent, isMajor = false) {
788
- if (typeof exponent !== 'number') {
789
- exponent = getCurrencyExponent(currencyCode) || 0;
790
- }
791
- return formatCurrency$1(isMajor ? amount : toMajorByExponent(amount, exponent), locale, getCurrencySymbol(currencyCode, 'narrow', locale), currencyCode, format === 'short' ? `1.0-${exponent}` : `1.${exponent}-${exponent}`);
1017
+ const unknownExponent = isMajor || isNil$1(exponent);
1018
+ if (unknownExponent)
1019
+ exponent = getCurrencyExponent(currencyCode) || DEFAULT_EXPONENT;
1020
+ const value = isMajor ? amount : toMajorByExponent(amount, exponent);
1021
+ let result;
1022
+ try {
1023
+ result = new Intl.NumberFormat(locale, {
1024
+ style: 'currency',
1025
+ currency: currencyCode,
1026
+ }).format(value);
1027
+ }
1028
+ catch {
1029
+ result = `${Intl.NumberFormat(locale, {
1030
+ style: 'decimal',
1031
+ minimumFractionDigits: exponent,
1032
+ }).format(value)} ${currencyCode}`;
1033
+ }
1034
+ return (result + (unknownExponent ? (format === 'short' ? '' : ` [default exp: ${exponent}]`) : ''));
792
1035
  }
793
1036
 
794
1037
  function select(obj, selectFn, defaultValue, restParams = []) {
@@ -1128,6 +1371,7 @@ class ObservableResource {
1128
1371
  value$,
1129
1372
  value: toSignal(value$, { injector: this.injector }),
1130
1373
  map: (fn) => this.map(fn, value$),
1374
+ getFirstValue: () => combineLatest([value$, this.isLoading$]).pipe(skipWhile(([_, isLoading]) => isLoading), map(([value]) => value), take$1(1)),
1131
1375
  });
1132
1376
  }
1133
1377
  }
@@ -1149,6 +1393,7 @@ class PagedObservableResource extends ObservableResource {
1149
1393
  this.initPaged(options);
1150
1394
  }
1151
1395
  initPaged({ loader, size, ...options }) {
1396
+ this.pagedOptions = { size: size || 25 };
1152
1397
  // TODO: fix types
1153
1398
  super.init({
1154
1399
  params: EMPTY,
@@ -1163,7 +1408,6 @@ class PagedObservableResource extends ObservableResource {
1163
1408
  },
1164
1409
  map: (value) => value.result,
1165
1410
  });
1166
- this.pagedOptions = { size: size || 20 };
1167
1411
  this.hasMore$ = this.accValue$.pipe(map$1((value) => !!value.continuationToken));
1168
1412
  this.hasMore = toSignal(this.hasMore$, { initialValue: false });
1169
1413
  this.result$ = this.value$;
@@ -1205,184 +1449,6 @@ function fetchAll(loadFn, continuationToken) {
1205
1449
  }));
1206
1450
  }
1207
1451
 
1208
- class InputFieldComponent extends FormControlSuperclass {
1209
- label;
1210
- placeholder = '';
1211
- type = 'string';
1212
- appearance;
1213
- size;
1214
- cleanButton = input(false, { ...(ngDevMode ? { debugName: "cleanButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1215
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
1216
- hintText = input(...(ngDevMode ? [undefined, { debugName: "hintText" }] : /* istanbul ignore next */ []));
1217
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1218
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: InputFieldComponent, isStandalone: false, selector: "v-input-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, cleanButton: { classPropertyName: "cleanButton", publicName: "cleanButton", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, hintText: { classPropertyName: "hintText", publicName: "hintText", isSignal: true, isRequired: false, transformFunction: null } }, providers: createControlProviders(() => InputFieldComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [appearance]=\"appearance\"\n [ngClass]=\"{\n 'v-input-field__small': size === 'small',\n 'v-input-field__outline': appearance === 'outline',\n }\"\n class=\"v-input-field\"\n>\n @if (icon()) {\n <div class=\"prefix\" matPrefix>\n <mat-icon>{{ icon() }}</mat-icon>\n </div>\n }\n <mat-label>{{ label }}</mat-label>\n <input\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n autocomplete=\"false\"\n matInput\n />\n <div class=\"postfix\" matSuffix>\n @if (cleanButton()) {\n <button\n [disabled]=\"!control.value\"\n [style.visibility]=\"control.value ? '' : 'hidden'\"\n mat-icon-button\n (click)=\"control.reset()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n }\n </div>\n @if (hintText()) {\n <mat-hint>{{ hintText() }}</mat-hint>\n }\n</mat-form-field>\n", styles: [".v-input-field{width:100%}.v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] });
1219
- }
1220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InputFieldComponent, decorators: [{
1221
- type: Component,
1222
- args: [{ selector: 'v-input-field', providers: createControlProviders(() => InputFieldComponent), standalone: false, template: "<mat-form-field\n [appearance]=\"appearance\"\n [ngClass]=\"{\n 'v-input-field__small': size === 'small',\n 'v-input-field__outline': appearance === 'outline',\n }\"\n class=\"v-input-field\"\n>\n @if (icon()) {\n <div class=\"prefix\" matPrefix>\n <mat-icon>{{ icon() }}</mat-icon>\n </div>\n }\n <mat-label>{{ label }}</mat-label>\n <input\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n autocomplete=\"false\"\n matInput\n />\n <div class=\"postfix\" matSuffix>\n @if (cleanButton()) {\n <button\n [disabled]=\"!control.value\"\n [style.visibility]=\"control.value ? '' : 'hidden'\"\n mat-icon-button\n (click)=\"control.reset()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n }\n </div>\n @if (hintText()) {\n <mat-hint>{{ hintText() }}</mat-hint>\n }\n</mat-form-field>\n", styles: [".v-input-field{width:100%}.v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\n"] }]
1223
- }], propDecorators: { label: [{
1224
- type: Input
1225
- }], placeholder: [{
1226
- type: Input
1227
- }], type: [{
1228
- type: Input
1229
- }], appearance: [{
1230
- type: Input
1231
- }], size: [{
1232
- type: Input
1233
- }], cleanButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "cleanButton", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], hintText: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintText", required: false }] }] } });
1234
-
1235
- class InputFieldModule {
1236
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InputFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1237
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: InputFieldModule, declarations: [InputFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton], exports: [InputFieldComponent] });
1238
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InputFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton] });
1239
- }
1240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InputFieldModule, decorators: [{
1241
- type: NgModule,
1242
- args: [{
1243
- declarations: [InputFieldComponent],
1244
- exports: [InputFieldComponent],
1245
- imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton],
1246
- }]
1247
- }] });
1248
-
1249
- class TagComponent {
1250
- hostClass = true;
1251
- color;
1252
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
1253
- progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1254
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1255
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TagComponent, isStandalone: false, selector: "v-tag", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.v-tag": "this.hostClass" } }, ngImport: i0, template: "<mat-chip-row\n [disabled]=\"progress()\"\n [ngClass]=\"{ loading: progress(), action: !!icon() }\"\n class=\"tag {{ 'color-' + color }}\"\n disableRipple\n>\n @if (icon()) {\n <button matChipRemove>\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\n </button>\n }\n <ng-content></ng-content>\n</mat-chip-row>\n", styles: [":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag.tag{transition:all .3s ease-in-out;background-color:var(--mat-sys-primary-container)}.tag.tag.color-pending{background-color:var(--v-color-pending-bg)}.tag.tag.color-pending ::ng-deep *{color:var(--v-color-pending-text)}.tag.tag.color-success{background-color:var(--v-color-success-bg)}.tag.tag.color-success ::ng-deep *{color:var(--v-color-success-text)}.tag.tag.color-warn{background-color:var(--mat-sys-error)}.tag.tag.color-warn ::ng-deep *{color:var(--mat-sys-on-primary)}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1256
- }
1257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TagComponent, decorators: [{
1258
- type: Component,
1259
- args: [{ selector: 'v-tag', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-chip-row\n [disabled]=\"progress()\"\n [ngClass]=\"{ loading: progress(), action: !!icon() }\"\n class=\"tag {{ 'color-' + color }}\"\n disableRipple\n>\n @if (icon()) {\n <button matChipRemove>\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\n </button>\n }\n <ng-content></ng-content>\n</mat-chip-row>\n", styles: [":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag.tag{transition:all .3s ease-in-out;background-color:var(--mat-sys-primary-container)}.tag.tag.color-pending{background-color:var(--v-color-pending-bg)}.tag.tag.color-pending ::ng-deep *{color:var(--v-color-pending-text)}.tag.tag.color-success{background-color:var(--v-color-success-bg)}.tag.tag.color-success ::ng-deep *{color:var(--v-color-success-text)}.tag.tag.color-warn{background-color:var(--mat-sys-error)}.tag.tag.color-warn ::ng-deep *{color:var(--mat-sys-on-primary)}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\n"] }]
1260
- }], propDecorators: { hostClass: [{
1261
- type: HostBinding,
1262
- args: ['class.v-tag']
1263
- }], color: [{
1264
- type: Input
1265
- }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
1266
-
1267
- class TagModule {
1268
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1269
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: TagModule, declarations: [TagComponent], imports: [CommonModule, MatChipsModule, MatIconModule], exports: [TagComponent] });
1270
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TagModule, imports: [CommonModule, MatChipsModule, MatIconModule] });
1271
- }
1272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TagModule, decorators: [{
1273
- type: NgModule,
1274
- args: [{
1275
- declarations: [TagComponent],
1276
- imports: [CommonModule, MatChipsModule, MatIconModule],
1277
- exports: [TagComponent],
1278
- }]
1279
- }] });
1280
-
1281
- const SPACES = /[\s\u00A0]/g;
1282
- function normalizeString(str) {
1283
- return (str || '').replace(SPACES, ' ');
1284
- }
1285
-
1286
- class HighlightDirective {
1287
- el = inject(ElementRef);
1288
- renderer = inject(Renderer2);
1289
- dr = inject(DestroyRef);
1290
- injector = inject(Injector);
1291
- vHighlightText = input('', { ...(ngDevMode ? { debugName: "vHighlightText" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
1292
- vHighlightSearch = input('', { ...(ngDevMode ? { debugName: "vHighlightSearch" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
1293
- ngOnInit() {
1294
- combineLatest([
1295
- toObservable(this.vHighlightText, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
1296
- toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
1297
- ])
1298
- .pipe(map(([text, search]) => {
1299
- if (!search) {
1300
- return text;
1301
- }
1302
- const re = new RegExp(`(${search.replace(SPACES, '\\s')})`, 'gi');
1303
- return text.replace(re, `<mark>$1</mark>`);
1304
- }), distinctUntilChanged(), takeUntilDestroyed(this.dr))
1305
- .subscribe((text) => {
1306
- this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);
1307
- });
1308
- }
1309
- escapeHtml(html) {
1310
- return html
1311
- .replace(/&/g, '&amp;')
1312
- .replace(/</g, '&lt;')
1313
- .replace(/>/g, '&gt;')
1314
- .replace(/"/g, '&quot;')
1315
- .replace(/'/g, '&#39;');
1316
- }
1317
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HighlightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1318
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: HighlightDirective, isStandalone: true, selector: "[vHighlight]", inputs: { vHighlightText: { classPropertyName: "vHighlightText", publicName: "vHighlightText", isSignal: true, isRequired: false, transformFunction: null }, vHighlightSearch: { classPropertyName: "vHighlightSearch", publicName: "vHighlightSearch", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
1319
- }
1320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HighlightDirective, decorators: [{
1321
- type: Directive,
1322
- args: [{
1323
- standalone: true,
1324
- selector: '[vHighlight]',
1325
- }]
1326
- }], propDecorators: { vHighlightText: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightText", required: false }] }], vHighlightSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightSearch", required: false }] }] } });
1327
-
1328
- class MenuValueComponent {
1329
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1330
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MenuValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1331
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: MenuValueComponent, isStandalone: true, selector: "v-menu-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {
1332
- <button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
1333
- <mat-icon>more_vert</mat-icon>
1334
- </button>
1335
- <mat-menu #menu="matMenu">
1336
- @for (item of v.params.items; track item; let index = $index) {
1337
- <button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
1338
- {{ item.label }}
1339
- </button>
1340
- }
1341
- </mat-menu>
1342
- }`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
1343
- }
1344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MenuValueComponent, decorators: [{
1345
- type: Component,
1346
- args: [{ selector: 'v-menu-value', imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger], template: ` @if (value(); as v) {
1347
- <button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
1348
- <mat-icon>more_vert</mat-icon>
1349
- </button>
1350
- <mat-menu #menu="matMenu">
1351
- @for (item of v.params.items; track item; let index = $index) {
1352
- <button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
1353
- {{ item.label }}
1354
- </button>
1355
- }
1356
- </mat-menu>
1357
- }` }]
1358
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
1359
-
1360
- class ToggleValueComponent {
1361
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1362
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToggleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1363
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ToggleValueComponent, isStandalone: true, selector: "v-toggle-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {
1364
- <mat-slide-toggle
1365
- [checked]="value().value"
1366
- (change)="$event.source.checked = !!value().value"
1367
- >
1368
- </mat-slide-toggle>
1369
- }`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }] });
1370
- }
1371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToggleValueComponent, decorators: [{
1372
- type: Component,
1373
- args: [{
1374
- selector: 'v-toggle-value',
1375
- imports: [MatSlideToggleModule],
1376
- template: ` @if (value(); as v) {
1377
- <mat-slide-toggle
1378
- [checked]="value().value"
1379
- (change)="$event.source.checked = !!value().value"
1380
- >
1381
- </mat-slide-toggle>
1382
- }`,
1383
- }]
1384
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
1385
-
1386
1452
  function currencyAmountValueToString(value) {
1387
1453
  if (typeof value?.value !== 'number') {
1388
1454
  return '';
@@ -1419,14 +1485,26 @@ function valueToString(value) {
1419
1485
  class ValueComponent {
1420
1486
  injector = inject(Injector);
1421
1487
  router = inject(Router);
1422
- value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
1423
- lazyValue = input(...(ngDevMode ? [undefined, { debugName: "lazyValue" }] : /* istanbul ignore next */ []));
1424
- lazyVisible = model(false, ...(ngDevMode ? [{ debugName: "lazyVisible" }] : /* istanbul ignore next */ []));
1488
+ value = input(/* @ts-ignore */
1489
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
1490
+ lazyValue = input(/* @ts-ignore */
1491
+ ...(ngDevMode ? [undefined, { debugName: "lazyValue" }] : /* istanbul ignore next */ []));
1492
+ lazyVisible = model(false, /* @ts-ignore */
1493
+ ...(ngDevMode ? [{ debugName: "lazyVisible" }] : /* istanbul ignore next */ []));
1425
1494
  progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1426
1495
  inline = false;
1427
1496
  emptySymbol = '―';
1428
1497
  highlight;
1429
- value$ = combineLatest([toObservable(this.value), toObservable(this.lazyValue)]).pipe(switchMap(([value, lazyValue]) => (isObservable(lazyValue) ? lazyValue : of(value))), shareReplay({ refCount: true, bufferSize: 1 }));
1498
+ value$ = combineLatest([
1499
+ toObservable(this.value),
1500
+ toObservable(this.lazyValue),
1501
+ toObservable(this.lazyVisible),
1502
+ ]).pipe(switchMap(([value, lazyValue, lazyVisible]) => {
1503
+ if (lazyVisible && isObservable(lazyValue)) {
1504
+ return lazyValue;
1505
+ }
1506
+ return of(value);
1507
+ }), shareReplay({ refCount: true, bufferSize: 1 }));
1430
1508
  valueText$ = this.value$.pipe(map((value) => runInInjectionContext(this.injector, () => valueToString(value))), shareReplay({ refCount: true, bufferSize: 1 }));
1431
1509
  inProgress$ = combineLatest([
1432
1510
  toObservable(this.progress),
@@ -1452,10 +1530,10 @@ class ValueComponent {
1452
1530
  });
1453
1531
  });
1454
1532
  }
1455
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1456
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ValueComponent, isStandalone: true, selector: "v-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, lazyValue: { classPropertyName: "lazyValue", publicName: "lazyValue", isSignal: true, isRequired: false, transformFunction: null }, lazyVisible: { classPropertyName: "lazyVisible", publicName: "lazyVisible", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptySymbol: { classPropertyName: "emptySymbol", publicName: "emptySymbol", isSignal: false, isRequired: false, transformFunction: (v) => (v === false ? '' : typeof v === 'string' ? v : '―') }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { lazyVisible: "lazyVisibleChange" }, host: { properties: { "class.inline": "inline" } }, ngImport: i0, template: "@if (!value() && lazyValue() && !lazyVisible()) {\n <button class=\"button\" mat-icon-button (click)=\"lazyVisible.set(true)\">\n <mat-icon>sync</mat-icon>\n </button>\n} @else {\n @if (value$ | async; as v) {\n <div class=\"flex gap-1 items-center\">\n @if (v.prefix) {\n <button\n class=\"action ml-[-16px]\"\n mat-icon-button\n (click)=\"v.prefix.click ? v.prefix.click($event) : undefined\"\n >\n <mat-icon>{{ v.prefix.icon }}</mat-icon>\n </button>\n }\n <div\n [ngClass]=\"{ wrapper__action: v.click || v.link }\"\n class=\"wrapper\"\n (click)=\"click($event)\"\n >\n @if (v.template) {\n <ng-container *ngTemplateOutlet=\"v.template; context: {}\"></ng-container>\n } @else {\n @if (v.color) {\n <v-tag [color]=\"v.color\">\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n </v-tag>\n } @else {\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n }\n\n <ng-template #tooltipTemplate>\n @if (v.tooltip) {\n <span\n [matTooltip]=\"v.tooltip\"\n class=\"tooltip\"\n matTooltipClass=\"tooltip-content\"\n >\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n } @else {\n <span [title]=\"v.value\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n }\n </ng-template>\n\n <ng-template #valueTemplate>\n @switch (v.type) {\n @case ('menu') {\n <v-menu-value [value]=\"v\"></v-menu-value>\n }\n @case ('toggle') {\n <v-toggle-value [value]=\"v\"></v-toggle-value>\n }\n @default {\n @let valueText = valueText$ | async;\n @if (inProgress$ | async) {\n <v-content-loading [hiddenText]=\"valueText\"></v-content-loading>\n } @else if (valueText) {\n <span\n [ngClass]=\"{ value__click: v.click, value__link: v.link }\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"valueText\"\n vHighlight\n ></span>\n } @else if (v.error) {\n <mat-icon [matTooltip]=\"v.error | json\">error</mat-icon>\n } @else if (emptySymbol) {\n <span class=\"text-[var(--mat-sys-outline)]\">{{\n emptySymbol\n }}</span>\n }\n }\n }\n </ng-template>\n }\n\n @if (v.description) {\n <div\n [title]=\"v.description\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"v.description\"\n class=\"description text-[var(--mat-sys-outline)] text-xs\"\n vHighlight\n ></div>\n }\n </div>\n @if (v.postfix) {\n <button\n class=\"action ml-auto mr-[-16px]\"\n mat-icon-button\n (click)=\"v.postfix.click ? v.postfix.click($event) : undefined\"\n >\n <mat-icon>{{ v.postfix.icon }}</mat-icon>\n </button>\n }\n </div>\n } @else {\n <v-content-loading></v-content-loading>\n }\n}\n", styles: [":host{cursor:default;text-align:left}.action{opacity:.1;transition:opacity .2s ease-in-out}.action:hover{opacity:1}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}::ng-deep .tooltip-content{white-space:pre-line}.wrapper__action{cursor:pointer}.value__click,.value__link{color:var(--mat-sys-primary)}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: TagComponent, selector: "v-tag", inputs: ["color", "icon", "progress"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MenuValueComponent, selector: "v-menu-value", inputs: ["value"] }, { kind: "component", type: ContentLoadingComponent, selector: "v-content-loading", inputs: ["width", "textSize", "hiddenText"] }, { kind: "directive", type: HighlightDirective, selector: "[vHighlight]", inputs: ["vHighlightText", "vHighlightSearch"] }, { kind: "component", type: ToggleValueComponent, selector: "v-toggle-value", inputs: ["value"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1533
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1534
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ValueComponent, isStandalone: true, selector: "v-value", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, lazyValue: { classPropertyName: "lazyValue", publicName: "lazyValue", isSignal: true, isRequired: false, transformFunction: null }, lazyVisible: { classPropertyName: "lazyVisible", publicName: "lazyVisible", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptySymbol: { classPropertyName: "emptySymbol", publicName: "emptySymbol", isSignal: false, isRequired: false, transformFunction: (v) => (v === false ? '' : typeof v === 'string' ? v : '―') }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { lazyVisible: "lazyVisibleChange" }, host: { properties: { "class.inline": "inline" } }, ngImport: i0, template: "@if (value$ | async; as v) {\n <div class=\"flex gap-1 items-center\">\n @if (lazyValue() && !lazyVisible()) {\n <button\n class=\"button ml-[-8px] mr-[-8px]\"\n mat-icon-button\n (click)=\"lazyVisible.set(true)\"\n >\n <mat-icon>sync</mat-icon>\n </button>\n }\n @if (v.error) {\n <mat-icon\n [matTooltip]=\"\n v.error?.['error']?.['message'] || v.error?.['message'] || (v.error | json)\n \"\n >error</mat-icon\n >\n }\n @if (v.prefix) {\n <button\n class=\"action ml-[-16px]\"\n mat-icon-button\n (click)=\"v.prefix.click ? v.prefix.click($event) : undefined\"\n >\n <mat-icon>{{ v.prefix.icon }}</mat-icon>\n </button>\n }\n <div\n [ngClass]=\"{ wrapper__action: v.click || v.link }\"\n class=\"wrapper\"\n (click)=\"click($event)\"\n >\n @if (v.template) {\n <ng-container *ngTemplateOutlet=\"v.template; context: {}\"></ng-container>\n } @else {\n @if (v.color) {\n <v-tag [color]=\"v.color\">\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n </v-tag>\n } @else {\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n }\n\n <ng-template #tooltipTemplate>\n @if (v.tooltip) {\n <span\n [matTooltip]=\"v.tooltip\"\n class=\"tooltip\"\n matTooltipClass=\"tooltip-content\"\n >\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n } @else {\n <span [title]=\"v.value\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n }\n </ng-template>\n\n <ng-template #valueTemplate>\n @switch (v.type) {\n @case ('menu') {\n <v-menu-value [value]=\"v\"></v-menu-value>\n }\n @case ('toggle') {\n <v-toggle-value [value]=\"v\"></v-toggle-value>\n }\n @default {\n @let valueText = valueText$ | async;\n @if (inProgress$ | async) {\n <v-content-loading [hiddenText]=\"valueText\"></v-content-loading>\n } @else if (valueText) {\n <span\n [ngClass]=\"{ value__click: v.click, value__link: v.link }\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"valueText\"\n vHighlight\n ></span>\n } @else if (emptySymbol) {\n <span class=\"text-[var(--mat-sys-outline)]\">{{ emptySymbol }}</span>\n }\n }\n }\n </ng-template>\n }\n\n @if (v.description) {\n <div\n [title]=\"v.description\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"v.description\"\n class=\"description text-[var(--mat-sys-outline)] text-xs\"\n vHighlight\n ></div>\n }\n </div>\n @if (v.postfix) {\n <button\n class=\"action ml-auto mr-[-16px]\"\n mat-icon-button\n (click)=\"v.postfix.click ? v.postfix.click($event) : undefined\"\n >\n <mat-icon>{{ v.postfix.icon }}</mat-icon>\n </button>\n }\n </div>\n} @else if (lazyValue() && !lazyVisible()) {\n <button class=\"button ml-[-8px]\" mat-icon-button (click)=\"lazyVisible.set(true)\">\n <mat-icon>sync</mat-icon>\n </button>\n} @else {\n <v-content-loading></v-content-loading>\n}\n", styles: [":host{cursor:default;text-align:left}.action{opacity:.1;transition:opacity .2s ease-in-out}.action:hover{opacity:1}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}::ng-deep .tooltip-content{white-space:pre-line}.wrapper__action{cursor:pointer}.value__click,.value__link{color:var(--mat-sys-primary)}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: TagComponent, selector: "v-tag", inputs: ["color", "icon", "progress"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MenuValueComponent, selector: "v-menu-value", inputs: ["value"] }, { kind: "component", type: ContentLoadingComponent, selector: "v-content-loading", inputs: ["width", "textSize", "hiddenText"] }, { kind: "directive", type: HighlightDirective, selector: "[vHighlight]", inputs: ["vHighlightText", "vHighlightSearch"] }, { kind: "component", type: ToggleValueComponent, selector: "v-toggle-value", inputs: ["value"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1457
1535
  }
1458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ValueComponent, decorators: [{
1536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueComponent, decorators: [{
1459
1537
  type: Component,
1460
1538
  args: [{ selector: 'v-value', imports: [
1461
1539
  CommonModule,
@@ -1469,7 +1547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
1469
1547
  MatButtonModule,
1470
1548
  ], host: {
1471
1549
  '[class.inline]': 'inline',
1472
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!value() && lazyValue() && !lazyVisible()) {\n <button class=\"button\" mat-icon-button (click)=\"lazyVisible.set(true)\">\n <mat-icon>sync</mat-icon>\n </button>\n} @else {\n @if (value$ | async; as v) {\n <div class=\"flex gap-1 items-center\">\n @if (v.prefix) {\n <button\n class=\"action ml-[-16px]\"\n mat-icon-button\n (click)=\"v.prefix.click ? v.prefix.click($event) : undefined\"\n >\n <mat-icon>{{ v.prefix.icon }}</mat-icon>\n </button>\n }\n <div\n [ngClass]=\"{ wrapper__action: v.click || v.link }\"\n class=\"wrapper\"\n (click)=\"click($event)\"\n >\n @if (v.template) {\n <ng-container *ngTemplateOutlet=\"v.template; context: {}\"></ng-container>\n } @else {\n @if (v.color) {\n <v-tag [color]=\"v.color\">\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n </v-tag>\n } @else {\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n }\n\n <ng-template #tooltipTemplate>\n @if (v.tooltip) {\n <span\n [matTooltip]=\"v.tooltip\"\n class=\"tooltip\"\n matTooltipClass=\"tooltip-content\"\n >\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n } @else {\n <span [title]=\"v.value\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n }\n </ng-template>\n\n <ng-template #valueTemplate>\n @switch (v.type) {\n @case ('menu') {\n <v-menu-value [value]=\"v\"></v-menu-value>\n }\n @case ('toggle') {\n <v-toggle-value [value]=\"v\"></v-toggle-value>\n }\n @default {\n @let valueText = valueText$ | async;\n @if (inProgress$ | async) {\n <v-content-loading [hiddenText]=\"valueText\"></v-content-loading>\n } @else if (valueText) {\n <span\n [ngClass]=\"{ value__click: v.click, value__link: v.link }\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"valueText\"\n vHighlight\n ></span>\n } @else if (v.error) {\n <mat-icon [matTooltip]=\"v.error | json\">error</mat-icon>\n } @else if (emptySymbol) {\n <span class=\"text-[var(--mat-sys-outline)]\">{{\n emptySymbol\n }}</span>\n }\n }\n }\n </ng-template>\n }\n\n @if (v.description) {\n <div\n [title]=\"v.description\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"v.description\"\n class=\"description text-[var(--mat-sys-outline)] text-xs\"\n vHighlight\n ></div>\n }\n </div>\n @if (v.postfix) {\n <button\n class=\"action ml-auto mr-[-16px]\"\n mat-icon-button\n (click)=\"v.postfix.click ? v.postfix.click($event) : undefined\"\n >\n <mat-icon>{{ v.postfix.icon }}</mat-icon>\n </button>\n }\n </div>\n } @else {\n <v-content-loading></v-content-loading>\n }\n}\n", styles: [":host{cursor:default;text-align:left}.action{opacity:.1;transition:opacity .2s ease-in-out}.action:hover{opacity:1}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}::ng-deep .tooltip-content{white-space:pre-line}.wrapper__action{cursor:pointer}.value__click,.value__link{color:var(--mat-sys-primary)}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
1550
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (value$ | async; as v) {\n <div class=\"flex gap-1 items-center\">\n @if (lazyValue() && !lazyVisible()) {\n <button\n class=\"button ml-[-8px] mr-[-8px]\"\n mat-icon-button\n (click)=\"lazyVisible.set(true)\"\n >\n <mat-icon>sync</mat-icon>\n </button>\n }\n @if (v.error) {\n <mat-icon\n [matTooltip]=\"\n v.error?.['error']?.['message'] || v.error?.['message'] || (v.error | json)\n \"\n >error</mat-icon\n >\n }\n @if (v.prefix) {\n <button\n class=\"action ml-[-16px]\"\n mat-icon-button\n (click)=\"v.prefix.click ? v.prefix.click($event) : undefined\"\n >\n <mat-icon>{{ v.prefix.icon }}</mat-icon>\n </button>\n }\n <div\n [ngClass]=\"{ wrapper__action: v.click || v.link }\"\n class=\"wrapper\"\n (click)=\"click($event)\"\n >\n @if (v.template) {\n <ng-container *ngTemplateOutlet=\"v.template; context: {}\"></ng-container>\n } @else {\n @if (v.color) {\n <v-tag [color]=\"v.color\">\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n </v-tag>\n } @else {\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n }\n\n <ng-template #tooltipTemplate>\n @if (v.tooltip) {\n <span\n [matTooltip]=\"v.tooltip\"\n class=\"tooltip\"\n matTooltipClass=\"tooltip-content\"\n >\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n } @else {\n <span [title]=\"v.value\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n }\n </ng-template>\n\n <ng-template #valueTemplate>\n @switch (v.type) {\n @case ('menu') {\n <v-menu-value [value]=\"v\"></v-menu-value>\n }\n @case ('toggle') {\n <v-toggle-value [value]=\"v\"></v-toggle-value>\n }\n @default {\n @let valueText = valueText$ | async;\n @if (inProgress$ | async) {\n <v-content-loading [hiddenText]=\"valueText\"></v-content-loading>\n } @else if (valueText) {\n <span\n [ngClass]=\"{ value__click: v.click, value__link: v.link }\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"valueText\"\n vHighlight\n ></span>\n } @else if (emptySymbol) {\n <span class=\"text-[var(--mat-sys-outline)]\">{{ emptySymbol }}</span>\n }\n }\n }\n </ng-template>\n }\n\n @if (v.description) {\n <div\n [title]=\"v.description\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"v.description\"\n class=\"description text-[var(--mat-sys-outline)] text-xs\"\n vHighlight\n ></div>\n }\n </div>\n @if (v.postfix) {\n <button\n class=\"action ml-auto mr-[-16px]\"\n mat-icon-button\n (click)=\"v.postfix.click ? v.postfix.click($event) : undefined\"\n >\n <mat-icon>{{ v.postfix.icon }}</mat-icon>\n </button>\n }\n </div>\n} @else if (lazyValue() && !lazyVisible()) {\n <button class=\"button ml-[-8px]\" mat-icon-button (click)=\"lazyVisible.set(true)\">\n <mat-icon>sync</mat-icon>\n </button>\n} @else {\n <v-content-loading></v-content-loading>\n}\n", styles: [":host{cursor:default;text-align:left}.action{opacity:.1;transition:opacity .2s ease-in-out}.action:hover{opacity:1}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}::ng-deep .tooltip-content{white-space:pre-line}.wrapper__action{cursor:pointer}.value__click,.value__link{color:var(--mat-sys-primary)}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
1473
1551
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], lazyValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazyValue", required: false }] }], lazyVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazyVisible", required: false }] }, { type: i0.Output, args: ["lazyVisibleChange"] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], inline: [{
1474
1552
  type: Input,
1475
1553
  args: [{ transform: booleanAttribute }]
@@ -1483,9 +1561,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
1483
1561
  }] } });
1484
1562
 
1485
1563
  class ValueListComponent {
1486
- list = input(...(ngDevMode ? [undefined, { debugName: "list" }] : /* istanbul ignore next */ []));
1487
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ValueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1488
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ValueListComponent, isStandalone: true, selector: "v-value-list", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1564
+ list = input(/* @ts-ignore */
1565
+ ...(ngDevMode ? [undefined, { debugName: "list" }] : /* istanbul ignore next */ []));
1566
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1567
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ValueListComponent, isStandalone: true, selector: "v-value-list", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1489
1568
  @if (list(); as items) {
1490
1569
  @if (items.length > 1) {
1491
1570
  <div class="list">
@@ -1499,9 +1578,9 @@ class ValueListComponent {
1499
1578
  } @else {
1500
1579
  <v-value [progress]="true" inline></v-value>
1501
1580
  }
1502
- `, isInline: true, styles: [".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\n"], dependencies: [{ kind: "component", type: ValueComponent, selector: "v-value", inputs: ["value", "lazyValue", "lazyVisible", "progress", "inline", "emptySymbol", "highlight"], outputs: ["lazyVisibleChange"] }] });
1581
+ `, isInline: true, styles: [".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\n"], dependencies: [{ kind: "component", type: ValueComponent, selector: "v-value", inputs: ["value", "lazyValue", "lazyVisible", "progress", "inline", "emptySymbol", "highlight"], outputs: ["lazyVisibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
1503
1582
  }
1504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ValueListComponent, decorators: [{
1583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueListComponent, decorators: [{
1505
1584
  type: Component,
1506
1585
  args: [{ selector: 'v-value-list', imports: [ValueComponent], template: `
1507
1586
  @if (list(); as items) {
@@ -1517,7 +1596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
1517
1596
  } @else {
1518
1597
  <v-value [progress]="true" inline></v-value>
1519
1598
  }
1520
- `, styles: [".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\n"] }]
1599
+ `, changeDetection: ChangeDetectionStrategy.Eager, styles: [".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\n"] }]
1521
1600
  }], propDecorators: { list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: false }] }] } });
1522
1601
 
1523
1602
  function createUniqueColumnDef(name) {
@@ -1822,8 +1901,8 @@ function toColumnsData(src$) {
1822
1901
  class NoRecordsComponent {
1823
1902
  noRecords = input(false, { ...(ngDevMode ? { debugName: "noRecords" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1824
1903
  progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1825
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NoRecordsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1826
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: NoRecordsComponent, isStandalone: true, selector: "v-no-records", inputs: { noRecords: { classPropertyName: "noRecords", publicName: "noRecords", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1904
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NoRecordsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1905
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: NoRecordsComponent, isStandalone: true, selector: "v-no-records", inputs: { noRecords: { classPropertyName: "noRecords", publicName: "noRecords", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1827
1906
  @if (noRecords()) {
1828
1907
  <div class="no-records mat-body-large">
1829
1908
  {{ progress() ? 'Loading...' : 'No records' }}
@@ -1831,7 +1910,7 @@ class NoRecordsComponent {
1831
1910
  }
1832
1911
  `, isInline: true, styles: [".no-records{position:absolute;z-index:999;top:calc(50% + 28px);left:50%;transform:translate(-50%) translateY(-50%)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1833
1912
  }
1834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NoRecordsComponent, decorators: [{
1913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NoRecordsComponent, decorators: [{
1835
1914
  type: Component,
1836
1915
  args: [{ selector: 'v-no-records', template: `
1837
1916
  @if (noRecords()) {
@@ -1872,10 +1951,10 @@ class InfinityScrollDirective {
1872
1951
  this.vInfinityScrollMore.emit();
1873
1952
  });
1874
1953
  }
1875
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InfinityScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1876
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: InfinityScrollDirective, isStandalone: true, selector: "[vInfinityScroll]", inputs: { vInfinityScroll: { classPropertyName: "vInfinityScroll", publicName: "vInfinityScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { vInfinityScrollMore: "vInfinityScrollMore" }, ngImport: i0 });
1954
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InfinityScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1955
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: InfinityScrollDirective, isStandalone: true, selector: "[vInfinityScroll]", inputs: { vInfinityScroll: { classPropertyName: "vInfinityScroll", publicName: "vInfinityScroll", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { vInfinityScrollMore: "vInfinityScrollMore" }, ngImport: i0 });
1877
1956
  }
1878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InfinityScrollDirective, decorators: [{
1957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InfinityScrollDirective, decorators: [{
1879
1958
  type: Directive,
1880
1959
  args: [{
1881
1960
  selector: '[vInfinityScroll]',
@@ -1884,12 +1963,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
1884
1963
  }], propDecorators: { vInfinityScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "vInfinityScroll", required: false }] }], vInfinityScrollMore: [{ type: i0.Output, args: ["vInfinityScrollMore"] }] } });
1885
1964
 
1886
1965
  class BaseColumnComponent {
1887
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
1966
+ name = input.required(/* @ts-ignore */
1967
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
1888
1968
  table = inject(MatTable);
1889
- columnDef = viewChild(MatColumnDef, ...(ngDevMode ? [{ debugName: "columnDef" }] : /* istanbul ignore next */ []));
1890
- cellDef = viewChild(MatCellDef, ...(ngDevMode ? [{ debugName: "cellDef" }] : /* istanbul ignore next */ []));
1891
- headerCellDef = viewChild(MatHeaderCellDef, ...(ngDevMode ? [{ debugName: "headerCellDef" }] : /* istanbul ignore next */ []));
1892
- footerCellDef = viewChild(MatFooterCellDef, ...(ngDevMode ? [{ debugName: "footerCellDef" }] : /* istanbul ignore next */ []));
1969
+ columnDef = viewChild(MatColumnDef, /* @ts-ignore */
1970
+ ...(ngDevMode ? [{ debugName: "columnDef" }] : /* istanbul ignore next */ []));
1971
+ cellDef = viewChild(MatCellDef, /* @ts-ignore */
1972
+ ...(ngDevMode ? [{ debugName: "cellDef" }] : /* istanbul ignore next */ []));
1973
+ headerCellDef = viewChild(MatHeaderCellDef, /* @ts-ignore */
1974
+ ...(ngDevMode ? [{ debugName: "headerCellDef" }] : /* istanbul ignore next */ []));
1975
+ footerCellDef = viewChild(MatFooterCellDef, /* @ts-ignore */
1976
+ ...(ngDevMode ? [{ debugName: "footerCellDef" }] : /* istanbul ignore next */ []));
1893
1977
  addedColumnDef;
1894
1978
  ngOnInit() {
1895
1979
  const columnDef = this.columnDef();
@@ -1911,20 +1995,22 @@ class BaseColumnComponent {
1911
1995
  this.table.removeColumnDef(this.addedColumnDef);
1912
1996
  }
1913
1997
  }
1914
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1915
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: BaseColumnComponent, isStandalone: true, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true, isSignal: true }, { propertyName: "cellDef", first: true, predicate: MatCellDef, descendants: true, isSignal: true }, { propertyName: "headerCellDef", first: true, predicate: MatHeaderCellDef, descendants: true, isSignal: true }, { propertyName: "footerCellDef", first: true, predicate: MatFooterCellDef, descendants: true, isSignal: true }], ngImport: i0 });
1998
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: BaseColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1999
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.7", type: BaseColumnComponent, isStandalone: true, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true, isSignal: true }, { propertyName: "cellDef", first: true, predicate: MatCellDef, descendants: true, isSignal: true }, { propertyName: "headerCellDef", first: true, predicate: MatHeaderCellDef, descendants: true, isSignal: true }, { propertyName: "footerCellDef", first: true, predicate: MatFooterCellDef, descendants: true, isSignal: true }], ngImport: i0 });
1916
2000
  }
1917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseColumnComponent, decorators: [{
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: BaseColumnComponent, decorators: [{
1918
2002
  type: Directive
1919
2003
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], columnDef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatColumnDef), { isSignal: true }] }], cellDef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatCellDef), { isSignal: true }] }], headerCellDef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatHeaderCellDef), { isSignal: true }] }], footerCellDef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatFooterCellDef), { isSignal: true }] }] } });
1920
2004
 
1921
2005
  class SelectColumnComponent extends BaseColumnComponent {
1922
2006
  dr = inject(DestroyRef);
1923
2007
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1924
- selected = model([], ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
2008
+ selected = model([], /* @ts-ignore */
2009
+ ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
1925
2010
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1926
2011
  data = input([], { ...(ngDevMode ? { debugName: "data" } : /* istanbul ignore next */ {}), transform: arrayAttribute });
1927
- progress = input(false, ...(ngDevMode ? [{ debugName: "progress" }] : /* istanbul ignore next */ []));
2012
+ progress = input(false, /* @ts-ignore */
2013
+ ...(ngDevMode ? [{ debugName: "progress" }] : /* istanbul ignore next */ []));
1928
2014
  selection = new SelectionModel(true, []);
1929
2015
  isAllSelected$ = combineLatest([
1930
2016
  this.selection.changed.pipe(startWith(null)),
@@ -1958,8 +2044,8 @@ class SelectColumnComponent extends BaseColumnComponent {
1958
2044
  this.selection.deselect(...this.selection.selected.filter((s) => !newSelected.includes(s)));
1959
2045
  this.selection.select(...newSelected);
1960
2046
  }
1961
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1962
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: SelectColumnComponent, isStandalone: true, selector: "v-select-column", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
2047
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2048
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: SelectColumnComponent, isStandalone: true, selector: "v-select-column", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1963
2049
  <ng-container [matColumnDef]="name()" [sticky]="true">
1964
2050
  @let columnClasses = 'column';
1965
2051
  <th *matHeaderCellDef [class]="columnClasses" mat-header-cell>
@@ -1986,7 +2072,7 @@ class SelectColumnComponent extends BaseColumnComponent {
1986
2072
  </ng-container>
1987
2073
  `, isInline: true, styles: [".column{padding-left:4px;padding-right:4px;width:48px;border-right:1px solid;text-overflow:clip}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatTableModule }, { kind: "directive", type: i1$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$4.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i1$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i1$4.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$4.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: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1988
2074
  }
1989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectColumnComponent, decorators: [{
2075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectColumnComponent, decorators: [{
1990
2076
  type: Component,
1991
2077
  args: [{ selector: 'v-select-column', template: `
1992
2078
  <ng-container [matColumnDef]="name()" [sticky]="true">
@@ -2018,8 +2104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
2018
2104
 
2019
2105
  class DndColumnComponent extends BaseColumnComponent {
2020
2106
  dragged = output();
2021
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DndColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2022
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: DndColumnComponent, isStandalone: true, selector: "v-dnd-column", outputs: { dragged: "dragged" }, usesInheritance: true, ngImport: i0, template: `
2107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DndColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DndColumnComponent, isStandalone: true, selector: "v-dnd-column", outputs: { dragged: "dragged" }, usesInheritance: true, ngImport: i0, template: `
2023
2109
  <ng-container [matColumnDef]="name()" [sticky]="true">
2024
2110
  @let columnClasses = 'column';
2025
2111
  <th *matHeaderCellDef [class]="columnClasses" mat-header-cell></th>
@@ -2037,7 +2123,7 @@ class DndColumnComponent extends BaseColumnComponent {
2037
2123
  </ng-container>
2038
2124
  `, isInline: true, styles: [".column .position{display:flex;align-items:center;gap:8px}.column .position .dragCursor{cursor:move}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "directive", type: i1$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$4.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i1$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i1$4.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2039
2125
  }
2040
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DndColumnComponent, decorators: [{
2126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DndColumnComponent, decorators: [{
2041
2127
  type: Component,
2042
2128
  args: [{ selector: 'v-dnd-column', template: `
2043
2129
  <ng-container [matColumnDef]="name()" [sticky]="true">
@@ -2067,14 +2153,20 @@ class TableInfoBarComponent {
2067
2153
  noDownload = input(false, { ...(ngDevMode ? { debugName: "noDownload" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2068
2154
  noToolbar = input(false, { ...(ngDevMode ? { debugName: "noToolbar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2069
2155
  dataProgress = input(false, { ...(ngDevMode ? { debugName: "dataProgress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2070
- columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
2071
- tableInputsContent = input(...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2156
+ columns = input([], /* @ts-ignore */
2157
+ ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
2158
+ tableInputsContent = input(/* @ts-ignore */
2159
+ ...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2072
2160
  size = input(0, { ...(ngDevMode ? { debugName: "size" } : /* istanbul ignore next */ {}), transform: numberAttribute });
2073
2161
  preloadSize = input(0, { ...(ngDevMode ? { debugName: "preloadSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
2074
- count = input(undefined, ...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
2075
- filteredCount = input(0, ...(ngDevMode ? [{ debugName: "filteredCount" }] : /* istanbul ignore next */ []));
2076
- selectedCount = input(0, ...(ngDevMode ? [{ debugName: "selectedCount" }] : /* istanbul ignore next */ []));
2077
- filter = input('', ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2162
+ count = input(undefined, /* @ts-ignore */
2163
+ ...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
2164
+ filteredCount = input(0, /* @ts-ignore */
2165
+ ...(ngDevMode ? [{ debugName: "filteredCount" }] : /* istanbul ignore next */ []));
2166
+ selectedCount = input(0, /* @ts-ignore */
2167
+ ...(ngDevMode ? [{ debugName: "selectedCount" }] : /* istanbul ignore next */ []));
2168
+ filter = input('', /* @ts-ignore */
2169
+ ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2078
2170
  filterChange = output();
2079
2171
  filterControl = new FormControl('', { nonNullable: true });
2080
2172
  standaloneFilter = input(false, { ...(ngDevMode ? { debugName: "standaloneFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
@@ -2090,7 +2182,8 @@ class TableInfoBarComponent {
2090
2182
  this.count()
2091
2183
  : this.progress() || this.count() !== 0
2092
2184
  ? '...'
2093
- : '0', ...(ngDevMode ? [{ debugName: "countText" }] : /* istanbul ignore next */ []));
2185
+ : '0', /* @ts-ignore */
2186
+ ...(ngDevMode ? [{ debugName: "countText" }] : /* istanbul ignore next */ []));
2094
2187
  ngOnInit() {
2095
2188
  this.filterControl.valueChanges.pipe(takeUntilDestroyed(this.dr)).subscribe((v) => {
2096
2189
  this.filterChange.emit(v);
@@ -2099,23 +2192,23 @@ class TableInfoBarComponent {
2099
2192
  this.filterControl.setValue(this.filter(), { emitEvent: false });
2100
2193
  }
2101
2194
  }
2102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TableInfoBarComponent, isStandalone: false, selector: "v-table-info-bar", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: "hasMore", publicName: "hasMore", isSignal: true, isRequired: false, transformFunction: null }, hasLoad: { classPropertyName: "hasLoad", publicName: "hasLoad", isSignal: true, isRequired: false, transformFunction: null }, isPreload: { classPropertyName: "isPreload", publicName: "isPreload", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: "noToolbar", publicName: "noToolbar", isSignal: true, isRequired: false, transformFunction: null }, dataProgress: { classPropertyName: "dataProgress", publicName: "dataProgress", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, preloadSize: { classPropertyName: "preloadSize", publicName: "preloadSize", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, filteredCount: { classPropertyName: "filteredCount", publicName: "filteredCount", isSignal: true, isRequired: false, transformFunction: null }, selectedCount: { classPropertyName: "selectedCount", publicName: "selectedCount", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterChange: "filterChange", downloadCsv: "downloadCsv", load: "load", preload: "preload" }, ngImport: i0, template: "<div class=\"wrapper\">\n @if (standaloneFilter()) {\n <div class=\"header-wrapper\">\n <ng-content *ngTemplateOutlet=\"tableInputsContent()\"></ng-content>\n <v-input-field [formControl]=\"filterControl\" cleanButton label=\"Search\"></v-input-field>\n </div>\n }\n <v-actions>\n <v-actions>\n @if (!noToolbar()) {\n @if (!standaloneFilter()) {\n <div>\n <v-input-field\n [formControl]=\"filterControl\"\n appearance=\"outline\"\n class=\"filter filter__extended\"\n cleanButton\n icon=\"manage_search\"\n label=\"Search\"\n size=\"small\"\n ></v-input-field>\n </div>\n }\n <div class=\"details\">\n @if (hasLoad() || hasMore()) {\n <button\n [disabled]=\"progress() || !hasMore()\"\n mat-icon-button\n matTooltip=\"Preload {{ preloadSize() }}{{\n isPreload() && hasMore() ? ' more' : ''\n }} elements\"\n (click)=\"preload.emit()\"\n >\n <mat-icon>\n {{\n hasMore()\n ? isPreload()\n ? 'downloading'\n : 'download'\n : 'download_done'\n }}\n </mat-icon>\n </button>\n }\n @if (!noDownload()) {\n <button\n [disabled]=\"progress() || !count()\"\n mat-icon-button\n matTooltip=\"Download CSV\"\n (click)=\"downloadCsv.emit()\"\n >\n <mat-icon>file_save</mat-icon>\n </button>\n }\n <!-- <button mat-icon-button matTooltip=\"Customize table\" (click)=\"tune()\">\n <mat-icon>tune</mat-icon>\n </button> -->\n </div>\n }\n <div\n [matBadge]=\"selectedCount() || ''\"\n [matBadgeDisabled]=\"progress() || dataProgress()\"\n [matTooltip]=\"\n dataProgress()\n ? 'Preparing data for sorting, filtering and downloading...'\n : progress()\n ? 'Loading...'\n : hasLoad()\n ? 'Reload ' + size() + ' elements'\n : ''\n \"\n class=\"count\"\n (click)=\"hasLoad() ? load.emit() : undefined\"\n >\n <v-tag\n [icon]=\"hasLoad() ? 'refresh' : undefined\"\n [progress]=\"progress() || dataProgress()\"\n >\n {{ countText() }}\n </v-tag>\n </div>\n </v-actions>\n <v-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-actions>\n </v-actions>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: InputFieldComponent, selector: "v-input-field", inputs: ["label", "placeholder", "type", "appearance", "size", "cleanButton", "icon", "hintText"] }, { kind: "component", type: ActionsComponent, selector: "v-actions" }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: TagComponent, selector: "v-tag", inputs: ["color", "icon", "progress"] }] });
2195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TableInfoBarComponent, isStandalone: false, selector: "v-table-info-bar", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: "hasMore", publicName: "hasMore", isSignal: true, isRequired: false, transformFunction: null }, hasLoad: { classPropertyName: "hasLoad", publicName: "hasLoad", isSignal: true, isRequired: false, transformFunction: null }, isPreload: { classPropertyName: "isPreload", publicName: "isPreload", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: "noToolbar", publicName: "noToolbar", isSignal: true, isRequired: false, transformFunction: null }, dataProgress: { classPropertyName: "dataProgress", publicName: "dataProgress", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, preloadSize: { classPropertyName: "preloadSize", publicName: "preloadSize", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, filteredCount: { classPropertyName: "filteredCount", publicName: "filteredCount", isSignal: true, isRequired: false, transformFunction: null }, selectedCount: { classPropertyName: "selectedCount", publicName: "selectedCount", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterChange: "filterChange", downloadCsv: "downloadCsv", load: "load", preload: "preload" }, ngImport: i0, template: "<div class=\"wrapper\">\n @if (standaloneFilter()) {\n <div class=\"header-wrapper\">\n <ng-content *ngTemplateOutlet=\"tableInputsContent()\"></ng-content>\n <v-input-field [formControl]=\"filterControl\" cleanButton label=\"Search\"></v-input-field>\n </div>\n }\n <v-actions>\n <v-actions>\n @if (!noToolbar()) {\n @if (!standaloneFilter()) {\n <div>\n <v-input-field\n [formControl]=\"filterControl\"\n appearance=\"outline\"\n class=\"filter filter__extended\"\n cleanButton\n icon=\"manage_search\"\n label=\"Search\"\n size=\"small\"\n ></v-input-field>\n </div>\n }\n <div class=\"details\">\n @if (hasLoad() || hasMore()) {\n <button\n [disabled]=\"progress() || !hasMore()\"\n mat-icon-button\n matTooltip=\"Preload {{ preloadSize() }}{{\n isPreload() && hasMore() ? ' more' : ''\n }} elements\"\n (click)=\"preload.emit()\"\n >\n <mat-icon>\n {{\n hasMore()\n ? isPreload()\n ? 'downloading'\n : 'download'\n : 'download_done'\n }}\n </mat-icon>\n </button>\n }\n @if (!noDownload()) {\n <button\n [disabled]=\"progress() || !count()\"\n mat-icon-button\n matTooltip=\"Download CSV\"\n (click)=\"downloadCsv.emit()\"\n >\n <mat-icon>file_save</mat-icon>\n </button>\n }\n <!-- <button mat-icon-button matTooltip=\"Customize table\" (click)=\"tune()\">\n <mat-icon>tune</mat-icon>\n </button> -->\n </div>\n }\n <div\n [matBadge]=\"selectedCount() || ''\"\n [matBadgeDisabled]=\"progress() || dataProgress()\"\n [matTooltip]=\"\n dataProgress()\n ? 'Preparing data for sorting, filtering and downloading...'\n : progress()\n ? 'Loading...'\n : hasLoad()\n ? 'Reload ' + size() + ' elements'\n : ''\n \"\n class=\"count\"\n (click)=\"hasLoad() ? load.emit() : undefined\"\n >\n <v-tag\n [icon]=\"hasLoad() ? 'refresh' : undefined\"\n [progress]=\"progress() || dataProgress()\"\n >\n {{ countText() }}\n </v-tag>\n </div>\n </v-actions>\n <v-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-actions>\n </v-actions>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: InputFieldComponent, selector: "v-input-field", inputs: ["value", "disabled", "required", "label", "placeholder", "type", "appearance", "size", "cleanButton", "icon", "hintText"], outputs: ["valueChange", "touch"] }, { kind: "component", type: ActionsComponent, selector: "v-actions" }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: TagComponent, selector: "v-tag", inputs: ["color", "icon", "progress"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2104
2197
  }
2105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableInfoBarComponent, decorators: [{
2198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInfoBarComponent, decorators: [{
2106
2199
  type: Component,
2107
- args: [{ selector: 'v-table-info-bar', standalone: false, template: "<div class=\"wrapper\">\n @if (standaloneFilter()) {\n <div class=\"header-wrapper\">\n <ng-content *ngTemplateOutlet=\"tableInputsContent()\"></ng-content>\n <v-input-field [formControl]=\"filterControl\" cleanButton label=\"Search\"></v-input-field>\n </div>\n }\n <v-actions>\n <v-actions>\n @if (!noToolbar()) {\n @if (!standaloneFilter()) {\n <div>\n <v-input-field\n [formControl]=\"filterControl\"\n appearance=\"outline\"\n class=\"filter filter__extended\"\n cleanButton\n icon=\"manage_search\"\n label=\"Search\"\n size=\"small\"\n ></v-input-field>\n </div>\n }\n <div class=\"details\">\n @if (hasLoad() || hasMore()) {\n <button\n [disabled]=\"progress() || !hasMore()\"\n mat-icon-button\n matTooltip=\"Preload {{ preloadSize() }}{{\n isPreload() && hasMore() ? ' more' : ''\n }} elements\"\n (click)=\"preload.emit()\"\n >\n <mat-icon>\n {{\n hasMore()\n ? isPreload()\n ? 'downloading'\n : 'download'\n : 'download_done'\n }}\n </mat-icon>\n </button>\n }\n @if (!noDownload()) {\n <button\n [disabled]=\"progress() || !count()\"\n mat-icon-button\n matTooltip=\"Download CSV\"\n (click)=\"downloadCsv.emit()\"\n >\n <mat-icon>file_save</mat-icon>\n </button>\n }\n <!-- <button mat-icon-button matTooltip=\"Customize table\" (click)=\"tune()\">\n <mat-icon>tune</mat-icon>\n </button> -->\n </div>\n }\n <div\n [matBadge]=\"selectedCount() || ''\"\n [matBadgeDisabled]=\"progress() || dataProgress()\"\n [matTooltip]=\"\n dataProgress()\n ? 'Preparing data for sorting, filtering and downloading...'\n : progress()\n ? 'Loading...'\n : hasLoad()\n ? 'Reload ' + size() + ' elements'\n : ''\n \"\n class=\"count\"\n (click)=\"hasLoad() ? load.emit() : undefined\"\n >\n <v-tag\n [icon]=\"hasLoad() ? 'refresh' : undefined\"\n [progress]=\"progress() || dataProgress()\"\n >\n {{ countText() }}\n </v-tag>\n </div>\n </v-actions>\n <v-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-actions>\n </v-actions>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"] }]
2200
+ args: [{ selector: 'v-table-info-bar', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div class=\"wrapper\">\n @if (standaloneFilter()) {\n <div class=\"header-wrapper\">\n <ng-content *ngTemplateOutlet=\"tableInputsContent()\"></ng-content>\n <v-input-field [formControl]=\"filterControl\" cleanButton label=\"Search\"></v-input-field>\n </div>\n }\n <v-actions>\n <v-actions>\n @if (!noToolbar()) {\n @if (!standaloneFilter()) {\n <div>\n <v-input-field\n [formControl]=\"filterControl\"\n appearance=\"outline\"\n class=\"filter filter__extended\"\n cleanButton\n icon=\"manage_search\"\n label=\"Search\"\n size=\"small\"\n ></v-input-field>\n </div>\n }\n <div class=\"details\">\n @if (hasLoad() || hasMore()) {\n <button\n [disabled]=\"progress() || !hasMore()\"\n mat-icon-button\n matTooltip=\"Preload {{ preloadSize() }}{{\n isPreload() && hasMore() ? ' more' : ''\n }} elements\"\n (click)=\"preload.emit()\"\n >\n <mat-icon>\n {{\n hasMore()\n ? isPreload()\n ? 'downloading'\n : 'download'\n : 'download_done'\n }}\n </mat-icon>\n </button>\n }\n @if (!noDownload()) {\n <button\n [disabled]=\"progress() || !count()\"\n mat-icon-button\n matTooltip=\"Download CSV\"\n (click)=\"downloadCsv.emit()\"\n >\n <mat-icon>file_save</mat-icon>\n </button>\n }\n <!-- <button mat-icon-button matTooltip=\"Customize table\" (click)=\"tune()\">\n <mat-icon>tune</mat-icon>\n </button> -->\n </div>\n }\n <div\n [matBadge]=\"selectedCount() || ''\"\n [matBadgeDisabled]=\"progress() || dataProgress()\"\n [matTooltip]=\"\n dataProgress()\n ? 'Preparing data for sorting, filtering and downloading...'\n : progress()\n ? 'Loading...'\n : hasLoad()\n ? 'Reload ' + size() + ' elements'\n : ''\n \"\n class=\"count\"\n (click)=\"hasLoad() ? load.emit() : undefined\"\n >\n <v-tag\n [icon]=\"hasLoad() ? 'refresh' : undefined\"\n [progress]=\"progress() || dataProgress()\"\n >\n {{ countText() }}\n </v-tag>\n </div>\n </v-actions>\n <v-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-actions>\n </v-actions>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"] }]
2108
2201
  }], propDecorators: { progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], hasMore: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasMore", required: false }] }], hasLoad: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasLoad", required: false }] }], isPreload: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPreload", required: false }] }], noDownload: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDownload", required: false }] }], noToolbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "noToolbar", required: false }] }], dataProgress: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataProgress", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], tableInputsContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableInputsContent", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], preloadSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "preloadSize", required: false }] }], count: [{ type: i0.Input, args: [{ isSignal: true, alias: "count", required: false }] }], filteredCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "filteredCount", required: false }] }], selectedCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCount", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], standaloneFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "standaloneFilter", required: false }] }], downloadCsv: [{ type: i0.Output, args: ["downloadCsv"] }], load: [{ type: i0.Output, args: ["load"] }], preload: [{ type: i0.Output, args: ["preload"] }] } });
2109
2202
 
2110
2203
  class TableActionsComponent {
2111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: TableActionsComponent, isStandalone: false, selector: "v-table-actions", ngImport: i0, template: `
2204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2205
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: TableActionsComponent, isStandalone: false, selector: "v-table-actions", ngImport: i0, template: `
2113
2206
  <v-actions>
2114
2207
  <ng-content></ng-content>
2115
2208
  </v-actions>
2116
2209
  `, isInline: true, dependencies: [{ kind: "component", type: ActionsComponent, selector: "v-actions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2117
2210
  }
2118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableActionsComponent, decorators: [{
2211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableActionsComponent, decorators: [{
2119
2212
  type: Component,
2120
2213
  args: [{
2121
2214
  selector: 'v-table-actions',
@@ -2134,7 +2227,8 @@ class TableComponent {
2134
2227
  injector = inject(Injector);
2135
2228
  cdr = inject(ChangeDetectorRef);
2136
2229
  data = input([], { ...(ngDevMode ? { debugName: "data" } : /* istanbul ignore next */ {}), transform: arrayAttribute });
2137
- treeData = input(...(ngDevMode ? [undefined, { debugName: "treeData" }] : /* istanbul ignore next */ []));
2230
+ treeData = input(/* @ts-ignore */
2231
+ ...(ngDevMode ? [undefined, { debugName: "treeData" }] : /* istanbul ignore next */ []));
2138
2232
  columns = input([], { ...(ngDevMode ? { debugName: "columns" } : /* istanbul ignore next */ {}), transform: arrayAttribute });
2139
2233
  progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: Boolean });
2140
2234
  hasMore = input(false, { ...(ngDevMode ? { debugName: "hasMore" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
@@ -2143,7 +2237,8 @@ class TableComponent {
2143
2237
  noDownload = input(false, { ...(ngDevMode ? { debugName: "noDownload" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2144
2238
  noToolbar = input(false, { ...(ngDevMode ? { debugName: "noToolbar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2145
2239
  // Filter
2146
- filter = model('', ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2240
+ filter = model('', /* @ts-ignore */
2241
+ ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2147
2242
  filter$ = toObservable(this.filter).pipe(map((v) => (v || '').trim()), distinctUntilChanged(), debounceTime$1(DEBOUNCE_TIME_MS), shareReplay({ refCount: true, bufferSize: 1 }));
2148
2243
  standaloneFilter = input(false, { ...(ngDevMode ? { debugName: "standaloneFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2149
2244
  externalFilter = input(false, { ...(ngDevMode ? { debugName: "externalFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
@@ -2156,9 +2251,11 @@ class TableComponent {
2156
2251
  displayedCount$ = this.displayedData$.pipe(map((data) => data.length), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
2157
2252
  // Select
2158
2253
  rowSelectable = input(false, { ...(ngDevMode ? { debugName: "rowSelectable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2159
- rowSelected = model([], ...(ngDevMode ? [{ debugName: "rowSelected" }] : /* istanbul ignore next */ []));
2254
+ rowSelected = model([], /* @ts-ignore */
2255
+ ...(ngDevMode ? [{ debugName: "rowSelected" }] : /* istanbul ignore next */ []));
2160
2256
  // Sort
2161
- sort = model(DEFAULT_SORT, ...(ngDevMode ? [{ debugName: "sort" }] : /* istanbul ignore next */ []));
2257
+ sort = model(DEFAULT_SORT, /* @ts-ignore */
2258
+ ...(ngDevMode ? [{ debugName: "sort" }] : /* istanbul ignore next */ []));
2162
2259
  sortComponent;
2163
2260
  // Drag & drop
2164
2261
  rowDragDrop = input(false, { ...(ngDevMode ? { debugName: "rowDragDrop" } : /* istanbul ignore next */ {}), transform: (v) => {
@@ -2170,13 +2267,15 @@ class TableComponent {
2170
2267
  rowDropped = output();
2171
2268
  dragDisabled = true;
2172
2269
  // Contents
2173
- tableInputsContent = input(...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2270
+ tableInputsContent = input(/* @ts-ignore */
2271
+ ...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2174
2272
  update$ = new Subject();
2175
2273
  update = outputFromObservable(this.update$);
2176
2274
  more = output();
2177
2275
  loadedLazyItems = new WeakMap();
2178
2276
  dataSource = new TableDataSource();
2179
- normColumns = computed(() => this.columns().map((c) => new NormColumn(c)), ...(ngDevMode ? [{ debugName: "normColumns" }] : /* istanbul ignore next */ []));
2277
+ normColumns = computed(() => this.columns().map((c) => new NormColumn(c)), /* @ts-ignore */
2278
+ ...(ngDevMode ? [{ debugName: "normColumns" }] : /* istanbul ignore next */ []));
2180
2279
  displayedNormColumns$ = toObservable(this.normColumns).pipe(switchMap((cols) => combineLatest(cols.map((c) => c.hidden)).pipe(map((c) => cols.filter((_, idx) => !c[idx])))), shareReplay({ refCount: true, bufferSize: 1 }));
2181
2280
  columnsData$$ = combineLatest({
2182
2281
  isTree: this.dataSource.isTreeData$,
@@ -2189,8 +2288,10 @@ class TableComponent {
2189
2288
  }), toColumnsData, tap(() => {
2190
2289
  this.columnsDataProgress$.next(false);
2191
2290
  }), shareReplay({ refCount: true, bufferSize: 1 }));
2192
- isPreload = signal(false, ...(ngDevMode ? [{ debugName: "isPreload" }] : /* istanbul ignore next */ []));
2193
- loadSize = computed(() => (this.isPreload() ? this.maxSize() : this.size()), ...(ngDevMode ? [{ debugName: "loadSize" }] : /* istanbul ignore next */ []));
2291
+ isPreload = signal(false, /* @ts-ignore */
2292
+ ...(ngDevMode ? [{ debugName: "isPreload" }] : /* istanbul ignore next */ []));
2293
+ loadSize = computed(() => (this.isPreload() ? this.maxSize() : this.size()), /* @ts-ignore */
2294
+ ...(ngDevMode ? [{ debugName: "loadSize" }] : /* istanbul ignore next */ []));
2194
2295
  hasAutoShowMore$ = combineLatest([
2195
2296
  toObservable(this.hasMore),
2196
2297
  this.dataSource.data$.pipe(map((d) => d?.length)),
@@ -2303,16 +2404,14 @@ class TableComponent {
2303
2404
  const { previousIndex, currentIndex } = event;
2304
2405
  const previousData = data;
2305
2406
  const currentData = previousData.slice();
2306
- let currentDataIndex = 0;
2407
+ const currentDataIndex = previousIndex > currentIndex ? currentIndex : currentIndex - 1;
2307
2408
  if (previousIndex > currentIndex) {
2308
2409
  currentData.splice(previousIndex, 1);
2309
2410
  currentData.splice(currentIndex, 0, event.item.data);
2310
- currentDataIndex = currentIndex;
2311
2411
  }
2312
2412
  else {
2313
2413
  currentData.splice(currentIndex, 0, event.item.data);
2314
2414
  currentData.splice(previousIndex, 1);
2315
- currentDataIndex = currentIndex - 1;
2316
2415
  }
2317
2416
  this.rowDropped.emit({
2318
2417
  previousIndex,
@@ -2356,12 +2455,12 @@ class TableComponent {
2356
2455
  this.loadedLazyItems.set(item, true);
2357
2456
  }
2358
2457
  }
2359
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2360
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TableComponent, isStandalone: false, selector: "v-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, treeData: { classPropertyName: "treeData", publicName: "treeData", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: "hasMore", publicName: "hasMore", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: "noToolbar", publicName: "noToolbar", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null }, externalFilter: { classPropertyName: "externalFilter", publicName: "externalFilter", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, rowSelected: { classPropertyName: "rowSelected", publicName: "rowSelected", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, rowDragDrop: { classPropertyName: "rowDragDrop", publicName: "rowDragDrop", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: "filterChange", rowSelected: "rowSelectedChange", sort: "sortChange", rowDropped: "rowDropped", update: "update", more: "more" }, viewQueries: [{ propertyName: "sortComponent", first: true, predicate: MatSort, descendants: true }, { propertyName: "scrollViewport", first: true, predicate: ["scrollViewport"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["matTable"], descendants: true }, { propertyName: "tableRow", first: true, predicate: MatRow, descendants: true }], ngImport: i0, template: "@let columnsData = columnsData$$ | async;\n\n<div class=\"wrapper\">\n <v-table-info-bar\n [(filter)]=\"filter\"\n [columns]=\"normColumns()\"\n [count]=\"(dataSource.data$ | async)?.length\"\n [dataProgress]=\"!!(columnsDataProgress$ | async) && !hasMore()\"\n [filteredCount]=\"displayedCount$ | async\"\n [hasLoad]=\"update$.observed\"\n [hasMore]=\"hasMore()\"\n [isPreload]=\"isPreload()\"\n [noDownload]=\"noDownload()\"\n [noToolbar]=\"noToolbar()\"\n [preloadSize]=\"maxSize()\"\n [progress]=\"progress()\"\n [selectedCount]=\"rowSelected()?.length\"\n [size]=\"size()\"\n [standaloneFilter]=\"standaloneFilter()\"\n [tableInputsContent]=\"tableInputsContent()\"\n (downloadCsv)=\"downloadCsv()\"\n (load)=\"load()\"\n (preload)=\"preload()\"\n >\n <v-table-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-table-actions>\n </v-table-info-bar>\n <mat-card #scrollViewport appearance=\"outlined\" class=\"card\">\n <v-no-records\n [noRecords]=\"!(displayedCount$ | async)\"\n [progress]=\"progress()\"\n ></v-no-records>\n <table\n #matTable\n [cdkDropListDisabled]=\"dragDisabled\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\"\n [matSortDirection]=\"sort().direction\"\n cdkDropList\n cdkDropListData=\"dataSource\"\n mat-table\n matSort\n (cdkDropListDropped)=\"drop($event)\"\n (matSortChange)=\"sort.set($event)\"\n >\n @let displayedColumns = (displayedColumns$ | async) || [];\n\n @if (displayedColumns.includes(columnDefs.drag)) {\n <v-dnd-column\n [name]=\"columnDefs.drag\"\n (dragged)=\"dragDisabled = false\"\n ></v-dnd-column>\n }\n @if (displayedColumns.includes(columnDefs.select)) {\n <v-select-column\n [(selected)]=\"rowSelected\"\n [data]=\"displayedData$ | async\"\n [name]=\"columnDefs.select\"\n [progress]=\"progress()\"\n ></v-select-column>\n }\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\n @let stickyStart = col.params.sticky === 'start';\n @let stickyEnd = col.params.sticky === 'end';\n @let columnClasses =\n {\n column: true,\n 'column__sticky-start': stickyStart,\n 'column__sticky-end': stickyEnd,\n };\n <ng-container\n [matColumnDef]=\"col.field\"\n [sticky]=\"stickyStart\"\n [stickyEnd]=\"stickyEnd\"\n >\n <th\n *matHeaderCellDef\n [disabled]=\"(col.sort | async) === false || hasMore() || progress()\"\n [mat-sort-header]=\"col.field\"\n [ngClass]=\"columnClasses\"\n mat-header-cell\n >\n <v-value [value]=\"col?.header | async\" emptySymbol=\"\" inline></v-value>\n </th>\n\n <ng-template let-element let-rowIndex=\"index\" matCellDef>\n @let cell = columnsData?.get?.(element)?.get(col);\n <td\n [ngClass]=\"columnClasses\"\n [ngStyle]=\"col?.params?.style\"\n [style.border-bottom]=\"cell?.isNextChild && !col.child ? 'none' : ''\"\n mat-cell\n >\n <v-value\n [emptySymbol]=\"!(cell?.isChild && !col?.child)\"\n [highlight]=\"filter$ | async\"\n [lazyValue]=\"cell?.lazyValue\"\n [lazyVisible]=\"loadedLazyItems.has(element)\"\n [value]=\"cell?.value | async\"\n inline\n (lazyVisibleChange)=\"loadedLazyItems.set(element, true)\"\n ></v-value>\n </td>\n </ng-template>\n <td *matFooterCellDef [ngClass]=\"columnClasses\" mat-footer-cell>\n <v-content-loading></v-content-loading>\n </td>\n </ng-container>\n }\n\n <tr *matHeaderRowDef=\"displayedColumns$ | async; sticky: true\" mat-header-row></tr>\n <tr\n *matRowDef=\"let row; columns: displayedColumns$ | async\"\n [cdkDragData]=\"row\"\n cdkDrag\n mat-row\n ></tr>\n <tr\n *matFooterRowDef=\"displayedColumns$ | async\"\n [ngClass]=\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\"\n [vInfinityScroll]=\"!progress()\"\n mat-footer-row\n (vInfinityScrollMore)=\"showMore()\"\n ></tr>\n </table>\n </mat-card>\n</div>\n", styles: [":host{min-height:0;--mat-table-row-item-outline-color: var(--mat-sys-surface-variant)}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}::ng-deep table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}::ng-deep table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw);border-color:var(--mat-sys-surface-variant)!important}::ng-deep table .column__sticky-start,::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}::ng-deep table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}::ng-deep table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$4.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i1$4.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i1$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i1$4.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i1$4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i1$4.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i3$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: ValueComponent, selector: "v-value", inputs: ["value", "lazyValue", "lazyVisible", "progress", "inline", "emptySymbol", "highlight"], outputs: ["lazyVisibleChange"] }, { kind: "component", type: NoRecordsComponent, selector: "v-no-records", inputs: ["noRecords", "progress"] }, { kind: "component", type: ContentLoadingComponent, selector: "v-content-loading", inputs: ["width", "textSize", "hiddenText"] }, { kind: "directive", type: InfinityScrollDirective, selector: "[vInfinityScroll]", inputs: ["vInfinityScroll"], outputs: ["vInfinityScrollMore"] }, { kind: "component", type: SelectColumnComponent, selector: "v-select-column", inputs: ["selected", "data", "progress"], outputs: ["selectedChange"] }, { 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: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DndColumnComponent, selector: "v-dnd-column", outputs: ["dragged"] }, { kind: "component", type: TableInfoBarComponent, selector: "v-table-info-bar", inputs: ["progress", "hasMore", "hasLoad", "isPreload", "noDownload", "noToolbar", "dataProgress", "columns", "tableInputsContent", "size", "preloadSize", "count", "filteredCount", "selectedCount", "filter", "standaloneFilter"], outputs: ["filterChange", "downloadCsv", "load", "preload"] }, { kind: "component", type: TableActionsComponent, selector: "v-table-actions" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2458
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2459
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TableComponent, isStandalone: false, selector: "v-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, treeData: { classPropertyName: "treeData", publicName: "treeData", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: "hasMore", publicName: "hasMore", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: "noToolbar", publicName: "noToolbar", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null }, externalFilter: { classPropertyName: "externalFilter", publicName: "externalFilter", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, rowSelected: { classPropertyName: "rowSelected", publicName: "rowSelected", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, rowDragDrop: { classPropertyName: "rowDragDrop", publicName: "rowDragDrop", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: "filterChange", rowSelected: "rowSelectedChange", sort: "sortChange", rowDropped: "rowDropped", update: "update", more: "more" }, viewQueries: [{ propertyName: "sortComponent", first: true, predicate: MatSort, descendants: true }, { propertyName: "scrollViewport", first: true, predicate: ["scrollViewport"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["matTable"], descendants: true }, { propertyName: "tableRow", first: true, predicate: MatRow, descendants: true }], ngImport: i0, template: "@let columnsData = columnsData$$ | async;\n\n<div class=\"wrapper\">\n <v-table-info-bar\n [(filter)]=\"filter\"\n [columns]=\"normColumns()\"\n [count]=\"$safeNavigationMigration((dataSource.data$ | async)?.length)\"\n [dataProgress]=\"!!(columnsDataProgress$ | async) && !hasMore()\"\n [filteredCount]=\"displayedCount$ | async\"\n [hasLoad]=\"update$.observed\"\n [hasMore]=\"hasMore()\"\n [isPreload]=\"isPreload()\"\n [noDownload]=\"noDownload()\"\n [noToolbar]=\"noToolbar()\"\n [preloadSize]=\"maxSize()\"\n [progress]=\"progress()\"\n [selectedCount]=\"$safeNavigationMigration(rowSelected()?.length)\"\n [size]=\"size()\"\n [standaloneFilter]=\"standaloneFilter()\"\n [tableInputsContent]=\"tableInputsContent()\"\n (downloadCsv)=\"downloadCsv()\"\n (load)=\"load()\"\n (preload)=\"preload()\"\n >\n <v-table-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-table-actions>\n </v-table-info-bar>\n <mat-card #scrollViewport appearance=\"outlined\" class=\"card\">\n <v-no-records\n [noRecords]=\"!(displayedCount$ | async)\"\n [progress]=\"progress()\"\n ></v-no-records>\n <table\n #matTable\n [cdkDropListDisabled]=\"dragDisabled\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\"\n [matSortDirection]=\"sort().direction\"\n cdkDropList\n cdkDropListData=\"dataSource\"\n mat-table\n matSort\n (cdkDropListDropped)=\"drop($event)\"\n (matSortChange)=\"sort.set($event)\"\n >\n @let displayedColumns = (displayedColumns$ | async) || [];\n\n @if (displayedColumns.includes(columnDefs.drag)) {\n <v-dnd-column\n [name]=\"columnDefs.drag\"\n (dragged)=\"dragDisabled = false\"\n ></v-dnd-column>\n }\n @if (displayedColumns.includes(columnDefs.select)) {\n <v-select-column\n [(selected)]=\"rowSelected\"\n [data]=\"displayedData$ | async\"\n [name]=\"columnDefs.select\"\n [progress]=\"progress()\"\n ></v-select-column>\n }\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\n @let stickyStart = col.params.sticky === 'start';\n @let stickyEnd = col.params.sticky === 'end';\n @let columnClasses =\n {\n column: true,\n 'column__sticky-start': stickyStart,\n 'column__sticky-end': stickyEnd,\n };\n <ng-container\n [matColumnDef]=\"col.field\"\n [sticky]=\"stickyStart\"\n [stickyEnd]=\"stickyEnd\"\n >\n <th\n *matHeaderCellDef\n [disabled]=\"(col.sort | async) === false || hasMore() || progress()\"\n [mat-sort-header]=\"col.field\"\n [ngClass]=\"columnClasses\"\n mat-header-cell\n >\n <v-value\n [value]=\"$safeNavigationMigration(col?.header) | async\"\n emptySymbol=\"\"\n inline\n ></v-value>\n </th>\n\n <ng-template let-element let-rowIndex=\"index\" matCellDef>\n @let cell = $safeNavigationMigration(columnsData?.get?.(element)?.get(col));\n <td\n [ngClass]=\"columnClasses\"\n [ngStyle]=\"$safeNavigationMigration(col?.params?.style)\"\n [style.border-bottom]=\"cell?.isNextChild && !col.child ? 'none' : ''\"\n mat-cell\n >\n <v-value\n [emptySymbol]=\"!(cell?.isChild && !col?.child)\"\n [highlight]=\"filter$ | async\"\n [lazyValue]=\"$safeNavigationMigration(cell?.lazyValue)\"\n [lazyVisible]=\"loadedLazyItems.has(element)\"\n [value]=\"$safeNavigationMigration(cell?.value) | async\"\n inline\n (lazyVisibleChange)=\"loadedLazyItems.set(element, true)\"\n ></v-value>\n </td>\n </ng-template>\n <td *matFooterCellDef [ngClass]=\"columnClasses\" mat-footer-cell>\n <v-content-loading></v-content-loading>\n </td>\n </ng-container>\n }\n\n <tr *matHeaderRowDef=\"displayedColumns$ | async; sticky: true\" mat-header-row></tr>\n <tr\n *matRowDef=\"let row; columns: displayedColumns$ | async\"\n [cdkDragData]=\"row\"\n cdkDrag\n mat-row\n ></tr>\n <tr\n *matFooterRowDef=\"displayedColumns$ | async\"\n [ngClass]=\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\"\n [vInfinityScroll]=\"!progress()\"\n mat-footer-row\n (vInfinityScrollMore)=\"showMore()\"\n ></tr>\n </table>\n </mat-card>\n</div>\n", styles: [":host{min-height:0;--mat-table-row-item-outline-color: var(--mat-sys-surface-variant)}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}::ng-deep table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}::ng-deep table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw);border-color:var(--mat-sys-surface-variant)!important}::ng-deep table .column__sticky-start,::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}::ng-deep table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}::ng-deep table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$4.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i1$4.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i1$4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i1$4.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i1$4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i1$4.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i3$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: ValueComponent, selector: "v-value", inputs: ["value", "lazyValue", "lazyVisible", "progress", "inline", "emptySymbol", "highlight"], outputs: ["lazyVisibleChange"] }, { kind: "component", type: NoRecordsComponent, selector: "v-no-records", inputs: ["noRecords", "progress"] }, { kind: "component", type: ContentLoadingComponent, selector: "v-content-loading", inputs: ["width", "textSize", "hiddenText"] }, { kind: "directive", type: InfinityScrollDirective, selector: "[vInfinityScroll]", inputs: ["vInfinityScroll"], outputs: ["vInfinityScrollMore"] }, { kind: "component", type: SelectColumnComponent, selector: "v-select-column", inputs: ["selected", "data", "progress"], outputs: ["selectedChange"] }, { 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: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DndColumnComponent, selector: "v-dnd-column", outputs: ["dragged"] }, { kind: "component", type: TableInfoBarComponent, selector: "v-table-info-bar", inputs: ["progress", "hasMore", "hasLoad", "isPreload", "noDownload", "noToolbar", "dataProgress", "columns", "tableInputsContent", "size", "preloadSize", "count", "filteredCount", "selectedCount", "filter", "standaloneFilter"], outputs: ["filterChange", "downloadCsv", "load", "preload"] }, { kind: "component", type: TableActionsComponent, selector: "v-table-actions" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2361
2460
  }
2362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableComponent, decorators: [{
2461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableComponent, decorators: [{
2363
2462
  type: Component,
2364
- args: [{ selector: 'v-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@let columnsData = columnsData$$ | async;\n\n<div class=\"wrapper\">\n <v-table-info-bar\n [(filter)]=\"filter\"\n [columns]=\"normColumns()\"\n [count]=\"(dataSource.data$ | async)?.length\"\n [dataProgress]=\"!!(columnsDataProgress$ | async) && !hasMore()\"\n [filteredCount]=\"displayedCount$ | async\"\n [hasLoad]=\"update$.observed\"\n [hasMore]=\"hasMore()\"\n [isPreload]=\"isPreload()\"\n [noDownload]=\"noDownload()\"\n [noToolbar]=\"noToolbar()\"\n [preloadSize]=\"maxSize()\"\n [progress]=\"progress()\"\n [selectedCount]=\"rowSelected()?.length\"\n [size]=\"size()\"\n [standaloneFilter]=\"standaloneFilter()\"\n [tableInputsContent]=\"tableInputsContent()\"\n (downloadCsv)=\"downloadCsv()\"\n (load)=\"load()\"\n (preload)=\"preload()\"\n >\n <v-table-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-table-actions>\n </v-table-info-bar>\n <mat-card #scrollViewport appearance=\"outlined\" class=\"card\">\n <v-no-records\n [noRecords]=\"!(displayedCount$ | async)\"\n [progress]=\"progress()\"\n ></v-no-records>\n <table\n #matTable\n [cdkDropListDisabled]=\"dragDisabled\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\"\n [matSortDirection]=\"sort().direction\"\n cdkDropList\n cdkDropListData=\"dataSource\"\n mat-table\n matSort\n (cdkDropListDropped)=\"drop($event)\"\n (matSortChange)=\"sort.set($event)\"\n >\n @let displayedColumns = (displayedColumns$ | async) || [];\n\n @if (displayedColumns.includes(columnDefs.drag)) {\n <v-dnd-column\n [name]=\"columnDefs.drag\"\n (dragged)=\"dragDisabled = false\"\n ></v-dnd-column>\n }\n @if (displayedColumns.includes(columnDefs.select)) {\n <v-select-column\n [(selected)]=\"rowSelected\"\n [data]=\"displayedData$ | async\"\n [name]=\"columnDefs.select\"\n [progress]=\"progress()\"\n ></v-select-column>\n }\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\n @let stickyStart = col.params.sticky === 'start';\n @let stickyEnd = col.params.sticky === 'end';\n @let columnClasses =\n {\n column: true,\n 'column__sticky-start': stickyStart,\n 'column__sticky-end': stickyEnd,\n };\n <ng-container\n [matColumnDef]=\"col.field\"\n [sticky]=\"stickyStart\"\n [stickyEnd]=\"stickyEnd\"\n >\n <th\n *matHeaderCellDef\n [disabled]=\"(col.sort | async) === false || hasMore() || progress()\"\n [mat-sort-header]=\"col.field\"\n [ngClass]=\"columnClasses\"\n mat-header-cell\n >\n <v-value [value]=\"col?.header | async\" emptySymbol=\"\" inline></v-value>\n </th>\n\n <ng-template let-element let-rowIndex=\"index\" matCellDef>\n @let cell = columnsData?.get?.(element)?.get(col);\n <td\n [ngClass]=\"columnClasses\"\n [ngStyle]=\"col?.params?.style\"\n [style.border-bottom]=\"cell?.isNextChild && !col.child ? 'none' : ''\"\n mat-cell\n >\n <v-value\n [emptySymbol]=\"!(cell?.isChild && !col?.child)\"\n [highlight]=\"filter$ | async\"\n [lazyValue]=\"cell?.lazyValue\"\n [lazyVisible]=\"loadedLazyItems.has(element)\"\n [value]=\"cell?.value | async\"\n inline\n (lazyVisibleChange)=\"loadedLazyItems.set(element, true)\"\n ></v-value>\n </td>\n </ng-template>\n <td *matFooterCellDef [ngClass]=\"columnClasses\" mat-footer-cell>\n <v-content-loading></v-content-loading>\n </td>\n </ng-container>\n }\n\n <tr *matHeaderRowDef=\"displayedColumns$ | async; sticky: true\" mat-header-row></tr>\n <tr\n *matRowDef=\"let row; columns: displayedColumns$ | async\"\n [cdkDragData]=\"row\"\n cdkDrag\n mat-row\n ></tr>\n <tr\n *matFooterRowDef=\"displayedColumns$ | async\"\n [ngClass]=\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\"\n [vInfinityScroll]=\"!progress()\"\n mat-footer-row\n (vInfinityScrollMore)=\"showMore()\"\n ></tr>\n </table>\n </mat-card>\n</div>\n", styles: [":host{min-height:0;--mat-table-row-item-outline-color: var(--mat-sys-surface-variant)}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}::ng-deep table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}::ng-deep table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw);border-color:var(--mat-sys-surface-variant)!important}::ng-deep table .column__sticky-start,::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}::ng-deep table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}::ng-deep table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\n"] }]
2463
+ args: [{ selector: 'v-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@let columnsData = columnsData$$ | async;\n\n<div class=\"wrapper\">\n <v-table-info-bar\n [(filter)]=\"filter\"\n [columns]=\"normColumns()\"\n [count]=\"$safeNavigationMigration((dataSource.data$ | async)?.length)\"\n [dataProgress]=\"!!(columnsDataProgress$ | async) && !hasMore()\"\n [filteredCount]=\"displayedCount$ | async\"\n [hasLoad]=\"update$.observed\"\n [hasMore]=\"hasMore()\"\n [isPreload]=\"isPreload()\"\n [noDownload]=\"noDownload()\"\n [noToolbar]=\"noToolbar()\"\n [preloadSize]=\"maxSize()\"\n [progress]=\"progress()\"\n [selectedCount]=\"$safeNavigationMigration(rowSelected()?.length)\"\n [size]=\"size()\"\n [standaloneFilter]=\"standaloneFilter()\"\n [tableInputsContent]=\"tableInputsContent()\"\n (downloadCsv)=\"downloadCsv()\"\n (load)=\"load()\"\n (preload)=\"preload()\"\n >\n <v-table-actions>\n <ng-content select=\"v-table-actions\"></ng-content>\n </v-table-actions>\n </v-table-info-bar>\n <mat-card #scrollViewport appearance=\"outlined\" class=\"card\">\n <v-no-records\n [noRecords]=\"!(displayedCount$ | async)\"\n [progress]=\"progress()\"\n ></v-no-records>\n <table\n #matTable\n [cdkDropListDisabled]=\"dragDisabled\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\"\n [matSortDirection]=\"sort().direction\"\n cdkDropList\n cdkDropListData=\"dataSource\"\n mat-table\n matSort\n (cdkDropListDropped)=\"drop($event)\"\n (matSortChange)=\"sort.set($event)\"\n >\n @let displayedColumns = (displayedColumns$ | async) || [];\n\n @if (displayedColumns.includes(columnDefs.drag)) {\n <v-dnd-column\n [name]=\"columnDefs.drag\"\n (dragged)=\"dragDisabled = false\"\n ></v-dnd-column>\n }\n @if (displayedColumns.includes(columnDefs.select)) {\n <v-select-column\n [(selected)]=\"rowSelected\"\n [data]=\"displayedData$ | async\"\n [name]=\"columnDefs.select\"\n [progress]=\"progress()\"\n ></v-select-column>\n }\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\n @let stickyStart = col.params.sticky === 'start';\n @let stickyEnd = col.params.sticky === 'end';\n @let columnClasses =\n {\n column: true,\n 'column__sticky-start': stickyStart,\n 'column__sticky-end': stickyEnd,\n };\n <ng-container\n [matColumnDef]=\"col.field\"\n [sticky]=\"stickyStart\"\n [stickyEnd]=\"stickyEnd\"\n >\n <th\n *matHeaderCellDef\n [disabled]=\"(col.sort | async) === false || hasMore() || progress()\"\n [mat-sort-header]=\"col.field\"\n [ngClass]=\"columnClasses\"\n mat-header-cell\n >\n <v-value\n [value]=\"$safeNavigationMigration(col?.header) | async\"\n emptySymbol=\"\"\n inline\n ></v-value>\n </th>\n\n <ng-template let-element let-rowIndex=\"index\" matCellDef>\n @let cell = $safeNavigationMigration(columnsData?.get?.(element)?.get(col));\n <td\n [ngClass]=\"columnClasses\"\n [ngStyle]=\"$safeNavigationMigration(col?.params?.style)\"\n [style.border-bottom]=\"cell?.isNextChild && !col.child ? 'none' : ''\"\n mat-cell\n >\n <v-value\n [emptySymbol]=\"!(cell?.isChild && !col?.child)\"\n [highlight]=\"filter$ | async\"\n [lazyValue]=\"$safeNavigationMigration(cell?.lazyValue)\"\n [lazyVisible]=\"loadedLazyItems.has(element)\"\n [value]=\"$safeNavigationMigration(cell?.value) | async\"\n inline\n (lazyVisibleChange)=\"loadedLazyItems.set(element, true)\"\n ></v-value>\n </td>\n </ng-template>\n <td *matFooterCellDef [ngClass]=\"columnClasses\" mat-footer-cell>\n <v-content-loading></v-content-loading>\n </td>\n </ng-container>\n }\n\n <tr *matHeaderRowDef=\"displayedColumns$ | async; sticky: true\" mat-header-row></tr>\n <tr\n *matRowDef=\"let row; columns: displayedColumns$ | async\"\n [cdkDragData]=\"row\"\n cdkDrag\n mat-row\n ></tr>\n <tr\n *matFooterRowDef=\"displayedColumns$ | async\"\n [ngClass]=\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\"\n [vInfinityScroll]=\"!progress()\"\n mat-footer-row\n (vInfinityScrollMore)=\"showMore()\"\n ></tr>\n </table>\n </mat-card>\n</div>\n", styles: [":host{min-height:0;--mat-table-row-item-outline-color: var(--mat-sys-surface-variant)}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}::ng-deep table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}::ng-deep table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw);border-color:var(--mat-sys-surface-variant)!important}::ng-deep table .column__sticky-start,::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}::ng-deep table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}::ng-deep table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}::ng-deep table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\n"] }]
2365
2464
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], treeData: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeData", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], hasMore: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasMore", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], maxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }], noDownload: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDownload", required: false }] }], noToolbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "noToolbar", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }, { type: i0.Output, args: ["filterChange"] }], standaloneFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "standaloneFilter", required: false }] }], externalFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalFilter", required: false }] }], rowSelectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSelectable", required: false }] }], rowSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSelected", required: false }] }, { type: i0.Output, args: ["rowSelectedChange"] }], sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "sort", required: false }] }, { type: i0.Output, args: ["sortChange"] }], sortComponent: [{
2366
2465
  type: ViewChild,
2367
2466
  args: [MatSort]
@@ -2387,19 +2486,19 @@ class CustomizeComponent extends DialogSuperclass {
2387
2486
  name: c.field,
2388
2487
  hidden: false,
2389
2488
  }));
2390
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CustomizeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2391
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: CustomizeComponent, isStandalone: false, selector: "v-customize", usesInheritance: true, ngImport: i0, template: "<v-dialog title=\"Customize table\">\n <v-table [columns]=\"columns\" [data]=\"data\" [rowDragDrop]=\"['priority']\" noToolbar></v-table>\n <v-dialog-actions>\n <button mat-button>Save</button>\n </v-dialog-actions>\n</v-dialog>\n", dependencies: [{ kind: "component", type: i1$2.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: DialogComponent, selector: "v-dialog", inputs: ["title", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "component", type: DialogActionsComponent, selector: "v-dialog-actions" }, { kind: "component", type: TableComponent, selector: "v-table", inputs: ["data", "treeData", "columns", "progress", "hasMore", "size", "maxSize", "noDownload", "noToolbar", "filter", "standaloneFilter", "externalFilter", "rowSelectable", "rowSelected", "sort", "rowDragDrop", "tableInputsContent"], outputs: ["filterChange", "rowSelectedChange", "sortChange", "rowDropped", "update", "more"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CustomizeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2490
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: CustomizeComponent, isStandalone: false, selector: "v-customize", usesInheritance: true, ngImport: i0, template: "<v-dialog title=\"Customize table\">\n <v-table [columns]=\"columns\" [data]=\"data\" [rowDragDrop]=\"['priority']\" noToolbar></v-table>\n <v-dialog-actions>\n <button mat-button>Save</button>\n </v-dialog-actions>\n</v-dialog>\n", dependencies: [{ kind: "component", type: i1$2.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: DialogComponent, selector: "v-dialog", inputs: ["title", "description", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "component", type: DialogActionsComponent, selector: "v-dialog-actions" }, { kind: "component", type: TableComponent, selector: "v-table", inputs: ["data", "treeData", "columns", "progress", "hasMore", "size", "maxSize", "noDownload", "noToolbar", "filter", "standaloneFilter", "externalFilter", "rowSelectable", "rowSelected", "sort", "rowDragDrop", "tableInputsContent"], outputs: ["filterChange", "rowSelectedChange", "sortChange", "rowDropped", "update", "more"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2392
2491
  }
2393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CustomizeComponent, decorators: [{
2492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CustomizeComponent, decorators: [{
2394
2493
  type: Component,
2395
2494
  args: [{ selector: 'v-customize', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<v-dialog title=\"Customize table\">\n <v-table [columns]=\"columns\" [data]=\"data\" [rowDragDrop]=\"['priority']\" noToolbar></v-table>\n <v-dialog-actions>\n <button mat-button>Save</button>\n </v-dialog-actions>\n</v-dialog>\n" }]
2396
2495
  }] });
2397
2496
 
2398
2497
  class TableInputsComponent {
2399
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableInputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2400
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: TableInputsComponent, isStandalone: false, selector: "v-table-inputs", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2498
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2499
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: TableInputsComponent, isStandalone: false, selector: "v-table-inputs", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2401
2500
  }
2402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableInputsComponent, decorators: [{
2501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInputsComponent, decorators: [{
2403
2502
  type: Component,
2404
2503
  args: [{
2405
2504
  selector: 'v-table-inputs',
@@ -2411,25 +2510,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
2411
2510
 
2412
2511
  class TableProgressBarComponent {
2413
2512
  progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2414
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2415
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: TableProgressBarComponent, isStandalone: true, selector: "v-table-progress-bar", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
2513
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2514
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TableProgressBarComponent, isStandalone: true, selector: "v-table-progress-bar", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
2416
2515
  @if (progress()) {
2417
2516
  <mat-progress-bar class="progress-bar" mode="indeterminate"></mat-progress-bar>
2418
2517
  }
2419
- `, isInline: true, styles: [".progress-bar{position:absolute;z-index:999}\n"], dependencies: [{ kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
2518
+ `, isInline: true, styles: [".progress-bar{position:absolute;z-index:999}\n"], dependencies: [{ kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2420
2519
  }
2421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableProgressBarComponent, decorators: [{
2520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableProgressBarComponent, decorators: [{
2422
2521
  type: Component,
2423
2522
  args: [{ selector: 'v-table-progress-bar', imports: [MatProgressBar], template: `
2424
2523
  @if (progress()) {
2425
2524
  <mat-progress-bar class="progress-bar" mode="indeterminate"></mat-progress-bar>
2426
2525
  }
2427
- `, styles: [".progress-bar{position:absolute;z-index:999}\n"] }]
2526
+ `, changeDetection: ChangeDetectionStrategy.Eager, styles: [".progress-bar{position:absolute;z-index:999}\n"] }]
2428
2527
  }], propDecorators: { progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
2429
2528
 
2430
2529
  class TableModule {
2431
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2432
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: TableModule, declarations: [CustomizeComponent,
2530
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2531
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: TableModule, declarations: [CustomizeComponent,
2433
2532
  TableComponent,
2434
2533
  TableInfoBarComponent,
2435
2534
  TableInputsComponent,
@@ -2459,7 +2558,7 @@ class TableModule {
2459
2558
  ReactiveFormsModule,
2460
2559
  TagModule,
2461
2560
  DndColumnComponent], exports: [TableComponent, TableInputsComponent, TableActionsComponent] });
2462
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableModule, imports: [CommonModule,
2561
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableModule, imports: [CommonModule,
2463
2562
  MatTableModule,
2464
2563
  MatCardModule,
2465
2564
  ValueComponent,
@@ -2481,7 +2580,7 @@ class TableModule {
2481
2580
  TagModule,
2482
2581
  DndColumnComponent] });
2483
2582
  }
2484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableModule, decorators: [{
2583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableModule, decorators: [{
2485
2584
  type: NgModule,
2486
2585
  args: [{
2487
2586
  imports: [
@@ -2585,17 +2684,22 @@ const createMenuColumn = createColumn((params) => {
2585
2684
  });
2586
2685
 
2587
2686
  class TableResourceComponent {
2588
- resource = input(...(ngDevMode ? [undefined, { debugName: "resource" }] : /* istanbul ignore next */ []));
2589
- columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
2590
- filter = model('', ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2687
+ resource = input(/* @ts-ignore */
2688
+ ...(ngDevMode ? [undefined, { debugName: "resource" }] : /* istanbul ignore next */ []));
2689
+ columns = input([], /* @ts-ignore */
2690
+ ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
2691
+ filter = model('', /* @ts-ignore */
2692
+ ...(ngDevMode ? [{ debugName: "filter" }] : /* istanbul ignore next */ []));
2591
2693
  externalFilter = input(false, { ...(ngDevMode ? { debugName: "externalFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2592
2694
  noDownload = input(false, { ...(ngDevMode ? { debugName: "noDownload" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2593
2695
  standaloneFilter = input(false, { ...(ngDevMode ? { debugName: "standaloneFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
2594
- tableInputsContent = input(...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2696
+ tableInputsContent = input(/* @ts-ignore */
2697
+ ...(ngDevMode ? [undefined, { debugName: "tableInputsContent" }] : /* istanbul ignore next */ []));
2595
2698
  hasMore = computed(() => {
2596
2699
  const res = this.resource();
2597
2700
  return 'hasMore' in res ? res.hasMore() : false;
2598
- }, ...(ngDevMode ? [{ debugName: "hasMore" }] : /* istanbul ignore next */ []));
2701
+ }, /* @ts-ignore */
2702
+ ...(ngDevMode ? [{ debugName: "hasMore" }] : /* istanbul ignore next */ []));
2599
2703
  more() {
2600
2704
  const res = this.resource();
2601
2705
  if ('more' in res)
@@ -2603,11 +2707,13 @@ class TableResourceComponent {
2603
2707
  }
2604
2708
  update(options) {
2605
2709
  const res = this.resource();
2606
- if ('setOptions' in res)
2710
+ if (res && 'setOptions' in res)
2607
2711
  res.setOptions(options);
2712
+ else if (res && 'reload' in res)
2713
+ res.reload();
2608
2714
  }
2609
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableResourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2610
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: TableResourceComponent, isStandalone: true, selector: "v-table-resource", inputs: { resource: { classPropertyName: "resource", publicName: "resource", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, externalFilter: { classPropertyName: "externalFilter", publicName: "externalFilter", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: "filterChange" }, ngImport: i0, template: `
2715
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableResourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2716
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: TableResourceComponent, isStandalone: true, selector: "v-table-resource", inputs: { resource: { classPropertyName: "resource", publicName: "resource", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, externalFilter: { classPropertyName: "externalFilter", publicName: "externalFilter", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: "noDownload", publicName: "noDownload", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: "standaloneFilter", publicName: "standaloneFilter", isSignal: true, isRequired: false, transformFunction: null }, tableInputsContent: { classPropertyName: "tableInputsContent", publicName: "tableInputsContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: "filterChange" }, ngImport: i0, template: `
2611
2717
  <v-table
2612
2718
  [(filter)]="filter"
2613
2719
  [columns]="columns()"
@@ -2624,9 +2730,9 @@ class TableResourceComponent {
2624
2730
  >
2625
2731
  <v-table-actions><ng-content select="v-table-actions"></ng-content></v-table-actions>
2626
2732
  </v-table>
2627
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: TableComponent, selector: "v-table", inputs: ["data", "treeData", "columns", "progress", "hasMore", "size", "maxSize", "noDownload", "noToolbar", "filter", "standaloneFilter", "externalFilter", "rowSelectable", "rowSelected", "sort", "rowDragDrop", "tableInputsContent"], outputs: ["filterChange", "rowSelectedChange", "sortChange", "rowDropped", "update", "more"] }, { kind: "component", type: TableActionsComponent, selector: "v-table-actions" }] });
2733
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: TableComponent, selector: "v-table", inputs: ["data", "treeData", "columns", "progress", "hasMore", "size", "maxSize", "noDownload", "noToolbar", "filter", "standaloneFilter", "externalFilter", "rowSelectable", "rowSelected", "sort", "rowDragDrop", "tableInputsContent"], outputs: ["filterChange", "rowSelectedChange", "sortChange", "rowDropped", "update", "more"] }, { kind: "component", type: TableActionsComponent, selector: "v-table-actions" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2628
2734
  }
2629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TableResourceComponent, decorators: [{
2735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableResourceComponent, decorators: [{
2630
2736
  type: Component,
2631
2737
  args: [{
2632
2738
  selector: 'v-table-resource',
@@ -2648,6 +2754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
2648
2754
  <v-table-actions><ng-content select="v-table-actions"></ng-content></v-table-actions>
2649
2755
  </v-table>
2650
2756
  `,
2757
+ changeDetection: ChangeDetectionStrategy.Eager,
2651
2758
  imports: [TableModule],
2652
2759
  }]
2653
2760
  }], propDecorators: { resource: [{ type: i0.Input, args: [{ isSignal: true, alias: "resource", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }, { type: i0.Output, args: ["filterChange"] }], externalFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalFilter", required: false }] }], noDownload: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDownload", required: false }] }], standaloneFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "standaloneFilter", required: false }] }], tableInputsContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableInputsContent", required: false }] }] } });
@@ -2659,24 +2766,24 @@ class ConfirmDialogComponent extends DialogSuperclass {
2659
2766
  ? { reason: this.control.value }
2660
2767
  : undefined);
2661
2768
  }
2662
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2663
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ConfirmDialogComponent, isStandalone: false, selector: "v-action-dialog", usesInheritance: true, ngImport: i0, template: "<v-dialog\n [noContent]=\"!(dialogData && (dialogData.hasReason || dialogData.description))\"\n [title]=\"dialogData?.['title'] ?? 'Confirm this action?'\"\n noCloseButton\n>\n @if (dialogData && dialogData.description) {\n <div class=\"mat-body-large\">\n {{ dialogData.description }}\n </div>\n }\n @if (dialogData && dialogData.hasReason) {\n <mat-form-field style=\"width: 100%\">\n <mat-label>Reason</mat-label>\n <input [formControl]=\"control\" matInput />\n </mat-form-field>\n }\n <v-dialog-actions>\n <button mat-button (click)=\"closeWithCancellation()\">Cancel</button>\n <button mat-flat-button (click)=\"confirm()\">\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\n </button>\n </v-dialog-actions>\n</v-dialog>\n", dependencies: [{ kind: "component", type: i1$2.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: DialogComponent, selector: "v-dialog", inputs: ["title", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "component", type: DialogActionsComponent, selector: "v-dialog-actions" }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.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: "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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2769
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2770
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ConfirmDialogComponent, isStandalone: false, selector: "v-action-dialog", usesInheritance: true, ngImport: i0, template: "<v-dialog\n [noContent]=\"!(dialogData && (dialogData.hasReason || dialogData.description))\"\n [title]=\"dialogData?.['title'] ?? 'Confirm this action?'\"\n noCloseButton\n>\n @if (dialogData && dialogData.description) {\n <div class=\"mat-body-large\">\n {{ dialogData.description }}\n </div>\n }\n @if (dialogData && dialogData.hasReason) {\n <mat-form-field style=\"width: 100%\">\n <mat-label>Reason</mat-label>\n <input [formControl]=\"control\" matInput />\n </mat-form-field>\n }\n <v-dialog-actions>\n <button mat-button (click)=\"closeWithCancellation()\">Cancel</button>\n <button mat-flat-button (click)=\"confirm()\">\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\n </button>\n </v-dialog-actions>\n</v-dialog>\n", dependencies: [{ kind: "component", type: i1$2.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: DialogComponent, selector: "v-dialog", inputs: ["title", "description", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "component", type: DialogActionsComponent, selector: "v-dialog-actions" }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.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: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2664
2771
  }
2665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
2772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
2666
2773
  type: Component,
2667
2774
  args: [{ selector: 'v-action-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<v-dialog\n [noContent]=\"!(dialogData && (dialogData.hasReason || dialogData.description))\"\n [title]=\"dialogData?.['title'] ?? 'Confirm this action?'\"\n noCloseButton\n>\n @if (dialogData && dialogData.description) {\n <div class=\"mat-body-large\">\n {{ dialogData.description }}\n </div>\n }\n @if (dialogData && dialogData.hasReason) {\n <mat-form-field style=\"width: 100%\">\n <mat-label>Reason</mat-label>\n <input [formControl]=\"control\" matInput />\n </mat-form-field>\n }\n <v-dialog-actions>\n <button mat-button (click)=\"closeWithCancellation()\">Cancel</button>\n <button mat-flat-button (click)=\"confirm()\">\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\n </button>\n </v-dialog-actions>\n</v-dialog>\n" }]
2668
2775
  }] });
2669
2776
 
2670
2777
  class ConfirmDialogModule {
2671
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2672
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogModule, declarations: [ConfirmDialogComponent], imports: [MatDialogModule,
2778
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2779
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogModule, declarations: [ConfirmDialogComponent], imports: [MatDialogModule,
2673
2780
  MatButtonModule,
2674
2781
  DialogModule,
2675
2782
  MatFormFieldModule,
2676
2783
  CommonModule,
2677
2784
  MatInputModule,
2678
2785
  ReactiveFormsModule], exports: [ConfirmDialogComponent] });
2679
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogModule, imports: [MatDialogModule,
2786
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogModule, imports: [MatDialogModule,
2680
2787
  MatButtonModule,
2681
2788
  DialogModule,
2682
2789
  MatFormFieldModule,
@@ -2684,7 +2791,7 @@ class ConfirmDialogModule {
2684
2791
  MatInputModule,
2685
2792
  ReactiveFormsModule] });
2686
2793
  }
2687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfirmDialogModule, decorators: [{
2794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogModule, decorators: [{
2688
2795
  type: NgModule,
2689
2796
  args: [{
2690
2797
  imports: [
@@ -2706,20 +2813,20 @@ class FiltersDialogComponent extends DialogSuperclass {
2706
2813
  return (!this.dialogData.filters.otherFiltersDirective?.templateRef ||
2707
2814
  this.dialogData.filters.merge);
2708
2815
  }
2709
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2710
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: FiltersDialogComponent, isStandalone: false, selector: "v-filters-dialog", usesInheritance: true, ngImport: i0, template: "<v-dialog noActions title=\"Filters\">\n <div\n [ngClass]=\"[\n 'v-filters-dialog-cols-' +\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\n 'filters',\n ]\"\n >\n @if (isShowMainFilters) {\n <ng-container *ngTemplateOutlet=\"dialogData.filters.mainFiltersTemplate\"></ng-container>\n }\n @if (dialogData.filters.otherFiltersTemplate) {\n <div class=\"other-filters\">\n <ng-container\n *ngTemplateOutlet=\"dialogData.filters.otherFiltersTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n</v-dialog>\n", styles: [".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogComponent, selector: "v-dialog", inputs: ["title", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
2816
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2817
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: FiltersDialogComponent, isStandalone: false, selector: "v-filters-dialog", usesInheritance: true, ngImport: i0, template: "<v-dialog noActions title=\"Filters\">\n <div\n [ngClass]=\"[\n 'v-filters-dialog-cols-' +\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\n 'filters',\n ]\"\n >\n @if (isShowMainFilters) {\n <ng-container *ngTemplateOutlet=\"dialogData.filters.mainFiltersTemplate\"></ng-container>\n }\n @if (dialogData.filters.otherFiltersTemplate) {\n <div class=\"other-filters\">\n <ng-container\n *ngTemplateOutlet=\"dialogData.filters.otherFiltersTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n</v-dialog>\n", styles: [".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogComponent, selector: "v-dialog", inputs: ["title", "description", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2711
2818
  }
2712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersDialogComponent, decorators: [{
2819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersDialogComponent, decorators: [{
2713
2820
  type: Component,
2714
- args: [{ selector: 'v-filters-dialog', standalone: false, template: "<v-dialog noActions title=\"Filters\">\n <div\n [ngClass]=\"[\n 'v-filters-dialog-cols-' +\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\n 'filters',\n ]\"\n >\n @if (isShowMainFilters) {\n <ng-container *ngTemplateOutlet=\"dialogData.filters.mainFiltersTemplate\"></ng-container>\n }\n @if (dialogData.filters.otherFiltersTemplate) {\n <div class=\"other-filters\">\n <ng-container\n *ngTemplateOutlet=\"dialogData.filters.otherFiltersTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n</v-dialog>\n", styles: [".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\n"] }]
2821
+ args: [{ selector: 'v-filters-dialog', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<v-dialog noActions title=\"Filters\">\n <div\n [ngClass]=\"[\n 'v-filters-dialog-cols-' +\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\n 'filters',\n ]\"\n >\n @if (isShowMainFilters) {\n <ng-container *ngTemplateOutlet=\"dialogData.filters.mainFiltersTemplate\"></ng-container>\n }\n @if (dialogData.filters.otherFiltersTemplate) {\n <div class=\"other-filters\">\n <ng-container\n *ngTemplateOutlet=\"dialogData.filters.otherFiltersTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n</v-dialog>\n", styles: [".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\n"] }]
2715
2822
  }] });
2716
2823
 
2717
2824
  class MainFiltersDirective {
2718
2825
  templateRef = inject((TemplateRef));
2719
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MainFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2720
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: MainFiltersDirective, isStandalone: false, selector: "[vMainFilters]", ngImport: i0 });
2826
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MainFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2827
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MainFiltersDirective, isStandalone: false, selector: "[vMainFilters]", ngImport: i0 });
2721
2828
  }
2722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MainFiltersDirective, decorators: [{
2829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MainFiltersDirective, decorators: [{
2723
2830
  type: Directive,
2724
2831
  args: [{
2725
2832
  selector: '[vMainFilters]',
@@ -2729,10 +2836,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
2729
2836
 
2730
2837
  class OtherFiltersDirective {
2731
2838
  templateRef = inject((TemplateRef));
2732
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: OtherFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2733
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: OtherFiltersDirective, isStandalone: false, selector: "[vOtherFilters]", ngImport: i0 });
2839
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: OtherFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2840
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: OtherFiltersDirective, isStandalone: false, selector: "[vOtherFilters]", ngImport: i0 });
2734
2841
  }
2735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: OtherFiltersDirective, decorators: [{
2842
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: OtherFiltersDirective, decorators: [{
2736
2843
  type: Directive,
2737
2844
  args: [{
2738
2845
  selector: '[vOtherFilters]',
@@ -2746,7 +2853,8 @@ class FiltersComponent {
2746
2853
  active = 0;
2747
2854
  merge = false;
2748
2855
  // TODO: to change from outside you need to change the logic and set $rows in two SCSS
2749
- rows = signal(1, ...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
2856
+ rows = signal(1, /* @ts-ignore */
2857
+ ...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
2750
2858
  clear = new EventEmitter();
2751
2859
  filtersTemplate;
2752
2860
  otherFiltersDirective;
@@ -2780,12 +2888,12 @@ class FiltersComponent {
2780
2888
  open() {
2781
2889
  this.dialog.open(FiltersDialogComponent, { filters: this });
2782
2890
  }
2783
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2784
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.5", type: FiltersComponent, isStandalone: false, selector: "v-filters", inputs: { active: "active", merge: ["merge", "merge", booleanAttribute] }, outputs: { clear: "clear" }, queries: [{ propertyName: "filtersTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "otherFiltersDirective", first: true, predicate: OtherFiltersDirective, descendants: true, static: true }, { propertyName: "mainFiltersDirective", first: true, predicate: MainFiltersDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div #content [ngClass]=\"['v-filters-cols-' + (repeat$ | async), 'filters']\">\n <ng-container *ngTemplateOutlet=\"mainFiltersTemplate\"></ng-container>\n</div>\n", styles: [".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
2891
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2892
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.7", type: FiltersComponent, isStandalone: false, selector: "v-filters", inputs: { active: "active", merge: ["merge", "merge", booleanAttribute] }, outputs: { clear: "clear" }, queries: [{ propertyName: "filtersTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "otherFiltersDirective", first: true, predicate: OtherFiltersDirective, descendants: true, static: true }, { propertyName: "mainFiltersDirective", first: true, predicate: MainFiltersDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div #content [ngClass]=\"['v-filters-cols-' + (repeat$ | async), 'filters']\">\n <ng-container *ngTemplateOutlet=\"mainFiltersTemplate\"></ng-container>\n</div>\n", styles: [".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2785
2893
  }
2786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersComponent, decorators: [{
2894
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersComponent, decorators: [{
2787
2895
  type: Component,
2788
- args: [{ selector: 'v-filters', standalone: false, template: "<div #content [ngClass]=\"['v-filters-cols-' + (repeat$ | async), 'filters']\">\n <ng-container *ngTemplateOutlet=\"mainFiltersTemplate\"></ng-container>\n</div>\n", styles: [".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\n"] }]
2896
+ args: [{ selector: 'v-filters', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div #content [ngClass]=\"['v-filters-cols-' + (repeat$ | async), 'filters']\">\n <ng-container *ngTemplateOutlet=\"mainFiltersTemplate\"></ng-container>\n</div>\n", styles: [".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\n"] }]
2789
2897
  }], propDecorators: { active: [{
2790
2898
  type: Input
2791
2899
  }], merge: [{
@@ -2809,19 +2917,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
2809
2917
 
2810
2918
  class MoreFiltersButtonComponent {
2811
2919
  filters;
2812
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MoreFiltersButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2813
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: MoreFiltersButtonComponent, isStandalone: false, selector: "v-more-filters-button", inputs: { filters: "filters" }, ngImport: i0, template: "<v-actions>\n @if (filters.active && filters.clear.observed) {\n <button mat-icon-button (click)=\"filters.clear.emit()\">\n <mat-icon [matBadge]=\"filters.active || undefined\" matBadgeColor=\"accent\"\n >restart_alt</mat-icon\n >\n </button>\n }\n @if (\n filters.otherFiltersDirective ||\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\n ) {\n <button mat-icon-button (click)=\"filters.open()\">\n <mat-icon>filter_alt</mat-icon>\n </button>\n }\n</v-actions>\n", styles: [""], dependencies: [{ kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ActionsComponent, selector: "v-actions" }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
2920
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MoreFiltersButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2921
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MoreFiltersButtonComponent, isStandalone: false, selector: "v-more-filters-button", inputs: { filters: "filters" }, ngImport: i0, template: "<v-actions>\n @if (filters.active && filters.clear.observed) {\n <button mat-icon-button (click)=\"filters.clear.emit()\">\n <mat-icon [matBadge]=\"filters.active || undefined\" matBadgeColor=\"accent\"\n >restart_alt</mat-icon\n >\n </button>\n }\n @if (\n filters.otherFiltersDirective ||\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\n ) {\n <button mat-icon-button (click)=\"filters.open()\">\n <mat-icon>filter_alt</mat-icon>\n </button>\n }\n</v-actions>\n", styles: [""], dependencies: [{ kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ActionsComponent, selector: "v-actions" }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2814
2922
  }
2815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MoreFiltersButtonComponent, decorators: [{
2923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MoreFiltersButtonComponent, decorators: [{
2816
2924
  type: Component,
2817
- args: [{ selector: 'v-more-filters-button', standalone: false, template: "<v-actions>\n @if (filters.active && filters.clear.observed) {\n <button mat-icon-button (click)=\"filters.clear.emit()\">\n <mat-icon [matBadge]=\"filters.active || undefined\" matBadgeColor=\"accent\"\n >restart_alt</mat-icon\n >\n </button>\n }\n @if (\n filters.otherFiltersDirective ||\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\n ) {\n <button mat-icon-button (click)=\"filters.open()\">\n <mat-icon>filter_alt</mat-icon>\n </button>\n }\n</v-actions>\n" }]
2925
+ args: [{ selector: 'v-more-filters-button', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<v-actions>\n @if (filters.active && filters.clear.observed) {\n <button mat-icon-button (click)=\"filters.clear.emit()\">\n <mat-icon [matBadge]=\"filters.active || undefined\" matBadgeColor=\"accent\"\n >restart_alt</mat-icon\n >\n </button>\n }\n @if (\n filters.otherFiltersDirective ||\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\n ) {\n <button mat-icon-button (click)=\"filters.open()\">\n <mat-icon>filter_alt</mat-icon>\n </button>\n }\n</v-actions>\n" }]
2818
2926
  }], propDecorators: { filters: [{
2819
2927
  type: Input
2820
2928
  }] } });
2821
2929
 
2822
2930
  class FiltersModule {
2823
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2824
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: FiltersModule, declarations: [FiltersComponent,
2931
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2932
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: FiltersModule, declarations: [FiltersComponent,
2825
2933
  MoreFiltersButtonComponent,
2826
2934
  FiltersDialogComponent,
2827
2935
  OtherFiltersDirective,
@@ -2835,7 +2943,7 @@ class FiltersModule {
2835
2943
  MoreFiltersButtonComponent,
2836
2944
  OtherFiltersDirective,
2837
2945
  MainFiltersDirective] });
2838
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersModule, imports: [CommonModule,
2946
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersModule, imports: [CommonModule,
2839
2947
  MatButtonModule,
2840
2948
  MatIconModule,
2841
2949
  DialogModule,
@@ -2843,7 +2951,7 @@ class FiltersModule {
2843
2951
  ActionsModule,
2844
2952
  MatBadgeModule] });
2845
2953
  }
2846
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FiltersModule, decorators: [{
2954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersModule, decorators: [{
2847
2955
  type: NgModule,
2848
2956
  args: [{
2849
2957
  declarations: [
@@ -2878,43 +2986,43 @@ class DateRangeFieldComponent extends FormGroupSuperclass {
2878
2986
  start: undefined,
2879
2987
  end: undefined,
2880
2988
  });
2881
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2882
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DateRangeFieldComponent, isStandalone: false, selector: "v-date-range-field", inputs: { required: ["required", "required", booleanAttribute] }, providers: [
2989
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2990
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: DateRangeFieldComponent, isStandalone: false, selector: "v-date-range-field", inputs: { required: ["required", "required", booleanAttribute] }, providers: [
2883
2991
  ...createControlProviders(() => DateRangeFieldComponent),
2884
2992
  { provide: MAT_DATE_LOCALE, useValue: enGB },
2885
2993
  { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
2886
2994
  { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },
2887
- ], usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>Date range</mat-label>\n <mat-date-range-input\n [formGroup]=\"control\"\n [rangePicker]=\"picker\"\n [required]=\"required || false\"\n >\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\" />\n <input formControlName=\"end\" matEndDate placeholder=\"End date\" />\n </mat-date-range-input>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-date-range-picker #picker>\n <mat-date-range-picker-actions>\n <v-actions class=\"actions\">\n @if (!required) {\n <button\n [disabled]=\"!control.value?.start && !control.value?.end\"\n mat-button\n (click)=\"control.reset(); picker.close()\"\n >\n Reset\n </button>\n }\n <button mat-flat-button matDateRangePickerApply>Apply</button>\n </v-actions>\n </mat-date-range-picker-actions>\n </mat-date-range-picker>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\n"], dependencies: [{ kind: "component", type: i1$5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i1$5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1$5.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1$5.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1$5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i1$5.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i1$5.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i1$2.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: ActionsComponent, selector: "v-actions" }] });
2995
+ ], usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>Date range</mat-label>\n <mat-date-range-input\n [formGroup]=\"control\"\n [rangePicker]=\"picker\"\n [required]=\"required || false\"\n >\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\" />\n <input formControlName=\"end\" matEndDate placeholder=\"End date\" />\n </mat-date-range-input>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-date-range-picker #picker>\n <mat-date-range-picker-actions>\n <v-actions class=\"actions\">\n @if (!required) {\n <button\n [disabled]=\"!control.value?.start && !control.value?.end\"\n mat-button\n (click)=\"control.reset(); picker.close()\"\n >\n Reset\n </button>\n }\n <button mat-flat-button matDateRangePickerApply>Apply</button>\n </v-actions>\n </mat-date-range-picker-actions>\n </mat-date-range-picker>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\n"], dependencies: [{ kind: "component", type: i1$5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i1$5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1$5.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1$5.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1$5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i1$5.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i1$5.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i1$2.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: ActionsComponent, selector: "v-actions" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2888
2996
  }
2889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldComponent, decorators: [{
2997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldComponent, decorators: [{
2890
2998
  type: Component,
2891
2999
  args: [{ selector: 'v-date-range-field', providers: [
2892
3000
  ...createControlProviders(() => DateRangeFieldComponent),
2893
3001
  { provide: MAT_DATE_LOCALE, useValue: enGB },
2894
3002
  { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
2895
3003
  { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },
2896
- ], standalone: false, template: "<mat-form-field>\n <mat-label>Date range</mat-label>\n <mat-date-range-input\n [formGroup]=\"control\"\n [rangePicker]=\"picker\"\n [required]=\"required || false\"\n >\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\" />\n <input formControlName=\"end\" matEndDate placeholder=\"End date\" />\n </mat-date-range-input>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-date-range-picker #picker>\n <mat-date-range-picker-actions>\n <v-actions class=\"actions\">\n @if (!required) {\n <button\n [disabled]=\"!control.value?.start && !control.value?.end\"\n mat-button\n (click)=\"control.reset(); picker.close()\"\n >\n Reset\n </button>\n }\n <button mat-flat-button matDateRangePickerApply>Apply</button>\n </v-actions>\n </mat-date-range-picker-actions>\n </mat-date-range-picker>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\n"] }]
3004
+ ], changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<mat-form-field>\n <mat-label>Date range</mat-label>\n <mat-date-range-input\n [formGroup]=\"control\"\n [rangePicker]=\"picker\"\n [required]=\"required || false\"\n >\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\" />\n <input formControlName=\"end\" matEndDate placeholder=\"End date\" />\n </mat-date-range-input>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-date-range-picker #picker>\n <mat-date-range-picker-actions>\n <v-actions class=\"actions\">\n @if (!required) {\n <button\n [disabled]=\"!control.value?.start && !control.value?.end\"\n mat-button\n (click)=\"control.reset(); picker.close()\"\n >\n Reset\n </button>\n }\n <button mat-flat-button matDateRangePickerApply>Apply</button>\n </v-actions>\n </mat-date-range-picker-actions>\n </mat-date-range-picker>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\n"] }]
2897
3005
  }], propDecorators: { required: [{
2898
3006
  type: Input,
2899
3007
  args: [{ transform: booleanAttribute }]
2900
3008
  }] } });
2901
3009
 
2902
3010
  class DateRangeFieldModule {
2903
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2904
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldModule, declarations: [DateRangeFieldComponent], imports: [CommonModule,
3011
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3012
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldModule, declarations: [DateRangeFieldComponent], imports: [CommonModule,
2905
3013
  MatDatepickerModule,
2906
3014
  MatInputModule,
2907
3015
  ReactiveFormsModule,
2908
3016
  MatButtonModule,
2909
3017
  ActionsModule], exports: [DateRangeFieldComponent] });
2910
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldModule, imports: [CommonModule,
3018
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldModule, imports: [CommonModule,
2911
3019
  MatDatepickerModule,
2912
3020
  MatInputModule,
2913
3021
  ReactiveFormsModule,
2914
3022
  MatButtonModule,
2915
3023
  ActionsModule] });
2916
3024
  }
2917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DateRangeFieldModule, decorators: [{
3025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldModule, decorators: [{
2918
3026
  type: NgModule,
2919
3027
  args: [{
2920
3028
  declarations: [DateRangeFieldComponent],
@@ -2956,22 +3064,22 @@ class NumberRangeFieldComponent extends FormGroupSuperclass {
2956
3064
  start: undefined,
2957
3065
  end: undefined,
2958
3066
  });
2959
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2960
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: NumberRangeFieldComponent, isStandalone: false, selector: "v-number-range-field", inputs: { label: "label" }, providers: createControlProviders(() => NumberRangeFieldComponent), usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"control\" class=\"wrapper\">\n <mat-form-field>\n <mat-label>{{ label }} from</mat-label>\n <input formControlName=\"start\" matInput type=\"number\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{ label }} to</mat-label>\n <input formControlName=\"end\" matInput type=\"number\" />\n </mat-form-field>\n</div>\n", styles: [".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\n"], dependencies: [{ 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }] });
3067
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3068
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: NumberRangeFieldComponent, isStandalone: false, selector: "v-number-range-field", inputs: { label: "label" }, providers: createControlProviders(() => NumberRangeFieldComponent), usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"control\" class=\"wrapper\">\n <mat-form-field>\n <mat-label>{{ label }} from</mat-label>\n <input formControlName=\"start\" matInput type=\"number\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{ label }} to</mat-label>\n <input formControlName=\"end\" matInput type=\"number\" />\n </mat-form-field>\n</div>\n", styles: [".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\n"], dependencies: [{ kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2961
3069
  }
2962
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldComponent, decorators: [{
3070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldComponent, decorators: [{
2963
3071
  type: Component,
2964
- args: [{ selector: 'v-number-range-field', providers: createControlProviders(() => NumberRangeFieldComponent), standalone: false, template: "<div [formGroup]=\"control\" class=\"wrapper\">\n <mat-form-field>\n <mat-label>{{ label }} from</mat-label>\n <input formControlName=\"start\" matInput type=\"number\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{ label }} to</mat-label>\n <input formControlName=\"end\" matInput type=\"number\" />\n </mat-form-field>\n</div>\n", styles: [".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\n"] }]
3072
+ args: [{ selector: 'v-number-range-field', providers: createControlProviders(() => NumberRangeFieldComponent), changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div [formGroup]=\"control\" class=\"wrapper\">\n <mat-form-field>\n <mat-label>{{ label }} from</mat-label>\n <input formControlName=\"start\" matInput type=\"number\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{ label }} to</mat-label>\n <input formControlName=\"end\" matInput type=\"number\" />\n </mat-form-field>\n</div>\n", styles: [".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\n"] }]
2965
3073
  }], propDecorators: { label: [{
2966
3074
  type: Input
2967
3075
  }] } });
2968
3076
 
2969
3077
  class NumberRangeFieldModule {
2970
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2971
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldModule, declarations: [NumberRangeFieldComponent], imports: [ReactiveFormsModule, MatInputModule], exports: [NumberRangeFieldComponent] });
2972
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldModule, imports: [ReactiveFormsModule, MatInputModule] });
3078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3079
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldModule, declarations: [NumberRangeFieldComponent], imports: [ReactiveFormsModule, MatInputModule], exports: [NumberRangeFieldComponent] });
3080
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldModule, imports: [ReactiveFormsModule, MatInputModule] });
2973
3081
  }
2974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NumberRangeFieldModule, decorators: [{
3082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldModule, decorators: [{
2975
3083
  type: NgModule,
2976
3084
  args: [{
2977
3085
  declarations: [NumberRangeFieldComponent],
@@ -2993,12 +3101,12 @@ class ListFieldComponent extends FormControlSuperclass {
2993
3101
  getValue(inner = this.control.value) {
2994
3102
  return splitBySeparators(inner || '');
2995
3103
  }
2996
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2997
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ListFieldComponent, isStandalone: false, selector: "v-list-field", inputs: { label: "label", focusedHint: "focusedHint" }, providers: createControlProviders(() => ListFieldComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n <input #input=\"matInput\" [formControl]=\"control\" autocomplete=\"false\" matInput type=\"string\" />\n <mat-hint class=\"text-[var(--mat-sys-outline)]\">{{\n (items$ | async)?.length\n ? (items$ | async)?.length === 1\n ? '1 item'\n : (items$ | async)?.length + ' items'\n : input.focused\n ? focusedHint || 'item_1, item_2'\n : ''\n }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
3104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3105
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: ListFieldComponent, isStandalone: false, selector: "v-list-field", inputs: { label: "label", focusedHint: "focusedHint" }, providers: createControlProviders(() => ListFieldComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n <input #input=\"matInput\" [formControl]=\"control\" autocomplete=\"false\" matInput type=\"string\" />\n <mat-hint class=\"text-[var(--mat-sys-outline)]\">{{\n (items$ | async)?.length\n ? (items$ | async)?.length === 1\n ? '1 item'\n : (items$ | async)?.length + ' items'\n : input.focused\n ? focusedHint || 'item_1, item_2'\n : ''\n }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
2998
3106
  }
2999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListFieldComponent, decorators: [{
3107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldComponent, decorators: [{
3000
3108
  type: Component,
3001
- args: [{ selector: 'v-list-field', providers: createControlProviders(() => ListFieldComponent), standalone: false, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n <input #input=\"matInput\" [formControl]=\"control\" autocomplete=\"false\" matInput type=\"string\" />\n <mat-hint class=\"text-[var(--mat-sys-outline)]\">{{\n (items$ | async)?.length\n ? (items$ | async)?.length === 1\n ? '1 item'\n : (items$ | async)?.length + ' items'\n : input.focused\n ? focusedHint || 'item_1, item_2'\n : ''\n }}</mat-hint>\n</mat-form-field>\n" }]
3109
+ args: [{ selector: 'v-list-field', providers: createControlProviders(() => ListFieldComponent), changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n <input #input=\"matInput\" [formControl]=\"control\" autocomplete=\"false\" matInput type=\"string\" />\n <mat-hint class=\"text-[var(--mat-sys-outline)]\">{{\n (items$ | async)?.length\n ? (items$ | async)?.length === 1\n ? '1 item'\n : (items$ | async)?.length + ' items'\n : input.focused\n ? focusedHint || 'item_1, item_2'\n : ''\n }}</mat-hint>\n</mat-form-field>\n" }]
3002
3110
  }], propDecorators: { label: [{
3003
3111
  type: Input
3004
3112
  }], focusedHint: [{
@@ -3006,11 +3114,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3006
3114
  }] } });
3007
3115
 
3008
3116
  class ListFieldModule {
3009
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3010
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ListFieldModule, declarations: [ListFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule], exports: [ListFieldComponent] });
3011
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule] });
3117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3118
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ListFieldModule, declarations: [ListFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule], exports: [ListFieldComponent] });
3119
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule] });
3012
3120
  }
3013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ListFieldModule, decorators: [{
3121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldModule, decorators: [{
3014
3122
  type: NgModule,
3015
3123
  args: [{
3016
3124
  declarations: [ListFieldComponent],
@@ -3020,21 +3128,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3020
3128
  }] });
3021
3129
 
3022
3130
  class ErrorPageComponent {
3023
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3024
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: ErrorPageComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<div class=\"error\">\n <div class=\"text-2xl font-normal title\">\n <mat-icon>error</mat-icon>\n <div>Page not found</div>\n </div>\n <h2 class=\"mat-headline-small text-[var(--mat-sys-outline)]\">\n This page doesn't exist<br />or no permission to access this page\n </h2>\n</div>\n", styles: [".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\n"], dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
3131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3132
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: ErrorPageComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<div class=\"error\">\n <div class=\"text-2xl font-normal title\">\n <mat-icon>error</mat-icon>\n <div>Page not found</div>\n </div>\n <h2 class=\"mat-headline-small text-[var(--mat-sys-outline)]\">\n This page doesn't exist<br />or no permission to access this page\n </h2>\n</div>\n", styles: [".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\n"], dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3025
3133
  }
3026
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageComponent, decorators: [{
3134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageComponent, decorators: [{
3027
3135
  type: Component,
3028
- args: [{ standalone: false, template: "<div class=\"error\">\n <div class=\"text-2xl font-normal title\">\n <mat-icon>error</mat-icon>\n <div>Page not found</div>\n </div>\n <h2 class=\"mat-headline-small text-[var(--mat-sys-outline)]\">\n This page doesn't exist<br />or no permission to access this page\n </h2>\n</div>\n", styles: [".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\n"] }]
3136
+ args: [{ changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div class=\"error\">\n <div class=\"text-2xl font-normal title\">\n <mat-icon>error</mat-icon>\n <div>Page not found</div>\n </div>\n <h2 class=\"mat-headline-small text-[var(--mat-sys-outline)]\">\n This page doesn't exist<br />or no permission to access this page\n </h2>\n</div>\n", styles: [".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\n"] }]
3029
3137
  }] });
3030
3138
 
3031
3139
  const ROUTES = [{ path: '', component: ErrorPageComponent }];
3032
3140
  class ErrorPageRoutingModule {
3033
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3034
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageRoutingModule, imports: [i1$6.RouterModule], exports: [RouterModule] });
3035
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageRoutingModule, imports: [RouterModule.forChild(ROUTES), RouterModule] });
3141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3142
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageRoutingModule, imports: [i1$6.RouterModule], exports: [RouterModule] });
3143
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageRoutingModule, imports: [RouterModule.forChild(ROUTES), RouterModule] });
3036
3144
  }
3037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageRoutingModule, decorators: [{
3145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageRoutingModule, decorators: [{
3038
3146
  type: NgModule,
3039
3147
  args: [{
3040
3148
  imports: [RouterModule.forChild(ROUTES)],
@@ -3043,11 +3151,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3043
3151
  }] });
3044
3152
 
3045
3153
  class ErrorPageModule {
3046
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3047
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageModule, declarations: [ErrorPageComponent], imports: [ErrorPageRoutingModule, MatIconModule] });
3048
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageModule, imports: [ErrorPageRoutingModule, MatIconModule] });
3154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3155
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageModule, declarations: [ErrorPageComponent], imports: [ErrorPageRoutingModule, MatIconModule] });
3156
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageModule, imports: [ErrorPageRoutingModule, MatIconModule] });
3049
3157
  }
3050
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ErrorPageModule, decorators: [{
3158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ErrorPageModule, decorators: [{
3051
3159
  type: NgModule,
3052
3160
  args: [{
3053
3161
  imports: [ErrorPageRoutingModule, MatIconModule],
@@ -3083,86 +3191,107 @@ function getHintText(options, selected, hint, opts = {}) {
3083
3191
  return opts.showLabel ? option?.label : option?.description;
3084
3192
  }
3085
3193
 
3086
- class SelectFieldComponent extends FormControlSuperclass {
3194
+ class SelectFieldComponent {
3195
+ value = model(/* @ts-ignore */
3196
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
3197
+ disabled = input(false, /* @ts-ignore */
3198
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
3199
+ touch = output();
3200
+ selection = transformedValue(this.value, {
3201
+ parse: (value) => ({ value }),
3202
+ format: (value) => (value === '' ? undefined : value),
3203
+ });
3204
+ control = form(this.selection, (path) => {
3205
+ required(path, { when: () => this.required() });
3206
+ disabled(path, () => this.disabled());
3207
+ });
3087
3208
  options = [];
3088
- searchChange = new EventEmitter();
3209
+ search = model('', /* @ts-ignore */
3210
+ ...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
3089
3211
  appearance;
3090
3212
  label;
3091
3213
  hint;
3214
+ placeholder;
3092
3215
  error;
3093
3216
  progress = false;
3217
+ clearable = true;
3094
3218
  externalSearch = false;
3095
3219
  multiple = false;
3096
- required = false;
3220
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3097
3221
  size;
3098
- searchStr = '';
3099
3222
  ngOnInit() {
3100
- super.ngOnInit();
3101
3223
  if (this.externalSearch) {
3102
3224
  timer(0)
3103
3225
  .pipe(first$1())
3104
3226
  .subscribe(() => {
3105
- this.searchChange.emit(String(this.control.value));
3227
+ this.search.set(String(this.selection() ?? ''));
3106
3228
  });
3107
3229
  }
3108
3230
  }
3109
3231
  get hintText() {
3110
- return getHintText(this.options, this.multiple ? this.control.value : [this.control.value], this.hint, {
3232
+ return getHintText(this.options, this.multiple ? this.selection() : [this.selection()], this.hint, {
3111
3233
  multiple: this.multiple,
3112
3234
  });
3113
3235
  }
3114
- search = (term, item) => {
3236
+ searchFn = (term, item) => {
3115
3237
  return this.externalSearch || isSearchOption(item, term.toLowerCase());
3116
3238
  };
3117
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3118
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: SelectFieldComponent, isStandalone: false, selector: "v-select-field", inputs: { options: "options", appearance: "appearance", label: "label", hint: "hint", error: "error", progress: "progress", externalSearch: ["externalSearch", "externalSearch", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], required: ["required", "required", booleanAttribute], size: "size" }, outputs: { searchChange: "searchChange" }, providers: createControlProviders(() => SelectFieldComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [ngClass]=\"{ 'v-input-field__small': size === 'small' }\">\n <mat-label>{{ label }}</mat-label>\n\n <mtx-select\n [closeOnSelect]=\"!multiple\"\n [formControl]=\"control\"\n [items]=\"options\"\n [loading]=\"progress\"\n [markFirst]=\"true\"\n [multiple]=\"multiple\"\n [notFoundText]=\"externalSearch && !searchStr ? 'Enter your search term' : 'No items found'\"\n [required]=\"required\"\n [searchable]=\"true\"\n [searchFn]=\"search\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n bindLabel=\"label\"\n bindValue=\"value\"\n groupBy=\"type\"\n (clear)=\"searchChange.emit(''); searchStr = ''\"\n (search)=\"searchChange.emit($event.term); searchStr = $event.term\"\n >\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-optgroup-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n {{ item.type | uppercase }}\n </mat-checkbox>\n } @else {\n {{ item.type | uppercase }}\n }\n </ng-template>\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-option-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </mat-checkbox>\n } @else {\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n }\n <ng-template #text>\n <div class=\"label\">{{ item.label }}</div>\n @if (item.description) {\n <div class=\"description mat-label-medium text-[var(--mat-sys-outline)]\">\n {{ item.description }}\n </div>\n }\n </ng-template>\n </ng-template>\n </mtx-select>\n\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{ error }}</mat-error>\n</mat-form-field>\n", styles: ["::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3$3.MtxSelect, selector: "mtx-select", inputs: ["addTag", "addTagText", "appearance", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearAllText", "clearable", "clearOnBackspace", "compareWith", "dropdownPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "labelForId", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "inputAttrs", "tabIndex", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "isOpen", "fixedPlaceholder", "deselectOnClick", "clearSearchOnAdd", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "aria-label", "aria-labelledby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "directive", type: i3$3.MtxSelectOptgroupTemplate, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i3$3.MtxSelectOptionTemplate, selector: "[ng-option-tmp]" }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$4.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: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }] });
3239
+ // TODO: close not working for mouse click
3240
+ close(select) {
3241
+ if (!this.multiple) {
3242
+ timer(0)
3243
+ .pipe(first$1())
3244
+ .subscribe(() => select.close());
3245
+ }
3246
+ }
3247
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3248
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: SelectFieldComponent, isStandalone: false, selector: "v-select-field", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: false, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: false, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, externalSearch: { classPropertyName: "externalSearch", publicName: "externalSearch", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", touch: "touch", search: "searchChange" }, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [ngClass]=\"{ 'v-input-field__small': size === 'small' }\">\n <mat-label>{{ label }}</mat-label>\n\n <mtx-select\n #select\n [clearable]=\"clearable\"\n [closeOnSelect]=\"!multiple\"\n [formField]=\"control\"\n [items]=\"\n options?.length || !selection() ? options : [{ value: selection(), label: selection() }]\n \"\n [loading]=\"progress\"\n [markFirst]=\"true\"\n [multiple]=\"multiple\"\n [notFoundText]=\"externalSearch && !search() ? 'Enter your search term' : 'No items found'\"\n [placeholder]=\"placeholder\"\n [required]=\"required()\"\n [searchable]=\"true\"\n [searchFn]=\"searchFn\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n bindLabel=\"label\"\n bindValue=\"value\"\n groupBy=\"type\"\n (blur)=\"touch.emit()\"\n (change)=\"close(select)\"\n (clear)=\"search.set('')\"\n (search)=\"search.set($event.term)\"\n >\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-optgroup-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n {{ item.type | uppercase }}\n </mat-checkbox>\n } @else {\n {{ item.type | uppercase }}\n }\n </ng-template>\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-option-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </mat-checkbox>\n } @else {\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n }\n <ng-template #text>\n <div class=\"label\">{{ item.label }}</div>\n @if (item.description) {\n <div class=\"description mat-label-medium text-[var(--mat-sys-outline)]\">\n {{ item.description }}\n </div>\n }\n </ng-template>\n </ng-template>\n </mtx-select>\n\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{ error }}</mat-error>\n</mat-form-field>\n", styles: ["::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3$4.MtxSelect, selector: "mtx-select", inputs: ["usePopover", "addTag", "addTagText", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearable", "clearAllText", "clearOnBackspace", "compareWith", "panelPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "panelDisabled", "fixedPlaceholder", "preventToggleOnRightClick", "clearSearchOnAdd", "deselectOnClick", "tabIndex", "inputId", "inputAttrs", "panelClass", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "ariaLabel", "ariaLabelledby", "ariaDescribedby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: i2$4.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: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3119
3249
  }
3120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldComponent, decorators: [{
3250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldComponent, decorators: [{
3121
3251
  type: Component,
3122
- args: [{ selector: 'v-select-field', providers: createControlProviders(() => SelectFieldComponent), standalone: false, template: "<mat-form-field [appearance]=\"appearance\" [ngClass]=\"{ 'v-input-field__small': size === 'small' }\">\n <mat-label>{{ label }}</mat-label>\n\n <mtx-select\n [closeOnSelect]=\"!multiple\"\n [formControl]=\"control\"\n [items]=\"options\"\n [loading]=\"progress\"\n [markFirst]=\"true\"\n [multiple]=\"multiple\"\n [notFoundText]=\"externalSearch && !searchStr ? 'Enter your search term' : 'No items found'\"\n [required]=\"required\"\n [searchable]=\"true\"\n [searchFn]=\"search\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n bindLabel=\"label\"\n bindValue=\"value\"\n groupBy=\"type\"\n (clear)=\"searchChange.emit(''); searchStr = ''\"\n (search)=\"searchChange.emit($event.term); searchStr = $event.term\"\n >\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-optgroup-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n {{ item.type | uppercase }}\n </mat-checkbox>\n } @else {\n {{ item.type | uppercase }}\n }\n </ng-template>\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-option-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </mat-checkbox>\n } @else {\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n }\n <ng-template #text>\n <div class=\"label\">{{ item.label }}</div>\n @if (item.description) {\n <div class=\"description mat-label-medium text-[var(--mat-sys-outline)]\">\n {{ item.description }}\n </div>\n }\n </ng-template>\n </ng-template>\n </mtx-select>\n\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{ error }}</mat-error>\n</mat-form-field>\n", styles: ["::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
3123
- }], propDecorators: { options: [{
3252
+ args: [{ selector: 'v-select-field', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<mat-form-field [appearance]=\"appearance\" [ngClass]=\"{ 'v-input-field__small': size === 'small' }\">\n <mat-label>{{ label }}</mat-label>\n\n <mtx-select\n #select\n [clearable]=\"clearable\"\n [closeOnSelect]=\"!multiple\"\n [formField]=\"control\"\n [items]=\"\n options?.length || !selection() ? options : [{ value: selection(), label: selection() }]\n \"\n [loading]=\"progress\"\n [markFirst]=\"true\"\n [multiple]=\"multiple\"\n [notFoundText]=\"externalSearch && !search() ? 'Enter your search term' : 'No items found'\"\n [placeholder]=\"placeholder\"\n [required]=\"required()\"\n [searchable]=\"true\"\n [searchFn]=\"searchFn\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n bindLabel=\"label\"\n bindValue=\"value\"\n groupBy=\"type\"\n (blur)=\"touch.emit()\"\n (change)=\"close(select)\"\n (clear)=\"search.set('')\"\n (search)=\"search.set($event.term)\"\n >\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-optgroup-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n {{ item.type | uppercase }}\n </mat-checkbox>\n } @else {\n {{ item.type | uppercase }}\n }\n </ng-template>\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-option-tmp>\n @if (multiple) {\n <mat-checkbox\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </mat-checkbox>\n } @else {\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n }\n <ng-template #text>\n <div class=\"label\">{{ item.label }}</div>\n @if (item.description) {\n <div class=\"description mat-label-medium text-[var(--mat-sys-outline)]\">\n {{ item.description }}\n </div>\n }\n </ng-template>\n </ng-template>\n </mtx-select>\n\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{ error }}</mat-error>\n</mat-form-field>\n", styles: ["::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
3253
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], touch: [{ type: i0.Output, args: ["touch"] }], options: [{
3124
3254
  type: Input
3125
- }], searchChange: [{
3126
- type: Output
3127
- }], appearance: [{
3255
+ }], search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }, { type: i0.Output, args: ["searchChange"] }], appearance: [{
3128
3256
  type: Input
3129
3257
  }], label: [{
3130
3258
  type: Input
3131
3259
  }], hint: [{
3132
3260
  type: Input
3261
+ }], placeholder: [{
3262
+ type: Input
3133
3263
  }], error: [{
3134
3264
  type: Input
3135
3265
  }], progress: [{
3136
3266
  type: Input
3137
- }], externalSearch: [{
3267
+ }], clearable: [{
3138
3268
  type: Input,
3139
3269
  args: [{ transform: booleanAttribute }]
3140
- }], multiple: [{
3270
+ }], externalSearch: [{
3141
3271
  type: Input,
3142
3272
  args: [{ transform: booleanAttribute }]
3143
- }], required: [{
3273
+ }], multiple: [{
3144
3274
  type: Input,
3145
3275
  args: [{ transform: booleanAttribute }]
3146
- }], size: [{
3276
+ }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], size: [{
3147
3277
  type: Input
3148
3278
  }] } });
3149
3279
 
3150
3280
  class SelectFieldModule {
3151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3152
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldModule, declarations: [SelectFieldComponent], imports: [CommonModule,
3281
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3282
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, declarations: [SelectFieldComponent], imports: [CommonModule,
3153
3283
  MatInputModule,
3154
3284
  MtxSelectModule,
3155
3285
  FormsModule,
3156
- ReactiveFormsModule,
3286
+ FormField,
3157
3287
  MatCheckboxModule], exports: [SelectFieldComponent] });
3158
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldModule, imports: [CommonModule,
3288
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, imports: [CommonModule,
3159
3289
  MatInputModule,
3160
3290
  MtxSelectModule,
3161
3291
  FormsModule,
3162
- ReactiveFormsModule,
3163
3292
  MatCheckboxModule] });
3164
3293
  }
3165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SelectFieldModule, decorators: [{
3294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, decorators: [{
3166
3295
  type: NgModule,
3167
3296
  args: [{
3168
3297
  declarations: [SelectFieldComponent],
@@ -3172,43 +3301,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3172
3301
  MatInputModule,
3173
3302
  MtxSelectModule,
3174
3303
  FormsModule,
3175
- ReactiveFormsModule,
3304
+ FormField,
3176
3305
  MatCheckboxModule,
3177
3306
  ],
3178
3307
  }]
3179
3308
  }] });
3180
3309
 
3181
3310
  class AutocompleteFieldComponent extends FormControlSuperclass {
3182
- options = [];
3311
+ dr = inject(DestroyRef);
3312
+ options = input([], /* @ts-ignore */
3313
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
3314
+ hint = input(undefined, /* @ts-ignore */
3315
+ ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
3316
+ externalSearch = input(false, { ...(ngDevMode ? { debugName: "externalSearch" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3317
+ searchChange = output();
3318
+ requireSelection = input(false, { ...(ngDevMode ? { debugName: "requireSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3183
3319
  label;
3184
- hint;
3185
3320
  error;
3186
3321
  type = 'text';
3187
3322
  mono = false;
3188
3323
  required = false;
3189
- get hintText() {
3190
- return getHintText(this.options, [this.control.value], this.hint, { showLabel: true });
3324
+ hintText$ = combineLatest([
3325
+ getValidValueChanges(this.control),
3326
+ toObservable(this.options),
3327
+ toObservable(this.hint),
3328
+ ]).pipe(map(([value, options, hint]) => getHintText(options, [value], hint, { showLabel: true })), shareReplay({ refCount: true, bufferSize: 1 }));
3329
+ selected$ = combineLatest([getValueChanges(this.control), toObservable(this.options)]).pipe(map(([value, options]) => (options || []).find((o) => o.value === value)), shareReplay({ refCount: true, bufferSize: 1 }));
3330
+ filteredOptions$ = combineLatest([
3331
+ getValueChanges(this.control).pipe(map((value) => String(value ?? '').toLowerCase())),
3332
+ toObservable(this.options),
3333
+ ]).pipe(map(([value, options]) => searchOptions(options, value)), shareReplay({ refCount: true, bufferSize: 1 }));
3334
+ ngOnInit() {
3335
+ super.ngOnInit();
3336
+ getValueChanges(this.control)
3337
+ .pipe(takeUntilDestroyed(this.dr))
3338
+ .subscribe((value) => {
3339
+ this.searchChange.emit(String(value ?? ''));
3340
+ });
3191
3341
  }
3192
- options$ = new BehaviorSubject([]);
3193
- selected$ = merge(this.control.valueChanges, this.options$).pipe(map(() => (this.options || []).find((o) => o.value === this.control.value)), shareReplay({ refCount: true, bufferSize: 1 }));
3194
- filteredOptions$ = merge(this.control.valueChanges, this.options$).pipe(map(() => String(this.control.value ?? '').toLowerCase()), map((filter) => searchOptions(this.options, filter)), shareReplay({ refCount: true, bufferSize: 1 }));
3195
- ngOnChanges(changes) {
3196
- super.ngOnChanges(changes);
3197
- if (changes.options) {
3198
- this.options$.next(this.options || []);
3342
+ onBlur() {
3343
+ const value = this.control.value;
3344
+ const validValue = this.getValidValue(value);
3345
+ if (value !== validValue) {
3346
+ this.control.setValue(validValue);
3199
3347
  }
3200
3348
  }
3201
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3202
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: AutocompleteFieldComponent, isStandalone: false, selector: "v-autocomplete-field", inputs: { options: "options", label: "label", hint: "hint", error: "error", type: "type", mono: ["mono", "mono", booleanAttribute], required: ["required", "required", booleanAttribute] }, providers: createControlProviders(() => AutocompleteFieldComponent), usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n [ngClass]=\"{ 'mat-mono': mono }\"\n [required]=\"required\"\n [type]=\"options?.length ? 'text' : type\"\n matInput\n />\n\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption>\n @for (option of filteredOptions$ | async; track option) {\n <mat-option [value]=\"option.value\">\n <div [ngClass]=\"{ 'mat-mono': mono }\" class=\"label\">{{ option.label }}</div>\n @if (option.description) {\n <div\n [ngClass]=\"{ 'mat-mono': mono }\"\n class=\"description mat-label-medium text-[var(--mat-sys-outline)]\"\n >\n {{ option.description }}\n </div>\n }\n </mat-option>\n }\n </mat-autocomplete>\n\n <div matSuffix style=\"display: flex; gap: 4px\">\n @if (control.value) {\n <button mat-icon-button (click)=\"control.reset(); $event.stopPropagation()\">\n <mat-icon>clear</mat-icon>\n </button>\n }\n @if (options?.length) {\n <button\n mat-icon-button\n (click)=\"\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\n $event.stopPropagation()\n \"\n >\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\n </button>\n }\n </div>\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{\n error ??\n ((selected$ | async) ? (selected$ | async)?.label + (hint ? ' | ' + hint : '') : hint)\n }}</mat-error>\n</mat-form-field>\n", styles: [".label,.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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: "component", type: i4$1.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: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
3349
+ innerToOuterValue(inner) {
3350
+ return this.getValidValue(inner);
3351
+ }
3352
+ getValidValue(value) {
3353
+ if (isNil$1(value)) {
3354
+ return value;
3355
+ }
3356
+ if (value === '' ||
3357
+ (this.requireSelection() &&
3358
+ !this.options().some((o) => String(o.value) === String(value)))) {
3359
+ return undefined;
3360
+ }
3361
+ if (this.type === 'text')
3362
+ return value;
3363
+ const res = Number(value);
3364
+ if (isNaN(res))
3365
+ return undefined;
3366
+ return res;
3367
+ }
3368
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3369
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: AutocompleteFieldComponent, isStandalone: false, selector: "v-autocomplete-field", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, externalSearch: { classPropertyName: "externalSearch", publicName: "externalSearch", isSignal: true, isRequired: false, transformFunction: null }, requireSelection: { classPropertyName: "requireSelection", publicName: "requireSelection", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, mono: { classPropertyName: "mono", publicName: "mono", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { searchChange: "searchChange" }, providers: createControlProviders(() => AutocompleteFieldComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n [ngClass]=\"{ 'mat-mono': mono }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n (blur)=\"onBlur()\"\n />\n\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption>\n @for (option of externalSearch() ? options() : (filteredOptions$ | async); track option) {\n <mat-option [value]=\"option.value\">\n <div [ngClass]=\"{ 'mat-mono': mono }\" class=\"label\">{{ option.label }}</div>\n @if (option.description) {\n <div\n [ngClass]=\"{ 'mat-mono': mono }\"\n class=\"description mat-label-medium text-[var(--mat-sys-outline)]\"\n >\n {{ option.description }}\n </div>\n }\n </mat-option>\n }\n </mat-autocomplete>\n\n <div matSuffix style=\"display: flex; gap: 4px\">\n @if (control.value) {\n <button mat-icon-button (click)=\"control.reset(); $event.stopPropagation()\">\n <mat-icon>clear</mat-icon>\n </button>\n }\n @if (options()?.length) {\n <button\n mat-icon-button\n (click)=\"\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\n $event.stopPropagation()\n \"\n >\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\n </button>\n }\n </div>\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n <mat-error>{{\n error ??\n ((selected$ | async)\n ? (selected$ | async)?.label + (hint() ? ' | ' + hint() : '')\n : hint())\n }}</mat-error>\n</mat-form-field>\n", styles: [".label,.description{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$1.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: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3203
3370
  }
3204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldComponent, decorators: [{
3371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldComponent, decorators: [{
3205
3372
  type: Component,
3206
- args: [{ selector: 'v-autocomplete-field', providers: createControlProviders(() => AutocompleteFieldComponent), standalone: false, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n [ngClass]=\"{ 'mat-mono': mono }\"\n [required]=\"required\"\n [type]=\"options?.length ? 'text' : type\"\n matInput\n />\n\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption>\n @for (option of filteredOptions$ | async; track option) {\n <mat-option [value]=\"option.value\">\n <div [ngClass]=\"{ 'mat-mono': mono }\" class=\"label\">{{ option.label }}</div>\n @if (option.description) {\n <div\n [ngClass]=\"{ 'mat-mono': mono }\"\n class=\"description mat-label-medium text-[var(--mat-sys-outline)]\"\n >\n {{ option.description }}\n </div>\n }\n </mat-option>\n }\n </mat-autocomplete>\n\n <div matSuffix style=\"display: flex; gap: 4px\">\n @if (control.value) {\n <button mat-icon-button (click)=\"control.reset(); $event.stopPropagation()\">\n <mat-icon>clear</mat-icon>\n </button>\n }\n @if (options?.length) {\n <button\n mat-icon-button\n (click)=\"\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\n $event.stopPropagation()\n \"\n >\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\n </button>\n }\n </div>\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{\n error ??\n ((selected$ | async) ? (selected$ | async)?.label + (hint ? ' | ' + hint : '') : hint)\n }}</mat-error>\n</mat-form-field>\n", styles: [".label,.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
3207
- }], propDecorators: { options: [{
3208
- type: Input
3209
- }], label: [{
3210
- type: Input
3211
- }], hint: [{
3373
+ args: [{ selector: 'v-autocomplete-field', providers: createControlProviders(() => AutocompleteFieldComponent), changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n [ngClass]=\"{ 'mat-mono': mono }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n (blur)=\"onBlur()\"\n />\n\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption>\n @for (option of externalSearch() ? options() : (filteredOptions$ | async); track option) {\n <mat-option [value]=\"option.value\">\n <div [ngClass]=\"{ 'mat-mono': mono }\" class=\"label\">{{ option.label }}</div>\n @if (option.description) {\n <div\n [ngClass]=\"{ 'mat-mono': mono }\"\n class=\"description mat-label-medium text-[var(--mat-sys-outline)]\"\n >\n {{ option.description }}\n </div>\n }\n </mat-option>\n }\n </mat-autocomplete>\n\n <div matSuffix style=\"display: flex; gap: 4px\">\n @if (control.value) {\n <button mat-icon-button (click)=\"control.reset(); $event.stopPropagation()\">\n <mat-icon>clear</mat-icon>\n </button>\n }\n @if (options()?.length) {\n <button\n mat-icon-button\n (click)=\"\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\n $event.stopPropagation()\n \"\n >\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\n </button>\n }\n </div>\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n <mat-error>{{\n error ??\n ((selected$ | async)\n ? (selected$ | async)?.label + (hint() ? ' | ' + hint() : '')\n : hint())\n }}</mat-error>\n</mat-form-field>\n", styles: [".label,.description{overflow:hidden;text-overflow:ellipsis}\n"] }]
3374
+ }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], externalSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalSearch", required: false }] }], searchChange: [{ type: i0.Output, args: ["searchChange"] }], requireSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "requireSelection", required: false }] }], label: [{
3212
3375
  type: Input
3213
3376
  }], error: [{
3214
3377
  type: Input
@@ -3223,15 +3386,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3223
3386
  }] } });
3224
3387
 
3225
3388
  class AutocompleteFieldModule {
3226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3227
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldModule, declarations: [AutocompleteFieldComponent], imports: [CommonModule,
3389
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3390
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldModule, declarations: [AutocompleteFieldComponent], imports: [CommonModule,
3228
3391
  MatInputModule,
3229
3392
  FormsModule,
3230
3393
  ReactiveFormsModule,
3231
3394
  MatAutocompleteModule,
3232
3395
  MatButtonModule,
3233
3396
  MatIconModule], exports: [AutocompleteFieldComponent] });
3234
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldModule, imports: [CommonModule,
3397
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldModule, imports: [CommonModule,
3235
3398
  MatInputModule,
3236
3399
  FormsModule,
3237
3400
  ReactiveFormsModule,
@@ -3239,7 +3402,7 @@ class AutocompleteFieldModule {
3239
3402
  MatButtonModule,
3240
3403
  MatIconModule] });
3241
3404
  }
3242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AutocompleteFieldModule, decorators: [{
3405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldModule, decorators: [{
3243
3406
  type: NgModule,
3244
3407
  args: [{
3245
3408
  declarations: [AutocompleteFieldComponent],
@@ -3262,10 +3425,10 @@ class ConfigServiceSuperclass {
3262
3425
  async init({ configUrl }) {
3263
3426
  this.config = await lastValueFrom(this.http.get(configUrl));
3264
3427
  }
3265
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfigServiceSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3266
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfigServiceSuperclass });
3428
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfigServiceSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3429
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfigServiceSuperclass });
3267
3430
  }
3268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ConfigServiceSuperclass, decorators: [{
3431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfigServiceSuperclass, decorators: [{
3269
3432
  type: Injectable
3270
3433
  }] });
3271
3434
 
@@ -3351,20 +3514,20 @@ class NotifyLogService {
3351
3514
  .pipe(first$1(), timeout(DEFAULT_TIMEOUT_MS))
3352
3515
  .subscribe(subscribe);
3353
3516
  }
3354
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NotifyLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3355
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NotifyLogService, providedIn: 'root' });
3517
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NotifyLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3518
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NotifyLogService, providedIn: 'root' });
3356
3519
  }
3357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NotifyLogService, decorators: [{
3520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NotifyLogService, decorators: [{
3358
3521
  type: Injectable,
3359
3522
  args: [{ providedIn: 'root' }]
3360
3523
  }] });
3361
3524
 
3362
3525
  class LogModule {
3363
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3364
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: LogModule, imports: [MatSnackBarModule] });
3365
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LogModule, providers: [NotifyLogService], imports: [MatSnackBarModule] });
3526
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3527
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: LogModule, imports: [MatSnackBarModule] });
3528
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LogModule, providers: [NotifyLogService], imports: [MatSnackBarModule] });
3366
3529
  }
3367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LogModule, decorators: [{
3530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LogModule, decorators: [{
3368
3531
  type: NgModule,
3369
3532
  args: [{
3370
3533
  imports: [MatSnackBarModule],
@@ -3568,23 +3731,23 @@ class QueryParamsService {
3568
3731
  deserializeNamespace(strParams) {
3569
3732
  return strParams ? JSON.parse(strParams) : {};
3570
3733
  }
3571
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3572
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsService, providedIn: 'root' });
3734
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3735
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsService, providedIn: 'root' });
3573
3736
  }
3574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsService, decorators: [{
3737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsService, decorators: [{
3575
3738
  type: Injectable,
3576
3739
  args: [{ providedIn: 'root' }]
3577
3740
  }] });
3578
3741
 
3579
3742
  class QueryParamsModule {
3580
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3581
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsModule });
3582
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsModule, providers: [
3743
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3744
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsModule });
3745
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsModule, providers: [
3583
3746
  { provide: QUERY_PARAMS_SERIALIZERS, useValue: DATE_QUERY_PARAMS_SERIALIZERS },
3584
3747
  QueryParamsService,
3585
3748
  ] });
3586
3749
  }
3587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: QueryParamsModule, decorators: [{
3750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: QueryParamsModule, decorators: [{
3588
3751
  type: NgModule,
3589
3752
  args: [{
3590
3753
  providers: [
@@ -3601,17 +3764,18 @@ class UrlService {
3601
3764
  router = inject(Router);
3602
3765
  url$ = this.router.events.pipe(startWith(null), map(() => this.getUrl()), filter((url) => this.router.navigated || (!!url && url !== '/')), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
3603
3766
  url = toSignal(this.url$, { initialValue: this.getUrl() });
3604
- path = computed(() => getUrlPath(this.url()), ...(ngDevMode ? [{ debugName: "path" }] : /* istanbul ignore next */ []));
3767
+ path = computed(() => getUrlPath(this.url()), /* @ts-ignore */
3768
+ ...(ngDevMode ? [{ debugName: "path" }] : /* istanbul ignore next */ []));
3605
3769
  path$ = toObservable(this.path);
3606
3770
  getUrl() {
3607
3771
  return this.router.url && this.router.url !== '/'
3608
3772
  ? this.router.url.split('?', 1)[0].split('#', 1)[0]
3609
3773
  : window.location.pathname;
3610
3774
  }
3611
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: UrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3612
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: UrlService, providedIn: 'root' });
3775
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: UrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3776
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: UrlService, providedIn: 'root' });
3613
3777
  }
3614
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: UrlService, decorators: [{
3778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: UrlService, decorators: [{
3615
3779
  type: Injectable,
3616
3780
  args: [{
3617
3781
  providedIn: 'root',
@@ -3661,12 +3825,12 @@ class ToastComponent {
3661
3825
  }, this.data.duration ?? DEFAULT_DURATION);
3662
3826
  }
3663
3827
  }
3664
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3665
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ToastComponent, isStandalone: true, selector: "v-toast", ngImport: i0, template: "<span>\n {{ message$ | async }}\n</span>\n\n@if (data.progress$ | async) {\n <mat-spinner [diameter]=\"24\" color=\"white\"></mat-spinner>\n} @else {\n <button class=\"button\" mat-button (click)=\"dismissWithAction()\">OK</button>\n}\n", styles: [":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
3828
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3829
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ToastComponent, isStandalone: true, selector: "v-toast", ngImport: i0, template: "<span>\n {{ message$ | async }}\n</span>\n\n@if (data.progress$ | async) {\n <mat-spinner [diameter]=\"24\" color=\"white\"></mat-spinner>\n} @else {\n <button class=\"button\" mat-button (click)=\"dismissWithAction()\">OK</button>\n}\n", styles: [":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3666
3830
  }
3667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToastComponent, decorators: [{
3831
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToastComponent, decorators: [{
3668
3832
  type: Component,
3669
- args: [{ selector: 'v-toast', imports: [CommonModule, MatProgressSpinnerModule, MatButtonModule], template: "<span>\n {{ message$ | async }}\n</span>\n\n@if (data.progress$ | async) {\n <mat-spinner [diameter]=\"24\" color=\"white\"></mat-spinner>\n} @else {\n <button class=\"button\" mat-button (click)=\"dismissWithAction()\">OK</button>\n}\n", styles: [":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\n"] }]
3833
+ args: [{ selector: 'v-toast', changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, MatProgressSpinnerModule, MatButtonModule], template: "<span>\n {{ message$ | async }}\n</span>\n\n@if (data.progress$ | async) {\n <mat-spinner [diameter]=\"24\" color=\"white\"></mat-spinner>\n} @else {\n <button class=\"button\" mat-button (click)=\"dismissWithAction()\">OK</button>\n}\n", styles: [":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\n"] }]
3670
3834
  }], ctorParameters: () => [] });
3671
3835
 
3672
3836
  class ToastService {
@@ -3678,10 +3842,10 @@ class ToastService {
3678
3842
  data,
3679
3843
  });
3680
3844
  }
3681
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3682
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToastService, providedIn: 'root' });
3845
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3846
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToastService, providedIn: 'root' });
3683
3847
  }
3684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ToastService, decorators: [{
3848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToastService, decorators: [{
3685
3849
  type: Injectable,
3686
3850
  args: [{
3687
3851
  providedIn: 'root',
@@ -3691,8 +3855,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3691
3855
  class ThemeService {
3692
3856
  storageKey = 'theme';
3693
3857
  isSystemDark = toSignal(fromEvent(window.matchMedia('(prefers-color-scheme: dark)'), 'change').pipe(map$1((event) => event.matches)), { initialValue: window.matchMedia('(prefers-color-scheme: dark)').matches });
3694
- theme = signal(this.getStoredTheme(), ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
3695
- isDark = computed(() => this.theme() === 'dark' || (this.theme() === 'system' && this.isSystemDark()), ...(ngDevMode ? [{ debugName: "isDark" }] : /* istanbul ignore next */ []));
3858
+ theme = signal(this.getStoredTheme(), /* @ts-ignore */
3859
+ ...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
3860
+ isDark = computed(() => this.theme() === 'dark' || (this.theme() === 'system' && this.isSystemDark()), /* @ts-ignore */
3861
+ ...(ngDevMode ? [{ debugName: "isDark" }] : /* istanbul ignore next */ []));
3696
3862
  constructor() {
3697
3863
  effect(() => this.updateTheme(this.isDark()));
3698
3864
  }
@@ -3712,18 +3878,21 @@ class ThemeService {
3712
3878
  document.body.classList.remove('dark-mode');
3713
3879
  }
3714
3880
  }
3715
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3716
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, providedIn: 'root' });
3881
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3882
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ThemeService, providedIn: 'root' });
3717
3883
  }
3718
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ThemeService, decorators: [{
3884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ThemeService, decorators: [{
3719
3885
  type: Injectable,
3720
3886
  args: [{ providedIn: 'root' }]
3721
3887
  }], ctorParameters: () => [] });
3722
3888
 
3723
3889
  class AppModeService {
3724
- mode = signal(this.getInitialMode(), ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
3725
- isSimple = computed(() => this.mode() === 'simple', ...(ngDevMode ? [{ debugName: "isSimple" }] : /* istanbul ignore next */ []));
3726
- isAdvanced = computed(() => this.mode() === 'advanced', ...(ngDevMode ? [{ debugName: "isAdvanced" }] : /* istanbul ignore next */ []));
3890
+ mode = signal(this.getInitialMode(), /* @ts-ignore */
3891
+ ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
3892
+ isSimple = computed(() => this.mode() === 'simple', /* @ts-ignore */
3893
+ ...(ngDevMode ? [{ debugName: "isSimple" }] : /* istanbul ignore next */ []));
3894
+ isAdvanced = computed(() => this.mode() === 'advanced', /* @ts-ignore */
3895
+ ...(ngDevMode ? [{ debugName: "isAdvanced" }] : /* istanbul ignore next */ []));
3727
3896
  constructor() {
3728
3897
  effect(() => {
3729
3898
  localStorage.setItem('app-mode', this.mode());
@@ -3736,10 +3905,10 @@ class AppModeService {
3736
3905
  setMode(mode) {
3737
3906
  this.mode.set(mode);
3738
3907
  }
3739
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AppModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3740
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AppModeService, providedIn: 'root' });
3908
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AppModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3909
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AppModeService, providedIn: 'root' });
3741
3910
  }
3742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AppModeService, decorators: [{
3911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AppModeService, decorators: [{
3743
3912
  type: Injectable,
3744
3913
  args: [{
3745
3914
  providedIn: 'root',
@@ -3769,12 +3938,12 @@ class FileUploadComponent {
3769
3938
  this.file = file;
3770
3939
  this.upload.emit(this.file);
3771
3940
  }
3772
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3773
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: FileUploadComponent, isStandalone: false, selector: "v-file-upload", inputs: { label: "label", extensions: "extensions" }, outputs: { upload: "upload" }, ngImport: i0, template: "<div class=\"wrapper\">\n <button mat-button type=\"button\" (click)=\"fileInput.click()\">\n {{ label ?? 'Choose File' }}\n </button>\n\n <div class=\"mat-body-medium text-[var(--mat-sys-outline)] m-0 file-name\">\n {{ file?.name }}\n </div>\n</div>\n\n<input #fileInput hidden type=\"file\" (change)=\"loadFile($event)\" />\n", styles: [".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\n"], dependencies: [{ kind: "component", type: i1$2.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"] }] });
3941
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3942
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: FileUploadComponent, isStandalone: false, selector: "v-file-upload", inputs: { label: "label", extensions: "extensions" }, outputs: { upload: "upload" }, ngImport: i0, template: "<div class=\"wrapper\">\n <button mat-button type=\"button\" (click)=\"fileInput.click()\">\n {{ label ?? 'Choose File' }}\n </button>\n\n <div class=\"mat-body-medium text-[var(--mat-sys-outline)] m-0 file-name\">\n {{ file?.name }}\n </div>\n</div>\n\n<input #fileInput hidden type=\"file\" (change)=\"loadFile($event)\" />\n", styles: [".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\n"], dependencies: [{ kind: "component", type: i1$2.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.Eager });
3774
3943
  }
3775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadComponent, decorators: [{
3944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FileUploadComponent, decorators: [{
3776
3945
  type: Component,
3777
- args: [{ selector: 'v-file-upload', standalone: false, template: "<div class=\"wrapper\">\n <button mat-button type=\"button\" (click)=\"fileInput.click()\">\n {{ label ?? 'Choose File' }}\n </button>\n\n <div class=\"mat-body-medium text-[var(--mat-sys-outline)] m-0 file-name\">\n {{ file?.name }}\n </div>\n</div>\n\n<input #fileInput hidden type=\"file\" (change)=\"loadFile($event)\" />\n", styles: [".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\n"] }]
3946
+ args: [{ selector: 'v-file-upload', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div class=\"wrapper\">\n <button mat-button type=\"button\" (click)=\"fileInput.click()\">\n {{ label ?? 'Choose File' }}\n </button>\n\n <div class=\"mat-body-medium text-[var(--mat-sys-outline)] m-0 file-name\">\n {{ file?.name }}\n </div>\n</div>\n\n<input #fileInput hidden type=\"file\" (change)=\"loadFile($event)\" />\n", styles: [".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\n"] }]
3778
3947
  }], propDecorators: { label: [{
3779
3948
  type: Input
3780
3949
  }], extensions: [{
@@ -3784,11 +3953,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3784
3953
  }] } });
3785
3954
 
3786
3955
  class FileUploadModule {
3787
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3788
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule, MatButtonModule], exports: [FileUploadComponent] });
3789
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadModule, imports: [CommonModule, MatButtonModule] });
3956
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3957
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule, MatButtonModule], exports: [FileUploadComponent] });
3958
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FileUploadModule, imports: [CommonModule, MatButtonModule] });
3790
3959
  }
3791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: FileUploadModule, decorators: [{
3960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FileUploadModule, decorators: [{
3792
3961
  type: NgModule,
3793
3962
  args: [{
3794
3963
  declarations: [FileUploadComponent],
@@ -3856,22 +4025,22 @@ class DatetimeFieldComponent extends FormComponentSuperclass$1 {
3856
4025
  emitValue() {
3857
4026
  return this.emitOutgoingValue(getNoTimeZoneIsoString(this.datetime));
3858
4027
  }
3859
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3860
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: DatetimeFieldComponent, isStandalone: false, selector: "v-datetime-field", inputs: { label: "label", required: ["required", "required", booleanAttribute], hint: "hint" }, providers: [
4028
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4029
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: DatetimeFieldComponent, isStandalone: false, selector: "v-datetime-field", inputs: { label: "label", required: ["required", "required", booleanAttribute], hint: "hint" }, providers: [
3861
4030
  ...createControlProviders(() => DatetimeFieldComponent),
3862
4031
  { provide: MAT_DATE_LOCALE, useValue: enGB },
3863
4032
  { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
3864
4033
  { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },
3865
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\n <mat-form-field class=\"date\">\n <mat-label>\n {{ label }}\n </mat-label>\n <mat-hint>{{ hint }}</mat-hint>\n <input\n [matDatepicker]=\"picker\"\n [required]=\"required\"\n [value]=\"datetime\"\n matInput\n (dateInput)=\"dateChanged($event)\"\n />\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n @if (datetime) {\n <mat-form-field class=\"time\">\n <input [value]=\"time\" matInput type=\"time\" (input)=\"timeChanged($event)\" />\n </mat-form-field>\n }\n</div>\n", styles: [".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\n"], dependencies: [{ kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i2$2.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: i1$5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i1$5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] });
4034
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"wrapper\">\n <mat-form-field class=\"date\">\n <mat-label>\n {{ label }}\n </mat-label>\n <mat-hint>{{ hint }}</mat-hint>\n <input\n [matDatepicker]=\"picker\"\n [required]=\"required\"\n [value]=\"datetime\"\n matInput\n (dateInput)=\"dateChanged($event)\"\n />\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n @if (datetime) {\n <mat-form-field class=\"time\">\n <input [value]=\"time\" matInput type=\"time\" (input)=\"timeChanged($event)\" />\n </mat-form-field>\n }\n</div>\n", styles: [".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\n"], dependencies: [{ kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i2$2.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: i1$5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i1$5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3866
4035
  }
3867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldComponent, decorators: [{
4036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldComponent, decorators: [{
3868
4037
  type: Component,
3869
4038
  args: [{ selector: 'v-datetime-field', providers: [
3870
4039
  ...createControlProviders(() => DatetimeFieldComponent),
3871
4040
  { provide: MAT_DATE_LOCALE, useValue: enGB },
3872
4041
  { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
3873
4042
  { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },
3874
- ], standalone: false, template: "<div class=\"wrapper\">\n <mat-form-field class=\"date\">\n <mat-label>\n {{ label }}\n </mat-label>\n <mat-hint>{{ hint }}</mat-hint>\n <input\n [matDatepicker]=\"picker\"\n [required]=\"required\"\n [value]=\"datetime\"\n matInput\n (dateInput)=\"dateChanged($event)\"\n />\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n @if (datetime) {\n <mat-form-field class=\"time\">\n <input [value]=\"time\" matInput type=\"time\" (input)=\"timeChanged($event)\" />\n </mat-form-field>\n }\n</div>\n", styles: [".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\n"] }]
4043
+ ], changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div class=\"wrapper\">\n <mat-form-field class=\"date\">\n <mat-label>\n {{ label }}\n </mat-label>\n <mat-hint>{{ hint }}</mat-hint>\n <input\n [matDatepicker]=\"picker\"\n [required]=\"required\"\n [value]=\"datetime\"\n matInput\n (dateInput)=\"dateChanged($event)\"\n />\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n @if (datetime) {\n <mat-form-field class=\"time\">\n <input [value]=\"time\" matInput type=\"time\" (input)=\"timeChanged($event)\" />\n </mat-form-field>\n }\n</div>\n", styles: [".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\n"] }]
3875
4044
  }], propDecorators: { label: [{
3876
4045
  type: Input
3877
4046
  }], required: [{
@@ -3882,11 +4051,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3882
4051
  }] } });
3883
4052
 
3884
4053
  class DatetimeFieldModule {
3885
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3886
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldModule, declarations: [DatetimeFieldComponent], imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule], exports: [DatetimeFieldComponent] });
3887
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldModule, imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule] });
4054
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4055
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldModule, declarations: [DatetimeFieldComponent], imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule], exports: [DatetimeFieldComponent] });
4056
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldModule, imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule] });
3888
4057
  }
3889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: DatetimeFieldModule, decorators: [{
4058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DatetimeFieldModule, decorators: [{
3890
4059
  type: NgModule,
3891
4060
  args: [{
3892
4061
  declarations: [DatetimeFieldComponent],
@@ -3922,7 +4091,6 @@ class SwitchButtonComponent extends FormControlSuperclass {
3922
4091
  this.control.setValue(this.getValue(this.nextIndex));
3923
4092
  }
3924
4093
  ngOnChanges(changes) {
3925
- super.ngOnChanges(changes);
3926
4094
  if (changes.states && this.states.length) {
3927
4095
  if (!isNil(this.states?.[0]?.value)) {
3928
4096
  this.hasChangeValue = true;
@@ -3940,22 +4108,22 @@ class SwitchButtonComponent extends FormControlSuperclass {
3940
4108
  getValue(index) {
3941
4109
  return this.hasChangeValue ? this.states[index]?.value : index;
3942
4110
  }
3943
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3944
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: SwitchButtonComponent, isStandalone: false, selector: "v-switch-button", inputs: { states: "states" }, providers: createControlProviders(() => SwitchButtonComponent), usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button [matTooltip]=\"tooltip\" class=\"button\" mat-icon-button (click)=\"change()\">\n <mat-icon class=\"icon\">{{ state?.icon }}</mat-icon>\n</button>\n", dependencies: [{ kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
4111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: SwitchButtonComponent, isStandalone: false, selector: "v-switch-button", inputs: { states: "states" }, providers: createControlProviders(() => SwitchButtonComponent), usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button [matTooltip]=\"tooltip\" class=\"button\" mat-icon-button (click)=\"change()\">\n <mat-icon class=\"icon\">{{ state?.icon }}</mat-icon>\n</button>\n", dependencies: [{ kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
3945
4113
  }
3946
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonComponent, decorators: [{
4114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonComponent, decorators: [{
3947
4115
  type: Component,
3948
- args: [{ selector: 'v-switch-button', providers: createControlProviders(() => SwitchButtonComponent), standalone: false, template: "<button [matTooltip]=\"tooltip\" class=\"button\" mat-icon-button (click)=\"change()\">\n <mat-icon class=\"icon\">{{ state?.icon }}</mat-icon>\n</button>\n" }]
4116
+ args: [{ selector: 'v-switch-button', providers: createControlProviders(() => SwitchButtonComponent), changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<button [matTooltip]=\"tooltip\" class=\"button\" mat-icon-button (click)=\"change()\">\n <mat-icon class=\"icon\">{{ state?.icon }}</mat-icon>\n</button>\n" }]
3949
4117
  }], propDecorators: { states: [{
3950
4118
  type: Input
3951
4119
  }] } });
3952
4120
 
3953
4121
  class SwitchButtonModule {
3954
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3955
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonModule, declarations: [SwitchButtonComponent], imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule], exports: [SwitchButtonComponent] });
3956
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonModule, imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule] });
4122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4123
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonModule, declarations: [SwitchButtonComponent], imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule], exports: [SwitchButtonComponent] });
4124
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonModule, imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule] });
3957
4125
  }
3958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: SwitchButtonModule, decorators: [{
4126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SwitchButtonModule, decorators: [{
3959
4127
  type: NgModule,
3960
4128
  args: [{
3961
4129
  declarations: [SwitchButtonComponent],
@@ -3966,7 +4134,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
3966
4134
 
3967
4135
  function isActiveLink(link, url) {
3968
4136
  return (!isNil$1(url) &&
3969
- (url.startsWith(link.url || '') || (!!link.checkUrl && url.startsWith(link.checkUrl || ''))));
4137
+ ((Boolean(link.url) && url.startsWith(link.url)) ||
4138
+ (Boolean(link.checkUrl) && url.startsWith(link.checkUrl))));
3970
4139
  }
3971
4140
  function getActiveLinks(links, url) {
3972
4141
  return links.reduce((acc, link) => {
@@ -3979,7 +4148,8 @@ function getActiveLinks(links, url) {
3979
4148
  class NavComponent {
3980
4149
  urlService = inject(UrlService);
3981
4150
  injector = inject(Injector);
3982
- links = input([], ...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
4151
+ links = input([], /* @ts-ignore */
4152
+ ...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
3983
4153
  viewedLinks$ = combineLatest([toObservable(this.links), this.urlService.url$]).pipe(switchMap(([links, url]) => this.getViewedLinks(links, url)), shareReplay$1({ refCount: true, bufferSize: 1 }));
3984
4154
  activeLinks$ = this.viewedLinks$.pipe(combineLatestWith(this.urlService.url$), map$1(([links, url]) => getActiveLinks(links, url)), shareReplay$1({ refCount: true, bufferSize: 1 }));
3985
4155
  getViewedLinks(links, url) {
@@ -3993,12 +4163,12 @@ class NavComponent {
3993
4163
  }))
3994
4164
  .filter((link) => !link.isHidden)))));
3995
4165
  }
3996
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3997
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: NavComponent, isStandalone: true, selector: "v-nav", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"v-nav gap-3\">\n @let activeLinks = (activeLinks$ | async) || [];\n\n @for (linkGroup of viewedLinks$ | async; track linkGroup; let index = $index) {\n @if (index > 0) {\n <mat-divider></mat-divider>\n }\n <div class=\"flex flex-col\">\n @for (link of linkGroup.children; track link) {\n @let isActive = activeLinks.includes(link);\n\n @if (link.children) {\n <button\n [ngClass]=\"{\n '!text-[var(--mat-sys-on-surface-variant)]': !isActive,\n }\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-end mx-2 !px-4 !flex-row-reverse\"\n matButton\n >\n {{ link.label }}\n <mat-icon class=\"pl-2\">{{\n link.children.length\n ? isActive\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_up'\n : 'keyboard_arrow_right'\n }}</mat-icon>\n </button>\n } @else {\n <button\n [matButton]=\"isActive ? 'tonal' : 'text'\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ link.label }}\n </button>\n }\n @if (isActive && link.children?.length) {\n <div class=\"pl-2 flex flex-col\">\n @for (childLink of link.children; track childLink) {\n <button\n [matButton]=\"activeLinks.includes(childLink) ? 'tonal' : 'text'\"\n [routerLink]=\"childLink.url\"\n [title]=\"childLink.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ childLink.label }}\n </button>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
4166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4167
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: NavComponent, isStandalone: true, selector: "v-nav", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"v-nav gap-3\">\n @let activeLinks = (activeLinks$ | async) || [];\n\n @for (linkGroup of viewedLinks$ | async; track linkGroup; let index = $index) {\n @if (index > 0) {\n <mat-divider></mat-divider>\n }\n <div class=\"flex flex-col\">\n @for (link of linkGroup.children; track link) {\n @let isActive = activeLinks.includes(link);\n\n @if (link.divider) {\n <mat-divider></mat-divider>\n } @else if (link.children) {\n <button\n [ngClass]=\"{\n '!text-[var(--mat-sys-on-surface-variant)]': !isActive,\n }\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-end mx-2 !px-4 !flex-row-reverse\"\n matButton\n >\n {{ link.label }}\n <mat-icon class=\"pl-2\">{{\n link.children.length\n ? isActive\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_up'\n : 'keyboard_arrow_right'\n }}</mat-icon>\n </button>\n } @else {\n <button\n [matButton]=\"isActive ? 'tonal' : 'text'\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ link.label }}\n </button>\n }\n @if (isActive && link.children?.length) {\n <div\n class=\"flex flex-col border-l-1 border-[var(--mat-sys-outline-variant)] ml-6 mb-2\"\n >\n @for (childLink of link.children; track childLink) {\n @if (childLink.divider) {\n <mat-divider></mat-divider>\n } @else {\n <button\n [matButton]=\"activeLinks.includes(childLink) ? 'tonal' : 'text'\"\n [routerLink]=\"childLink.url\"\n [title]=\"childLink.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ childLink.label }}\n </button>\n }\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
3998
4168
  }
3999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: NavComponent, decorators: [{
4169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NavComponent, decorators: [{
4000
4170
  type: Component,
4001
- args: [{ selector: 'v-nav', imports: [RouterLink, MatButtonModule, MatDividerModule, CommonModule, MatIconModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"v-nav gap-3\">\n @let activeLinks = (activeLinks$ | async) || [];\n\n @for (linkGroup of viewedLinks$ | async; track linkGroup; let index = $index) {\n @if (index > 0) {\n <mat-divider></mat-divider>\n }\n <div class=\"flex flex-col\">\n @for (link of linkGroup.children; track link) {\n @let isActive = activeLinks.includes(link);\n\n @if (link.children) {\n <button\n [ngClass]=\"{\n '!text-[var(--mat-sys-on-surface-variant)]': !isActive,\n }\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-end mx-2 !px-4 !flex-row-reverse\"\n matButton\n >\n {{ link.label }}\n <mat-icon class=\"pl-2\">{{\n link.children.length\n ? isActive\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_up'\n : 'keyboard_arrow_right'\n }}</mat-icon>\n </button>\n } @else {\n <button\n [matButton]=\"isActive ? 'tonal' : 'text'\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ link.label }}\n </button>\n }\n @if (isActive && link.children?.length) {\n <div class=\"pl-2 flex flex-col\">\n @for (childLink of link.children; track childLink) {\n <button\n [matButton]=\"activeLinks.includes(childLink) ? 'tonal' : 'text'\"\n [routerLink]=\"childLink.url\"\n [title]=\"childLink.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ childLink.label }}\n </button>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\n"] }]
4171
+ args: [{ selector: 'v-nav', imports: [RouterLink, MatButtonModule, MatDividerModule, CommonModule, MatIconModule], changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, template: "<div class=\"v-nav gap-3\">\n @let activeLinks = (activeLinks$ | async) || [];\n\n @for (linkGroup of viewedLinks$ | async; track linkGroup; let index = $index) {\n @if (index > 0) {\n <mat-divider></mat-divider>\n }\n <div class=\"flex flex-col\">\n @for (link of linkGroup.children; track link) {\n @let isActive = activeLinks.includes(link);\n\n @if (link.divider) {\n <mat-divider></mat-divider>\n } @else if (link.children) {\n <button\n [ngClass]=\"{\n '!text-[var(--mat-sys-on-surface-variant)]': !isActive,\n }\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-end mx-2 !px-4 !flex-row-reverse\"\n matButton\n >\n {{ link.label }}\n <mat-icon class=\"pl-2\">{{\n link.children.length\n ? isActive\n ? 'keyboard_arrow_down'\n : 'keyboard_arrow_up'\n : 'keyboard_arrow_right'\n }}</mat-icon>\n </button>\n } @else {\n <button\n [matButton]=\"isActive ? 'tonal' : 'text'\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ link.label }}\n </button>\n }\n @if (isActive && link.children?.length) {\n <div\n class=\"flex flex-col border-l-1 border-[var(--mat-sys-outline-variant)] ml-6 mb-2\"\n >\n @for (childLink of link.children; track childLink) {\n @if (childLink.divider) {\n <mat-divider></mat-divider>\n } @else {\n <button\n [matButton]=\"activeLinks.includes(childLink) ? 'tonal' : 'text'\"\n [routerLink]=\"childLink.url\"\n [title]=\"childLink.label\"\n class=\"!justify-start mx-2 !px-4 !text-[var(--mat-sys-on-surface-variant)]\"\n >\n {{ childLink.label }}\n </button>\n }\n }\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: [".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\n"] }]
4002
4172
  }], propDecorators: { links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: false }] }] } });
4003
4173
 
4004
4174
  class CmdkComponent {
@@ -4023,10 +4193,10 @@ class CmdkComponent {
4023
4193
  }
4024
4194
  this.router.navigate([option.url]);
4025
4195
  }
4026
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4027
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CmdkComponent, isStandalone: true, selector: "v-cmdk", ngImport: i0, template: "<div class=\"p-8 overflow-auto h-full flex flex-col\">\n <div>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Search</mat-label>\n <input [formControl]=\"searchControl\" matInput />\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n\n <mat-list class=\"overflow-y-auto\">\n @let options = options$ | async;\n\n @if (options?.length) {\n @for (option of options; track $index) {\n <mat-list-item\n [title]=\"option.tooltip\"\n class=\"!cursor-pointer\"\n (click)=\"action(option)\"\n >\n <mat-icon matListItemIcon>{{ option.icon || 'article' }}</mat-icon>\n <span\n [vHighlightSearch]=\"searchControl.value\"\n [vHighlightText]=\"option.label\"\n matListItemTitle\n vHighlight\n ></span>\n <span\n [vHighlightSearch]=\"searchControl.value\"\n [vHighlightText]=\"option.description\"\n matListItemLine\n vHighlight\n ></span>\n </mat-list-item>\n }\n } @else if (searchControl.value) {\n @if (inProgress$ | async) {\n <mat-list-item>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-list-item>\n } @else {\n <mat-list-item>\n <mat-icon matListItemIcon>list</mat-icon>\n <span matListItemTitle>No results found</span>\n </mat-list-item>\n }\n } @else {\n <mat-list-item>\n <mat-icon matListItemIcon>help</mat-icon>\n <span matListItemTitle>Start typing to search</span>\n </mat-list-item>\n }\n </mat-list>\n</div>\n", styles: ["::ng-deep .cmdk-backdrop{-webkit-backdrop-filter:blur(6px) saturate(80%) brightness(80%);backdrop-filter:blur(6px) saturate(80%) brightness(80%)}::ng-deep .cmdk-panel{display:block;border-radius:12px;max-height:calc(80vh - 32px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: HighlightDirective, selector: "[vHighlight]", inputs: ["vHighlightText", "vHighlightSearch"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4197
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: CmdkComponent, isStandalone: true, selector: "v-cmdk", ngImport: i0, template: "<div class=\"p-8 overflow-auto h-full flex flex-col\">\n <div>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Search</mat-label>\n <input [formControl]=\"searchControl\" matInput />\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n\n <mat-list class=\"overflow-y-auto\">\n @let options = options$ | async;\n\n @if (options?.length) {\n @for (option of options; track $index) {\n <mat-list-item\n [title]=\"option.tooltip\"\n class=\"!cursor-pointer\"\n (click)=\"action(option)\"\n >\n <mat-icon matListItemIcon>{{ option.icon || 'article' }}</mat-icon>\n <span\n [vHighlightSearch]=\"searchControl.value\"\n [vHighlightText]=\"option.label\"\n matListItemTitle\n vHighlight\n ></span>\n <span\n [vHighlightSearch]=\"searchControl.value\"\n [vHighlightText]=\"option.description\"\n matListItemLine\n vHighlight\n ></span>\n </mat-list-item>\n }\n } @else if (searchControl.value) {\n @if (inProgress$ | async) {\n <mat-list-item>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-list-item>\n } @else {\n <mat-list-item>\n <mat-icon matListItemIcon>list</mat-icon>\n <span matListItemTitle>No results found</span>\n </mat-list-item>\n }\n } @else {\n <mat-list-item>\n <mat-icon matListItemIcon>help</mat-icon>\n <span matListItemTitle>Start typing to search</span>\n </mat-list-item>\n }\n </mat-list>\n</div>\n", styles: ["::ng-deep .cmdk-backdrop{-webkit-backdrop-filter:blur(6px) saturate(80%) brightness(80%);backdrop-filter:blur(6px) saturate(80%) brightness(80%)}::ng-deep .cmdk-panel{display:block;border-radius:12px;max-height:calc(80vh - 32px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2$5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2$5.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2$5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i2$5.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: HighlightDirective, selector: "[vHighlight]", inputs: ["vHighlightText", "vHighlightSearch"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4028
4198
  }
4029
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkComponent, decorators: [{
4199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkComponent, decorators: [{
4030
4200
  type: Component,
4031
4201
  args: [{ selector: 'v-cmdk', imports: [
4032
4202
  MatDialogModule,
@@ -4047,7 +4217,8 @@ class CmdkService {
4047
4217
  dialog = inject(MatDialog);
4048
4218
  dr = inject(DestroyRef);
4049
4219
  injector = inject(Injector);
4050
- config = signal(null, ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
4220
+ config = signal(null, /* @ts-ignore */
4221
+ ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
4051
4222
  search$ = new Subject();
4052
4223
  inProgress$ = toObservable(this.config).pipe(switchMap((config) => config?.progress
4053
4224
  ? toObservable(config.progress, { injector: this.injector })
@@ -4097,10 +4268,10 @@ class CmdkService {
4097
4268
  this.toggle();
4098
4269
  }
4099
4270
  };
4100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4101
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkService, providedIn: 'root' });
4271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4272
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkService, providedIn: 'root' });
4102
4273
  }
4103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkService, decorators: [{
4274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkService, decorators: [{
4104
4275
  type: Injectable,
4105
4276
  args: [{
4106
4277
  providedIn: 'root',
@@ -4110,8 +4281,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
4110
4281
  class CmdkButtonComponent {
4111
4282
  cmdkService = inject(CmdkService);
4112
4283
  searchChange = output();
4113
- options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
4114
- progress = input(false, ...(ngDevMode ? [{ debugName: "progress" }] : /* istanbul ignore next */ []));
4284
+ options = input([], /* @ts-ignore */
4285
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
4286
+ progress = input(false, /* @ts-ignore */
4287
+ ...(ngDevMode ? [{ debugName: "progress" }] : /* istanbul ignore next */ []));
4115
4288
  searchKeys = [navigator.platform.toUpperCase().includes('MAC') ? '⌘' : 'Ctrl', 'K'];
4116
4289
  ngOnInit() {
4117
4290
  this.cmdkService.init({
@@ -4122,8 +4295,8 @@ class CmdkButtonComponent {
4122
4295
  progress: this.progress,
4123
4296
  });
4124
4297
  }
4125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CmdkButtonComponent, isStandalone: true, selector: "v-cmdk-button", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: `
4298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4299
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: CmdkButtonComponent, isStandalone: true, selector: "v-cmdk-button", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchChange: "searchChange" }, ngImport: i0, template: `
4127
4300
  <button
4128
4301
  class="!text-[var(--mat-sys-outline)] !shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.1),inset_0_2px_2px_0_rgba(0,0,0,0.06)]"
4129
4302
  matButton
@@ -4143,13 +4316,14 @@ class CmdkButtonComponent {
4143
4316
  </div>
4144
4317
  </div>
4145
4318
  </button>
4146
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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"] }] });
4319
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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.Eager });
4147
4320
  }
4148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkButtonComponent, decorators: [{
4321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkButtonComponent, decorators: [{
4149
4322
  type: Component,
4150
4323
  args: [{
4151
4324
  selector: 'v-cmdk-button',
4152
4325
  imports: [MatIconModule, NgClass, MatButtonModule],
4326
+ changeDetection: ChangeDetectionStrategy.Eager,
4153
4327
  template: `
4154
4328
  <button
4155
4329
  class="!text-[var(--mat-sys-outline)] !shadow-[inset_0_2px_4px_0_rgba(0,0,0,0.1),inset_0_2px_2px_0_rgba(0,0,0,0.06)]"
@@ -4175,11 +4349,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
4175
4349
  }], propDecorators: { searchChange: [{ type: i0.Output, args: ["searchChange"] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
4176
4350
 
4177
4351
  class CmdkModule {
4178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4179
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: CmdkModule, imports: [CmdkButtonComponent], exports: [CmdkButtonComponent] });
4180
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkModule, imports: [CmdkButtonComponent] });
4352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4353
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: CmdkModule, imports: [CmdkButtonComponent], exports: [CmdkButtonComponent] });
4354
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkModule, imports: [CmdkButtonComponent] });
4181
4355
  }
4182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CmdkModule, decorators: [{
4356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkModule, decorators: [{
4183
4357
  type: NgModule,
4184
4358
  args: [{
4185
4359
  imports: [CmdkButtonComponent],
@@ -4196,10 +4370,10 @@ class AmountCurrencyPipe {
4196
4370
  }
4197
4371
  return amount;
4198
4372
  }
4199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AmountCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4200
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: AmountCurrencyPipe, isStandalone: true, name: "amountCurrency" });
4373
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AmountCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4374
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: AmountCurrencyPipe, isStandalone: true, name: "amountCurrency" });
4201
4375
  }
4202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: AmountCurrencyPipe, decorators: [{
4376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AmountCurrencyPipe, decorators: [{
4203
4377
  type: Pipe,
4204
4378
  args: [{
4205
4379
  standalone: true,
@@ -4211,10 +4385,10 @@ class EnumKeyValuesPipe {
4211
4385
  transform(value) {
4212
4386
  return getEnumKeyValues(value);
4213
4387
  }
4214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4215
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyValuesPipe, isStandalone: true, name: "enumKeyValues" });
4388
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4389
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyValuesPipe, isStandalone: true, name: "enumKeyValues" });
4216
4390
  }
4217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyValuesPipe, decorators: [{
4391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyValuesPipe, decorators: [{
4218
4392
  type: Pipe,
4219
4393
  args: [{
4220
4394
  standalone: true,
@@ -4226,10 +4400,10 @@ class EnumKeyPipe {
4226
4400
  transform(value, enumObj) {
4227
4401
  return !isNil(value) && enumObj ? getEnumKey(enumObj, value) : '';
4228
4402
  }
4229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4230
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyPipe, isStandalone: true, name: "enumKey" });
4403
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4404
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyPipe, isStandalone: true, name: "enumKey" });
4231
4405
  }
4232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeyPipe, decorators: [{
4406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeyPipe, decorators: [{
4233
4407
  type: Pipe,
4234
4408
  args: [{
4235
4409
  standalone: true,
@@ -4241,10 +4415,10 @@ class EnumKeysPipe {
4241
4415
  transform(value) {
4242
4416
  return getEnumKeys(value);
4243
4417
  }
4244
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4245
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: EnumKeysPipe, isStandalone: true, name: "enumKeys" });
4418
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4419
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: EnumKeysPipe, isStandalone: true, name: "enumKeys" });
4246
4420
  }
4247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: EnumKeysPipe, decorators: [{
4421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EnumKeysPipe, decorators: [{
4248
4422
  type: Pipe,
4249
4423
  args: [{
4250
4424
  standalone: true,
@@ -4259,10 +4433,10 @@ class HumanizedDurationPipe extends AsyncTransform {
4259
4433
  transform(...params) {
4260
4434
  return super.asyncTransform(params);
4261
4435
  }
4262
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HumanizedDurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
4263
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: HumanizedDurationPipe, isStandalone: true, name: "humanizedDuration", pure: false });
4436
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HumanizedDurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
4437
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HumanizedDurationPipe, isStandalone: true, name: "humanizedDuration", pure: false });
4264
4438
  }
4265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: HumanizedDurationPipe, decorators: [{
4439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HumanizedDurationPipe, decorators: [{
4266
4440
  type: Pipe,
4267
4441
  args: [{
4268
4442
  standalone: true,
@@ -4275,10 +4449,10 @@ class InlineJsonPipe {
4275
4449
  transform(value, maxReadableLever = 1) {
4276
4450
  return inlineJson(value, maxReadableLever === false ? Infinity : maxReadableLever);
4277
4451
  }
4278
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InlineJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4279
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: InlineJsonPipe, isStandalone: false, name: "inlineJson" });
4452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InlineJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4453
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: InlineJsonPipe, isStandalone: false, name: "inlineJson" });
4280
4454
  }
4281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: InlineJsonPipe, decorators: [{
4455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InlineJsonPipe, decorators: [{
4282
4456
  type: Pipe,
4283
4457
  args: [{
4284
4458
  name: 'inlineJson',
@@ -4302,10 +4476,10 @@ class VSelectPipe {
4302
4476
  ngOnDestroy() {
4303
4477
  this.asyncPipe?.ngOnDestroy?.();
4304
4478
  }
4305
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4306
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: VSelectPipe, isStandalone: true, name: "vSelect", pure: false });
4479
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
4480
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: VSelectPipe, isStandalone: true, name: "vSelect", pure: false });
4307
4481
  }
4308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: VSelectPipe, decorators: [{
4482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VSelectPipe, decorators: [{
4309
4483
  type: Pipe,
4310
4484
  args: [{
4311
4485
  standalone: true,
@@ -4315,8 +4489,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
4315
4489
  }] });
4316
4490
 
4317
4491
  class PipesModule {
4318
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4319
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: PipesModule, declarations: [InlineJsonPipe], imports: [CommonModule,
4492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4493
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: PipesModule, declarations: [InlineJsonPipe], imports: [CommonModule,
4320
4494
  EnumKeyPipe,
4321
4495
  EnumKeysPipe,
4322
4496
  EnumKeyValuesPipe,
@@ -4329,9 +4503,9 @@ class PipesModule {
4329
4503
  AmountCurrencyPipe,
4330
4504
  VSelectPipe,
4331
4505
  HumanizedDurationPipe] });
4332
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: PipesModule, imports: [CommonModule] });
4506
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: PipesModule, imports: [CommonModule] });
4333
4507
  }
4334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: PipesModule, decorators: [{
4508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: PipesModule, decorators: [{
4335
4509
  type: NgModule,
4336
4510
  args: [{
4337
4511
  declarations: [InlineJsonPipe],