@vality/matez 22.0.1-ccdb67f.0 → 22.0.1-d9bef0b.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.
- package/fesm2022/vality-matez.mjs +286 -238
- package/fesm2022/vality-matez.mjs.map +1 -1
- package/package.json +1 -1
- package/types/vality-matez.d.ts +42 -11
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1$1 from '@angular/common';
|
|
2
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,
|
|
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$
|
|
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';
|
|
@@ -27,13 +27,23 @@ import { MatTableDataSource, MatTable, MatColumnDef, MatCellDef, MatHeaderCellDe
|
|
|
27
27
|
import * as i3$1 from '@angular/material/tooltip';
|
|
28
28
|
import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
|
|
29
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 { form, required, disabled, FormField, transformedValue } 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$
|
|
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';
|
|
@@ -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;
|
|
@@ -173,16 +176,18 @@ class DialogComponent {
|
|
|
173
176
|
this.cancel.emit();
|
|
174
177
|
}
|
|
175
178
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
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
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', 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 </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 }]
|
|
@@ -346,6 +351,204 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
346
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() || ' '.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"] }]
|
|
347
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 }] }] } });
|
|
348
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
|
+
control = form(this.value, (path) => {
|
|
362
|
+
required(path, { when: () => this.required() });
|
|
363
|
+
disabled(path, () => this.disabled());
|
|
364
|
+
});
|
|
365
|
+
label;
|
|
366
|
+
placeholder = '';
|
|
367
|
+
type = 'string';
|
|
368
|
+
appearance;
|
|
369
|
+
size;
|
|
370
|
+
cleanButton = input(false, { ...(ngDevMode ? { debugName: "cleanButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
371
|
+
icon = input(/* @ts-ignore */
|
|
372
|
+
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
373
|
+
hintText = input(/* @ts-ignore */
|
|
374
|
+
...(ngDevMode ? [undefined, { debugName: "hintText" }] : /* istanbul ignore next */ []));
|
|
375
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
376
|
+
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: 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 } }, 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 });
|
|
377
|
+
}
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, decorators: [{
|
|
379
|
+
type: Component,
|
|
380
|
+
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"] }]
|
|
381
|
+
}], 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: [{
|
|
382
|
+
type: Input
|
|
383
|
+
}], placeholder: [{
|
|
384
|
+
type: Input
|
|
385
|
+
}], type: [{
|
|
386
|
+
type: Input
|
|
387
|
+
}], appearance: [{
|
|
388
|
+
type: Input
|
|
389
|
+
}], size: [{
|
|
390
|
+
type: Input
|
|
391
|
+
}], 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 }] }] } });
|
|
392
|
+
|
|
393
|
+
class InputFieldModule {
|
|
394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
395
|
+
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] });
|
|
396
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, imports: [CommonModule, MatInputModule, MatIcon, MatIconButton] });
|
|
397
|
+
}
|
|
398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, decorators: [{
|
|
399
|
+
type: NgModule,
|
|
400
|
+
args: [{
|
|
401
|
+
declarations: [InputFieldComponent],
|
|
402
|
+
exports: [InputFieldComponent],
|
|
403
|
+
imports: [CommonModule, MatInputModule, FormField, MatIcon, MatIconButton],
|
|
404
|
+
}]
|
|
405
|
+
}] });
|
|
406
|
+
|
|
407
|
+
function getProgressByCount(count, completedCount = Number.MIN_VALUE) {
|
|
408
|
+
return 1 - completedCount / count;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
class TagComponent {
|
|
412
|
+
hostClass = true;
|
|
413
|
+
color;
|
|
414
|
+
icon = input(/* @ts-ignore */
|
|
415
|
+
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
416
|
+
progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
417
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
418
|
+
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 });
|
|
419
|
+
}
|
|
420
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, decorators: [{
|
|
421
|
+
type: Component,
|
|
422
|
+
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"] }]
|
|
423
|
+
}], propDecorators: { hostClass: [{
|
|
424
|
+
type: HostBinding,
|
|
425
|
+
args: ['class.v-tag']
|
|
426
|
+
}], color: [{
|
|
427
|
+
type: Input
|
|
428
|
+
}], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
|
|
429
|
+
|
|
430
|
+
class TagModule {
|
|
431
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
432
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: TagModule, declarations: [TagComponent], imports: [CommonModule, MatChipsModule, MatIconModule], exports: [TagComponent] });
|
|
433
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, imports: [CommonModule, MatChipsModule, MatIconModule] });
|
|
434
|
+
}
|
|
435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, decorators: [{
|
|
436
|
+
type: NgModule,
|
|
437
|
+
args: [{
|
|
438
|
+
declarations: [TagComponent],
|
|
439
|
+
imports: [CommonModule, MatChipsModule, MatIconModule],
|
|
440
|
+
exports: [TagComponent],
|
|
441
|
+
}]
|
|
442
|
+
}] });
|
|
443
|
+
|
|
444
|
+
const SPACES = /[\s\u00A0]/g;
|
|
445
|
+
function normalizeString(str) {
|
|
446
|
+
return (str || '').replace(SPACES, ' ');
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
class HighlightDirective {
|
|
450
|
+
el = inject(ElementRef);
|
|
451
|
+
renderer = inject(Renderer2);
|
|
452
|
+
dr = inject(DestroyRef);
|
|
453
|
+
injector = inject(Injector);
|
|
454
|
+
vHighlightText = input('', { ...(ngDevMode ? { debugName: "vHighlightText" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
|
|
455
|
+
vHighlightSearch = input('', { ...(ngDevMode ? { debugName: "vHighlightSearch" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
|
|
456
|
+
ngOnInit() {
|
|
457
|
+
combineLatest([
|
|
458
|
+
toObservable(this.vHighlightText, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
|
|
459
|
+
toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
|
|
460
|
+
])
|
|
461
|
+
.pipe(map(([text, search]) => {
|
|
462
|
+
if (!search) {
|
|
463
|
+
return text;
|
|
464
|
+
}
|
|
465
|
+
const re = new RegExp(`(${search.replace(SPACES, '\\s')})`, 'gi');
|
|
466
|
+
return text.replace(re, `<mark>$1</mark>`);
|
|
467
|
+
}), distinctUntilChanged(), takeUntilDestroyed(this.dr))
|
|
468
|
+
.subscribe((text) => {
|
|
469
|
+
this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
escapeHtml(html) {
|
|
473
|
+
return html
|
|
474
|
+
.replace(/&/g, '&')
|
|
475
|
+
.replace(/</g, '<')
|
|
476
|
+
.replace(/>/g, '>')
|
|
477
|
+
.replace(/"/g, '"')
|
|
478
|
+
.replace(/'/g, ''');
|
|
479
|
+
}
|
|
480
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
481
|
+
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 });
|
|
482
|
+
}
|
|
483
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, decorators: [{
|
|
484
|
+
type: Directive,
|
|
485
|
+
args: [{
|
|
486
|
+
standalone: true,
|
|
487
|
+
selector: '[vHighlight]',
|
|
488
|
+
}]
|
|
489
|
+
}], propDecorators: { vHighlightText: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightText", required: false }] }], vHighlightSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightSearch", required: false }] }] } });
|
|
490
|
+
|
|
491
|
+
class MenuValueComponent {
|
|
492
|
+
value = input.required(/* @ts-ignore */
|
|
493
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
494
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
495
|
+
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) {
|
|
496
|
+
<button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
|
|
497
|
+
<mat-icon>more_vert</mat-icon>
|
|
498
|
+
</button>
|
|
499
|
+
<mat-menu #menu="matMenu">
|
|
500
|
+
@for (item of v.params.items; track item; let index = $index) {
|
|
501
|
+
<button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
|
|
502
|
+
{{ item.label }}
|
|
503
|
+
</button>
|
|
504
|
+
}
|
|
505
|
+
</mat-menu>
|
|
506
|
+
}`, 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 });
|
|
507
|
+
}
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, decorators: [{
|
|
509
|
+
type: Component,
|
|
510
|
+
args: [{ selector: 'v-menu-value', imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger], template: ` @if (value(); as v) {
|
|
511
|
+
<button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
|
|
512
|
+
<mat-icon>more_vert</mat-icon>
|
|
513
|
+
</button>
|
|
514
|
+
<mat-menu #menu="matMenu">
|
|
515
|
+
@for (item of v.params.items; track item; let index = $index) {
|
|
516
|
+
<button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
|
|
517
|
+
{{ item.label }}
|
|
518
|
+
</button>
|
|
519
|
+
}
|
|
520
|
+
</mat-menu>
|
|
521
|
+
}`, changeDetection: ChangeDetectionStrategy.Eager }]
|
|
522
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
523
|
+
|
|
524
|
+
class ToggleValueComponent {
|
|
525
|
+
value = input.required(/* @ts-ignore */
|
|
526
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
527
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
528
|
+
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) {
|
|
529
|
+
<mat-slide-toggle
|
|
530
|
+
[checked]="value().value"
|
|
531
|
+
(change)="$event.source.checked = !!value().value"
|
|
532
|
+
>
|
|
533
|
+
</mat-slide-toggle>
|
|
534
|
+
}`, 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 });
|
|
535
|
+
}
|
|
536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, decorators: [{
|
|
537
|
+
type: Component,
|
|
538
|
+
args: [{
|
|
539
|
+
selector: 'v-toggle-value',
|
|
540
|
+
imports: [MatSlideToggleModule],
|
|
541
|
+
changeDetection: ChangeDetectionStrategy.Eager,
|
|
542
|
+
template: ` @if (value(); as v) {
|
|
543
|
+
<mat-slide-toggle
|
|
544
|
+
[checked]="value().value"
|
|
545
|
+
(change)="$event.source.checked = !!value().value"
|
|
546
|
+
>
|
|
547
|
+
</mat-slide-toggle>
|
|
548
|
+
}`,
|
|
549
|
+
}]
|
|
550
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
551
|
+
|
|
349
552
|
function renderList(list, renderItem, isMore) {
|
|
350
553
|
return list.length ? (isMore ? '…' : list.map(renderItem).join(', ')) : '';
|
|
351
554
|
}
|
|
@@ -429,10 +632,6 @@ function passError(handler, value) {
|
|
|
429
632
|
}));
|
|
430
633
|
}
|
|
431
634
|
|
|
432
|
-
function getProgressByCount(count, completedCount = Number.MIN_VALUE) {
|
|
433
|
-
return 1 - completedCount / count;
|
|
434
|
-
}
|
|
435
|
-
|
|
436
635
|
function forkJoinToResult(sources, progress$, dataItems = [], concurrency = 4) {
|
|
437
636
|
let completed = 0;
|
|
438
637
|
if (progress$) {
|
|
@@ -612,6 +811,9 @@ function getErrorsTree(control) {
|
|
|
612
811
|
return errors;
|
|
613
812
|
}
|
|
614
813
|
|
|
814
|
+
/**
|
|
815
|
+
* @deprecated Use FormControlValue
|
|
816
|
+
*/
|
|
615
817
|
class AbstractControlSuperclass extends WrappedControlSuperclass {
|
|
616
818
|
_cdr = inject(ChangeDetectorRef);
|
|
617
819
|
_destroyRef = inject(DestroyRef);
|
|
@@ -644,6 +846,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
644
846
|
type: Directive
|
|
645
847
|
}] });
|
|
646
848
|
|
|
849
|
+
/**
|
|
850
|
+
* @deprecated Use FormControlValue
|
|
851
|
+
*/
|
|
647
852
|
class FormGroupSuperclass extends AbstractControlSuperclass {
|
|
648
853
|
emptyValue;
|
|
649
854
|
setDisabledState(_isDisabled) {
|
|
@@ -688,6 +893,9 @@ const createControlProviders = (component) => [
|
|
|
688
893
|
provideValidators(component),
|
|
689
894
|
];
|
|
690
895
|
|
|
896
|
+
/**
|
|
897
|
+
* @deprecated Use FormControlValue
|
|
898
|
+
*/
|
|
691
899
|
class FormControlSuperclass extends AbstractControlSuperclass {
|
|
692
900
|
control = new FormControl();
|
|
693
901
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -697,6 +905,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
697
905
|
type: Directive
|
|
698
906
|
}] });
|
|
699
907
|
|
|
908
|
+
/**
|
|
909
|
+
* @deprecated Use FormControlValue
|
|
910
|
+
*/
|
|
700
911
|
class FormComponentSuperclass extends FormComponentSuperclass$1 {
|
|
701
912
|
_cdr = inject(ChangeDetectorRef);
|
|
702
913
|
_destroyRef = inject(DestroyRef);
|
|
@@ -722,6 +933,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
722
933
|
type: Directive
|
|
723
934
|
}] });
|
|
724
935
|
|
|
936
|
+
/**
|
|
937
|
+
* @deprecated Use FormControlValue
|
|
938
|
+
*/
|
|
725
939
|
class FormArraySuperclass extends FormGroupSuperclass {
|
|
726
940
|
outerToInnerValue(outer) {
|
|
727
941
|
if (hasControls(this.control)) {
|
|
@@ -1167,6 +1381,7 @@ class PagedObservableResource extends ObservableResource {
|
|
|
1167
1381
|
this.initPaged(options);
|
|
1168
1382
|
}
|
|
1169
1383
|
initPaged({ loader, size, ...options }) {
|
|
1384
|
+
this.pagedOptions = { size: size || 25 };
|
|
1170
1385
|
// TODO: fix types
|
|
1171
1386
|
super.init({
|
|
1172
1387
|
params: EMPTY,
|
|
@@ -1181,7 +1396,6 @@ class PagedObservableResource extends ObservableResource {
|
|
|
1181
1396
|
},
|
|
1182
1397
|
map: (value) => value.result,
|
|
1183
1398
|
});
|
|
1184
|
-
this.pagedOptions = { size: size || 20 };
|
|
1185
1399
|
this.hasMore$ = this.accValue$.pipe(map$1((value) => !!value.continuationToken));
|
|
1186
1400
|
this.hasMore = toSignal(this.hasMore$, { initialValue: false });
|
|
1187
1401
|
this.result$ = this.value$;
|
|
@@ -1223,190 +1437,6 @@ function fetchAll(loadFn, continuationToken) {
|
|
|
1223
1437
|
}));
|
|
1224
1438
|
}
|
|
1225
1439
|
|
|
1226
|
-
class InputFieldComponent extends FormControlSuperclass {
|
|
1227
|
-
label;
|
|
1228
|
-
placeholder = '';
|
|
1229
|
-
type = 'string';
|
|
1230
|
-
appearance;
|
|
1231
|
-
size;
|
|
1232
|
-
cleanButton = input(false, { ...(ngDevMode ? { debugName: "cleanButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
1233
|
-
icon = input(/* @ts-ignore */
|
|
1234
|
-
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1235
|
-
hintText = input(/* @ts-ignore */
|
|
1236
|
-
...(ngDevMode ? [undefined, { debugName: "hintText" }] : /* istanbul ignore next */ []));
|
|
1237
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1238
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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]):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.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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
1239
|
-
}
|
|
1240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldComponent, decorators: [{
|
|
1241
|
-
type: Component,
|
|
1242
|
-
args: [{ selector: 'v-input-field', providers: createControlProviders(() => InputFieldComponent), 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 [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"] }]
|
|
1243
|
-
}], propDecorators: { label: [{
|
|
1244
|
-
type: Input
|
|
1245
|
-
}], placeholder: [{
|
|
1246
|
-
type: Input
|
|
1247
|
-
}], type: [{
|
|
1248
|
-
type: Input
|
|
1249
|
-
}], appearance: [{
|
|
1250
|
-
type: Input
|
|
1251
|
-
}], size: [{
|
|
1252
|
-
type: Input
|
|
1253
|
-
}], 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 }] }] } });
|
|
1254
|
-
|
|
1255
|
-
class InputFieldModule {
|
|
1256
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1257
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, declarations: [InputFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton], exports: [InputFieldComponent] });
|
|
1258
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton] });
|
|
1259
|
-
}
|
|
1260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: InputFieldModule, decorators: [{
|
|
1261
|
-
type: NgModule,
|
|
1262
|
-
args: [{
|
|
1263
|
-
declarations: [InputFieldComponent],
|
|
1264
|
-
exports: [InputFieldComponent],
|
|
1265
|
-
imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton],
|
|
1266
|
-
}]
|
|
1267
|
-
}] });
|
|
1268
|
-
|
|
1269
|
-
class TagComponent {
|
|
1270
|
-
hostClass = true;
|
|
1271
|
-
color;
|
|
1272
|
-
icon = input(/* @ts-ignore */
|
|
1273
|
-
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1274
|
-
progress = input(false, { ...(ngDevMode ? { debugName: "progress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
1275
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1276
|
-
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 });
|
|
1277
|
-
}
|
|
1278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagComponent, decorators: [{
|
|
1279
|
-
type: Component,
|
|
1280
|
-
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"] }]
|
|
1281
|
-
}], propDecorators: { hostClass: [{
|
|
1282
|
-
type: HostBinding,
|
|
1283
|
-
args: ['class.v-tag']
|
|
1284
|
-
}], color: [{
|
|
1285
|
-
type: Input
|
|
1286
|
-
}], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }] } });
|
|
1287
|
-
|
|
1288
|
-
class TagModule {
|
|
1289
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1290
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: TagModule, declarations: [TagComponent], imports: [CommonModule, MatChipsModule, MatIconModule], exports: [TagComponent] });
|
|
1291
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, imports: [CommonModule, MatChipsModule, MatIconModule] });
|
|
1292
|
-
}
|
|
1293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TagModule, decorators: [{
|
|
1294
|
-
type: NgModule,
|
|
1295
|
-
args: [{
|
|
1296
|
-
declarations: [TagComponent],
|
|
1297
|
-
imports: [CommonModule, MatChipsModule, MatIconModule],
|
|
1298
|
-
exports: [TagComponent],
|
|
1299
|
-
}]
|
|
1300
|
-
}] });
|
|
1301
|
-
|
|
1302
|
-
const SPACES = /[\s\u00A0]/g;
|
|
1303
|
-
function normalizeString(str) {
|
|
1304
|
-
return (str || '').replace(SPACES, ' ');
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
class HighlightDirective {
|
|
1308
|
-
el = inject(ElementRef);
|
|
1309
|
-
renderer = inject(Renderer2);
|
|
1310
|
-
dr = inject(DestroyRef);
|
|
1311
|
-
injector = inject(Injector);
|
|
1312
|
-
vHighlightText = input('', { ...(ngDevMode ? { debugName: "vHighlightText" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
|
|
1313
|
-
vHighlightSearch = input('', { ...(ngDevMode ? { debugName: "vHighlightSearch" } : /* istanbul ignore next */ {}), transform: (v) => String(v || '') });
|
|
1314
|
-
ngOnInit() {
|
|
1315
|
-
combineLatest([
|
|
1316
|
-
toObservable(this.vHighlightText, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
|
|
1317
|
-
toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),
|
|
1318
|
-
])
|
|
1319
|
-
.pipe(map(([text, search]) => {
|
|
1320
|
-
if (!search) {
|
|
1321
|
-
return text;
|
|
1322
|
-
}
|
|
1323
|
-
const re = new RegExp(`(${search.replace(SPACES, '\\s')})`, 'gi');
|
|
1324
|
-
return text.replace(re, `<mark>$1</mark>`);
|
|
1325
|
-
}), distinctUntilChanged(), takeUntilDestroyed(this.dr))
|
|
1326
|
-
.subscribe((text) => {
|
|
1327
|
-
this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);
|
|
1328
|
-
});
|
|
1329
|
-
}
|
|
1330
|
-
escapeHtml(html) {
|
|
1331
|
-
return html
|
|
1332
|
-
.replace(/&/g, '&')
|
|
1333
|
-
.replace(/</g, '<')
|
|
1334
|
-
.replace(/>/g, '>')
|
|
1335
|
-
.replace(/"/g, '"')
|
|
1336
|
-
.replace(/'/g, ''');
|
|
1337
|
-
}
|
|
1338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1339
|
-
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 });
|
|
1340
|
-
}
|
|
1341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HighlightDirective, decorators: [{
|
|
1342
|
-
type: Directive,
|
|
1343
|
-
args: [{
|
|
1344
|
-
standalone: true,
|
|
1345
|
-
selector: '[vHighlight]',
|
|
1346
|
-
}]
|
|
1347
|
-
}], propDecorators: { vHighlightText: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightText", required: false }] }], vHighlightSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "vHighlightSearch", required: false }] }] } });
|
|
1348
|
-
|
|
1349
|
-
class MenuValueComponent {
|
|
1350
|
-
value = input.required(/* @ts-ignore */
|
|
1351
|
-
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
1352
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1353
|
-
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) {
|
|
1354
|
-
<button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
|
|
1355
|
-
<mat-icon>more_vert</mat-icon>
|
|
1356
|
-
</button>
|
|
1357
|
-
<mat-menu #menu="matMenu">
|
|
1358
|
-
@for (item of v.params.items; track item; let index = $index) {
|
|
1359
|
-
<button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
|
|
1360
|
-
{{ item.label }}
|
|
1361
|
-
</button>
|
|
1362
|
-
}
|
|
1363
|
-
</mat-menu>
|
|
1364
|
-
}`, 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 });
|
|
1365
|
-
}
|
|
1366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MenuValueComponent, decorators: [{
|
|
1367
|
-
type: Component,
|
|
1368
|
-
args: [{ selector: 'v-menu-value', imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger], template: ` @if (value(); as v) {
|
|
1369
|
-
<button [matMenuTriggerFor]="menu" class="button" mat-icon-button>
|
|
1370
|
-
<mat-icon>more_vert</mat-icon>
|
|
1371
|
-
</button>
|
|
1372
|
-
<mat-menu #menu="matMenu">
|
|
1373
|
-
@for (item of v.params.items; track item; let index = $index) {
|
|
1374
|
-
<button [disabled]="!!item?.disabled" mat-menu-item (click)="item?.click?.($event)">
|
|
1375
|
-
{{ item.label }}
|
|
1376
|
-
</button>
|
|
1377
|
-
}
|
|
1378
|
-
</mat-menu>
|
|
1379
|
-
}`, changeDetection: ChangeDetectionStrategy.Eager }]
|
|
1380
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
1381
|
-
|
|
1382
|
-
class ToggleValueComponent {
|
|
1383
|
-
value = input.required(/* @ts-ignore */
|
|
1384
|
-
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
1385
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1386
|
-
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) {
|
|
1387
|
-
<mat-slide-toggle
|
|
1388
|
-
[checked]="value().value"
|
|
1389
|
-
(change)="$event.source.checked = !!value().value"
|
|
1390
|
-
>
|
|
1391
|
-
</mat-slide-toggle>
|
|
1392
|
-
}`, 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 });
|
|
1393
|
-
}
|
|
1394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ToggleValueComponent, decorators: [{
|
|
1395
|
-
type: Component,
|
|
1396
|
-
args: [{
|
|
1397
|
-
selector: 'v-toggle-value',
|
|
1398
|
-
imports: [MatSlideToggleModule],
|
|
1399
|
-
changeDetection: ChangeDetectionStrategy.Eager,
|
|
1400
|
-
template: ` @if (value(); as v) {
|
|
1401
|
-
<mat-slide-toggle
|
|
1402
|
-
[checked]="value().value"
|
|
1403
|
-
(change)="$event.source.checked = !!value().value"
|
|
1404
|
-
>
|
|
1405
|
-
</mat-slide-toggle>
|
|
1406
|
-
}`,
|
|
1407
|
-
}]
|
|
1408
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
1409
|
-
|
|
1410
1440
|
function currencyAmountValueToString(value) {
|
|
1411
1441
|
if (typeof value?.value !== 'number') {
|
|
1412
1442
|
return '';
|
|
@@ -1480,7 +1510,7 @@ class ValueComponent {
|
|
|
1480
1510
|
});
|
|
1481
1511
|
}
|
|
1482
1512
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1483
|
-
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() && 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
|
|
1513
|
+
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() && 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\n [matTooltip]=\"\n v.error?.['error']?.['message'] ||\n v.error?.['message'] ||\n (v.error | json)\n \"\n >error</mat-icon\n >\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 });
|
|
1484
1514
|
}
|
|
1485
1515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ValueComponent, decorators: [{
|
|
1486
1516
|
type: Component,
|
|
@@ -1496,7 +1526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
1496
1526
|
MatButtonModule,
|
|
1497
1527
|
], host: {
|
|
1498
1528
|
'[class.inline]': 'inline',
|
|
1499
|
-
}, 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
|
|
1529
|
+
}, 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\n [matTooltip]=\"\n v.error?.['error']?.['message'] ||\n v.error?.['message'] ||\n (v.error | json)\n \"\n >error</mat-icon\n >\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"] }]
|
|
1500
1530
|
}], 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: [{
|
|
1501
1531
|
type: Input,
|
|
1502
1532
|
args: [{ transform: booleanAttribute }]
|
|
@@ -2142,7 +2172,7 @@ class TableInfoBarComponent {
|
|
|
2142
2172
|
}
|
|
2143
2173
|
}
|
|
2144
2174
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2145
|
-
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: ["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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2175
|
+
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 });
|
|
2146
2176
|
}
|
|
2147
2177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableInfoBarComponent, decorators: [{
|
|
2148
2178
|
type: Component,
|
|
@@ -2405,7 +2435,7 @@ class TableComponent {
|
|
|
2405
2435
|
}
|
|
2406
2436
|
}
|
|
2407
2437
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2408
|
-
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$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 });
|
|
2438
|
+
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 });
|
|
2409
2439
|
}
|
|
2410
2440
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableComponent, decorators: [{
|
|
2411
2441
|
type: Component,
|
|
@@ -2436,7 +2466,7 @@ class CustomizeComponent extends DialogSuperclass {
|
|
|
2436
2466
|
hidden: false,
|
|
2437
2467
|
}));
|
|
2438
2468
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CustomizeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2439
|
-
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", "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 });
|
|
2469
|
+
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 });
|
|
2440
2470
|
}
|
|
2441
2471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CustomizeComponent, decorators: [{
|
|
2442
2472
|
type: Component,
|
|
@@ -2656,8 +2686,10 @@ class TableResourceComponent {
|
|
|
2656
2686
|
}
|
|
2657
2687
|
update(options) {
|
|
2658
2688
|
const res = this.resource();
|
|
2659
|
-
if ('setOptions' in res)
|
|
2689
|
+
if (res && 'setOptions' in res)
|
|
2660
2690
|
res.setOptions(options);
|
|
2691
|
+
else if (res && 'reload' in res)
|
|
2692
|
+
res.reload();
|
|
2661
2693
|
}
|
|
2662
2694
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TableResourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2663
2695
|
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: `
|
|
@@ -2714,7 +2746,7 @@ class ConfirmDialogComponent extends DialogSuperclass {
|
|
|
2714
2746
|
: undefined);
|
|
2715
2747
|
}
|
|
2716
2748
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2717
|
-
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", "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]):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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2749
|
+
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 });
|
|
2718
2750
|
}
|
|
2719
2751
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
2720
2752
|
type: Component,
|
|
@@ -2761,7 +2793,7 @@ class FiltersDialogComponent extends DialogSuperclass {
|
|
|
2761
2793
|
this.dialogData.filters.merge);
|
|
2762
2794
|
}
|
|
2763
2795
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2764
|
-
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", "disabled", "progress", "hasDivider", "noContent", "noActions", "noCloseButton", "fullSize"], outputs: ["cancel"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2796
|
+
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 });
|
|
2765
2797
|
}
|
|
2766
2798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FiltersDialogComponent, decorators: [{
|
|
2767
2799
|
type: Component,
|
|
@@ -2939,7 +2971,7 @@ class DateRangeFieldComponent extends FormGroupSuperclass {
|
|
|
2939
2971
|
{ provide: MAT_DATE_LOCALE, useValue: enGB },
|
|
2940
2972
|
{ provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
|
|
2941
2973
|
{ provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },
|
|
2942
|
-
], 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]):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.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" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2974
|
+
], 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 });
|
|
2943
2975
|
}
|
|
2944
2976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DateRangeFieldComponent, decorators: [{
|
|
2945
2977
|
type: Component,
|
|
@@ -3012,7 +3044,7 @@ class NumberRangeFieldComponent extends FormGroupSuperclass {
|
|
|
3012
3044
|
end: undefined,
|
|
3013
3045
|
});
|
|
3014
3046
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3015
|
-
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.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.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[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" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3047
|
+
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 });
|
|
3016
3048
|
}
|
|
3017
3049
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NumberRangeFieldComponent, decorators: [{
|
|
3018
3050
|
type: Component,
|
|
@@ -3049,7 +3081,7 @@ class ListFieldComponent extends FormControlSuperclass {
|
|
|
3049
3081
|
return splitBySeparators(inner || '');
|
|
3050
3082
|
}
|
|
3051
3083
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3052
|
-
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.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.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" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3084
|
+
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 });
|
|
3053
3085
|
}
|
|
3054
3086
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFieldComponent, decorators: [{
|
|
3055
3087
|
type: Component,
|
|
@@ -3138,31 +3170,45 @@ function getHintText(options, selected, hint, opts = {}) {
|
|
|
3138
3170
|
return opts.showLabel ? option?.label : option?.description;
|
|
3139
3171
|
}
|
|
3140
3172
|
|
|
3141
|
-
class SelectFieldComponent
|
|
3173
|
+
class SelectFieldComponent {
|
|
3174
|
+
value = model(/* @ts-ignore */
|
|
3175
|
+
...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
|
|
3176
|
+
disabled = input(false, /* @ts-ignore */
|
|
3177
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
3178
|
+
touch = output();
|
|
3179
|
+
selection = transformedValue(this.value, {
|
|
3180
|
+
parse: (value) => ({ value }),
|
|
3181
|
+
format: (value) => (value === '' ? undefined : value),
|
|
3182
|
+
});
|
|
3183
|
+
control = form(this.selection, (path) => {
|
|
3184
|
+
required(path, { when: () => this.required() });
|
|
3185
|
+
disabled(path, () => this.disabled());
|
|
3186
|
+
});
|
|
3142
3187
|
options = [];
|
|
3143
3188
|
search = model('', /* @ts-ignore */
|
|
3144
3189
|
...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
|
|
3145
3190
|
appearance;
|
|
3146
3191
|
label;
|
|
3147
3192
|
hint;
|
|
3193
|
+
placeholder;
|
|
3148
3194
|
error;
|
|
3149
3195
|
progress = false;
|
|
3196
|
+
clearable = true;
|
|
3150
3197
|
externalSearch = false;
|
|
3151
3198
|
multiple = false;
|
|
3152
|
-
required = false;
|
|
3199
|
+
required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
3153
3200
|
size;
|
|
3154
3201
|
ngOnInit() {
|
|
3155
|
-
super.ngOnInit();
|
|
3156
3202
|
if (this.externalSearch) {
|
|
3157
3203
|
timer(0)
|
|
3158
3204
|
.pipe(first$1())
|
|
3159
3205
|
.subscribe(() => {
|
|
3160
|
-
this.search.set(String(this.
|
|
3206
|
+
this.search.set(String(this.selection() ?? ''));
|
|
3161
3207
|
});
|
|
3162
3208
|
}
|
|
3163
3209
|
}
|
|
3164
3210
|
get hintText() {
|
|
3165
|
-
return getHintText(this.options, this.multiple ? this.
|
|
3211
|
+
return getHintText(this.options, this.multiple ? this.selection() : [this.selection()], this.hint, {
|
|
3166
3212
|
multiple: this.multiple,
|
|
3167
3213
|
});
|
|
3168
3214
|
}
|
|
@@ -3177,13 +3223,13 @@ class SelectFieldComponent extends FormControlSuperclass {
|
|
|
3177
3223
|
.subscribe(() => select.close());
|
|
3178
3224
|
}
|
|
3179
3225
|
}
|
|
3180
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldComponent, deps:
|
|
3181
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: SelectFieldComponent, isStandalone: false, selector: "v-select-field", inputs: { 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 }, error: { classPropertyName: "error", publicName: "error", isSignal: false, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: false, isRequired: false, transformFunction: null }, 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:
|
|
3226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3227
|
+
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 });
|
|
3182
3228
|
}
|
|
3183
3229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldComponent, decorators: [{
|
|
3184
3230
|
type: Component,
|
|
3185
|
-
args: [{ selector: 'v-select-field',
|
|
3186
|
-
}], propDecorators: { options: [{
|
|
3231
|
+
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"] }]
|
|
3232
|
+
}], 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: [{
|
|
3187
3233
|
type: Input
|
|
3188
3234
|
}], search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }, { type: i0.Output, args: ["searchChange"] }], appearance: [{
|
|
3189
3235
|
type: Input
|
|
@@ -3191,20 +3237,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
3191
3237
|
type: Input
|
|
3192
3238
|
}], hint: [{
|
|
3193
3239
|
type: Input
|
|
3240
|
+
}], placeholder: [{
|
|
3241
|
+
type: Input
|
|
3194
3242
|
}], error: [{
|
|
3195
3243
|
type: Input
|
|
3196
3244
|
}], progress: [{
|
|
3197
3245
|
type: Input
|
|
3198
|
-
}],
|
|
3246
|
+
}], clearable: [{
|
|
3199
3247
|
type: Input,
|
|
3200
3248
|
args: [{ transform: booleanAttribute }]
|
|
3201
|
-
}],
|
|
3249
|
+
}], externalSearch: [{
|
|
3202
3250
|
type: Input,
|
|
3203
3251
|
args: [{ transform: booleanAttribute }]
|
|
3204
|
-
}],
|
|
3252
|
+
}], multiple: [{
|
|
3205
3253
|
type: Input,
|
|
3206
3254
|
args: [{ transform: booleanAttribute }]
|
|
3207
|
-
}], size: [{
|
|
3255
|
+
}], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], size: [{
|
|
3208
3256
|
type: Input
|
|
3209
3257
|
}] } });
|
|
3210
3258
|
|
|
@@ -3214,13 +3262,12 @@ class SelectFieldModule {
|
|
|
3214
3262
|
MatInputModule,
|
|
3215
3263
|
MtxSelectModule,
|
|
3216
3264
|
FormsModule,
|
|
3217
|
-
|
|
3265
|
+
FormField,
|
|
3218
3266
|
MatCheckboxModule], exports: [SelectFieldComponent] });
|
|
3219
3267
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, imports: [CommonModule,
|
|
3220
3268
|
MatInputModule,
|
|
3221
3269
|
MtxSelectModule,
|
|
3222
3270
|
FormsModule,
|
|
3223
|
-
ReactiveFormsModule,
|
|
3224
3271
|
MatCheckboxModule] });
|
|
3225
3272
|
}
|
|
3226
3273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SelectFieldModule, decorators: [{
|
|
@@ -3233,7 +3280,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
3233
3280
|
MatInputModule,
|
|
3234
3281
|
MtxSelectModule,
|
|
3235
3282
|
FormsModule,
|
|
3236
|
-
|
|
3283
|
+
FormField,
|
|
3237
3284
|
MatCheckboxModule,
|
|
3238
3285
|
],
|
|
3239
3286
|
}]
|
|
@@ -3298,7 +3345,7 @@ class AutocompleteFieldComponent extends FormControlSuperclass {
|
|
|
3298
3345
|
return res;
|
|
3299
3346
|
}
|
|
3300
3347
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3301
|
-
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.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.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" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3348
|
+
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 });
|
|
3302
3349
|
}
|
|
3303
3350
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AutocompleteFieldComponent, decorators: [{
|
|
3304
3351
|
type: Component,
|
|
@@ -4066,7 +4113,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
4066
4113
|
|
|
4067
4114
|
function isActiveLink(link, url) {
|
|
4068
4115
|
return (!isNil$1(url) &&
|
|
4069
|
-
(
|
|
4116
|
+
((Boolean(link.url) && url.startsWith(link.url)) ||
|
|
4117
|
+
(Boolean(link.checkUrl) && url.startsWith(link.checkUrl))));
|
|
4070
4118
|
}
|
|
4071
4119
|
function getActiveLinks(links, url) {
|
|
4072
4120
|
return links.reduce((acc, link) => {
|
|
@@ -4095,11 +4143,11 @@ class NavComponent {
|
|
|
4095
4143
|
.filter((link) => !link.isHidden)))));
|
|
4096
4144
|
}
|
|
4097
4145
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4098
|
-
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.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
|
|
4146
|
+
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 });
|
|
4099
4147
|
}
|
|
4100
4148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: NavComponent, decorators: [{
|
|
4101
4149
|
type: Component,
|
|
4102
|
-
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.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
|
|
4150
|
+
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"] }]
|
|
4103
4151
|
}], propDecorators: { links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: false }] }] } });
|
|
4104
4152
|
|
|
4105
4153
|
class CmdkComponent {
|
|
@@ -4125,7 +4173,7 @@ class CmdkComponent {
|
|
|
4125
4173
|
this.router.navigate([option.url]);
|
|
4126
4174
|
}
|
|
4127
4175
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4128
|
-
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.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.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 });
|
|
4176
|
+
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 });
|
|
4129
4177
|
}
|
|
4130
4178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: CmdkComponent, decorators: [{
|
|
4131
4179
|
type: Component,
|