@porscheinformatik/clr-addons 19.9.13 → 19.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/datagrid/enum-filter/enum-filter.component.d.ts +1 -0
  2. package/fesm2022/clr-addons.mjs +1604 -1034
  3. package/fesm2022/clr-addons.mjs.map +1 -1
  4. package/package.json +4 -4
  5. package/styles/clr-addons-phs.css +118 -4
  6. package/styles/clr-addons-phs.css.map +1 -1
  7. package/styles/clr-addons-phs.min.css +1 -1
  8. package/styles/clr-addons-phs.min.css.map +1 -1
  9. package/treetable/built-in/filter/treetable-string-filter.d.ts +24 -0
  10. package/treetable/enums/selection-type.d.ts +5 -0
  11. package/treetable/index.d.ts +5 -0
  12. package/treetable/interfaces/filter-model.d.ts +37 -0
  13. package/treetable/interfaces/treetable-model.d.ts +55 -0
  14. package/treetable/interfaces/treetable-state-model.d.ts +20 -0
  15. package/treetable/providers/filters.d.ts +29 -0
  16. package/treetable/providers/index.d.ts +1 -2
  17. package/treetable/providers/sort.d.ts +15 -14
  18. package/treetable/providers/treetable-data-state.service.d.ts +37 -0
  19. package/treetable/providers/treetable-recursion.service.d.ts +17 -0
  20. package/treetable/renderer/main-renderer.d.ts +2 -2
  21. package/treetable/treetable-action-overflow.d.ts +4 -7
  22. package/treetable/treetable-column.d.ts +11 -16
  23. package/treetable/treetable-filter.d.ts +18 -0
  24. package/treetable/treetable-items.d.ts +21 -14
  25. package/treetable/treetable-recursive-rows.d.ts +12 -0
  26. package/treetable/treetable-row-checkbox.d.ts +10 -0
  27. package/treetable/treetable-row.d.ts +23 -30
  28. package/treetable/treetable.d.ts +23 -28
  29. package/treetable/treetable.module.d.ts +9 -4
  30. package/treetable/util/treetable-filter-util.d.ts +22 -0
  31. package/treetable/util/treetable-state-util.d.ts +10 -0
  32. package/treetable/providers/items.d.ts +0 -21
  33. package/treetable/providers/selection.d.ts +0 -28
@@ -1,18 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, NgModule, Injectable, EventEmitter, Input, Output, Directive, ViewChild, ContentChildren, TemplateRef, ViewChildren, HostBinding, ElementRef, Renderer2, forwardRef, Inject, ContentChild, Optional, inject, ChangeDetectorRef, output, ChangeDetectionStrategy, DestroyRef, signal, input, IterableDiffers, ViewContainerRef, effect, InjectionToken, isSignal, HostListener, LOCALE_ID, Self, computed } from '@angular/core';
2
+ import { Component, NgModule, Injectable, EventEmitter, Output, Input, Directive, ViewChild, ContentChildren, TemplateRef, ViewChildren, HostBinding, ElementRef, Renderer2, forwardRef, Inject, ContentChild, Optional, input, ChangeDetectionStrategy, signal, computed, SkipSelf, inject, model, contentChild, linkedSignal, DestroyRef, contentChildren, effect, output, viewChild, InjectionToken, isSignal, HostListener, LOCALE_ID, Self } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule, DOCUMENT, NgForOf, NgComponentOutlet, NgTemplateOutlet, getLocaleDateFormat, FormatWidth, NgClass } from '@angular/common';
5
- import { ClarityIcons, arrowIcon, angleIcon, timesIcon, trashIcon, plusCircleIcon, exclamationCircleIcon, searchIcon, ellipsisVerticalIcon, pencilIcon, historyIcon as historyIcon$1, treeViewIcon, organizationIcon, calendarIcon, checkCircleIcon, windowCloseIcon, exclamationTriangleIcon } from '@cds/core/icon';
4
+ import { CommonModule, DOCUMENT, NgComponentOutlet, NgTemplateOutlet, getLocaleDateFormat, FormatWidth, NgForOf, NgClass } from '@angular/common';
5
+ import { ClarityIcons, arrowIcon, angleIcon, timesIcon, trashIcon, plusCircleIcon, exclamationCircleIcon, searchIcon, ellipsisVerticalIcon, filterGridCircleIcon, filterGridIcon, pencilIcon, historyIcon as historyIcon$1, treeViewIcon, organizationIcon, calendarIcon, checkCircleIcon, windowCloseIcon, exclamationTriangleIcon } from '@cds/core/icon';
6
6
  import * as i2 from '@clr/angular';
7
- import { ClarityModule, ClrFormsModule, ClrDropdown, ClrForm, ClrAlert, ClrAxis, ClrSide, ClrAlignment, ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService, ClrIconModule, ClrDropdownModule, ClrDatagrid, ClrDatagridColumn, ClrDatagridSortOrder, DatagridPropertyComparator, ClrDatagridPagination, ClrDatagridFilter, ClrDateContainer, ClrLabel, ClrControlHelper, ClrControlError, ClrControlSuccess, ClrDatepickerModule } from '@clr/angular';
7
+ import { ClarityModule, ClrFormsModule, ClrDropdown, ClrForm, ClrAlert, ClrAlignment, ClrSide, ClrAxis, ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService, ClrPopoverHostDirective, ClrCommonStringsService, ClrIconModule, ClrDropdownModule, ClrDatagrid, ClrDatagridColumn, ClrDatagridSortOrder, DatagridPropertyComparator, ClrDatagridPagination, ClrDatagridFilter, ClrDateContainer, ClrLabel, ClrControlHelper, ClrControlError, ClrControlSuccess, ClrDatepickerModule } from '@clr/angular';
8
8
  import * as i3$1 from '@angular/forms';
9
9
  import { FormsModule, NG_VALIDATORS, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormControl, NgModel } from '@angular/forms';
10
- import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, debounceTime, fromEvent, of, tap, switchMap, filter as filter$1, ReplaySubject, takeUntil as takeUntil$1, delay } from 'rxjs';
11
- import { takeUntil, take, observeOn, debounceTime as debounceTime$1, filter as filter$2 } from 'rxjs/operators';
10
+ import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, map as map$1, distinctUntilChanged, shareReplay, combineLatest, skip, auditTime, fromEvent, take as take$1, merge, debounceTime as debounceTime$1, tap, of, switchMap, filter as filter$2, ReplaySubject, takeUntil as takeUntil$1, delay } from 'rxjs';
11
+ import { takeUntil, take, observeOn, filter as filter$1, debounceTime } from 'rxjs/operators';
12
12
  import * as i3 from '@angular/router';
13
13
  import { RouterModule } from '@angular/router';
14
14
  import { trigger, transition, style, animate, state } from '@angular/animations';
15
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
15
+ import { takeUntilDestroyed, toObservable, outputFromObservable, toSignal } from '@angular/core/rxjs-interop';
16
16
  import * as i1$1 from '@angular/common/http';
17
17
  import '@cds/core/icon/register.js';
18
18
  import { CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
@@ -30,10 +30,10 @@ class ClrBackButton {
30
30
  back() {
31
31
  this.location.back();
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButton, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrBackButton, isStandalone: false, selector: "clr-back-button", ngImport: i0, template: "<button type=\"button\" class=\"btn btn-icon btn-link back-button\" (click)=\"back()\">\n <cds-icon shape=\"arrow\" direction=\"left\" size=\"36\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButton, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrBackButton, isStandalone: false, selector: "clr-back-button", ngImport: i0, template: "<button type=\"button\" class=\"btn btn-icon btn-link back-button\" (click)=\"back()\">\n <cds-icon shape=\"arrow\" direction=\"left\" size=\"36\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButton, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButton, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'clr-back-button', standalone: false, template: "<button type=\"button\" class=\"btn btn-icon btn-link back-button\" (click)=\"back()\">\n <cds-icon shape=\"arrow\" direction=\"left\" size=\"36\"></cds-icon>\n</button>\n" }]
39
39
  }], ctorParameters: () => [{ type: i1.Location }] });
@@ -44,11 +44,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
44
44
  * The full license information can be found in LICENSE in the root directory of this project.
45
45
  */
46
46
  class ClrBackButtonModule {
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
48
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButtonModule, declarations: [ClrBackButton], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrBackButton] }); }
49
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButtonModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
48
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButtonModule, declarations: [ClrBackButton], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrBackButton] }); }
49
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButtonModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBackButtonModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBackButtonModule, decorators: [{
52
52
  type: NgModule,
53
53
  args: [{
54
54
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -75,10 +75,10 @@ class ClrBreadcrumbService {
75
75
  updateBreadcrumb(breadcrumbElements) {
76
76
  this.breadcrumbChange.next(breadcrumbElements);
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbService, providedIn: 'root' }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbService, providedIn: 'root' }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbService, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbService, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{
84
84
  providedIn: 'root',
@@ -106,10 +106,10 @@ class ClrBreadcrumb {
106
106
  this.destroyed.next();
107
107
  this.destroyed.complete();
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumb, deps: [{ token: ClrBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrBreadcrumb, isStandalone: false, selector: "clr-breadcrumb", ngImport: i0, template: "<nav aria-label=\"breadcrumb\" *ngIf=\"breadcrumbElements.length\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbElements\">\n <li *ngIf=\"breadcrumbItem.url\" class=\"breadcrumb-item\">\n <a [routerLink]=\"breadcrumbItem.url\">{{breadcrumbItem.label}}</a>\n </li>\n <li *ngIf=\"!breadcrumbItem.url\" class=\"breadcrumb-item active\">{{breadcrumbItem.label}}</li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumb, deps: [{ token: ClrBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrBreadcrumb, isStandalone: false, selector: "clr-breadcrumb", ngImport: i0, template: "<nav aria-label=\"breadcrumb\" *ngIf=\"breadcrumbElements.length\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbElements\">\n <li *ngIf=\"breadcrumbItem.url\" class=\"breadcrumb-item\">\n <a [routerLink]=\"breadcrumbItem.url\">{{breadcrumbItem.label}}</a>\n </li>\n <li *ngIf=\"!breadcrumbItem.url\" class=\"breadcrumb-item active\">{{breadcrumbItem.label}}</li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumb, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumb, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: 'clr-breadcrumb', standalone: false, template: "<nav aria-label=\"breadcrumb\" *ngIf=\"breadcrumbElements.length\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbElements\">\n <li *ngIf=\"breadcrumbItem.url\" class=\"breadcrumb-item\">\n <a [routerLink]=\"breadcrumbItem.url\">{{breadcrumbItem.label}}</a>\n </li>\n <li *ngIf=\"!breadcrumbItem.url\" class=\"breadcrumb-item active\">{{breadcrumbItem.label}}</li>\n </ng-container>\n </ol>\n</nav>\n" }]
115
115
  }], ctorParameters: () => [{ type: ClrBreadcrumbService }] });
@@ -120,11 +120,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
120
120
  * The full license information can be found in LICENSE in the root directory of this project.
121
121
  */
122
122
  class ClrBreadcrumbModule {
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
124
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbModule, declarations: [ClrBreadcrumb], imports: [CommonModule, ClarityModule, RouterModule], exports: [ClrBreadcrumb] }); }
125
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbModule, providers: [ClrBreadcrumbService], imports: [CommonModule, ClarityModule, RouterModule] }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
124
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbModule, declarations: [ClrBreadcrumb], imports: [CommonModule, ClarityModule, RouterModule], exports: [ClrBreadcrumb] }); }
125
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbModule, providers: [ClrBreadcrumbService], imports: [CommonModule, ClarityModule, RouterModule] }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBreadcrumbModule, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBreadcrumbModule, decorators: [{
128
128
  type: NgModule,
129
129
  args: [{
130
130
  imports: [CommonModule, ClarityModule, RouterModule],
@@ -178,8 +178,8 @@ class ClrCollapseExpandSection {
178
178
  }
179
179
  this.isCollapsed = !this.isCollapsed;
180
180
  }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrCollapseExpandSection, isStandalone: false, selector: "clr-collapse-expand-section", inputs: { isCollapsed: ["clrIsCollapsed", "isCollapsed"], disableHeaderStyles: ["clrDisableHeaderStyles", "disableHeaderStyles"], disableSubtitle: ["clrDisableSubtitle", "disableSubtitle"] }, outputs: { collapsed: "clrCollapsed", expanded: "clrExpanded" }, ngImport: i0, template: "<div class=\"ces\">\n <div class=\"ces-title\" [class.disabled-header-styles]=\"disableHeaderStyles\">\n <h2 *ngIf=\"!disableHeaderStyles; else title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </h2>\n <ng-template #title>\n <ng-content select=\"[clr-ces-title]\"></ng-content>\n <button type=\"button\" (click)=\"onCollapseExpand()\" class=\"btn btn-icon btn-link ces-caret-btn\">\n <cds-icon\n shape=\"angle\"\n direction=\"up\"\n size=\"28\"\n class=\"ces-caret-icon\"\n [@rotateIcon]=\"isCollapsed\"\n [@.disabled]=\"disableAnimation\"\n ></cds-icon>\n </button>\n </ng-template>\n </div>\n <div class=\"ces-subtitle\" *ngIf=\"!disableSubtitle\">\n <h4 *ngIf=\"!disableHeaderStyles; else subtitle\">\n <ng-container *ngTemplateOutlet=\"subtitle\"></ng-container>\n </h4>\n <ng-template #subtitle>\n <ng-content select=\"[clr-ces-subtitle]\"></ng-content>\n </ng-template>\n </div>\n <div [@collapseExpandAnimation]=\"isCollapsed\" [@.disabled]=\"disableAnimation\" *ngIf=\"!isCollapsed\">\n <ng-content select=\"[clr-ces-content]\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], animations: [
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrCollapseExpandSection, isStandalone: false, selector: "clr-collapse-expand-section", inputs: { isCollapsed: ["clrIsCollapsed", "isCollapsed"], disableHeaderStyles: ["clrDisableHeaderStyles", "disableHeaderStyles"], disableSubtitle: ["clrDisableSubtitle", "disableSubtitle"] }, outputs: { collapsed: "clrCollapsed", expanded: "clrExpanded" }, ngImport: i0, template: "<div class=\"ces\">\n <div class=\"ces-title\" [class.disabled-header-styles]=\"disableHeaderStyles\">\n <h2 *ngIf=\"!disableHeaderStyles; else title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </h2>\n <ng-template #title>\n <ng-content select=\"[clr-ces-title]\"></ng-content>\n <button type=\"button\" (click)=\"onCollapseExpand()\" class=\"btn btn-icon btn-link ces-caret-btn\">\n <cds-icon\n shape=\"angle\"\n direction=\"up\"\n size=\"28\"\n class=\"ces-caret-icon\"\n [@rotateIcon]=\"isCollapsed\"\n [@.disabled]=\"disableAnimation\"\n ></cds-icon>\n </button>\n </ng-template>\n </div>\n <div class=\"ces-subtitle\" *ngIf=\"!disableSubtitle\">\n <h4 *ngIf=\"!disableHeaderStyles; else subtitle\">\n <ng-container *ngTemplateOutlet=\"subtitle\"></ng-container>\n </h4>\n <ng-template #subtitle>\n <ng-content select=\"[clr-ces-subtitle]\"></ng-content>\n </ng-template>\n </div>\n <div [@collapseExpandAnimation]=\"isCollapsed\" [@.disabled]=\"disableAnimation\" *ngIf=\"!isCollapsed\">\n <ng-content select=\"[clr-ces-content]\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], animations: [
183
183
  trigger('collapseExpandAnimation', [
184
184
  transition(':enter', [
185
185
  style({ opacity: 0, height: 0, overflow: 'hidden' }),
@@ -198,7 +198,7 @@ class ClrCollapseExpandSection {
198
198
  ]),
199
199
  ] }); }
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSection, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSection, decorators: [{
202
202
  type: Component,
203
203
  args: [{ selector: 'clr-collapse-expand-section', animations: [
204
204
  trigger('collapseExpandAnimation', [
@@ -241,11 +241,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
241
241
  * The full license information can be found in LICENSE in the root directory of this project.
242
242
  */
243
243
  class ClrCollapseExpandSectionModule {
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
245
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSectionModule, declarations: [ClrCollapseExpandSection], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrCollapseExpandSection] }); }
246
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSectionModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
245
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSectionModule, declarations: [ClrCollapseExpandSection], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrCollapseExpandSection] }); }
246
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSectionModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrCollapseExpandSectionModule, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrCollapseExpandSectionModule, decorators: [{
249
249
  type: NgModule,
250
250
  args: [{
251
251
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -301,8 +301,8 @@ class ClrContentPanel {
301
301
  // this event is used by the tree table to adjust the colomns width
302
302
  window.dispatchEvent(new Event('resize'));
303
303
  }
304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrContentPanel, isStandalone: false, selector: "clr-content-panel", outputs: { opened: "clrOpened", closed: "clrClosed" }, host: { properties: { "class.content-panel": "true" } }, ngImport: i0, template: "<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"content-panel-content-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <h3 class=\"content-panel-title\">\n <button type=\"button\" class=\"close content-panel-close-btn\" (click)=\"close()\">\n <cds-icon class=\"content-panel-close-icon\" shape=\"times\" size=\"24\"></cds-icon>\n </button>\n <ng-content select=\"[clr-content-panel-title]\"></ng-content>\n </h3>\n <ng-content select=\"[clr-content-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"content-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], animations: [
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrContentPanel, isStandalone: false, selector: "clr-content-panel", outputs: { opened: "clrOpened", closed: "clrClosed" }, host: { properties: { "class.content-panel": "true" } }, ngImport: i0, template: "<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"content-panel-content-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <h3 class=\"content-panel-title\">\n <button type=\"button\" class=\"close content-panel-close-btn\" (click)=\"close()\">\n <cds-icon class=\"content-panel-close-icon\" shape=\"times\" size=\"24\"></cds-icon>\n </button>\n <ng-content select=\"[clr-content-panel-title]\"></ng-content>\n </h3>\n <ng-content select=\"[clr-content-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"content-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], animations: [
306
306
  trigger('slideIn', [
307
307
  transition(':enter', [style({ opacity: 0, width: 0 }), animate('0.2s', style({ opacity: 1, width: '*' }))]),
308
308
  transition(':leave', [style({ opacity: 1, width: '*' }), animate('0.2s', style({ opacity: 0, width: 0 }))]),
@@ -313,7 +313,7 @@ class ClrContentPanel {
313
313
  ]),
314
314
  ] }); }
315
315
  }
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanel, decorators: [{
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanel, decorators: [{
317
317
  type: Component,
318
318
  args: [{ selector: 'clr-content-panel', animations: [
319
319
  trigger('slideIn', [
@@ -341,8 +341,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
341
341
  * The full license information can be found in LICENSE in the root directory of this project.
342
342
  */
343
343
  class ClrContentPanelContainer {
344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
345
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrContentPanelContainer, isStandalone: false, selector: "clr-content-panel-container", host: { properties: { "class.content-container": "true", "class.content-panel-container": "true" } }, ngImport: i0, template: `
344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
345
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrContentPanelContainer, isStandalone: false, selector: "clr-content-panel-container", host: { properties: { "class.content-container": "true", "class.content-panel-container": "true" } }, ngImport: i0, template: `
346
346
  <div class="content-panel-outer-wrapper">
347
347
  <ng-content select="clr-content-panel-container-content"></ng-content>
348
348
  <ng-content select="clr-content-panel-container-footer"></ng-content>
@@ -350,7 +350,7 @@ class ClrContentPanelContainer {
350
350
  <ng-content select="clr-content-panel"></ng-content>
351
351
  `, isInline: true }); }
352
352
  }
353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainer, decorators: [{
353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainer, decorators: [{
354
354
  type: Component,
355
355
  args: [{
356
356
  selector: 'clr-content-panel-container',
@@ -375,10 +375,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
375
375
  * The full license information can be found in LICENSE in the root directory of this project.
376
376
  */
377
377
  class ClrContentPanelContainerContent {
378
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainerContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
379
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrContentPanelContainerContent, isStandalone: false, selector: "clr-content-panel-container-content", host: { properties: { "class.content-area": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
378
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainerContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
379
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrContentPanelContainerContent, isStandalone: false, selector: "clr-content-panel-container-content", host: { properties: { "class.content-area": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
380
380
  }
381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainerContent, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainerContent, decorators: [{
382
382
  type: Component,
383
383
  args: [{
384
384
  selector: 'clr-content-panel-container-content',
@@ -396,10 +396,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
396
396
  * The full license information can be found in LICENSE in the root directory of this project.
397
397
  */
398
398
  class ClrContentPanelContainerFooter {
399
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainerFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
400
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrContentPanelContainerFooter, isStandalone: false, selector: "clr-content-panel-container-footer", host: { properties: { "class.content-area-footer": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
399
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainerFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
400
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrContentPanelContainerFooter, isStandalone: false, selector: "clr-content-panel-container-footer", host: { properties: { "class.content-area-footer": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
401
401
  }
402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelContainerFooter, decorators: [{
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelContainerFooter, decorators: [{
403
403
  type: Component,
404
404
  args: [{
405
405
  selector: 'clr-content-panel-container-footer',
@@ -417,14 +417,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
417
417
  * The full license information can be found in LICENSE in the root directory of this project.
418
418
  */
419
419
  class ClrContentPanelModule {
420
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
421
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelModule, declarations: [ClrContentPanel,
420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
421
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelModule, declarations: [ClrContentPanel,
422
422
  ClrContentPanelContainer,
423
423
  ClrContentPanelContainerContent,
424
424
  ClrContentPanelContainerFooter], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter] }); }
425
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
425
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
426
426
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrContentPanelModule, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrContentPanelModule, decorators: [{
428
428
  type: NgModule,
429
429
  args: [{
430
430
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -495,10 +495,10 @@ class ClrDataListPredefinedValidatorDirective {
495
495
  validate(control) {
496
496
  return ClrDataListValidators.predefined(this.clrDataListPredefined)(control);
497
497
  }
498
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListPredefinedValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
499
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDataListPredefinedValidatorDirective, isStandalone: false, selector: "[clrDataListPredefined]", inputs: { clrDataListPredefined: "clrDataListPredefined" }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrDataListPredefinedValidatorDirective, multi: true }], ngImport: i0 }); }
498
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListPredefinedValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
499
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDataListPredefinedValidatorDirective, isStandalone: false, selector: "[clrDataListPredefined]", inputs: { clrDataListPredefined: "clrDataListPredefined" }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrDataListPredefinedValidatorDirective, multi: true }], ngImport: i0 }); }
500
500
  }
501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListPredefinedValidatorDirective, decorators: [{
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListPredefinedValidatorDirective, decorators: [{
502
502
  type: Directive,
503
503
  args: [{
504
504
  selector: '[clrDataListPredefined]',
@@ -515,11 +515,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
515
515
  * The full license information can be found in LICENSE in the root directory of this project.
516
516
  */
517
517
  class ClrDataListValidatorModule {
518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
519
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListValidatorModule, declarations: [ClrDataListPredefinedValidatorDirective], exports: [ClrDataListPredefinedValidatorDirective] }); }
520
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListValidatorModule }); }
518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
519
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListValidatorModule, declarations: [ClrDataListPredefinedValidatorDirective], exports: [ClrDataListPredefinedValidatorDirective] }); }
520
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListValidatorModule }); }
521
521
  }
522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDataListValidatorModule, decorators: [{
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDataListValidatorModule, decorators: [{
523
523
  type: NgModule,
524
524
  args: [{
525
525
  declarations: [ClrDataListPredefinedValidatorDirective],
@@ -551,8 +551,8 @@ class ClrDateTimeContainer {
551
551
  // Append it as a child
552
552
  this.renderer.appendChild(inputWrapper, timeInputElement);
553
553
  }
554
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeContainer, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
555
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrDateTimeContainer, isStandalone: false, selector: "clr-date-time-container", host: { properties: { "class.date-time-container": "true" } }, viewQueries: [{ propertyName: "timeInput", first: true, predicate: ["timeInput"], descendants: true, static: true }], ngImport: i0, template: `
554
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeContainer, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
555
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrDateTimeContainer, isStandalone: false, selector: "clr-date-time-container", host: { properties: { "class.date-time-container": "true" } }, viewQueries: [{ propertyName: "timeInput", first: true, predicate: ["timeInput"], descendants: true, static: true }], ngImport: i0, template: `
556
556
  <ng-content select="clr-date-container"></ng-content>
557
557
 
558
558
  <ng-template #timeInput>
@@ -562,7 +562,7 @@ class ClrDateTimeContainer {
562
562
  </ng-template>
563
563
  `, isInline: true }); }
564
564
  }
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeContainer, decorators: [{
565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeContainer, decorators: [{
566
566
  type: Component,
567
567
  args: [{
568
568
  selector: 'clr-date-time-container',
@@ -591,10 +591,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
591
591
  * The full license information can be found in LICENSE in the root directory of this project.
592
592
  */
593
593
  class ClrTimeInput {
594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
595
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrTimeInput, isStandalone: false, selector: "[clrTime]", host: { properties: { "class.clr-input": "true" } }, ngImport: i0 }); }
594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
595
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrTimeInput, isStandalone: false, selector: "[clrTime]", host: { properties: { "class.clr-input": "true" } }, ngImport: i0 }); }
596
596
  }
597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTimeInput, decorators: [{
597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTimeInput, decorators: [{
598
598
  type: Directive,
599
599
  args: [{
600
600
  selector: '[clrTime]',
@@ -611,11 +611,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
611
611
  * The full license information can be found in LICENSE in the root directory of this project.
612
612
  */
613
613
  class ClrDateTimeModule {
614
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
615
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeModule, declarations: [ClrDateTimeContainer, ClrTimeInput], imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule], exports: [ClrDateTimeContainer, ClrTimeInput] }); }
616
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeModule, imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule] }); }
614
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
615
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeModule, declarations: [ClrDateTimeContainer, ClrTimeInput], imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule], exports: [ClrDateTimeContainer, ClrTimeInput] }); }
616
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeModule, imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule] }); }
617
617
  }
618
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateTimeModule, decorators: [{
618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateTimeModule, decorators: [{
619
619
  type: NgModule,
620
620
  args: [{
621
621
  imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],
@@ -666,10 +666,10 @@ class ClrDotPager {
666
666
  pageArray() {
667
667
  return Array(this._pages);
668
668
  }
669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrDotPager, isStandalone: false, selector: "clr-dot-pager", inputs: { pages: ["clrPages", "pages"], currentPage: ["clrCurrentPage", "currentPage"] }, outputs: { currentPageChange: "clrCurrentPageChange" }, host: { properties: { "class.dot-pager": "true" } }, ngImport: i0, template: "<clr-radio-container *ngIf=\"pages > 0\" clrInline>\n <clr-radio-wrapper *ngFor=\"let a of pageArray(); let page = index\">\n <input clrRadio type=\"radio\" [value]=\"page+1\" [(ngModel)]=\"currentPage\" name=\"{{uniqueName}}\" />\n <label>&nbsp;</label>\n </clr-radio-wrapper>\n</clr-radio-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrRadio, selector: "[clrRadio]" }, { kind: "component", type: i2.ClrRadioContainer, selector: "clr-radio-container", inputs: ["clrInline"] }, { kind: "component", type: i2.ClrRadioWrapper, selector: "clr-radio-wrapper" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrDotPager, isStandalone: false, selector: "clr-dot-pager", inputs: { pages: ["clrPages", "pages"], currentPage: ["clrCurrentPage", "currentPage"] }, outputs: { currentPageChange: "clrCurrentPageChange" }, host: { properties: { "class.dot-pager": "true" } }, ngImport: i0, template: "<clr-radio-container *ngIf=\"pages > 0\" clrInline>\n <clr-radio-wrapper *ngFor=\"let a of pageArray(); let page = index\">\n <input clrRadio type=\"radio\" [value]=\"page+1\" [(ngModel)]=\"currentPage\" name=\"{{uniqueName}}\" />\n <label>&nbsp;</label>\n </clr-radio-wrapper>\n</clr-radio-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrRadio, selector: "[clrRadio]" }, { kind: "component", type: i2.ClrRadioContainer, selector: "clr-radio-container", inputs: ["clrInline"] }, { kind: "component", type: i2.ClrRadioWrapper, selector: "clr-radio-wrapper" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
671
671
  }
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPager, decorators: [{
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPager, decorators: [{
673
673
  type: Component,
674
674
  args: [{ selector: 'clr-dot-pager', host: { '[class.dot-pager]': 'true' }, standalone: false, template: "<clr-radio-container *ngIf=\"pages > 0\" clrInline>\n <clr-radio-wrapper *ngFor=\"let a of pageArray(); let page = index\">\n <input clrRadio type=\"radio\" [value]=\"page+1\" [(ngModel)]=\"currentPage\" name=\"{{uniqueName}}\" />\n <label>&nbsp;</label>\n </clr-radio-wrapper>\n</clr-radio-container>\n" }]
675
675
  }], propDecorators: { currentPageChange: [{
@@ -689,11 +689,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
689
689
  * The full license information can be found in LICENSE in the root directory of this project.
690
690
  */
691
691
  class ClrDotPagerModule {
692
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
693
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPagerModule, declarations: [ClrDotPager], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrDotPager] }); }
694
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPagerModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
692
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
693
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPagerModule, declarations: [ClrDotPager], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrDotPager] }); }
694
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPagerModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
695
695
  }
696
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDotPagerModule, decorators: [{
696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDotPagerModule, decorators: [{
697
697
  type: NgModule,
698
698
  args: [{
699
699
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -805,10 +805,10 @@ class ClrDropdownOverflowDirective {
805
805
  const pxPerVhUnit = window.innerHeight / 100;
806
806
  return vh * pxPerVhUnit;
807
807
  }
808
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
809
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDropdownOverflowDirective, isStandalone: false, selector: "clr-dropdown-menu", inputs: { clrDropdownMenuMaxHeight: "clrDropdownMenuMaxHeight", clrDropdownMenuItemMinHeight: "clrDropdownMenuItemMinHeight", clrMarginBottom: "clrMarginBottom" }, queries: [{ propertyName: "nestedDropdownChildren", predicate: ClrDropdown, descendants: true }], ngImport: i0 }); }
808
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
809
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDropdownOverflowDirective, isStandalone: false, selector: "clr-dropdown-menu", inputs: { clrDropdownMenuMaxHeight: "clrDropdownMenuMaxHeight", clrDropdownMenuItemMinHeight: "clrDropdownMenuItemMinHeight", clrMarginBottom: "clrMarginBottom" }, queries: [{ propertyName: "nestedDropdownChildren", predicate: ClrDropdown, descendants: true }], ngImport: i0 }); }
810
810
  }
811
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowDirective, decorators: [{
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowDirective, decorators: [{
812
812
  type: Directive,
813
813
  args: [{
814
814
  selector: 'clr-dropdown-menu',
@@ -963,10 +963,10 @@ class ClrFlowBar {
963
963
  const index = this.getCurrentIndex();
964
964
  return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);
965
965
  }
966
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrFlowBar, isStandalone: false, selector: "clr-flow-bar", inputs: { _steps: ["clrSteps", "_steps"], _activeStep: ["clrActiveStep", "_activeStep"] }, outputs: { _activeStepChange: "clrActiveStepChange" }, host: { properties: { "class.flow-bar": "true" } }, ngImport: i0, template: "<div class=\"flow-bar-wrapper\">\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <div class=\"flow-bar-step\" [class.active]=\"step === _activeStep\">\n <button\n class=\"btn btn-link flow-bar-btn\"\n [disabled]=\"!step.enabled\"\n [class.active]=\"step === _activeStep\"\n (click)=\"changeActiveStep(step)\"\n >\n {{index + 1}}. {{(step.title | async)}}\n </button>\n <cds-icon shape=\"angle\" direction=\"right\" *ngIf=\"!last\"></cds-icon>\n </div>\n </ng-container>\n</div>\n<clr-dropdown class=\"flow-bar-dropdown clr-flex-fill\">\n <button type=\"button\" class=\"btn btn-outline-primary\" clrDropdownTrigger>\n {{_steps.indexOf(_activeStep) + 1}}. {{_activeStep?.title | async}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu>\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <button clrDropdownItem type=\"button\" class=\"btn\" [disabled]=\"!step.enabled\" (click)=\"changeActiveStep(step)\">\n {{index + 1}}. {{step.title | async}}\n </button>\n </ng-container>\n </clr-dropdown-menu>\n</clr-dropdown>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
967
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrFlowBar, isStandalone: false, selector: "clr-flow-bar", inputs: { _steps: ["clrSteps", "_steps"], _activeStep: ["clrActiveStep", "_activeStep"] }, outputs: { _activeStepChange: "clrActiveStepChange" }, host: { properties: { "class.flow-bar": "true" } }, ngImport: i0, template: "<div class=\"flow-bar-wrapper\">\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <div class=\"flow-bar-step\" [class.active]=\"step === _activeStep\">\n <button\n class=\"btn btn-link flow-bar-btn\"\n [disabled]=\"!step.enabled\"\n [class.active]=\"step === _activeStep\"\n (click)=\"changeActiveStep(step)\"\n >\n {{index + 1}}. {{(step.title | async)}}\n </button>\n <cds-icon shape=\"angle\" direction=\"right\" *ngIf=\"!last\"></cds-icon>\n </div>\n </ng-container>\n</div>\n<clr-dropdown class=\"flow-bar-dropdown clr-flex-fill\">\n <button type=\"button\" class=\"btn btn-outline-primary\" clrDropdownTrigger>\n {{_steps.indexOf(_activeStep) + 1}}. {{_activeStep?.title | async}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu>\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <button clrDropdownItem type=\"button\" class=\"btn\" [disabled]=\"!step.enabled\" (click)=\"changeActiveStep(step)\">\n {{index + 1}}. {{step.title | async}}\n </button>\n </ng-container>\n </clr-dropdown-menu>\n</clr-dropdown>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
968
968
  }
969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBar, decorators: [{
969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBar, decorators: [{
970
970
  type: Component,
971
971
  args: [{ selector: 'clr-flow-bar', host: {
972
972
  '[class.flow-bar]': 'true',
@@ -988,11 +988,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
988
988
  * The full license information can be found in LICENSE in the root directory of this project.
989
989
  */
990
990
  class ClrDropdownOverflowModule {
991
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
992
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowModule, declarations: [ClrDropdownOverflowDirective], exports: [ClrDropdownOverflowDirective] }); }
993
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowModule }); }
991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
992
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowModule, declarations: [ClrDropdownOverflowDirective], exports: [ClrDropdownOverflowDirective] }); }
993
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowModule }); }
994
994
  }
995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDropdownOverflowModule, decorators: [{
995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDropdownOverflowModule, decorators: [{
996
996
  type: NgModule,
997
997
  args: [{
998
998
  declarations: [ClrDropdownOverflowDirective],
@@ -1012,11 +1012,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1012
1012
  * The full license information can be found in LICENSE in the root directory of this project.
1013
1013
  */
1014
1014
  class ClrFlowBarModule {
1015
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1016
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBarModule, declarations: [ClrFlowBar], imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule], exports: [ClrFlowBar] }); }
1017
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBarModule, imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule] }); }
1015
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1016
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBarModule, declarations: [ClrFlowBar], imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule], exports: [ClrFlowBar] }); }
1017
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBarModule, imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule] }); }
1018
1018
  }
1019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFlowBarModule, decorators: [{
1019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFlowBarModule, decorators: [{
1020
1020
  type: NgModule,
1021
1021
  args: [{
1022
1022
  imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],
@@ -1082,10 +1082,10 @@ class ClrGenericQuickList {
1082
1082
  ngOnDestroy() {
1083
1083
  clearTimeout(this.timeout);
1084
1084
  }
1085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrGenericQuickList, isStandalone: false, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly", compactMode: "compactMode" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
1085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrGenericQuickList, isStandalone: false, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly", compactMode: "compactMode" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
1087
1087
  }
1088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickList, decorators: [{
1088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickList, decorators: [{
1089
1089
  type: Component,
1090
1090
  args: [{ selector: 'clr-generic-quick-list', host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' }, standalone: false, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
1091
1091
  }], propDecorators: { allItems: [{
@@ -1130,11 +1130,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1130
1130
  * The full license information can be found in LICENSE in the root directory of this project.
1131
1131
  */
1132
1132
  class ClrGenericQuickListModule {
1133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1134
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickListModule, declarations: [ClrGenericQuickList], imports: [CommonModule, ClarityModule], exports: [ClrGenericQuickList] }); }
1135
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickListModule, imports: [CommonModule, ClarityModule] }); }
1133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1134
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickListModule, declarations: [ClrGenericQuickList], imports: [CommonModule, ClarityModule], exports: [ClrGenericQuickList] }); }
1135
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickListModule, imports: [CommonModule, ClarityModule] }); }
1136
1136
  }
1137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrGenericQuickListModule, decorators: [{
1137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrGenericQuickListModule, decorators: [{
1138
1138
  type: NgModule,
1139
1139
  args: [{
1140
1140
  imports: [CommonModule, ClarityModule],
@@ -1179,10 +1179,10 @@ class ClrLetterAvatar {
1179
1179
  return '';
1180
1180
  }
1181
1181
  }
1182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatar, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrLetterAvatar, isStandalone: false, selector: "clr-letter-avatar", inputs: { name: ["clrName", "name"], size: ["clrSize", "size"] }, host: { properties: { "class.clr-avatar": "this.avatar" } }, viewQueries: [{ propertyName: "avatarElement", first: true, predicate: ["avatar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"avatar-circle\">\n <div #avatar class=\"avatar-initials\">{{getInitials()}}</div>\n</div>\n" }); }
1182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatar, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrLetterAvatar, isStandalone: false, selector: "clr-letter-avatar", inputs: { name: ["clrName", "name"], size: ["clrSize", "size"] }, host: { properties: { "class.clr-avatar": "this.avatar" } }, viewQueries: [{ propertyName: "avatarElement", first: true, predicate: ["avatar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"avatar-circle\">\n <div #avatar class=\"avatar-initials\">{{getInitials()}}</div>\n</div>\n" }); }
1184
1184
  }
1185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatar, decorators: [{
1185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatar, decorators: [{
1186
1186
  type: Component,
1187
1187
  args: [{ selector: 'clr-letter-avatar', standalone: false, template: "<div class=\"avatar-circle\">\n <div #avatar class=\"avatar-initials\">{{getInitials()}}</div>\n</div>\n" }]
1188
1188
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { avatar: [{
@@ -1205,11 +1205,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1205
1205
  * The full license information can be found in LICENSE in the root directory of this project.
1206
1206
  */
1207
1207
  class ClrLetterAvatarModule {
1208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1209
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatarModule, declarations: [ClrLetterAvatar], imports: [CommonModule, ClarityModule], exports: [ClrLetterAvatar] }); }
1210
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatarModule, imports: [CommonModule, ClarityModule] }); }
1208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1209
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatarModule, declarations: [ClrLetterAvatar], imports: [CommonModule, ClarityModule], exports: [ClrLetterAvatar] }); }
1210
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatarModule, imports: [CommonModule, ClarityModule] }); }
1211
1211
  }
1212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLetterAvatarModule, decorators: [{
1212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLetterAvatarModule, decorators: [{
1213
1213
  type: NgModule,
1214
1214
  args: [{
1215
1215
  imports: [CommonModule, ClarityModule],
@@ -1239,10 +1239,10 @@ class ClrMainNavGroupItem {
1239
1239
  this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');
1240
1240
  this.el.nativeElement.blur();
1241
1241
  }
1242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
1243
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrMainNavGroupItem, isStandalone: false, selector: "[clrMainNavGroupItem]", ngImport: i0 }); }
1242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
1243
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrMainNavGroupItem, isStandalone: false, selector: "[clrMainNavGroupItem]", ngImport: i0 }); }
1244
1244
  }
1245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupItem, decorators: [{
1245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupItem, decorators: [{
1246
1246
  type: Directive,
1247
1247
  args: [{
1248
1248
  selector: '[clrMainNavGroupItem]',
@@ -1385,10 +1385,10 @@ class ClrMainNavGroup {
1385
1385
  this.currentFocusedId = 0;
1386
1386
  setTimeout(() => this.items.toArray()[this.currentFocusedId].focus());
1387
1387
  }
1388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroup, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1389
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrMainNavGroup, isStandalone: false, selector: "clr-main-nav-group", inputs: { title: ["clrTitle", "title"], icon: ["clrIcon", "icon"] }, host: { properties: { "class.main-nav-group": "true" } }, queries: [{ propertyName: "items", predicate: ClrMainNavGroupItem }], ngImport: i0, template: "<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\">\n @if (icon) {\n <cds-icon class=\"title-icon\" [attr.shape]=\"icon\"></cds-icon>\n } {{title}}\n <cds-icon class=\"dropdown-icon\" shape=\"angle\" direction=\"down\"></cds-icon>\n </label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }] }); }
1388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroup, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1389
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrMainNavGroup, isStandalone: false, selector: "clr-main-nav-group", inputs: { title: ["clrTitle", "title"], icon: ["clrIcon", "icon"] }, host: { properties: { "class.main-nav-group": "true" } }, queries: [{ propertyName: "items", predicate: ClrMainNavGroupItem }], ngImport: i0, template: "<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\">\n @if (icon) {\n <cds-icon class=\"title-icon\" [attr.shape]=\"icon\"></cds-icon>\n } {{title}}\n <cds-icon class=\"dropdown-icon\" shape=\"angle\" direction=\"down\"></cds-icon>\n </label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }] }); }
1390
1390
  }
1391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroup, decorators: [{
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroup, decorators: [{
1392
1392
  type: Component,
1393
1393
  args: [{ selector: 'clr-main-nav-group', host: { '[class.main-nav-group]': 'true' }, standalone: false, template: "<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\">\n @if (icon) {\n <cds-icon class=\"title-icon\" [attr.shape]=\"icon\"></cds-icon>\n } {{title}}\n <cds-icon class=\"dropdown-icon\" shape=\"angle\" direction=\"down\"></cds-icon>\n </label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n" }]
1394
1394
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { title: [{
@@ -1408,11 +1408,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1408
1408
  * The full license information can be found in LICENSE in the root directory of this project.
1409
1409
  */
1410
1410
  class ClrMainNavGroupModule {
1411
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1412
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupModule, declarations: [ClrMainNavGroup, ClrMainNavGroupItem], imports: [CommonModule, RouterModule, ClarityModule], exports: [ClrMainNavGroup, ClrMainNavGroupItem] }); }
1413
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupModule, imports: [CommonModule, RouterModule, ClarityModule] }); }
1411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1412
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupModule, declarations: [ClrMainNavGroup, ClrMainNavGroupItem], imports: [CommonModule, RouterModule, ClarityModule], exports: [ClrMainNavGroup, ClrMainNavGroupItem] }); }
1413
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupModule, imports: [CommonModule, RouterModule, ClarityModule] }); }
1414
1414
  }
1415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMainNavGroupModule, decorators: [{
1415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMainNavGroupModule, decorators: [{
1416
1416
  type: NgModule,
1417
1417
  args: [{
1418
1418
  imports: [CommonModule, RouterModule, ClarityModule],
@@ -1494,10 +1494,10 @@ class ClrRequiredOneMultilang {
1494
1494
  validate(control) {
1495
1495
  return this._active ? ClrMultilingualInputValidators.requiredOne()(control) : null;
1496
1496
  }
1497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrRequiredOneMultilang, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1498
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrRequiredOneMultilang, isStandalone: false, selector: "[clrRequiredOneMultilang]", inputs: { active: ["clrRequiredOneMultilang", "active"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredOneMultilang, multi: true }], ngImport: i0 }); }
1497
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrRequiredOneMultilang, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1498
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrRequiredOneMultilang, isStandalone: false, selector: "[clrRequiredOneMultilang]", inputs: { active: ["clrRequiredOneMultilang", "active"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredOneMultilang, multi: true }], ngImport: i0 }); }
1499
1499
  }
1500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrRequiredOneMultilang, decorators: [{
1500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrRequiredOneMultilang, decorators: [{
1501
1501
  type: Directive,
1502
1502
  args: [{
1503
1503
  selector: '[clrRequiredOneMultilang]',
@@ -1515,10 +1515,10 @@ class ClrRequiredAllMultilang {
1515
1515
  validate(control) {
1516
1516
  return this._active ? ClrMultilingualInputValidators.requiredAll()(control) : null;
1517
1517
  }
1518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrRequiredAllMultilang, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1519
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrRequiredAllMultilang, isStandalone: false, selector: "[clrRequiredAllMultilang]", inputs: { active: ["clrRequiredAllMultilang", "active"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredAllMultilang, multi: true }], ngImport: i0 }); }
1518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrRequiredAllMultilang, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1519
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrRequiredAllMultilang, isStandalone: false, selector: "[clrRequiredAllMultilang]", inputs: { active: ["clrRequiredAllMultilang", "active"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredAllMultilang, multi: true }], ngImport: i0 }); }
1520
1520
  }
1521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrRequiredAllMultilang, decorators: [{
1521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrRequiredAllMultilang, decorators: [{
1522
1522
  type: Directive,
1523
1523
  args: [{
1524
1524
  selector: '[clrRequiredAllMultilang]',
@@ -1551,10 +1551,10 @@ class ControlIdService {
1551
1551
  get idChange() {
1552
1552
  return this._idChange.asObservable();
1553
1553
  }
1554
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ControlIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1555
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ControlIdService }); }
1554
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ControlIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1555
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ControlIdService }); }
1556
1556
  }
1557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ControlIdService, decorators: [{
1557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ControlIdService, decorators: [{
1558
1558
  type: Injectable
1559
1559
  }] });
1560
1560
 
@@ -1638,10 +1638,10 @@ class ClrAbstractFormComponent {
1638
1638
  ClrForm.prototype.markAsTouched = origMarkAsTouched;
1639
1639
  }
1640
1640
  }
1641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAbstractFormComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
1642
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrAbstractFormComponent, isStandalone: true, host: { properties: { "class.clr-form-control": "this.formControl", "class.clr-error": "this.showError" } }, ngImport: i0 }); }
1641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAbstractFormComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
1642
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrAbstractFormComponent, isStandalone: true, host: { properties: { "class.clr-form-control": "this.formControl", "class.clr-error": "this.showError" } }, ngImport: i0 }); }
1643
1643
  }
1644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAbstractFormComponent, decorators: [{
1644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAbstractFormComponent, decorators: [{
1645
1645
  type: Directive
1646
1646
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { formControl: [{
1647
1647
  type: HostBinding,
@@ -1746,10 +1746,10 @@ class ClrMultilingualAbstract extends ClrAbstractFormComponent {
1746
1746
  this.inputElement.nativeElement.focus();
1747
1747
  });
1748
1748
  }
1749
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualAbstract, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
1750
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrMultilingualAbstract, isStandalone: true, inputs: { controlClasses: ["clrControlClasses", "controlClasses"], selectedLang: ["clrSelectedLang", "selectedLang"], readonly: "readonly", maxlength: "maxlength", showSingleLanguageSelector: ["clrShowSingleLanguageSelector", "showSingleLanguageSelector"], fallbackLanguage: ["clrFallbackLang", "fallbackLanguage"], missingPre: ["clrMissingPrefix", "missingPre"], langs: ["clrLanguages", "langs"] }, host: { properties: { "class.clr-multilingual": "this.multi" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 }); }
1749
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualAbstract, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
1750
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrMultilingualAbstract, isStandalone: true, inputs: { controlClasses: ["clrControlClasses", "controlClasses"], selectedLang: ["clrSelectedLang", "selectedLang"], readonly: "readonly", maxlength: "maxlength", showSingleLanguageSelector: ["clrShowSingleLanguageSelector", "showSingleLanguageSelector"], fallbackLanguage: ["clrFallbackLang", "fallbackLanguage"], missingPre: ["clrMissingPrefix", "missingPre"], langs: ["clrLanguages", "langs"] }, host: { properties: { "class.clr-multilingual": "this.multi" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 }); }
1751
1751
  }
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualAbstract, decorators: [{
1752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualAbstract, decorators: [{
1753
1753
  type: Directive
1754
1754
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { multi: [{
1755
1755
  type: HostBinding,
@@ -1786,8 +1786,8 @@ class ClrMultilingualSelector {
1786
1786
  constructor() {
1787
1787
  this.selectedLangChange = new EventEmitter();
1788
1788
  }
1789
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1790
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrMultilingualSelector, isStandalone: false, selector: "clr-multilingual-selector", inputs: { disabled: "disabled", texts: "texts", selectedLang: "selectedLang" }, outputs: { selectedLangChange: "selectedLangChange" }, ngImport: i0, template: `
1789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1790
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrMultilingualSelector, isStandalone: false, selector: "clr-multilingual-selector", inputs: { disabled: "disabled", texts: "texts", selectedLang: "selectedLang" }, outputs: { selectedLangChange: "selectedLangChange" }, ngImport: i0, template: `
1791
1791
  <div>
1792
1792
  <clr-dropdown [clrCloseMenuOnItemClick]="true">
1793
1793
  <button
@@ -1816,7 +1816,7 @@ class ClrMultilingualSelector {
1816
1816
  </div>
1817
1817
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }] }); }
1818
1818
  }
1819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualSelector, decorators: [{
1819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualSelector, decorators: [{
1820
1820
  type: Component,
1821
1821
  args: [{
1822
1822
  selector: 'clr-multilingual-selector',
@@ -1870,8 +1870,8 @@ class ClrMultilingualInput extends ClrMultilingualAbstract {
1870
1870
  constructor(injector) {
1871
1871
  super(injector);
1872
1872
  }
1873
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualInput, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1874
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrMultilingualInput, isStandalone: false, selector: "clr-multilingual-input", providers: [
1873
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualInput, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1874
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrMultilingualInput, isStandalone: false, selector: "clr-multilingual-input", providers: [
1875
1875
  {
1876
1876
  provide: NG_VALUE_ACCESSOR,
1877
1877
  useExisting: forwardRef(() => ClrMultilingualInput),
@@ -1880,7 +1880,7 @@ class ClrMultilingualInput extends ClrMultilingualAbstract {
1880
1880
  ControlIdService,
1881
1881
  ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }] }); }
1882
1882
  }
1883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualInput, decorators: [{
1883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualInput, decorators: [{
1884
1884
  type: Component,
1885
1885
  args: [{ selector: 'clr-multilingual-input', providers: [
1886
1886
  {
@@ -1902,8 +1902,8 @@ class ClrMultilingualTextarea extends ClrMultilingualAbstract {
1902
1902
  constructor(injector) {
1903
1903
  super(injector);
1904
1904
  }
1905
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualTextarea, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1906
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrMultilingualTextarea, isStandalone: false, selector: "clr-multilingual-textarea", inputs: { rows: "rows" }, providers: [
1905
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualTextarea, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1906
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrMultilingualTextarea, isStandalone: false, selector: "clr-multilingual-textarea", inputs: { rows: "rows" }, providers: [
1907
1907
  {
1908
1908
  provide: NG_VALUE_ACCESSOR,
1909
1909
  useExisting: forwardRef(() => ClrMultilingualTextarea),
@@ -1912,7 +1912,7 @@ class ClrMultilingualTextarea extends ClrMultilingualAbstract {
1912
1912
  ControlIdService,
1913
1913
  ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n [rows]=\"rows || 1\"\n #input\n ></textarea>\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrMultilingualSelector, selector: "clr-multilingual-selector", inputs: ["disabled", "texts", "selectedLang"], outputs: ["selectedLangChange"] }] }); }
1914
1914
  }
1915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualTextarea, decorators: [{
1915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualTextarea, decorators: [{
1916
1916
  type: Component,
1917
1917
  args: [{ selector: 'clr-multilingual-textarea', providers: [
1918
1918
  {
@@ -1932,8 +1932,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
1932
1932
  * The full license information can be found in LICENSE in the root directory of this project.
1933
1933
  */
1934
1934
  class ClrMultilingualModule {
1935
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1936
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualModule, declarations: [ClrMultilingualInput,
1935
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1936
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualModule, declarations: [ClrMultilingualInput,
1937
1937
  ClrMultilingualTextarea,
1938
1938
  ClrRequiredOneMultilang,
1939
1939
  ClrRequiredAllMultilang,
@@ -1942,9 +1942,9 @@ class ClrMultilingualModule {
1942
1942
  ClrRequiredOneMultilang,
1943
1943
  ClrRequiredAllMultilang,
1944
1944
  ClrMultilingualSelector] }); }
1945
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualModule, imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule] }); }
1945
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualModule, imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule] }); }
1946
1946
  }
1947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMultilingualModule, decorators: [{
1947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMultilingualModule, decorators: [{
1948
1948
  type: NgModule,
1949
1949
  args: [{
1950
1950
  imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],
@@ -2149,8 +2149,8 @@ class ClrNotification {
2149
2149
  setCurrentPosition() {
2150
2150
  zonedTimer(300, this.ngZone).subscribe(() => (this.state = { value: 'currentPosition', params: { absolute: this._translate } }));
2151
2151
  }
2152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotification, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
2153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrNotification, isStandalone: false, selector: "clr-notification", inputs: { timeout: "timeout", notificationType: "notificationType", dismissable: "dismissable", progressbar: "progressbar" }, outputs: { closed: "closed" }, host: { properties: { "class.notification": "true" } }, viewQueries: [{ propertyName: "clrAlert", first: true, predicate: ClrAlert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertLightweight", "clrAlertType", "clrAlertIcon", "clrAlertClosed"], outputs: ["clrAlertClosedChange"] }, { kind: "directive", type: i2.ClrAlertText, selector: ".alert-text" }], animations: [
2152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotification, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
2153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrNotification, isStandalone: false, selector: "clr-notification", inputs: { timeout: "timeout", notificationType: "notificationType", dismissable: "dismissable", progressbar: "progressbar" }, outputs: { closed: "closed" }, host: { properties: { "class.notification": "true" } }, viewQueries: [{ propertyName: "clrAlert", first: true, predicate: ClrAlert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertLightweight", "clrAlertType", "clrAlertIcon", "clrAlertClosed"], outputs: ["clrAlertClosedChange"] }, { kind: "directive", type: i2.ClrAlertText, selector: ".alert-text" }], animations: [
2154
2154
  trigger('slideDown', [
2155
2155
  transition(':enter', [
2156
2156
  style({ transform: 'translateY(-200%)' }),
@@ -2170,7 +2170,7 @@ class ClrNotification {
2170
2170
  ]),
2171
2171
  ] }); }
2172
2172
  }
2173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotification, decorators: [{
2173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotification, decorators: [{
2174
2174
  type: Component,
2175
2175
  args: [{ selector: 'clr-notification', animations: [
2176
2176
  trigger('slideDown', [
@@ -2214,11 +2214,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2214
2214
  * The full license information can be found in LICENSE in the root directory of this project.
2215
2215
  */
2216
2216
  class ClrNotificationModule {
2217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2218
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationModule, declarations: [ClrNotification], imports: [CommonModule, ClarityModule, FormsModule] }); }
2219
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
2217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2218
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationModule, declarations: [ClrNotification], imports: [CommonModule, ClarityModule, FormsModule] }); }
2219
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
2220
2220
  }
2221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationModule, decorators: [{
2221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationModule, decorators: [{
2222
2222
  type: NgModule,
2223
2223
  args: [{
2224
2224
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -2302,10 +2302,10 @@ class ClrNotificationService {
2302
2302
  notificationInstance.progressbar = options.progressbar;
2303
2303
  }
2304
2304
  }
2305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2306
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationService }); }
2305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2306
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationService }); }
2307
2307
  }
2308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNotificationService, decorators: [{
2308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNotificationService, decorators: [{
2309
2309
  type: Injectable
2310
2310
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: Document, decorators: [{
2311
2311
  type: Inject,
@@ -2666,8 +2666,8 @@ class ClrNumericField {
2666
2666
  // 16 is the highest precision before numbers have weird behaviour. see https://stackoverflow.com/q/21472828/15120942
2667
2667
  return Math[method](+(value * Math.pow(10, this.decimalPlaces)).toPrecision(15)) / Math.pow(10, this.decimalPlaces);
2668
2668
  }
2669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2670
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrNumericField, isStandalone: false, selector: "[clrNumeric]", inputs: { textAlign: ["clrTextAlign", "textAlign"], decimalPlaces: ["clrDecimalPlaces", "decimalPlaces"], roundValue: ["clrRoundDisplayValue", "roundValue"], autofillDecimals: ["clrAutofillDecimals", "autofillDecimals"], decimalSeparator: ["clrDecimalSep", "decimalSeparator"], groupingSeparator: ["clrGroupingSep", "groupingSeparator"], unitPosition: ["clrUnitPosition", "unitPosition"], numericValue: ["clrNumericValue", "numericValue"], unit: ["clrUnit", "unit"] }, outputs: { numericValueChanged: "clrNumericValueChange" }, host: { listeners: { "change": "onChange(getValueForFormControl())", "input": "onChange(getValueForFormControl())", "blur": "onTouched()" }, properties: { "class.text-right": "textAlign === \"right\"" } }, providers: [
2669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2670
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrNumericField, isStandalone: false, selector: "[clrNumeric]", inputs: { textAlign: ["clrTextAlign", "textAlign"], decimalPlaces: ["clrDecimalPlaces", "decimalPlaces"], roundValue: ["clrRoundDisplayValue", "roundValue"], autofillDecimals: ["clrAutofillDecimals", "autofillDecimals"], decimalSeparator: ["clrDecimalSep", "decimalSeparator"], groupingSeparator: ["clrGroupingSep", "groupingSeparator"], unitPosition: ["clrUnitPosition", "unitPosition"], numericValue: ["clrNumericValue", "numericValue"], unit: ["clrUnit", "unit"] }, outputs: { numericValueChanged: "clrNumericValueChange" }, host: { listeners: { "change": "onChange(getValueForFormControl())", "input": "onChange(getValueForFormControl())", "blur": "onTouched()" }, properties: { "class.text-right": "textAlign === \"right\"" } }, providers: [
2671
2671
  {
2672
2672
  provide: NG_VALUE_ACCESSOR,
2673
2673
  useExisting: forwardRef(() => ClrNumericField),
@@ -2675,7 +2675,7 @@ class ClrNumericField {
2675
2675
  },
2676
2676
  ], ngImport: i0 }); }
2677
2677
  }
2678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericField, decorators: [{
2678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericField, decorators: [{
2679
2679
  type: Directive,
2680
2680
  args: [{
2681
2681
  selector: '[clrNumeric]',
@@ -2816,10 +2816,10 @@ class ClrMaxNumeric {
2816
2816
  validate(control) {
2817
2817
  return ClrNumericFieldValidators.max(this._max, this._groupingSep, this._decimalSep)(control);
2818
2818
  }
2819
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMaxNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2820
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrMaxNumeric, isStandalone: false, selector: "[clrMaxNumeric]", inputs: { _max: ["clrMaxNumeric", "_max"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }], ngImport: i0 }); }
2819
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMaxNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2820
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrMaxNumeric, isStandalone: false, selector: "[clrMaxNumeric]", inputs: { _max: ["clrMaxNumeric", "_max"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }], ngImport: i0 }); }
2821
2821
  }
2822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMaxNumeric, decorators: [{
2822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMaxNumeric, decorators: [{
2823
2823
  type: Directive,
2824
2824
  args: [{
2825
2825
  selector: '[clrMaxNumeric]',
@@ -2844,10 +2844,10 @@ class ClrMinNumeric {
2844
2844
  validate(control) {
2845
2845
  return ClrNumericFieldValidators.min(this._min, this._groupingSep, this._decimalSep)(control);
2846
2846
  }
2847
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMinNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2848
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrMinNumeric, isStandalone: false, selector: "[clrMinNumeric]", inputs: { _min: ["clrMinNumeric", "_min"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }], ngImport: i0 }); }
2847
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMinNumeric, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2848
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrMinNumeric, isStandalone: false, selector: "[clrMinNumeric]", inputs: { _min: ["clrMinNumeric", "_min"], _groupingSep: ["clrGroupingSep", "_groupingSep"], _decimalSep: ["clrDecimalSep", "_decimalSep"] }, providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }], ngImport: i0 }); }
2849
2849
  }
2850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrMinNumeric, decorators: [{
2850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrMinNumeric, decorators: [{
2851
2851
  type: Directive,
2852
2852
  args: [{
2853
2853
  selector: '[clrMinNumeric]',
@@ -2871,11 +2871,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2871
2871
  * The full license information can be found in LICENSE in the root directory of this project.
2872
2872
  */
2873
2873
  class ClrNumericFieldModule {
2874
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2875
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericFieldModule, declarations: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric], imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule], exports: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric] }); }
2876
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericFieldModule, imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule] }); }
2874
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2875
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericFieldModule, declarations: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric], imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule], exports: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric] }); }
2876
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericFieldModule, imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule] }); }
2877
2877
  }
2878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrNumericFieldModule, decorators: [{
2878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrNumericFieldModule, decorators: [{
2879
2879
  type: NgModule,
2880
2880
  args: [{
2881
2881
  imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],
@@ -2999,10 +2999,10 @@ class ClrPager {
2999
2999
  }
3000
3000
  return middlePages;
3001
3001
  }
3002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrPager, isStandalone: false, selector: "clr-pager", inputs: { pageSize: ["clrPageSize", "pageSize"], totalItems: ["clrTotalItems", "totalItems"], last: ["clrLast", "last"], page: ["clrPage", "page"] }, outputs: { pageChange: "clrPageChange" }, host: { properties: { "class.pager": "true" } }, ngImport: i0, template: "<div class=\"btn-group\" *ngIf=\"last > 1\">\n <button class=\"btn pagination-previous\" (click)=\"previous()\" [disabled]=\"page == 1\">\n <cds-icon shape=\"angle\" direction=\"left\"></cds-icon>\n </button>\n <button *ngIf=\"page > 2\" class=\"btn\" (click)=\"page = 1\">1</button>\n <button *ngIf=\"page > 3\" class=\"btn\" disabled>...</button>\n\n <ng-container *ngFor=\"let pageNum of middlePages\">\n <button *ngIf=\"pageNum !== page; else activePage\" class=\"btn\" (click)=\"page = pageNum\">{{pageNum}}</button>\n <ng-template #activePage>\n <button class=\"btn btn-primary\" type=\"button\">{{pageNum}}</button>\n </ng-template>\n </ng-container>\n\n <button *ngIf=\"page < last - 2\" class=\"btn\" disabled>...</button>\n <button *ngIf=\"page < last - 1\" class=\"btn\" (click)=\"page = last\">{{last}}</button>\n <button class=\"btn pagination-next\" (click)=\"next()\" [disabled]=\"page == last\">\n <cds-icon shape=\"angle\" direction=\"right\"></cds-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
3002
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3003
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrPager, isStandalone: false, selector: "clr-pager", inputs: { pageSize: ["clrPageSize", "pageSize"], totalItems: ["clrTotalItems", "totalItems"], last: ["clrLast", "last"], page: ["clrPage", "page"] }, outputs: { pageChange: "clrPageChange" }, host: { properties: { "class.pager": "true" } }, ngImport: i0, template: "<div class=\"btn-group\" *ngIf=\"last > 1\">\n <button class=\"btn pagination-previous\" (click)=\"previous()\" [disabled]=\"page == 1\">\n <cds-icon shape=\"angle\" direction=\"left\"></cds-icon>\n </button>\n <button *ngIf=\"page > 2\" class=\"btn\" (click)=\"page = 1\">1</button>\n <button *ngIf=\"page > 3\" class=\"btn\" disabled>...</button>\n\n <ng-container *ngFor=\"let pageNum of middlePages\">\n <button *ngIf=\"pageNum !== page; else activePage\" class=\"btn\" (click)=\"page = pageNum\">{{pageNum}}</button>\n <ng-template #activePage>\n <button class=\"btn btn-primary\" type=\"button\">{{pageNum}}</button>\n </ng-template>\n </ng-container>\n\n <button *ngIf=\"page < last - 2\" class=\"btn\" disabled>...</button>\n <button *ngIf=\"page < last - 1\" class=\"btn\" (click)=\"page = last\">{{last}}</button>\n <button class=\"btn pagination-next\" (click)=\"next()\" [disabled]=\"page == last\">\n <cds-icon shape=\"angle\" direction=\"right\"></cds-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
3004
3004
  }
3005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPager, decorators: [{
3005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPager, decorators: [{
3006
3006
  type: Component,
3007
3007
  args: [{ selector: 'clr-pager', host: { '[class.pager]': 'true' }, standalone: false, template: "<div class=\"btn-group\" *ngIf=\"last > 1\">\n <button class=\"btn pagination-previous\" (click)=\"previous()\" [disabled]=\"page == 1\">\n <cds-icon shape=\"angle\" direction=\"left\"></cds-icon>\n </button>\n <button *ngIf=\"page > 2\" class=\"btn\" (click)=\"page = 1\">1</button>\n <button *ngIf=\"page > 3\" class=\"btn\" disabled>...</button>\n\n <ng-container *ngFor=\"let pageNum of middlePages\">\n <button *ngIf=\"pageNum !== page; else activePage\" class=\"btn\" (click)=\"page = pageNum\">{{pageNum}}</button>\n <ng-template #activePage>\n <button class=\"btn btn-primary\" type=\"button\">{{pageNum}}</button>\n </ng-template>\n </ng-container>\n\n <button *ngIf=\"page < last - 2\" class=\"btn\" disabled>...</button>\n <button *ngIf=\"page < last - 1\" class=\"btn\" (click)=\"page = last\">{{last}}</button>\n <button class=\"btn pagination-next\" (click)=\"next()\" [disabled]=\"page == last\">\n <cds-icon shape=\"angle\" direction=\"right\"></cds-icon>\n </button>\n</div>\n" }]
3008
3008
  }], propDecorators: { pageChange: [{
@@ -3046,10 +3046,10 @@ class ClrPagedSearchResultList {
3046
3046
  */
3047
3047
  this.pageSizeChange = new EventEmitter();
3048
3048
  }
3049
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3050
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrPagedSearchResultList, isStandalone: false, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], pageSizeOptions: ["clrPageSizeOptions", "pageSizeOptions"], pageSizeLabel: ["clrPageSizeLabel", "pageSizeLabel"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange", pageSizeChange: "clrPageSizeChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "component", type: ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] }); }
3049
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3050
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrPagedSearchResultList, isStandalone: false, selector: "clr-paged-search-result-list", inputs: { pageSize: ["clrPageSize", "pageSize"], pageSizeOptions: ["clrPageSizeOptions", "pageSizeOptions"], pageSizeLabel: ["clrPageSizeLabel", "pageSizeLabel"], currentPage: ["clrPage", "currentPage"], totalItems: ["clrTotalItems", "totalItems"], items: ["clrItems", "items"], clrPagerPosition: "clrPagerPosition" }, outputs: { pageChange: "clrPageChange", pageSizeChange: "clrPageSizeChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "component", type: ClrPager, selector: "clr-pager", inputs: ["clrPageSize", "clrTotalItems", "clrLast", "clrPage"], outputs: ["clrPageChange"] }] }); }
3051
3051
  }
3052
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultList, decorators: [{
3052
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultList, decorators: [{
3053
3053
  type: Component,
3054
3054
  args: [{ selector: 'clr-paged-search-result-list', standalone: false, template: "<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n" }]
3055
3055
  }], propDecorators: { pageSize: [{
@@ -3090,11 +3090,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3090
3090
  * The full license information can be found in LICENSE in the root directory of this project.
3091
3091
  */
3092
3092
  class ClrPagerModule {
3093
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3094
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrPagerModule, declarations: [ClrPager], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrPager] }); }
3095
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagerModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
3093
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3094
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrPagerModule, declarations: [ClrPager], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrPager] }); }
3095
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagerModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
3096
3096
  }
3097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagerModule, decorators: [{
3097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagerModule, decorators: [{
3098
3098
  type: NgModule,
3099
3099
  args: [{
3100
3100
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -3109,11 +3109,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3109
3109
  * The full license information can be found in LICENSE in the root directory of this project.
3110
3110
  */
3111
3111
  class ClrPagedSearchResultListModule {
3112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3113
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultListModule, declarations: [ClrPagedSearchResultList], imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule], exports: [ClrPagedSearchResultList] }); }
3114
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultListModule, imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule] }); }
3112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3113
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultListModule, declarations: [ClrPagedSearchResultList], imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule], exports: [ClrPagedSearchResultList] }); }
3114
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultListModule, imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule] }); }
3115
3115
  }
3116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrPagedSearchResultListModule, decorators: [{
3116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrPagedSearchResultListModule, decorators: [{
3117
3117
  type: NgModule,
3118
3118
  args: [{
3119
3119
  imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule],
@@ -3179,15 +3179,15 @@ class ClrProgressSpinnerComponent {
3179
3179
  return new Date().getTime() - this.startTimestamp;
3180
3180
  }
3181
3181
  }
3182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrProgressSpinnerComponent, isStandalone: false, selector: "clr-progress-spinner", inputs: { size: ["clrSize", "size"], showSpinner: ["clrShowSpinner", "showSpinner"] }, host: { properties: { "class.progress-spinner-overlay": "_showSpinner" } }, ngImport: i0, template: `
3182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrProgressSpinnerComponent, isStandalone: false, selector: "clr-progress-spinner", inputs: { size: ["clrSize", "size"], showSpinner: ["clrShowSpinner", "showSpinner"] }, host: { properties: { "class.progress-spinner-overlay": "_showSpinner" } }, ngImport: i0, template: `
3184
3184
  <ng-container *ngIf="_showSpinner">
3185
3185
  <span [class]="'spinner-' + size + ' spinner'"></span>
3186
3186
  <span>&nbsp;<ng-content></ng-content></span>
3187
3187
  </ng-container>
3188
3188
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
3189
3189
  }
3190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerComponent, decorators: [{
3190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerComponent, decorators: [{
3191
3191
  type: Component,
3192
3192
  args: [{
3193
3193
  selector: 'clr-progress-spinner',
@@ -3216,11 +3216,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3216
3216
  * The full license information can be found in LICENSE in the root directory of this project.
3217
3217
  */
3218
3218
  class ClrProgressSpinnerModule {
3219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3220
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerModule, declarations: [ClrProgressSpinnerComponent], imports: [CommonModule], exports: [ClrProgressSpinnerComponent] }); }
3221
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerModule, imports: [CommonModule] }); }
3219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3220
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerModule, declarations: [ClrProgressSpinnerComponent], imports: [CommonModule], exports: [ClrProgressSpinnerComponent] }); }
3221
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerModule, imports: [CommonModule] }); }
3222
3222
  }
3223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrProgressSpinnerModule, decorators: [{
3223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrProgressSpinnerModule, decorators: [{
3224
3224
  type: NgModule,
3225
3225
  args: [{
3226
3226
  imports: [CommonModule],
@@ -3279,10 +3279,10 @@ class ClrAddOption {
3279
3279
  this.select.nativeElement.focus();
3280
3280
  }
3281
3281
  }
3282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3283
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrAddOption, isStandalone: false, selector: "clr-add-option", inputs: { blankOption: "blankOption", value: "value", mandatory: "mandatory", allValues: "allValues", excludedValues: "excludedValues", readonly: "readonly", disabled: "disabled", disableAddButton: "disableAddButton", showAddButton: "showAddButton" }, outputs: { valueChanged: "valueChanged", remove: "remove", add: "add" }, host: { properties: { "class.quick-list-option": "true" } }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
3282
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3283
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrAddOption, isStandalone: false, selector: "clr-add-option", inputs: { blankOption: "blankOption", value: "value", mandatory: "mandatory", allValues: "allValues", excludedValues: "excludedValues", readonly: "readonly", disabled: "disabled", disableAddButton: "disableAddButton", showAddButton: "showAddButton" }, outputs: { valueChanged: "valueChanged", remove: "remove", add: "add" }, host: { properties: { "class.quick-list-option": "true" } }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
3284
3284
  }
3285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddOption, decorators: [{
3285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddOption, decorators: [{
3286
3286
  type: Component,
3287
3287
  args: [{ selector: 'clr-add-option', host: { '[class.quick-list-option]': 'true' }, standalone: false, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n" }]
3288
3288
  }], propDecorators: { blankOption: [{
@@ -3381,8 +3381,8 @@ class ClrQuickList extends ClrAbstractFormComponent {
3381
3381
  addNotPossible() {
3382
3382
  return this.hasBlankOption() || this.values.length === this.allValues.length;
3383
3383
  }
3384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrQuickList, isStandalone: false, selector: "clr-quick-list", inputs: { blankOption: ["clrBlankOption", "blankOption"], allValues: ["clrAllValues", "allValues"], mandatory: ["clrMandatory", "mandatory"], values: ["clrValues", "values"], addLabel: ["clrAddLabel", "addLabel"], controlClasses: ["clrControlClasses", "controlClasses"], readonly: "readonly", compactMode: "compactMode" }, outputs: { valuesChanged: "clrValuesChanged", emptyOptionAdded: "clrEmptyOptionAdded" }, host: { properties: { "class.quick-list": "true" } }, providers: [
3384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3385
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrQuickList, isStandalone: false, selector: "clr-quick-list", inputs: { blankOption: ["clrBlankOption", "blankOption"], allValues: ["clrAllValues", "allValues"], mandatory: ["clrMandatory", "mandatory"], values: ["clrValues", "values"], addLabel: ["clrAddLabel", "addLabel"], controlClasses: ["clrControlClasses", "controlClasses"], readonly: "readonly", compactMode: "compactMode" }, outputs: { valuesChanged: "clrValuesChanged", emptyOptionAdded: "clrEmptyOptionAdded" }, host: { properties: { "class.quick-list": "true" } }, providers: [
3386
3386
  {
3387
3387
  provide: NG_VALUE_ACCESSOR,
3388
3388
  useExisting: forwardRef(() => ClrQuickList),
@@ -3390,7 +3390,7 @@ class ClrQuickList extends ClrAbstractFormComponent {
3390
3390
  },
3391
3391
  ], viewQueries: [{ propertyName: "options", predicate: ClrAddOption, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrAddOption, selector: "clr-add-option", inputs: ["blankOption", "value", "mandatory", "allValues", "excludedValues", "readonly", "disabled", "disableAddButton", "showAddButton"], outputs: ["valueChanged", "remove", "add"] }] }); }
3392
3392
  }
3393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickList, decorators: [{
3393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickList, decorators: [{
3394
3394
  type: Component,
3395
3395
  args: [{ selector: 'clr-quick-list', host: { '[class.quick-list]': 'true' }, providers: [
3396
3396
  {
@@ -3438,11 +3438,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3438
3438
  * The full license information can be found in LICENSE in the root directory of this project.
3439
3439
  */
3440
3440
  class ClrQuickListModule {
3441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3442
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickListModule, declarations: [ClrQuickList, ClrAddOption], imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule], exports: [ClrQuickList] }); }
3443
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickListModule, imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule] }); }
3441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3442
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickListModule, declarations: [ClrQuickList, ClrAddOption], imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule], exports: [ClrQuickList] }); }
3443
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickListModule, imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule] }); }
3444
3444
  }
3445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrQuickListModule, decorators: [{
3445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrQuickListModule, decorators: [{
3446
3446
  type: NgModule,
3447
3447
  args: [{
3448
3448
  imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule],
@@ -3542,10 +3542,10 @@ class ClrSearchField {
3542
3542
  delete this.keyupListener;
3543
3543
  }
3544
3544
  }
3545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3$1.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3546
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrSearchField, isStandalone: false, selector: "[clrSearch]", host: { properties: { "class.search-input": "true" } }, ngImport: i0 }); }
3545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchField, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3$1.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3546
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrSearchField, isStandalone: false, selector: "[clrSearch]", host: { properties: { "class.search-input": "true" } }, ngImport: i0 }); }
3547
3547
  }
3548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchField, decorators: [{
3548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchField, decorators: [{
3549
3549
  type: Directive,
3550
3550
  args: [{
3551
3551
  selector: '[clrSearch]',
@@ -3562,11 +3562,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3562
3562
  * The full license information can be found in LICENSE in the root directory of this project.
3563
3563
  */
3564
3564
  class ClrSearchFieldModule {
3565
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3566
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchFieldModule, declarations: [ClrSearchField], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrSearchField] }); }
3567
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchFieldModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
3565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3566
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchFieldModule, declarations: [ClrSearchField], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrSearchField] }); }
3567
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchFieldModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
3568
3568
  }
3569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrSearchFieldModule, decorators: [{
3569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrSearchFieldModule, decorators: [{
3570
3570
  type: NgModule,
3571
3571
  args: [{
3572
3572
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -3581,6 +3581,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3581
3581
  * The full license information can be found in LICENSE in the root directory of this project.
3582
3582
  */
3583
3583
 
3584
+ /*
3585
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3586
+ * This software is released under MIT license.
3587
+ * The full license information can be found in LICENSE in the root directory of this project.
3588
+ */
3589
+ class ClrTreetableActionOverflow {
3590
+ constructor(smartToggleService, zone) {
3591
+ this.smartToggleService = smartToggleService;
3592
+ this.zone = zone;
3593
+ this.empty = input(false);
3594
+ this.smartPosition = {
3595
+ axis: ClrAxis.HORIZONTAL,
3596
+ side: ClrSide.AFTER,
3597
+ anchor: ClrAlignment.CENTER,
3598
+ content: ClrAlignment.CENTER,
3599
+ };
3600
+ this.smartToggleService.openChange.pipe(takeUntilDestroyed()).subscribe(openState => {
3601
+ if (openState) {
3602
+ this.focusFirstButton();
3603
+ }
3604
+ });
3605
+ }
3606
+ focusFirstButton() {
3607
+ this.zone.runOutsideAngular(() => setTimeout(() => {
3608
+ const firstButton = document.querySelector('button.action-item');
3609
+ if (firstButton) {
3610
+ firstButton.focus();
3611
+ }
3612
+ }));
3613
+ }
3614
+ closeOverflowContent(event) {
3615
+ this.smartToggleService.toggleWithEvent(event);
3616
+ }
3617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableActionOverflow, deps: [{ token: i2.ClrPopoverToggleService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
3618
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrTreetableActionOverflow, isStandalone: false, selector: "clr-tt-action-overflow", inputs: { empty: { classPropertyName: "empty", publicName: "empty", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "cell" }, properties: { "class.treetable-row-actions": "true", "class.treetable-cell": "true" } }, providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService], ngImport: i0, template: `
3619
+ @if (!empty()) {
3620
+ <ng-container>
3621
+ <button class="treetable-action-trigger" clrPopoverAnchor clrPopoverOpenCloseButton>
3622
+ <cds-icon shape="ellipsis-vertical"></cds-icon>
3623
+ </button>
3624
+ <div
3625
+ class="datagrid-action-overflow"
3626
+ clrFocusTrap
3627
+ (click)="closeOverflowContent($event)"
3628
+ *clrPopoverContent="false; at: smartPosition; outsideClickToClose: true; scrollToClose: true"
3629
+ >
3630
+ <ng-content></ng-content>
3631
+ </div>
3632
+ </ng-container>
3633
+ }
3634
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i2.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3635
+ }
3636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableActionOverflow, decorators: [{
3637
+ type: Component,
3638
+ args: [{
3639
+ selector: 'clr-tt-action-overflow',
3640
+ providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
3641
+ template: `
3642
+ @if (!empty()) {
3643
+ <ng-container>
3644
+ <button class="treetable-action-trigger" clrPopoverAnchor clrPopoverOpenCloseButton>
3645
+ <cds-icon shape="ellipsis-vertical"></cds-icon>
3646
+ </button>
3647
+ <div
3648
+ class="datagrid-action-overflow"
3649
+ clrFocusTrap
3650
+ (click)="closeOverflowContent($event)"
3651
+ *clrPopoverContent="false; at: smartPosition; outsideClickToClose: true; scrollToClose: true"
3652
+ >
3653
+ <ng-content></ng-content>
3654
+ </div>
3655
+ </ng-container>
3656
+ }
3657
+ `,
3658
+ host: {
3659
+ '[class.treetable-row-actions]': 'true',
3660
+ '[class.treetable-cell]': 'true',
3661
+ role: 'cell',
3662
+ },
3663
+ standalone: false,
3664
+ changeDetection: ChangeDetectionStrategy.OnPush,
3665
+ }]
3666
+ }], ctorParameters: () => [{ type: i2.ClrPopoverToggleService }, { type: i0.NgZone }] });
3667
+
3584
3668
  /*
3585
3669
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3586
3670
  * This software is released under MIT license.
@@ -3591,765 +3675,1074 @@ var SelectionType;
3591
3675
  SelectionType[SelectionType["None"] = 0] = "None";
3592
3676
  SelectionType[SelectionType["Multi"] = 1] = "Multi";
3593
3677
  })(SelectionType || (SelectionType = {}));
3678
+ var ClrTreetableSelectedState;
3679
+ (function (ClrTreetableSelectedState) {
3680
+ ClrTreetableSelectedState[ClrTreetableSelectedState["UNSELECTED"] = 0] = "UNSELECTED";
3681
+ ClrTreetableSelectedState[ClrTreetableSelectedState["SELECTED"] = 1] = "SELECTED";
3682
+ ClrTreetableSelectedState[ClrTreetableSelectedState["INDETERMINATE"] = 2] = "INDETERMINATE";
3683
+ })(ClrTreetableSelectedState || (ClrTreetableSelectedState = {}));
3594
3684
 
3595
3685
  /*
3596
3686
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3597
3687
  * This software is released under MIT license.
3598
3688
  * The full license information can be found in LICENSE in the root directory of this project.
3599
3689
  */
3600
- class Sort {
3690
+ class ClrTreetableRecursionService {
3691
+ constructor() {
3692
+ this._template = signal(null);
3693
+ this.recursionTemplate = computed(() => this._template());
3694
+ this.isRecursionMode = computed(() => !!this._template());
3695
+ }
3696
+ setTemplate(newTemplate) {
3697
+ this._template.set(newTemplate);
3698
+ }
3699
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRecursionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3700
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRecursionService }); }
3701
+ }
3702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRecursionService, decorators: [{
3703
+ type: Injectable
3704
+ }] });
3705
+ function treetableRecursionServiceFactory(existing) {
3706
+ return existing || new ClrTreetableRecursionService();
3707
+ }
3708
+ const TREETABLE_RECURSION_SERVICE_PROVIDER = {
3709
+ provide: ClrTreetableRecursionService,
3710
+ useFactory: treetableRecursionServiceFactory,
3711
+ deps: [[new Optional(), new SkipSelf(), ClrTreetableRecursionService]],
3712
+ };
3713
+
3714
+ /*
3715
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3716
+ * This software is released under MIT license.
3717
+ * The full license information can be found in LICENSE in the root directory of this project.
3718
+ */
3719
+ class ClrTreetableRecursiveRows {
3720
+ constructor() {
3721
+ this._recursionService = inject((ClrTreetableRecursionService));
3722
+ this.parent = input(null);
3723
+ this.children = input([]);
3724
+ this.template = computed(() => this._recursionService.recursionTemplate());
3725
+ }
3726
+ getContext(node) {
3727
+ return { $implicit: node.value, isLeaf: node.isLeaf, clrTtNode: node };
3728
+ }
3729
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRecursiveRows, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3730
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrTreetableRecursiveRows, isStandalone: false, selector: "clr-tt-recursive-rows", inputs: { parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "\"group\"" } }, ngImport: i0, template: `
3731
+ <ng-container>
3732
+ @for (child of parent()?.children || children(); track child.id) {
3733
+ <ng-container *ngTemplateOutlet="template(); context: getContext(child)" />
3734
+ }
3735
+ </ng-container>
3736
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3737
+ }
3738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRecursiveRows, decorators: [{
3739
+ type: Component,
3740
+ args: [{
3741
+ selector: 'clr-tt-recursive-rows',
3742
+ template: `
3743
+ <ng-container>
3744
+ @for (child of parent()?.children || children(); track child.id) {
3745
+ <ng-container *ngTemplateOutlet="template(); context: getContext(child)" />
3746
+ }
3747
+ </ng-container>
3748
+ `,
3749
+ host: {
3750
+ '[attr.role]': '"group"',
3751
+ },
3752
+ changeDetection: ChangeDetectionStrategy.OnPush,
3753
+ standalone: false,
3754
+ }]
3755
+ }] });
3756
+
3757
+ /*
3758
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3759
+ * This software is released under MIT license.
3760
+ * The full license information can be found in LICENSE in the root directory of this project.
3761
+ */
3762
+ class ClrTreetableRowCheckbox {
3763
+ constructor() {
3764
+ this.clrTtSelectionState = model(ClrTreetableSelectedState.UNSELECTED);
3765
+ this.isSelected = computed(() => this.clrTtSelectionState() === ClrTreetableSelectedState.SELECTED);
3766
+ this.isIndeterminate = computed(() => this.clrTtSelectionState() === ClrTreetableSelectedState.INDETERMINATE);
3767
+ }
3768
+ toggle() {
3769
+ this.clrTtSelectionState.update(current => current === ClrTreetableSelectedState.SELECTED
3770
+ ? ClrTreetableSelectedState.UNSELECTED
3771
+ : ClrTreetableSelectedState.SELECTED);
3772
+ }
3773
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRowCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3774
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.16", type: ClrTreetableRowCheckbox, isStandalone: false, selector: "clr-tt-row-checkbox", inputs: { clrTtSelectionState: { classPropertyName: "clrTtSelectionState", publicName: "clrTtSelectionState", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSelectionState: "clrTtSelectionStateChange" }, ngImport: i0, template: `
3775
+ <div class="clr-checkbox-wrapper treetable-row-selection treetable-cell">
3776
+ <input
3777
+ type="checkbox"
3778
+ data-testId="clrTtRowCheckbox"
3779
+ [indeterminate]="isIndeterminate()"
3780
+ [checked]="isSelected()"
3781
+ (change)="toggle()"
3782
+ />
3783
+ </div>
3784
+ `, isInline: true, styles: [".treetable-children-container{opacity:0;will-change:height,opacity}.treetable-children-container.expanded{opacity:1}.treetable-children-container.collapsed{height:0;opacity:0;overflow:hidden}.treetable-children-container.animate{transition:height .4s ease,opacity .4s ease}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3785
+ }
3786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRowCheckbox, decorators: [{
3787
+ type: Component,
3788
+ args: [{ selector: 'clr-tt-row-checkbox', template: `
3789
+ <div class="clr-checkbox-wrapper treetable-row-selection treetable-cell">
3790
+ <input
3791
+ type="checkbox"
3792
+ data-testId="clrTtRowCheckbox"
3793
+ [indeterminate]="isIndeterminate()"
3794
+ [checked]="isSelected()"
3795
+ (change)="toggle()"
3796
+ />
3797
+ </div>
3798
+ `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [".treetable-children-container{opacity:0;will-change:height,opacity}.treetable-children-container.expanded{opacity:1}.treetable-children-container.collapsed{height:0;opacity:0;overflow:hidden}.treetable-children-container.animate{transition:height .4s ease,opacity .4s ease}\n"] }]
3799
+ }] });
3800
+
3801
+ /*
3802
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3803
+ * This software is released under MIT license.
3804
+ * The full license information can be found in LICENSE in the root directory of this project.
3805
+ */
3806
+ class ClrTreetableRow {
3601
3807
  constructor() {
3602
- this._reverse = false;
3603
- this._change = new Subject();
3808
+ this._recursionService = inject(ClrTreetableRecursionService);
3809
+ this._treetable = inject(ClrTreetable);
3810
+ this.clrExpanded = model(false);
3811
+ this.clrExpandable = input(false);
3812
+ this.clrClickable = input(true);
3813
+ this.clrTtItem = input(undefined);
3814
+ this._actionOverflow = contentChild(ClrTreetableActionOverflow);
3815
+ this.shouldAnimate = signal(false);
3816
+ this.isRecursionMode = this._recursionService.isRecursionMode;
3817
+ this._isClickable = computed(() => this._treetable.clrClickableRows() && this.clrClickable());
3818
+ this.isSelected = computed(() => this.clrTtItem()?.selected() === ClrTreetableSelectedState.SELECTED);
3819
+ this.showActionOverflow = computed(() => this._treetable.hasActionOverflow() || !!this._actionOverflow());
3820
+ this.showEmptyActionOverflow = computed(() => !this._actionOverflow());
3821
+ this.showClickClass = computed(() => this._treetable.clrClickableRows() && this.clrExpandable());
3822
+ this.showSelection = computed(() => this._treetable.selectionType() === SelectionType.Multi);
3604
3823
  }
3605
- get comparator() {
3606
- return this._comparator;
3824
+ onExpandCollapseClick() {
3825
+ // Only animate on user click (not on sorting or initial rendering)
3826
+ this.shouldAnimate.set(true);
3827
+ this.toggleExpand();
3828
+ // Remove .animate after animation to prevent unwanted transitions
3829
+ setTimeout(() => {
3830
+ this.shouldAnimate.set(false);
3831
+ }, 350);
3607
3832
  }
3608
- set comparator(value) {
3609
- this._comparator = value;
3610
- this.emitChange();
3833
+ toggleSelection(selectionState) {
3834
+ this.clrTtItem()?.setSelected(selectionState);
3611
3835
  }
3612
- get reverse() {
3613
- return this._reverse;
3836
+ toggleExpand() {
3837
+ if (this.clrExpandable()) {
3838
+ this.clrExpanded.update(state => !state);
3839
+ }
3614
3840
  }
3615
- set reverse(value) {
3616
- this._reverse = value;
3617
- this.emitChange();
3841
+ onRowClick(event) {
3842
+ if (this._isClickable() && !event.target.closest('.treetable-action-trigger')) {
3843
+ this.onExpandCollapseClick();
3844
+ }
3618
3845
  }
3619
- // We do not want to expose the Subject itself, but the Observable which is read-only
3620
- get change() {
3621
- return this._change.asObservable();
3846
+ onCaretClick() {
3847
+ if (!this._isClickable()) {
3848
+ this.onExpandCollapseClick();
3849
+ }
3850
+ }
3851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3852
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrTreetableRow, isStandalone: false, selector: "clr-tt-row", inputs: { clrExpanded: { classPropertyName: "clrExpanded", publicName: "clrExpanded", isSignal: true, isRequired: false, transformFunction: null }, clrExpandable: { classPropertyName: "clrExpandable", publicName: "clrExpandable", isSignal: true, isRequired: false, transformFunction: null }, clrClickable: { classPropertyName: "clrClickable", publicName: "clrClickable", isSignal: true, isRequired: false, transformFunction: null }, clrTtItem: { classPropertyName: "clrTtItem", publicName: "clrTtItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrExpanded: "clrExpandedChange" }, host: { properties: { "class.treetable-row-wrapper": "true", "class.treetable-selected": "isSelected()" } }, providers: [TREETABLE_RECURSION_SERVICE_PROVIDER], queries: [{ propertyName: "_actionOverflow", first: true, predicate: ClrTreetableActionOverflow, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n class=\"clr-tt-node-content treetable-row\"\n [class.clr-row-clickable]=\"showClickClass()\"\n [class.treetable-selected]=\"isSelected()\"\n (click)=\"onRowClick($event)\"\n>\n @if (showSelection()) {\n <clr-tt-row-checkbox\n [clrTtSelectionState]=\"clrTtItem().selected()\"\n (clrTtSelectionStateChange)=\"toggleSelection($event)\"\n (click)=\"$event.stopPropagation()\"\n >\n </clr-tt-row-checkbox>\n }\n\n <ng-content select=\"clr-tt-action-overflow\" />\n\n @if (showActionOverflow() && showEmptyActionOverflow()) {\n <clr-tt-action-overflow [empty]=\"true\" />\n }\n\n <div class=\"treetable-scrolling-cells\">\n @if (clrExpandable()) {\n <div class=\"treetable-expandable-caret\">\n <button\n type=\"button\"\n class=\"treetable-expandable-caret-button\"\n data-testId=\"clrTtRowCaret\"\n (click)=\"onCaretClick()\"\n >\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"clrExpanded() ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n }\n\n <ng-content select=\"clr-tt-cell\" />\n </div>\n</div>\n\n<div\n class=\"treetable-children-container\"\n data-testId=\"clrTtRowChildContainer\"\n [class.expanded]=\"clrExpanded()\"\n [class.collapsed]=\"!clrExpanded()\"\n [class.animate]=\"shouldAnimate()\"\n>\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [parent]=\"clrTtItem()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n }\n</div>\n", styles: [".treetable-children-container{opacity:0;will-change:height,opacity}.treetable-children-container.expanded{opacity:1}.treetable-children-container.collapsed{height:0;opacity:0;overflow:hidden}.treetable-children-container.animate{transition:height .4s ease,opacity .4s ease}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrTreetableActionOverflow, selector: "clr-tt-action-overflow", inputs: ["empty"] }, { kind: "component", type: ClrTreetableRecursiveRows, selector: "clr-tt-recursive-rows", inputs: ["parent", "children"] }, { kind: "component", type: ClrTreetableRowCheckbox, selector: "clr-tt-row-checkbox", inputs: ["clrTtSelectionState"], outputs: ["clrTtSelectionStateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3853
+ }
3854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableRow, decorators: [{
3855
+ type: Component,
3856
+ args: [{ selector: 'clr-tt-row', providers: [TREETABLE_RECURSION_SERVICE_PROVIDER], host: { '[class.treetable-row-wrapper]': 'true', '[class.treetable-selected]': 'isSelected()' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n class=\"clr-tt-node-content treetable-row\"\n [class.clr-row-clickable]=\"showClickClass()\"\n [class.treetable-selected]=\"isSelected()\"\n (click)=\"onRowClick($event)\"\n>\n @if (showSelection()) {\n <clr-tt-row-checkbox\n [clrTtSelectionState]=\"clrTtItem().selected()\"\n (clrTtSelectionStateChange)=\"toggleSelection($event)\"\n (click)=\"$event.stopPropagation()\"\n >\n </clr-tt-row-checkbox>\n }\n\n <ng-content select=\"clr-tt-action-overflow\" />\n\n @if (showActionOverflow() && showEmptyActionOverflow()) {\n <clr-tt-action-overflow [empty]=\"true\" />\n }\n\n <div class=\"treetable-scrolling-cells\">\n @if (clrExpandable()) {\n <div class=\"treetable-expandable-caret\">\n <button\n type=\"button\"\n class=\"treetable-expandable-caret-button\"\n data-testId=\"clrTtRowCaret\"\n (click)=\"onCaretClick()\"\n >\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"clrExpanded() ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n }\n\n <ng-content select=\"clr-tt-cell\" />\n </div>\n</div>\n\n<div\n class=\"treetable-children-container\"\n data-testId=\"clrTtRowChildContainer\"\n [class.expanded]=\"clrExpanded()\"\n [class.collapsed]=\"!clrExpanded()\"\n [class.animate]=\"shouldAnimate()\"\n>\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [parent]=\"clrTtItem()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n }\n</div>\n", styles: [".treetable-children-container{opacity:0;will-change:height,opacity}.treetable-children-container.expanded{opacity:1}.treetable-children-container.collapsed{height:0;opacity:0;overflow:hidden}.treetable-children-container.animate{transition:height .4s ease,opacity .4s ease}\n"] }]
3857
+ }] });
3858
+
3859
+ /*
3860
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3861
+ * This software is released under MIT license.
3862
+ * The full license information can be found in LICENSE in the root directory of this project.
3863
+ */
3864
+ class Sort {
3865
+ constructor() {
3866
+ this._comparator = signal(null);
3867
+ this._reverse = signal(false);
3868
+ this.sortState = computed(() => ({
3869
+ comparator: this._comparator(),
3870
+ reverse: this._reverse(),
3871
+ }));
3872
+ this.changes$ = toObservable(this.sortState);
3622
3873
  }
3623
3874
  /**
3624
3875
  * Sets a comparator as the current one, or toggles reverse if the comparator is already used. The
3625
3876
  * optional forceReverse input parameter allows to override that toggling behavior by sorting in
3626
3877
  * reverse order if `true`.
3627
- *
3628
- * @memberof Sort
3629
3878
  */
3630
3879
  toggle(sortBy, forceReverse) {
3631
- if (this.comparator === sortBy) {
3632
- this._reverse = typeof forceReverse !== 'undefined' ? forceReverse || !this._reverse : !this._reverse;
3880
+ if (this._comparator() === sortBy) {
3881
+ const newReverse = typeof forceReverse !== 'undefined' ? forceReverse : !this._reverse();
3882
+ this._reverse.set(newReverse);
3633
3883
  }
3634
3884
  else {
3635
- this._comparator = sortBy;
3636
- this._reverse = typeof forceReverse !== 'undefined' ? forceReverse : false;
3885
+ this._comparator.set(sortBy);
3886
+ this._reverse.set(typeof forceReverse !== 'undefined' ? forceReverse : false);
3637
3887
  }
3638
- this.emitChange();
3639
3888
  }
3889
+ /**
3890
+ * Clears the current comparator
3891
+ */
3640
3892
  clear() {
3641
- this.comparator = null;
3893
+ this._comparator.set(null);
3642
3894
  }
3895
+ /**
3896
+ * Compares two items using the current comparator and reverse flag
3897
+ */
3643
3898
  compare(a, b) {
3644
- return (this.reverse ? -1 : 1) * this.comparator.compare(a, b);
3645
- }
3646
- emitChange() {
3647
- this._change.next(this);
3899
+ const currentComparator = this._comparator();
3900
+ if (!currentComparator) {
3901
+ return 0;
3902
+ }
3903
+ return (this._reverse() ? -1 : 1) * currentComparator.compare(a, b);
3648
3904
  }
3649
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3650
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort }); }
3905
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Sort, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3906
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Sort }); }
3651
3907
  }
3652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort, decorators: [{
3908
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Sort, decorators: [{
3653
3909
  type: Injectable
3654
- }], ctorParameters: () => [] });
3910
+ }] });
3655
3911
 
3656
3912
  /*
3657
3913
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3658
3914
  * This software is released under MIT license.
3659
3915
  * The full license information can be found in LICENSE in the root directory of this project.
3660
3916
  */
3661
- class Items {
3662
- constructor() {
3663
- this._all = [];
3664
- this._displayed = [];
3665
- this._change = new Subject();
3666
- this._sort = inject((Sort));
3667
- this._sort.change.pipe(takeUntilDestroyed()).subscribe(() => {
3668
- this.sortItems();
3917
+ /**
3918
+ * Internal counter for generating unique node ids.
3919
+ */
3920
+ let treeNodeIdCounter = 0;
3921
+ /**
3922
+ * Creates a unique id for a tree node instance.
3923
+ */
3924
+ function uniqueTreeNodeIdFactory() {
3925
+ return `clr-treetable-node-${treeNodeIdCounter++}`;
3926
+ }
3927
+ /**
3928
+ * Represents a single tree node inside the treetable.
3929
+ * Maintains derived selection state (SELECTED / UNSELECTED / INDETERMINATE) based on:
3930
+ * - Manual selection of this node.
3931
+ * - Aggregated selection states of all descendants.
3932
+ * Selection propagation to descendants happens only on explicit setSelected calls.
3933
+ */
3934
+ class ClrTreetableTreeNode {
3935
+ constructor(value, parent = null, children = [], stickyIndeterminate = false) {
3936
+ this.id = uniqueTreeNodeIdFactory();
3937
+ this.parent = null;
3938
+ this.children = [];
3939
+ this.manuallySelected = signal(false);
3940
+ this.selected = linkedSignal(() => {
3941
+ const isManuallySelected = this.manuallySelected();
3942
+ let allChildrenSelected = true;
3943
+ let anyChildSelected = false;
3944
+ for (const child of this.children) {
3945
+ switch (child.selected()) {
3946
+ case ClrTreetableSelectedState.SELECTED:
3947
+ anyChildSelected = true;
3948
+ break;
3949
+ case ClrTreetableSelectedState.INDETERMINATE:
3950
+ anyChildSelected = true;
3951
+ allChildrenSelected = false;
3952
+ break;
3953
+ case ClrTreetableSelectedState.UNSELECTED:
3954
+ default:
3955
+ allChildrenSelected = false;
3956
+ break;
3957
+ }
3958
+ if (!allChildrenSelected && anyChildSelected) {
3959
+ break;
3960
+ }
3961
+ }
3962
+ if (isManuallySelected && allChildrenSelected) {
3963
+ return ClrTreetableSelectedState.SELECTED;
3964
+ }
3965
+ if (this.isLeaf) {
3966
+ return ClrTreetableSelectedState.UNSELECTED;
3967
+ }
3968
+ if (!anyChildSelected) {
3969
+ return ClrTreetableSelectedState.UNSELECTED;
3970
+ }
3971
+ if (allChildrenSelected && !this.stickyIndeterminate) {
3972
+ return ClrTreetableSelectedState.SELECTED;
3973
+ }
3974
+ return ClrTreetableSelectedState.INDETERMINATE;
3669
3975
  });
3670
- }
3671
- get all() {
3672
- return this._all;
3673
- }
3674
- addItems(items) {
3675
- this._all = this._all.concat([items.slice()]);
3676
- this._displayed = this._displayed.concat([items.slice()]);
3677
- this.emitChange();
3678
- }
3679
- get displayed() {
3680
- return this._displayed;
3681
- }
3682
- get change() {
3683
- return this._change.asObservable();
3976
+ this.value = value;
3977
+ this.parent = parent;
3978
+ this.children = children;
3979
+ this.stickyIndeterminate = stickyIndeterminate;
3684
3980
  }
3685
3981
  /**
3686
- * Checks if we don't have data to process yet, to abort early operations
3982
+ * Depth level in the tree (root = 0).
3687
3983
  */
3688
- get uninitialized() {
3689
- return !this._all;
3984
+ get depth() {
3985
+ return this.parent ? this.parent.depth + 1 : 0;
3690
3986
  }
3691
- emitChange() {
3692
- this._change.next(this.displayed);
3987
+ /**
3988
+ * True if this node has no children.
3989
+ */
3990
+ get isLeaf() {
3991
+ return this.children?.length === 0;
3693
3992
  }
3694
- sortItems() {
3695
- if (this.uninitialized) {
3696
- return;
3993
+ /**
3994
+ * Sets the selection state for this node and propagates to all descendants (except INDETERMINATE).
3995
+ * @param state Desired selection state.
3996
+ */
3997
+ setSelected(state) {
3998
+ switch (state) {
3999
+ case ClrTreetableSelectedState.SELECTED:
4000
+ if (!this.manuallySelected()) {
4001
+ this.manuallySelected.set(true);
4002
+ }
4003
+ this.propagateToChildren(true);
4004
+ break;
4005
+ case ClrTreetableSelectedState.UNSELECTED:
4006
+ if (this.manuallySelected()) {
4007
+ this.manuallySelected.set(false);
4008
+ }
4009
+ this.propagateToChildren(false);
4010
+ break;
4011
+ case ClrTreetableSelectedState.INDETERMINATE:
4012
+ break;
3697
4013
  }
3698
- if (this._sort.comparator) {
3699
- this._displayed.forEach(subArray => {
3700
- subArray.sort((a, b) => this._sort.compare(a, b));
3701
- });
4014
+ }
4015
+ /**
4016
+ * Returns all descendants as a flat generator.
4017
+ */
4018
+ *getFlatDescendants() {
4019
+ for (const child of this.children) {
4020
+ yield child;
4021
+ if (!child.isLeaf) {
4022
+ yield* child.getFlatDescendants();
4023
+ }
3702
4024
  }
3703
- else {
3704
- this._displayed = this._all.map(subArray => subArray.slice());
4025
+ }
4026
+ /**
4027
+ * Recursively applies a selected/unselected state to all descendants.
4028
+ */
4029
+ propagateToChildren(selected) {
4030
+ for (const child of this.children) {
4031
+ child.setSelected(selected ? ClrTreetableSelectedState.SELECTED : ClrTreetableSelectedState.UNSELECTED);
4032
+ if (!child.isLeaf) {
4033
+ child.propagateToChildren(selected);
4034
+ }
3705
4035
  }
3706
- this.emitChange();
3707
4036
  }
3708
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3709
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items }); }
3710
4037
  }
3711
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items, decorators: [{
3712
- type: Injectable
3713
- }], ctorParameters: () => [] });
4038
+ /**
4039
+ * Internal recursive helper building the internal tree node structure.
4040
+ */
4041
+ function mapToInternalTreeRecursive(value, getChildren, parent, stickyIndeterminate) {
4042
+ const node = new ClrTreetableTreeNode(value, parent, [], stickyIndeterminate);
4043
+ const rawChildren = getChildren(value) || [];
4044
+ node.children = rawChildren.map(child => mapToInternalTreeRecursive(child, getChildren, node, stickyIndeterminate));
4045
+ return node;
4046
+ }
4047
+ /**
4048
+ * Creates an internal tree node hierarchy from a raw data object.
4049
+ *
4050
+ * @param value Root raw data object.
4051
+ * @param getChildren Function returning direct children of a node.
4052
+ * @param stickyIndeterminate Whether to keep INDETERMINATE even if all descendants become selected.
4053
+ */
4054
+ function mapToInternalTree(value, getChildren, stickyIndeterminate) {
4055
+ return mapToInternalTreeRecursive(value, getChildren, null, stickyIndeterminate);
4056
+ }
3714
4057
 
3715
4058
  /*
3716
4059
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3717
4060
  * This software is released under MIT license.
3718
4061
  * The full license information can be found in LICENSE in the root directory of this project.
3719
4062
  */
3720
- class Selection {
3721
- constructor() {
3722
- this._change = new Subject();
3723
- this._allSelected = new Subject();
3724
- //debounce and batch changes before emitting them to subscribers
3725
- this._valueCollector = new Subject();
3726
- this._selectionType = SelectionType.None;
3727
- this._items = inject(Items);
3728
- this._valueCollector.pipe(debounceTime(0), takeUntilDestroyed()).subscribe(() => this.emitChange());
3729
- }
3730
- get selectionType() {
3731
- return this._selectionType;
3732
- }
3733
- set selectionType(value) {
3734
- if (value === this.selectionType) {
3735
- return;
3736
- }
3737
- this._selectionType = value;
3738
- if (value === SelectionType.None) {
3739
- delete this.current;
3740
- }
3741
- else {
3742
- this.updateCurrent([], false);
3743
- }
3744
- }
3745
- get current() {
3746
- return this._current;
3747
- }
3748
- set current(value) {
3749
- this.updateCurrent(value, true);
4063
+ /**
4064
+ * Helper function to check if a primitive filter value is valid. Complex objects will always be valid.
4065
+ * This function is a fallback for primitive values, if a custom filter does not set the isActive method correctly.
4066
+ *
4067
+ * @param value the value to check
4068
+ */
4069
+ function isValidFilterValue(value) {
4070
+ if (value == null || value === false) {
4071
+ return false;
3750
4072
  }
3751
- updateCurrent(value, emit) {
3752
- this._current = value;
3753
- if (emit) {
3754
- this._valueCollector.next(value);
3755
- }
4073
+ if (typeof value === 'string') {
4074
+ return value.trim().length > 0;
3756
4075
  }
3757
- get change() {
3758
- return this._change.asObservable();
4076
+ if (typeof value === 'number') {
4077
+ return !Number.isNaN(value);
3759
4078
  }
3760
- get allSelectedChange() {
3761
- return this._allSelected.asObservable();
4079
+ return true;
4080
+ }
4081
+ /**
4082
+ * Comparator for distinctUntilChanged on the filter values stream.
4083
+ * Emits only when:
4084
+ * - Array length changes, or
4085
+ * - A primitive value at some index changes, or
4086
+ * - Any element is non-primitive (object / function / array) -> always treated as changed.
4087
+ *
4088
+ * Rationale:
4089
+ * Objects/arrays are assumed to have unstable identity/content; any occurrence triggers a new emission.
4090
+ *
4091
+ * @param prev Previous emitted array of active filter values.
4092
+ * @param curr Current emitted array of active filter values.
4093
+ * @returns true if both arrays should be considered equal (no new emission), false otherwise.
4094
+ */
4095
+ function areFiltersDistinct(prev, curr) {
4096
+ if (prev === curr) {
4097
+ return true;
3762
4098
  }
3763
- isSelected(item) {
3764
- return this.current.indexOf(item) >= 0;
4099
+ if (!Array.isArray(prev) || !Array.isArray(curr)) {
4100
+ return false;
3765
4101
  }
3766
- setSelected(item, selected) {
3767
- const index = this.current ? this.current.indexOf(item) : -1;
3768
- if (index >= 0 && !selected) {
3769
- this.deselectItem(index);
3770
- }
3771
- else if (index < 0 && selected) {
3772
- this.selectItem(item);
3773
- }
4102
+ if (prev.length !== curr.length) {
4103
+ return false;
3774
4104
  }
3775
- isAllSelected() {
3776
- const displayedItems = this._items.displayed;
3777
- const nbDisplayed = displayedItems.length;
3778
- if (nbDisplayed < 1) {
4105
+ const isPrimitive = (v) => v == null || (typeof v !== 'object' && typeof v !== 'function');
4106
+ for (let i = 0; i < prev.length; i++) {
4107
+ const a = prev[i];
4108
+ const b = curr[i];
4109
+ // Non-primitive anywhere => force emission
4110
+ if (!isPrimitive(a) || !isPrimitive(b)) {
3779
4111
  return false;
3780
4112
  }
3781
- const flattenedDisplayedItems = displayedItems.flat();
3782
- const selectedItems = flattenedDisplayedItems.filter(item => this.current.indexOf(item) > -1);
3783
- return selectedItems.length === flattenedDisplayedItems.length;
3784
- }
3785
- toggleAll() {
3786
- const isAllSelected = this.isAllSelected();
3787
- if (isAllSelected) {
3788
- this._items.displayed.forEach(items => {
3789
- items.forEach(item => {
3790
- const currentIndex = this.current.indexOf(item);
3791
- if (currentIndex > -1) {
3792
- this.deselectItem(currentIndex);
3793
- }
3794
- });
3795
- });
3796
- }
3797
- else {
3798
- this._items.displayed.forEach(items => {
3799
- items.forEach(item => {
3800
- if (this.current.indexOf(item) < 0) {
3801
- this.selectItem(item);
3802
- }
3803
- });
3804
- });
4113
+ if (!Object.is(a, b)) {
4114
+ return false;
3805
4115
  }
3806
- this._allSelected.next(!isAllSelected);
3807
- }
3808
- selectItem(item) {
3809
- this.current = this.current.concat(item);
3810
4116
  }
3811
- deselectItem(indexOfItem) {
3812
- this.current = this.current.slice(0, indexOfItem).concat(this.current.slice(indexOfItem + 1));
3813
- }
3814
- emitChange() {
3815
- this._change.next(this.current);
3816
- }
3817
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3818
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection }); }
4117
+ return true;
3819
4118
  }
3820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection, decorators: [{
3821
- type: Injectable
3822
- }], ctorParameters: () => [] });
3823
4119
 
3824
4120
  /*
3825
4121
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3826
4122
  * This software is released under MIT license.
3827
4123
  * The full license information can be found in LICENSE in the root directory of this project.
3828
4124
  */
3829
- var ClrTreetableSortOrder;
3830
- (function (ClrTreetableSortOrder) {
3831
- ClrTreetableSortOrder[ClrTreetableSortOrder["UNSORTED"] = 0] = "UNSORTED";
3832
- ClrTreetableSortOrder[ClrTreetableSortOrder["ASC"] = 1] = "ASC";
3833
- ClrTreetableSortOrder[ClrTreetableSortOrder["DESC"] = -1] = "DESC";
3834
- })(ClrTreetableSortOrder || (ClrTreetableSortOrder = {}));
3835
-
3836
- /*
3837
- * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3838
- * This software is released under MIT license.
3839
- * The full license information can be found in LICENSE in the root directory of this project.
4125
+ /**
4126
+ * Wrapper for a treetable filter instance that holds the filter and its unregister callback.
4127
+ *
4128
+ * @template T The row data type processed by the treetable.
4129
+ * @template F The concrete filter type implementing <code>ClrTreetableFilterInterface</code> for <code>T</code>.
4130
+ * @property filter The concrete filter instance.
4131
+ * @property unregister Callback to remove this filter from the Filters service.
3840
4132
  */
3841
- class ClrTreetableColumn {
3842
- get sortBy() {
3843
- return this._sortBy;
3844
- }
3845
- set sortBy(comparator) {
3846
- this._sortBy = comparator;
3847
- }
3848
- get sortOrder() {
3849
- return this._sortOrder;
3850
- }
3851
- set sortOrder(value) {
3852
- if (typeof value === 'undefined') {
3853
- return;
3854
- }
3855
- // nothing to do when incoming sort order is the same
3856
- if (this._sortOrder === value) {
3857
- return;
3858
- }
3859
- switch (value) {
3860
- case ClrTreetableSortOrder.ASC:
3861
- this.sort(false);
3862
- break;
3863
- case ClrTreetableSortOrder.DESC:
3864
- this.sort(true);
3865
- break;
3866
- // UNSORTED when neither ASC or DESC
3867
- case ClrTreetableSortOrder.UNSORTED:
3868
- default:
3869
- this._sort.clear();
3870
- break;
3871
- }
3872
- }
3873
- get sortDirection() {
3874
- return this._sortDirection;
4133
+ class RegisteredTreetableFilter {
4134
+ constructor(filter, unregister) {
4135
+ this.filter = filter;
4136
+ this.unregister = unregister;
3875
4137
  }
4138
+ }
4139
+ class Filters {
3876
4140
  constructor() {
3877
- this._sort = inject((Sort));
3878
- this._cdr = inject(ChangeDetectorRef);
3879
- this._sortOrder = ClrTreetableSortOrder.UNSORTED;
3880
- this.sortOrderChange = output({ alias: 'clrTtSortOrderChange' });
3881
- this.listenForSortingChanges();
3882
- }
3883
- get ariaSort() {
3884
- switch (this._sortOrder) {
3885
- case ClrTreetableSortOrder.ASC:
3886
- return 'ascending';
3887
- case ClrTreetableSortOrder.DESC:
3888
- return 'descending';
3889
- case ClrTreetableSortOrder.UNSORTED:
3890
- default:
3891
- return 'none';
3892
- }
3893
- }
3894
- get sortable() {
3895
- return !!this._sortBy;
4141
+ this._destroyRef = inject(DestroyRef);
4142
+ this.filterId = 0;
4143
+ this.updateFilterValue$ = new Subject();
4144
+ this._filterState = signal({});
4145
+ this._registeredFilters = computed(() => {
4146
+ const filterStates = Object.values(this._filterState());
4147
+ return filterStates.map(({ filter }) => filter);
4148
+ });
4149
+ this.activeFilters = computed(() => {
4150
+ return this._registeredFilters()
4151
+ .filter(({ filter }) => filter.isActive())
4152
+ .map(({ filter }) => filter);
4153
+ });
4154
+ this.hasActiveFilters = computed(() => this.activeFilters().length > 0);
4155
+ this.changes$ = toObservable(this._filterState).pipe(map$1(filterState => Object.values(filterState)
4156
+ .filter(({ filter }) => filter.filter.isActive())
4157
+ .map(({ value }) => value)
4158
+ .filter(value => isValidFilterValue(value))), distinctUntilChanged(areFiltersDistinct), shareReplay(1));
4159
+ this.updateFilterValue$.pipe(takeUntilDestroyed()).subscribe((update) => {
4160
+ this._filterState.update(current => {
4161
+ const state = current[update.filterId] || { filter: undefined, value: undefined };
4162
+ return {
4163
+ ...current,
4164
+ [update.filterId]: {
4165
+ ...state,
4166
+ value: update.value,
4167
+ },
4168
+ };
4169
+ });
4170
+ });
3896
4171
  }
3897
- sort(reverse) {
3898
- if (!this.sortable) {
3899
- return;
4172
+ register(treetableFilter) {
4173
+ if (!treetableFilter) {
4174
+ return undefined;
3900
4175
  }
3901
- this._sort.toggle(this._sortBy, reverse);
3902
- // setting the private variable to not retrigger the setter logic
3903
- this._sortOrder = this._sort.reverse ? ClrTreetableSortOrder.DESC : ClrTreetableSortOrder.ASC;
3904
- // Sets the correct icon for current sort order
3905
- this._sortDirection = this._sortOrder === ClrTreetableSortOrder.DESC ? 'down' : 'up';
3906
- this.sortOrderChange.emit(this._sortOrder);
3907
- }
3908
- listenForSortingChanges() {
3909
- this._sort.change.pipe(takeUntilDestroyed()).subscribe(sort => {
3910
- // Need to manually mark the component to be checked
3911
- // for both activating and deactivating sorting
3912
- this._cdr.markForCheck();
3913
- // We're only listening to make sure we emit an event when the column goes from sorted to unsorted
3914
- if (this.sortOrder !== ClrTreetableSortOrder.UNSORTED && sort.comparator !== this._sortBy) {
3915
- this._sortOrder = ClrTreetableSortOrder.UNSORTED;
3916
- this.sortOrderChange.emit(this._sortOrder);
3917
- this._sortDirection = null;
4176
+ const filterId = `clr-tt-filter-${this.filterId++}`;
4177
+ const subscription = treetableFilter.changes
4178
+ .pipe(takeUntilDestroyed(this._destroyRef))
4179
+ .subscribe(valueChange => this.updateFilterValue$.next({ filterId, value: valueChange }));
4180
+ let hasUnregistered = false;
4181
+ const registered = new RegisteredTreetableFilter(treetableFilter, () => {
4182
+ if (hasUnregistered) {
4183
+ return;
3918
4184
  }
4185
+ subscription.unsubscribe();
4186
+ this._filterState.update(current => {
4187
+ delete current[filterId];
4188
+ return { ...current };
4189
+ });
4190
+ hasUnregistered = true;
3919
4191
  });
4192
+ this._filterState.update(current => {
4193
+ const state = current[filterId] || { filter: undefined, value: undefined };
4194
+ return {
4195
+ ...current,
4196
+ [filterId]: {
4197
+ ...state,
4198
+ filter: registered,
4199
+ },
4200
+ };
4201
+ });
4202
+ return registered;
3920
4203
  }
3921
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3922
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetableColumn, isStandalone: false, selector: "clr-tt-column", inputs: { sortBy: ["clrTtSortBy", "sortBy"], sortOrder: ["clrTtSortOrder", "sortOrder"] }, outputs: { sortOrderChange: "clrTtSortOrderChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.treetable-column": "true", "attr.aria-sort": "ariaSort" } }, ngImport: i0, template: `
3923
- @if(sortable) {
3924
- <button class="treetable-column-title" (click)="sort()" type="button">
3925
- <ng-container *ngTemplateOutlet="columnTitle" />
3926
- <cds-icon
3927
- *ngIf="sortDirection"
3928
- shape="arrow"
3929
- [attr.direction]="sortDirection"
3930
- aria-hidden="true"
3931
- class="sort-icon"
3932
- />
3933
- </button>
3934
- } @else {
3935
- <ng-container *ngTemplateOutlet="columnTitle" />
3936
- }
3937
-
3938
- <ng-template #columnTitle>
3939
- <ng-content />
3940
- </ng-template>
3941
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Filters, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4205
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Filters }); }
3942
4206
  }
3943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableColumn, decorators: [{
3944
- type: Component,
3945
- args: [{
3946
- selector: 'clr-tt-column',
3947
- template: `
3948
- @if(sortable) {
3949
- <button class="treetable-column-title" (click)="sort()" type="button">
3950
- <ng-container *ngTemplateOutlet="columnTitle" />
3951
- <cds-icon
3952
- *ngIf="sortDirection"
3953
- shape="arrow"
3954
- [attr.direction]="sortDirection"
3955
- aria-hidden="true"
3956
- class="sort-icon"
3957
- />
3958
- </button>
3959
- } @else {
3960
- <ng-container *ngTemplateOutlet="columnTitle" />
3961
- }
3962
-
3963
- <ng-template #columnTitle>
3964
- <ng-content />
3965
- </ng-template>
3966
- `,
3967
- host: {
3968
- '[class.treetable-column]': 'true',
3969
- '[attr.aria-sort]': 'ariaSort',
3970
- role: 'columnheader',
3971
- },
3972
- changeDetection: ChangeDetectionStrategy.OnPush,
3973
- standalone: false,
3974
- }]
3975
- }], ctorParameters: () => [], propDecorators: { sortBy: [{
3976
- type: Input,
3977
- args: ['clrTtSortBy']
3978
- }], sortOrder: [{
3979
- type: Input,
3980
- args: ['clrTtSortOrder']
3981
- }] } });
4207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Filters, decorators: [{
4208
+ type: Injectable
4209
+ }], ctorParameters: () => [] });
3982
4210
 
3983
4211
  /*
3984
4212
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
3985
4213
  * This software is released under MIT license.
3986
4214
  * The full license information can be found in LICENSE in the root directory of this project.
3987
4215
  */
3988
- ClarityIcons.addIcons(ellipsisVerticalIcon);
3989
- class ClrTreetableActionOverflow {
3990
- constructor(smartToggleService, zone) {
3991
- this.smartToggleService = smartToggleService;
3992
- this.zone = zone;
3993
- this.empty = false;
3994
- this.smartPosition = {
3995
- axis: ClrAxis.HORIZONTAL,
3996
- side: ClrSide.AFTER,
3997
- anchor: ClrAlignment.CENTER,
3998
- content: ClrAlignment.CENTER,
3999
- };
4000
- this.destroyed$ = new Subject();
4001
- this.smartToggleService.openChange.pipe(takeUntil(this.destroyed$.asObservable())).subscribe(openState => {
4002
- if (openState) {
4003
- this.focusFirstButton();
4004
- }
4005
- });
4216
+ /**
4217
+ * Compares two sort state objects for equality.
4218
+ * Returns true if they are the same reference, both null/undefined,
4219
+ * or if both comparator and reverse flag match.
4220
+ *
4221
+ * @typeParam T - Type of the row data.
4222
+ * @param a - First sort state or null.
4223
+ * @param b - Second sort state or null.
4224
+ * @returns Whether both sort states are equal.
4225
+ */
4226
+ function areSortStatesEqual(a, b) {
4227
+ if (a === b) {
4228
+ return true;
4006
4229
  }
4007
- focusFirstButton() {
4008
- this.zone.runOutsideAngular(() => setTimeout(() => {
4009
- const firstButton = document.querySelector('button.action-item');
4010
- if (firstButton) {
4011
- firstButton.focus();
4012
- }
4013
- }));
4230
+ if (!a || !b) {
4231
+ return !a && !b;
4014
4232
  }
4015
- closeOverflowContent(event) {
4016
- this.smartToggleService.toggleWithEvent(event);
4233
+ return a.reverse === b.reverse && a.comparator === b.comparator;
4234
+ }
4235
+ /**
4236
+ * Performs a shallow comparison of two filter value arrays.
4237
+ * Treats undefined as an empty array. Order and reference equality of entries matter.
4238
+ *
4239
+ * @param a - First array of filter values or undefined.
4240
+ * @param b - Second array of filter values or undefined.
4241
+ * @returns Whether both arrays have the same length and elements.
4242
+ */
4243
+ function areFilterValuesEqual(a, b) {
4244
+ const arrayA = a || [];
4245
+ const arrayB = b || [];
4246
+ if (arrayA.length !== arrayB.length) {
4247
+ return false;
4017
4248
  }
4018
- ngOnDestroy() {
4019
- this.destroyed$.next();
4020
- this.destroyed$.complete();
4249
+ for (let i = 0; i < arrayA.length; i++) {
4250
+ if (arrayA[i] !== arrayB[i]) {
4251
+ return false;
4252
+ }
4021
4253
  }
4022
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableActionOverflow, deps: [{ token: i2.ClrPopoverToggleService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
4023
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTreetableActionOverflow, isStandalone: false, selector: "clr-tt-action-overflow", inputs: { empty: "empty" }, host: { attributes: { "role": "cell" }, properties: { "class.treetable-row-actions": "true", "class.treetable-cell": "true" } }, providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService], ngImport: i0, template: `
4024
- <ng-container *ngIf="!empty">
4025
- <button class="treetable-action-trigger" clrPopoverAnchor clrPopoverOpenCloseButton>
4026
- <cds-icon shape="ellipsis-vertical"></cds-icon>
4027
- </button>
4028
- <div
4029
- class="datagrid-action-overflow"
4030
- clrFocusTrap
4031
- (click)="closeOverflowContent($event)"
4032
- *clrPopoverContent="false; at: smartPosition; outsideClickToClose: true; scrollToClose: true"
4033
- >
4034
- <ng-content></ng-content>
4035
- </div>
4036
- </ng-container>
4037
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i2.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] }); }
4254
+ return true;
4255
+ }
4256
+ /**
4257
+ * Compares two treetable states (sort and filters) for equality.
4258
+ *
4259
+ * @typeParam T - Type of the tree node values.
4260
+ * @param prev - Previous state.
4261
+ * @param curr - Current state.
4262
+ * @returns Whether both states are considered equal.
4263
+ */
4264
+ function areTreetableStatesEqual(prev, curr) {
4265
+ return areSortStatesEqual(prev.sort, curr.sort) && areFilterValuesEqual(prev.filters, curr.filters);
4038
4266
  }
4039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableActionOverflow, decorators: [{
4040
- type: Component,
4041
- args: [{
4042
- selector: 'clr-tt-action-overflow',
4043
- providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
4044
- template: `
4045
- <ng-container *ngIf="!empty">
4046
- <button class="treetable-action-trigger" clrPopoverAnchor clrPopoverOpenCloseButton>
4047
- <cds-icon shape="ellipsis-vertical"></cds-icon>
4048
- </button>
4049
- <div
4050
- class="datagrid-action-overflow"
4051
- clrFocusTrap
4052
- (click)="closeOverflowContent($event)"
4053
- *clrPopoverContent="false; at: smartPosition; outsideClickToClose: true; scrollToClose: true"
4054
- >
4055
- <ng-content></ng-content>
4056
- </div>
4057
- </ng-container>
4058
- `,
4059
- host: {
4060
- '[class.treetable-row-actions]': 'true',
4061
- '[class.treetable-cell]': 'true',
4062
- role: 'cell',
4063
- },
4064
- standalone: false,
4065
- }]
4066
- }], ctorParameters: () => [{ type: i2.ClrPopoverToggleService }, { type: i0.NgZone }], propDecorators: { empty: [{
4067
- type: Input
4068
- }] } });
4069
4267
 
4070
4268
  /*
4071
4269
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4072
4270
  * This software is released under MIT license.
4073
4271
  * The full license information can be found in LICENSE in the root directory of this project.
4074
4272
  */
4075
- ClarityIcons.addIcons(angleIcon);
4076
- class ClrTreetableRow {
4273
+ class TreetableDataStateService {
4077
4274
  constructor() {
4078
- this.selection = inject(Selection);
4079
- this._cdr = inject(ChangeDetectorRef);
4080
- this._destroyRef = inject(DestroyRef);
4081
- this._selected = false;
4082
- this.shouldAnimate = signal(false);
4083
- this.expanded = false;
4084
- this.clickable = true;
4085
- this.expandable = false;
4086
- this.clrTtItem = input();
4087
- this.hasActionOverflow = new EventEmitter();
4088
- this.expandedChange = new EventEmitter();
4089
- this.selectedChanged = new EventEmitter(false);
4090
- this.showActionOverflow = false;
4091
- this.showEmptyActionOverflow = false;
4092
- this.showClickClass = false;
4093
- this.SelectionType = SelectionType;
4094
- }
4095
- set actionOverflow(actionOverflow) {
4096
- this.showActionOverflow = !!actionOverflow;
4097
- this.showEmptyActionOverflow = !this.showActionOverflow;
4098
- this.hasActionOverflow.emit(this.showActionOverflow);
4099
- }
4100
- ngOnInit() {
4101
- this.showClickClass = this.expandable && this.clickable;
4102
- // We need to trigger change detection when the checkbox in overall treetable is clicked
4103
- // because of ChangeDetectionStrategy.OnPush
4104
- this.selection.allSelectedChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
4105
- this._cdr.markForCheck();
4275
+ this._filters = inject((Filters));
4276
+ this._sort = inject((Sort));
4277
+ this._dataSource = signal(undefined);
4278
+ this._stickyIndeterminate = signal(false);
4279
+ this._itemsExternallySelected = signal([]);
4280
+ this._treetableNodes = computed(() => {
4281
+ const dataSource = this._dataSource();
4282
+ const stickyIndeterminate = this._stickyIndeterminate();
4283
+ return dataSource
4284
+ ? dataSource.items.map(item => mapToInternalTree(item, dataSource.getChildren, stickyIndeterminate))
4285
+ : [];
4286
+ });
4287
+ this._filteredNodes = computed(() => {
4288
+ const treetableNodes = this._treetableNodes();
4289
+ const activeFilters = this._filters.activeFilters();
4290
+ const hasActiveFilters = this._filters.hasActiveFilters();
4291
+ if (!hasActiveFilters) {
4292
+ return treetableNodes;
4293
+ }
4294
+ return this.filterTreeRecursively(treetableNodes, activeFilters);
4295
+ });
4296
+ this.displayedNodes = computed(() => {
4297
+ const nodes = this._filteredNodes();
4298
+ const { comparator } = this._sort.sortState();
4299
+ if (!comparator) {
4300
+ return nodes;
4301
+ }
4302
+ return this.sortTreeRecursively(nodes);
4303
+ });
4304
+ this.areAllNodesSelected = computed(() => this.displayedNodes().every(node => node.selected() === ClrTreetableSelectedState.SELECTED));
4305
+ this.selectedNodes = computed(() => {
4306
+ const result = [];
4307
+ this.traverseTreeNodes(this.displayedNodes(), (node) => {
4308
+ if (node.selected() === ClrTreetableSelectedState.SELECTED) {
4309
+ result.push(node.value);
4310
+ }
4311
+ });
4312
+ return result;
4313
+ });
4314
+ this.changes$ = combineLatest([
4315
+ this._filters.changes$,
4316
+ this._sort.changes$,
4317
+ ]).pipe(map$1(([filterValues, sortState]) => ({
4318
+ sort: sortState.comparator ? { comparator: sortState.comparator, reverse: sortState.reverse } : null,
4319
+ filters: filterValues,
4320
+ })), skip(1), auditTime(500), distinctUntilChanged((a, b) => areTreetableStatesEqual(a, b)), shareReplay(1));
4321
+ // Externally selected has to be handled as a signal, as it is a synchronous change. Simply using a subject instead
4322
+ // of a signal results in errors.
4323
+ const externallySelectedItems$ = toObservable(this._itemsExternallySelected).pipe(map$1(items => new Set(items)));
4324
+ const treetableNodes$ = toObservable(this._treetableNodes).pipe(filter$1(nodes => nodes.length > 0));
4325
+ const handleExternalSelect$ = combineLatest([externallySelectedItems$, treetableNodes$]);
4326
+ // This stream handles the external setting of selected nodes. Typically, this will run only once in the
4327
+ // beginning, if some nodes need to be selected from the start (e.g. restoring treetable state from local storage).
4328
+ // The subscribe function only runs, if the selectedItems differ in length to the currently selectedNodes.
4329
+ handleExternalSelect$
4330
+ .pipe(map$1(([externallySelectedItems, treetableNodes]) => ({
4331
+ externallySelectedItems: externallySelectedItems,
4332
+ nodes: treetableNodes,
4333
+ selectedNodes: this.selectedNodes(),
4334
+ })), filter$1(({ externallySelectedItems, selectedNodes }) => externallySelectedItems.size !== selectedNodes.length), takeUntilDestroyed())
4335
+ .subscribe(({ externallySelectedItems, nodes }) => {
4336
+ if (externallySelectedItems.size === 0) {
4337
+ this.setSelectionForDisplayedNodes(ClrTreetableSelectedState.UNSELECTED);
4338
+ return;
4339
+ }
4340
+ this.traverseTreeNodes(nodes, (node) => {
4341
+ if (externallySelectedItems.has(node.value)) {
4342
+ node.setSelected(ClrTreetableSelectedState.SELECTED);
4343
+ // Remove node and all descendants from set to speed up external selection.
4344
+ externallySelectedItems.delete(node.value);
4345
+ for (const descendant of node.getFlatDescendants() ?? []) {
4346
+ externallySelectedItems.delete(descendant.value);
4347
+ }
4348
+ }
4349
+ }, () => externallySelectedItems.size > 0);
4106
4350
  });
4107
4351
  }
4108
- onExpandCollapseClick() {
4109
- // Only animate on user click (not on sorting or initial rendering)
4110
- this.shouldAnimate.set(true);
4111
- this.toggleExpand();
4112
- // Remove .animate after animation to prevent unwanted transitions
4113
- setTimeout(() => {
4114
- this.shouldAnimate.set(false);
4115
- }, 350);
4352
+ setDataSource(items, getChildren) {
4353
+ this._dataSource.set({ items, getChildren });
4116
4354
  }
4117
- toggle(selected = !this.selected) {
4118
- if (selected !== this.selected) {
4119
- this.selected = selected;
4120
- this.selectedChanged.emit(selected);
4121
- }
4355
+ setExternallySelectedItems(items) {
4356
+ this._itemsExternallySelected.set(items);
4122
4357
  }
4123
- toggleExpand() {
4124
- if (this.expandable) {
4125
- this.expanded = !this.expanded;
4126
- this.expandedChange.emit(this.expanded);
4127
- }
4358
+ setStickyIndeterminate(value) {
4359
+ this._stickyIndeterminate.set(value);
4360
+ }
4361
+ toggleSelectionForDisplayedNodes() {
4362
+ const nextState = this.areAllNodesSelected()
4363
+ ? ClrTreetableSelectedState.UNSELECTED
4364
+ : ClrTreetableSelectedState.SELECTED;
4365
+ this.setSelectionForDisplayedNodes(nextState);
4128
4366
  }
4129
- onRowClick(event) {
4130
- if (this.clickable && !event.target.closest('.treetable-action-trigger')) {
4131
- this.onExpandCollapseClick();
4367
+ setSelectionForDisplayedNodes(state) {
4368
+ for (const node of this.displayedNodes()) {
4369
+ node.setSelected(state);
4132
4370
  }
4133
4371
  }
4134
- onCaretClick() {
4135
- if (!this.clickable) {
4136
- this.onExpandCollapseClick();
4372
+ /**
4373
+ * Recursively filters the provided <code>ClrTreetableTreeNodes</code>. It returns the lowest depth nodes of the
4374
+ * provided nodes, that pass all the filters and it's ancestors. The method returns a cloned subset of the provided nodes.
4375
+ *
4376
+ * @param nodes The nodes to filter.
4377
+ * @param activeFilters The currently active filters that have to be passed.
4378
+ * @param parent The parent node to set for the recursive filtering.
4379
+ * @private
4380
+ */
4381
+ filterTreeRecursively(nodes, activeFilters, parent = null) {
4382
+ const passesAllFilters = (node) => activeFilters.every(f => f.accepts(node.value));
4383
+ const result = [];
4384
+ for (const original of nodes) {
4385
+ const filteredChildren = this.filterTreeRecursively(original.children, activeFilters, null);
4386
+ if (filteredChildren.length > 0 || passesAllFilters(original)) {
4387
+ // A new instance is necessary here, for the selection state to still work
4388
+ const newNode = new ClrTreetableTreeNode(original.value, parent, [], this._stickyIndeterminate());
4389
+ newNode.children = filteredChildren.map(child => {
4390
+ child.parent = newNode;
4391
+ return child;
4392
+ });
4393
+ result.push(newNode);
4394
+ }
4137
4395
  }
4396
+ return result;
4138
4397
  }
4139
- get selected() {
4140
- if (this.selection.selectionType === SelectionType.None) {
4141
- return this._selected;
4142
- }
4143
- else {
4144
- return this.selection.isSelected(this.clrTtItem());
4145
- }
4398
+ sortTreeRecursively(nodes) {
4399
+ const sortedNodes = [...nodes].sort((nodeA, nodeB) => this._sort.compare(nodeA.value, nodeB.value));
4400
+ return sortedNodes.map(node => {
4401
+ if (!node.isLeaf) {
4402
+ const cloned = Object.assign(Object.create(Object.getPrototypeOf(node)), node);
4403
+ cloned.children = this.sortTreeRecursively(node.children);
4404
+ return cloned;
4405
+ }
4406
+ return node;
4407
+ });
4146
4408
  }
4147
- set selected(value) {
4148
- this.selection.setSelected(this.clrTtItem(), value);
4409
+ traverseTreeNodes(nodes, callBackFn, breakCondition = () => true) {
4410
+ for (const node of nodes) {
4411
+ callBackFn(node);
4412
+ if (!node.isLeaf && breakCondition(node)) {
4413
+ this.traverseTreeNodes(node.children, callBackFn, breakCondition);
4414
+ }
4415
+ }
4149
4416
  }
4150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableRow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetableRow, isStandalone: false, selector: "clr-tt-row", inputs: { expanded: { classPropertyName: "expanded", publicName: "clrExpanded", isSignal: false, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clrClickable", isSignal: false, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "clrExpandable", isSignal: false, isRequired: false, transformFunction: null }, clrTtItem: { classPropertyName: "clrTtItem", publicName: "clrTtItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasActionOverflow: "hasActionOverflow", expandedChange: "clrExpandedChange", selectedChanged: "clrTtSelectedChange" }, host: { properties: { "class.treetable-row-wrapper": "true", "class.treetable-selected": "selected" } }, queries: [{ propertyName: "actionOverflow", first: true, predicate: ClrTreetableActionOverflow, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n [ngClass]=\"{'clr-row-clickable': showClickClass, 'treetable-selected': selected}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n @if(selection.selectionType === SelectionType.Multi){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-cell\">\n <input type=\"checkbox\" [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\" (click)=\"$event.stopPropagation()\" />\n </div>\n }\n\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"treetable-row-animation-container\"\n [class.expanded]=\"expanded\"\n [class.collapsed]=\"!expanded\"\n [class.animate]=\"shouldAnimate()\"\n>\n <div class=\"treetable-row-animation-wrapper\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n </div>\n</div>\n", styles: [".treetable-row-animation-container.expanded{display:grid;grid-template-rows:1fr;opacity:1}.treetable-row-animation-container.collapsed{display:none;grid-template-rows:0fr;opacity:0}.treetable-row-animation-container.animate{transition:grid-template-rows .3s ease,opacity .3s ease,display .3s ease allow-discrete}@starting-style{.treetable-row-animation-container.animate.expanded{grid-template-rows:0fr;opacity:0}}@starting-style{.treetable-row-animation-container.animate.collapsed{grid-template-rows:1fr;opacity:1}}.treetable-row-animation-wrapper{min-height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrTreetableActionOverflow, selector: "clr-tt-action-overflow", inputs: ["empty"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4417
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableDataStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4418
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableDataStateService }); }
4152
4419
  }
4153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableRow, decorators: [{
4154
- type: Component,
4155
- args: [{ selector: 'clr-tt-row', host: { '[class.treetable-row-wrapper]': 'true', '[class.treetable-selected]': 'selected' }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n [ngClass]=\"{'clr-row-clickable': showClickClass, 'treetable-selected': selected}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n @if(selection.selectionType === SelectionType.Multi){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-cell\">\n <input type=\"checkbox\" [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\" (click)=\"$event.stopPropagation()\" />\n </div>\n }\n\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"treetable-row-animation-container\"\n [class.expanded]=\"expanded\"\n [class.collapsed]=\"!expanded\"\n [class.animate]=\"shouldAnimate()\"\n>\n <div class=\"treetable-row-animation-wrapper\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n </div>\n</div>\n", styles: [".treetable-row-animation-container.expanded{display:grid;grid-template-rows:1fr;opacity:1}.treetable-row-animation-container.collapsed{display:none;grid-template-rows:0fr;opacity:0}.treetable-row-animation-container.animate{transition:grid-template-rows .3s ease,opacity .3s ease,display .3s ease allow-discrete}@starting-style{.treetable-row-animation-container.animate.expanded{grid-template-rows:0fr;opacity:0}}@starting-style{.treetable-row-animation-container.animate.collapsed{grid-template-rows:1fr;opacity:1}}.treetable-row-animation-wrapper{min-height:0;overflow:hidden}\n"] }]
4156
- }], propDecorators: { expanded: [{
4157
- type: Input,
4158
- args: ['clrExpanded']
4159
- }], clickable: [{
4160
- type: Input,
4161
- args: ['clrClickable']
4162
- }], expandable: [{
4163
- type: Input,
4164
- args: ['clrExpandable']
4165
- }], hasActionOverflow: [{
4166
- type: Output
4167
- }], expandedChange: [{
4168
- type: Output,
4169
- args: ['clrExpandedChange']
4170
- }], selectedChanged: [{
4171
- type: Output,
4172
- args: ['clrTtSelectedChange']
4173
- }], actionOverflow: [{
4174
- type: ContentChild,
4175
- args: [ClrTreetableActionOverflow]
4176
- }] } });
4420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableDataStateService, decorators: [{
4421
+ type: Injectable
4422
+ }], ctorParameters: () => [] });
4177
4423
 
4178
4424
  /*
4179
4425
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4180
4426
  * This software is released under MIT license.
4181
4427
  * The full license information can be found in LICENSE in the root directory of this project.
4182
4428
  */
4183
- class TreetableItemsDirective {
4184
- get clrTtItems() {
4185
- return this.ttItems();
4186
- }
4187
- set clrTtItems(items) {
4188
- if (items == null || items.length === 0) {
4189
- return;
4190
- }
4191
- this._items.addItems(items);
4192
- if (this._sort.comparator) {
4193
- this._cdr.detach();
4194
- items.sort((a, b) => this._sort.compare(a, b)); // Sort in place
4195
- this._cdr.reattach();
4196
- }
4197
- this.ttItems.set(items);
4198
- }
4199
- set trackBy(value) {
4200
- this._iterableProxy.ngForTrackBy = value;
4201
- }
4429
+ class ClrTreetable {
4202
4430
  constructor() {
4203
- this._items = inject((Items));
4204
- this._sort = inject((Sort));
4205
- this._template = inject((TemplateRef));
4206
- this._differs = inject(IterableDiffers);
4207
- this._vcr = inject(ViewContainerRef);
4208
- this._cdr = inject(ChangeDetectorRef);
4209
- this.ttItems = signal([]);
4210
- this._iterableProxy = new NgForOf(this._vcr, this._template, this._differs);
4431
+ this._dataStateService = inject((TreetableDataStateService));
4432
+ this._recursionService = inject((ClrTreetableRecursionService));
4433
+ this.clrClickableRows = input(true);
4434
+ this.clrHideHeader = input(false);
4435
+ this.clrTtLoading = input(false);
4436
+ this.clrTtSelected = input(undefined);
4437
+ this.clrTtAutoParentSelection = input(true);
4438
+ this.clrTtSelectedChange = outputFromObservable(toObservable(this._dataStateService.selectedNodes));
4439
+ this.clrTtRefresh = outputFromObservable(this._dataStateService.changes$);
4440
+ this._ttRows = contentChildren(ClrTreetableRow, { descendants: true });
4441
+ this._actionOverflow = contentChildren(ClrTreetableActionOverflow, { descendants: true });
4442
+ this.empty = computed(() => !this._ttRows() || this._ttRows().length === 0);
4443
+ this.displayedNodes = this._dataStateService.displayedNodes;
4444
+ this.isRecursionMode = this._recursionService.isRecursionMode;
4445
+ this.selectionType = computed(() => (this.clrTtSelected() ? SelectionType.Multi : SelectionType.None));
4446
+ this.showSelection = computed(() => this.selectionType() === SelectionType.Multi);
4447
+ this.areAllRowsSelected = computed(() => this._dataStateService.areAllNodesSelected());
4448
+ this.hasActionOverflow = computed(() => this._actionOverflow()?.length > 0);
4211
4449
  effect(() => {
4212
- const newItems = this.ttItems();
4213
- if (newItems) {
4214
- this._iterableProxy.ngForOf = newItems;
4215
- this._iterableProxy.ngDoCheck();
4450
+ const selectedItems = this.clrTtSelected();
4451
+ if (selectedItems) {
4452
+ this._dataStateService.setExternallySelectedItems(selectedItems);
4216
4453
  }
4217
4454
  });
4455
+ effect(() => {
4456
+ this._dataStateService.setStickyIndeterminate(!this.clrTtAutoParentSelection());
4457
+ });
4218
4458
  }
4219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableItemsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4220
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableItemsDirective, isStandalone: false, selector: "[clrTtItems]", inputs: { clrTtItems: "clrTtItems", trackBy: ["clrTtItemsTrackBy", "trackBy"] }, ngImport: i0 }); }
4459
+ toggleSelectAll() {
4460
+ this._dataStateService.toggleSelectionForDisplayedNodes();
4461
+ }
4462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4463
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrTreetable, isStandalone: false, selector: "clr-treetable", inputs: { clrClickableRows: { classPropertyName: "clrClickableRows", publicName: "clrClickableRows", isSignal: true, isRequired: false, transformFunction: null }, clrHideHeader: { classPropertyName: "clrHideHeader", publicName: "clrHideHeader", isSignal: true, isRequired: false, transformFunction: null }, clrTtLoading: { classPropertyName: "clrTtLoading", publicName: "clrTtLoading", isSignal: true, isRequired: false, transformFunction: null }, clrTtSelected: { classPropertyName: "clrTtSelected", publicName: "clrTtSelected", isSignal: true, isRequired: false, transformFunction: null }, clrTtAutoParentSelection: { classPropertyName: "clrTtAutoParentSelection", publicName: "clrTtAutoParentSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSelectedChange: "clrTtSelectedChange", clrTtRefresh: "clrTtRefresh" }, host: { properties: { "class.empty": "empty()", "class.treetable-host": "true" } }, providers: [TREETABLE_RECURSION_SERVICE_PROVIDER, TreetableDataStateService, Sort, Filters], queries: [{ propertyName: "_ttRows", predicate: ClrTreetableRow, descendants: true, isSignal: true }, { propertyName: "_actionOverflow", predicate: ClrTreetableActionOverflow, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"clrHideHeader()\">\n @if (showSelection() && !empty()) {\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input\n type=\"checkbox\"\n data-testId=\"clrTtSelectAll\"\n [checked]=\"areAllRowsSelected()\"\n (change)=\"toggleSelectAll()\"\n />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow()\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\" />\n </div>\n </div>\n <div class=\"treetable-body\">\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [children]=\"displayedNodes()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n } @if (empty()) {\n <ng-content select=\"clr-tt-placeholder\" />\n }\n </div>\n </div>\n @if (clrTtLoading()) {\n <div class=\"treetable-spinner\">\n <clr-spinner clrMedium />\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }, { kind: "component", type: ClrTreetableRecursiveRows, selector: "clr-tt-recursive-rows", inputs: ["parent", "children"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4221
4464
  }
4222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableItemsDirective, decorators: [{
4223
- type: Directive,
4224
- args: [{
4225
- selector: '[clrTtItems]',
4226
- standalone: false,
4227
- }]
4228
- }], ctorParameters: () => [], propDecorators: { clrTtItems: [{
4229
- type: Input
4230
- }], trackBy: [{
4231
- type: Input,
4232
- args: ['clrTtItemsTrackBy']
4233
- }] } });
4465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetable, decorators: [{
4466
+ type: Component,
4467
+ args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty()', '[class.treetable-host]': 'true' }, providers: [TREETABLE_RECURSION_SERVICE_PROVIDER, TreetableDataStateService, Sort, Filters], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"clrHideHeader()\">\n @if (showSelection() && !empty()) {\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input\n type=\"checkbox\"\n data-testId=\"clrTtSelectAll\"\n [checked]=\"areAllRowsSelected()\"\n (change)=\"toggleSelectAll()\"\n />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow()\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\" />\n </div>\n </div>\n <div class=\"treetable-body\">\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [children]=\"displayedNodes()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n } @if (empty()) {\n <ng-content select=\"clr-tt-placeholder\" />\n }\n </div>\n </div>\n @if (clrTtLoading()) {\n <div class=\"treetable-spinner\">\n <clr-spinner clrMedium />\n </div>\n }\n</div>\n" }]
4468
+ }], ctorParameters: () => [] });
4234
4469
 
4235
4470
  /*
4236
4471
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4237
4472
  * This software is released under MIT license.
4238
4473
  * The full license information can be found in LICENSE in the root directory of this project.
4239
4474
  */
4240
- class ClrTreetable {
4475
+ var ClrTreetableSortOrder;
4476
+ (function (ClrTreetableSortOrder) {
4477
+ ClrTreetableSortOrder[ClrTreetableSortOrder["UNSORTED"] = 0] = "UNSORTED";
4478
+ ClrTreetableSortOrder[ClrTreetableSortOrder["ASC"] = 1] = "ASC";
4479
+ ClrTreetableSortOrder[ClrTreetableSortOrder["DESC"] = -1] = "DESC";
4480
+ })(ClrTreetableSortOrder || (ClrTreetableSortOrder = {}));
4481
+
4482
+ /*
4483
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4484
+ * This software is released under MIT license.
4485
+ * The full license information can be found in LICENSE in the root directory of this project.
4486
+ */
4487
+ class ClrTreetableColumn {
4241
4488
  constructor() {
4242
- this.selection = inject((Selection));
4243
- this._items = inject((Items));
4244
- this._destroyRef = inject(DestroyRef);
4245
- this.cdr = inject(ChangeDetectorRef);
4246
- this.clrClickableRows = true;
4247
- this.hideHeader = false;
4248
- this.selectedChanged = new EventEmitter(false);
4249
- this.empty = true;
4250
- this.hasActionOverflow = false;
4251
- this.SelectionType = SelectionType;
4252
- }
4253
- set selected(value) {
4254
- if (value) {
4255
- this.selection.selectionType = SelectionType.Multi;
4256
- }
4257
- else {
4258
- this.selection.selectionType = SelectionType.None;
4259
- }
4260
- this.selection.updateCurrent(value, false);
4261
- }
4262
- set ttRows(items) {
4263
- this._ttRows = items;
4264
- this.hasActionOverflow = false;
4265
- this.initClickableRows();
4266
- this.initEmpty();
4267
- this.initActionOverflow();
4268
- }
4269
- ngAfterViewInit() {
4270
- this.selection.change.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(items => {
4271
- this.selectedChanged.emit(items);
4489
+ this._sort = inject((Sort));
4490
+ this.clrTtSortBy = input(null);
4491
+ this.clrTtSortOrder = input(ClrTreetableSortOrder.UNSORTED);
4492
+ this.clrTtSortOrderChange = output();
4493
+ this._internalSortOrder = computed(() => {
4494
+ const sortState = this._sort.sortState();
4495
+ const sortBy = this.clrTtSortBy();
4496
+ if (sortBy == null || sortState.comparator !== sortBy) {
4497
+ return ClrTreetableSortOrder.UNSORTED;
4498
+ }
4499
+ return sortState.reverse ? ClrTreetableSortOrder.DESC : ClrTreetableSortOrder.ASC;
4272
4500
  });
4273
- //_items changed, therefore we need to update the ttItems in the directives
4274
- // in order to display them right again -> e.g when sorting changed
4275
- this._items.change.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((allItems) => {
4276
- const directives = this.iterator.toArray();
4277
- directives.forEach((directive, index) => {
4278
- if (allItems[index]) {
4279
- const sortedItems = [...allItems[index]];
4280
- directive.ttItems.set(sortedItems);
4281
- }
4282
- });
4501
+ this.isSortable = computed(() => !!this.clrTtSortBy());
4502
+ this.sortDirection = computed(() => {
4503
+ const order = this._internalSortOrder();
4504
+ if (order === ClrTreetableSortOrder.UNSORTED) {
4505
+ return null;
4506
+ }
4507
+ return order === ClrTreetableSortOrder.DESC ? 'down' : 'up';
4508
+ });
4509
+ this.ariaSort = computed(() => {
4510
+ switch (this._internalSortOrder()) {
4511
+ case ClrTreetableSortOrder.ASC:
4512
+ return 'ascending';
4513
+ case ClrTreetableSortOrder.DESC:
4514
+ return 'descending';
4515
+ case ClrTreetableSortOrder.UNSORTED:
4516
+ default:
4517
+ return 'none';
4518
+ }
4519
+ });
4520
+ // Handle incoming sort order changes
4521
+ const sortOrder$ = toObservable(this.clrTtSortOrder);
4522
+ const sortBy$ = toObservable(this.clrTtSortBy);
4523
+ const handleExternalSortOrderChange$ = combineLatest([sortOrder$, sortBy$]);
4524
+ // CombineLatest does not contain sortState, because only external sort changes should trigger this stream.
4525
+ // Only react to external sort order changes, if no current sortState exists, or this column is responsible for it.
4526
+ handleExternalSortOrderChange$
4527
+ .pipe(map$1(([sortOrder, comparator]) => ({
4528
+ sortOrder,
4529
+ comparator,
4530
+ sortState: this._sort.sortState(),
4531
+ })), filter$1(({ comparator, sortState }) => !!comparator && (sortState.comparator == null || sortState.comparator === comparator)), map$1(({ sortOrder, comparator, sortState }) => ({
4532
+ sortOrder: sortOrder,
4533
+ isCurrentActiveComparator: sortState.comparator === comparator,
4534
+ reverse: sortState.reverse,
4535
+ })), takeUntilDestroyed())
4536
+ .subscribe(({ sortOrder, isCurrentActiveComparator, reverse }) => {
4537
+ switch (sortOrder) {
4538
+ case ClrTreetableSortOrder.ASC:
4539
+ if (!isCurrentActiveComparator || (isCurrentActiveComparator && reverse)) {
4540
+ this.sort(false);
4541
+ }
4542
+ break;
4543
+ case ClrTreetableSortOrder.DESC:
4544
+ if (!isCurrentActiveComparator || (isCurrentActiveComparator && !reverse)) {
4545
+ this.sort(true);
4546
+ }
4547
+ break;
4548
+ case ClrTreetableSortOrder.UNSORTED:
4549
+ if (isCurrentActiveComparator) {
4550
+ this._sort.clear();
4551
+ }
4552
+ break;
4553
+ }
4554
+ });
4555
+ // Emit sort order changes of the column
4556
+ effect(() => {
4557
+ const internalSortOrder = this._internalSortOrder();
4558
+ this.clrTtSortOrderChange.emit(internalSortOrder);
4283
4559
  });
4284
4560
  }
4285
- initClickableRows() {
4286
- if (this._ttRows) {
4287
- this._ttRows.forEach(ttRow => {
4288
- ttRow.clickable = this.clrClickableRows;
4289
- });
4561
+ sort(reverse) {
4562
+ const comparator = this.clrTtSortBy();
4563
+ if (!comparator) {
4564
+ return;
4290
4565
  }
4566
+ this._sort.toggle(comparator, reverse);
4291
4567
  }
4292
- initEmpty() {
4293
- this.empty = this._ttRows.length === 0;
4294
- }
4295
- initActionOverflow() {
4296
- this._ttRows.forEach(row => {
4297
- this.setActionOverflow(row.showActionOverflow);
4298
- row.hasActionOverflow.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((hasActionOverflow) => {
4299
- this.setActionOverflow(hasActionOverflow);
4300
- });
4301
- });
4568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4569
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: ClrTreetableColumn, isStandalone: false, selector: "clr-tt-column", inputs: { clrTtSortBy: { classPropertyName: "clrTtSortBy", publicName: "clrTtSortBy", isSignal: true, isRequired: false, transformFunction: null }, clrTtSortOrder: { classPropertyName: "clrTtSortOrder", publicName: "clrTtSortOrder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSortOrderChange: "clrTtSortOrderChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.treetable-column": "true", "attr.aria-sort": "ariaSort()" } }, providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService], hostDirectives: [{ directive: i2.ClrPopoverHostDirective }], ngImport: i0, template: `
4570
+ @if (isSortable()) {
4571
+ <button type="button" class="treetable-column-title" data-testId="clrTtSortButton" (click)="sort()">
4572
+ <ng-container *ngTemplateOutlet="columnTitle" />
4573
+ @if (sortDirection()) {
4574
+ <cds-icon
4575
+ shape="arrow"
4576
+ aria-hidden="true"
4577
+ class="sort-icon"
4578
+ data-testId="clrTtSortIndicator"
4579
+ [attr.direction]="sortDirection()"
4580
+ />
4581
+ }
4582
+ </button>
4583
+ } @else {
4584
+ <div class="treetable-column-title">
4585
+ <ng-container *ngTemplateOutlet="columnTitle" />
4586
+ </div>
4302
4587
  }
4303
- setActionOverflow(hasActionOverflow) {
4304
- if (!this.hasActionOverflow && hasActionOverflow) {
4305
- this.hasActionOverflow = true;
4306
- this.cdr.markForCheck();
4307
- // setTimeout needed, as this method needs to change data which shouldn't be changed anymore in this cycle
4308
- setTimeout(() => {
4309
- if (this.hasActionOverflow) {
4310
- this._ttRows.forEach(ttRow => (ttRow.showActionOverflow = true));
4311
- }
4312
- });
4313
- }
4588
+
4589
+ <ng-content select="clr-tt-filter, clr-tt-string-filter" />
4590
+
4591
+ <ng-template #columnTitle>
4592
+ <ng-content />
4593
+ </ng-template>
4594
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4595
+ }
4596
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableColumn, decorators: [{
4597
+ type: Component,
4598
+ args: [{
4599
+ selector: 'clr-tt-column',
4600
+ providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
4601
+ template: `
4602
+ @if (isSortable()) {
4603
+ <button type="button" class="treetable-column-title" data-testId="clrTtSortButton" (click)="sort()">
4604
+ <ng-container *ngTemplateOutlet="columnTitle" />
4605
+ @if (sortDirection()) {
4606
+ <cds-icon
4607
+ shape="arrow"
4608
+ aria-hidden="true"
4609
+ class="sort-icon"
4610
+ data-testId="clrTtSortIndicator"
4611
+ [attr.direction]="sortDirection()"
4612
+ />
4613
+ }
4614
+ </button>
4615
+ } @else {
4616
+ <div class="treetable-column-title">
4617
+ <ng-container *ngTemplateOutlet="columnTitle" />
4618
+ </div>
4314
4619
  }
4315
- get allSelected() {
4316
- return this.selection.isAllSelected();
4620
+
4621
+ <ng-content select="clr-tt-filter, clr-tt-string-filter" />
4622
+
4623
+ <ng-template #columnTitle>
4624
+ <ng-content />
4625
+ </ng-template>
4626
+ `,
4627
+ hostDirectives: [ClrPopoverHostDirective],
4628
+ host: {
4629
+ '[class.treetable-column]': 'true',
4630
+ '[attr.aria-sort]': 'ariaSort()',
4631
+ role: 'columnheader',
4632
+ },
4633
+ changeDetection: ChangeDetectionStrategy.OnPush,
4634
+ standalone: false,
4635
+ }]
4636
+ }], ctorParameters: () => [] });
4637
+
4638
+ /*
4639
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4640
+ * This software is released under MIT license.
4641
+ * The full license information can be found in LICENSE in the root directory of this project.
4642
+ */
4643
+ class ClrTreetableFilter {
4644
+ constructor() {
4645
+ this.commonStringsService = inject(ClrCommonStringsService);
4646
+ this.smartToggleService = inject(ClrPopoverToggleService);
4647
+ this.filterProvider = inject((Filters));
4648
+ // Smart Popover
4649
+ this.smartPosition = {
4650
+ axis: ClrAxis.VERTICAL,
4651
+ side: ClrSide.AFTER,
4652
+ anchor: ClrAlignment.END,
4653
+ content: ClrAlignment.END,
4654
+ };
4655
+ this.clrTtFilter = input.required();
4656
+ this.registered = signal(undefined);
4657
+ this.open = toSignal(this.smartToggleService.openChange);
4658
+ this.active = computed(() => this.clrTtFilter()?.isActive());
4317
4659
  }
4318
- set allSelected(_) {
4319
- /**
4320
- * This is a setter but we ignore the value.
4321
- * It's strange, but it lets us have an indeterminate state where only
4322
- * some of the _items are selected.
4323
- */
4324
- this.selection.toggleAll();
4660
+ ngOnInit() {
4661
+ this.registered.set(this.filterProvider.register(this.clrTtFilter()));
4325
4662
  }
4326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4327
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetable, isStandalone: false, selector: "clr-treetable", inputs: { clrClickableRows: "clrClickableRows", hideHeader: ["clrHideHeader", "hideHeader"], selected: ["clrTtSelected", "selected"] }, outputs: { selectedChanged: "clrTtSelectedChange" }, host: { properties: { "class.empty": "empty", "class.treetable-host": "true" } }, providers: [Selection, Items, Sort], queries: [{ propertyName: "ttColumns", predicate: ClrTreetableColumn, descendants: true }, { propertyName: "ttRows", predicate: ClrTreetableRow, descendants: true }, { propertyName: "iterator", predicate: TreetableItemsDirective, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"hideHeader\">\n @if(selection.selectionType === SelectionType.Multi && !empty){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input type=\"checkbox\" [(ngModel)]=\"allSelected\" />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4663
+ ngOnDestroy() {
4664
+ if (this.registered()) {
4665
+ this.registered().unregister();
4666
+ }
4667
+ }
4668
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4669
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.16", type: ClrTreetableFilter, isStandalone: false, selector: "clr-tt-filter", inputs: { clrTtFilter: { classPropertyName: "clrTtFilter", publicName: "clrTtFilter", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
4670
+ <button
4671
+ type="button"
4672
+ clrPopoverAnchor
4673
+ clrPopoverOpenCloseButton
4674
+ class="treetable-filter-toggle"
4675
+ data-testId="clrTtToggleFilterButton"
4676
+ [class.treetable-filter-open]="open()"
4677
+ [class.treetable-filtered]="active()"
4678
+ [attr.aria-expanded]="open()"
4679
+ >
4680
+ <cds-icon
4681
+ [attr.status]="active() ? 'info' : null"
4682
+ [attr.shape]="active() ? 'filter-grid-circle' : 'filter-grid'"
4683
+ solid
4684
+ ></cds-icon>
4685
+ </button>
4686
+
4687
+ <div
4688
+ class="treetable-filter"
4689
+ role="dialog"
4690
+ cdkTrapFocus
4691
+ *clrPopoverContent="open(); at: smartPosition; outsideClickToClose: true; scrollToClose: true"
4692
+ [attr.aria-label]="commonStringsService.keys.datagridFilterDialogAriaLabel"
4693
+ >
4694
+ <div class="treetable-filter-close-wrapper">
4695
+ <button type="button" class="close" clrPopoverCloseButton>
4696
+ <cds-icon shape="window-close" [attr.aria-label]="commonStringsService.keys.close"></cds-icon>
4697
+ </button>
4698
+ </div>
4699
+
4700
+ <ng-content></ng-content>
4701
+ </div>
4702
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i2.ÇlrClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i2.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4328
4703
  }
4329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetable, decorators: [{
4704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableFilter, decorators: [{
4330
4705
  type: Component,
4331
- args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty', '[class.treetable-host]': 'true' }, standalone: false, providers: [Selection, Items, Sort], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"hideHeader\">\n @if(selection.selectionType === SelectionType.Multi && !empty){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input type=\"checkbox\" [(ngModel)]=\"allSelected\" />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n" }]
4332
- }], propDecorators: { clrClickableRows: [{
4333
- type: Input
4334
- }], hideHeader: [{
4335
- type: Input,
4336
- args: ['clrHideHeader']
4337
- }], selected: [{
4338
- type: Input,
4339
- args: ['clrTtSelected']
4340
- }], selectedChanged: [{
4341
- type: Output,
4342
- args: ['clrTtSelectedChange']
4343
- }], ttColumns: [{
4344
- type: ContentChildren,
4345
- args: [ClrTreetableColumn, { descendants: true }]
4346
- }], ttRows: [{
4347
- type: ContentChildren,
4348
- args: [ClrTreetableRow, { descendants: true }]
4349
- }], iterator: [{
4350
- type: ContentChildren,
4351
- args: [TreetableItemsDirective, { descendants: true }]
4352
- }] } });
4706
+ args: [{
4707
+ selector: 'clr-tt-filter',
4708
+ template: `
4709
+ <button
4710
+ type="button"
4711
+ clrPopoverAnchor
4712
+ clrPopoverOpenCloseButton
4713
+ class="treetable-filter-toggle"
4714
+ data-testId="clrTtToggleFilterButton"
4715
+ [class.treetable-filter-open]="open()"
4716
+ [class.treetable-filtered]="active()"
4717
+ [attr.aria-expanded]="open()"
4718
+ >
4719
+ <cds-icon
4720
+ [attr.status]="active() ? 'info' : null"
4721
+ [attr.shape]="active() ? 'filter-grid-circle' : 'filter-grid'"
4722
+ solid
4723
+ ></cds-icon>
4724
+ </button>
4725
+
4726
+ <div
4727
+ class="treetable-filter"
4728
+ role="dialog"
4729
+ cdkTrapFocus
4730
+ *clrPopoverContent="open(); at: smartPosition; outsideClickToClose: true; scrollToClose: true"
4731
+ [attr.aria-label]="commonStringsService.keys.datagridFilterDialogAriaLabel"
4732
+ >
4733
+ <div class="treetable-filter-close-wrapper">
4734
+ <button type="button" class="close" clrPopoverCloseButton>
4735
+ <cds-icon shape="window-close" [attr.aria-label]="commonStringsService.keys.close"></cds-icon>
4736
+ </button>
4737
+ </div>
4738
+
4739
+ <ng-content></ng-content>
4740
+ </div>
4741
+ `,
4742
+ changeDetection: ChangeDetectionStrategy.OnPush,
4743
+ standalone: false,
4744
+ }]
4745
+ }] });
4353
4746
 
4354
4747
  /*
4355
4748
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
@@ -4357,10 +4750,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
4357
4750
  * The full license information can be found in LICENSE in the root directory of this project.
4358
4751
  */
4359
4752
  class ClrTreetableCell {
4360
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4361
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTreetableCell, isStandalone: false, selector: "clr-tt-cell", host: { attributes: { "role": "cell" }, properties: { "class.treetable-cell": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4753
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4754
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrTreetableCell, isStandalone: false, selector: "clr-tt-cell", host: { attributes: { "role": "cell" }, properties: { "class.treetable-cell": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4362
4755
  }
4363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableCell, decorators: [{
4756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableCell, decorators: [{
4364
4757
  type: Component,
4365
4758
  args: [{
4366
4759
  selector: 'clr-tt-cell',
@@ -4380,15 +4773,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
4380
4773
  * The full license information can be found in LICENSE in the root directory of this project.
4381
4774
  */
4382
4775
  class ClrTreetablePlaceholder {
4383
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetablePlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4384
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTreetablePlaceholder, isStandalone: false, selector: "clr-tt-placeholder", host: { properties: { "class.treetable-placeholder-container": "true" } }, ngImport: i0, template: `
4776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetablePlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4777
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrTreetablePlaceholder, isStandalone: false, selector: "clr-tt-placeholder", host: { properties: { "class.treetable-placeholder-container": "true" } }, ngImport: i0, template: `
4385
4778
  <div class="treetable-placeholder treetable-empty">
4386
4779
  <div class="treetable-placeholder-image"></div>
4387
4780
  <ng-content></ng-content>
4388
4781
  </div>
4389
4782
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4390
4783
  }
4391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetablePlaceholder, decorators: [{
4784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetablePlaceholder, decorators: [{
4392
4785
  type: Component,
4393
4786
  args: [{
4394
4787
  selector: 'clr-tt-placeholder',
@@ -4435,10 +4828,10 @@ class TreetableHeaderRenderer {
4435
4828
  setDefaultColumnClass() {
4436
4829
  this.renderer.addClass(this.el.nativeElement, 'clr-col');
4437
4830
  }
4438
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableHeaderRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4439
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableHeaderRenderer, isStandalone: false, selector: "clr-tt-column", ngImport: i0 }); }
4831
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableHeaderRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4832
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TreetableHeaderRenderer, isStandalone: false, selector: "clr-tt-column", ngImport: i0 }); }
4440
4833
  }
4441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableHeaderRenderer, decorators: [{
4834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableHeaderRenderer, decorators: [{
4442
4835
  type: Directive,
4443
4836
  args: [{
4444
4837
  selector: 'clr-tt-column',
@@ -4464,10 +4857,10 @@ class TreetableCellRenderer {
4464
4857
  setMaxWidth(maxWidth) {
4465
4858
  this.renderer.setStyle(this.el.nativeElement, 'max-width', maxWidth + 'px');
4466
4859
  }
4467
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableCellRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4468
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableCellRenderer, isStandalone: false, selector: "clr-tt-cell", ngImport: i0 }); }
4860
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableCellRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4861
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TreetableCellRenderer, isStandalone: false, selector: "clr-tt-cell", ngImport: i0 }); }
4469
4862
  }
4470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableCellRenderer, decorators: [{
4863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableCellRenderer, decorators: [{
4471
4864
  type: Directive,
4472
4865
  args: [{
4473
4866
  selector: 'clr-tt-cell',
@@ -4481,10 +4874,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
4481
4874
  * The full license information can be found in LICENSE in the root directory of this project.
4482
4875
  */
4483
4876
  class TreetableRowRenderer {
4484
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableRowRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4485
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableRowRenderer, isStandalone: false, selector: "clr-tt-row", queries: [{ propertyName: "cells", predicate: TreetableCellRenderer }], ngImport: i0 }); }
4877
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableRowRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4878
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TreetableRowRenderer, isStandalone: false, selector: "clr-tt-row", queries: [{ propertyName: "cells", predicate: TreetableCellRenderer }], ngImport: i0 }); }
4486
4879
  }
4487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableRowRenderer, decorators: [{
4880
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableRowRenderer, decorators: [{
4488
4881
  type: Directive,
4489
4882
  args: [{
4490
4883
  selector: 'clr-tt-row',
@@ -4506,7 +4899,7 @@ class TreetableMainRenderer {
4506
4899
  }
4507
4900
  ngOnInit() {
4508
4901
  fromEvent(window, 'resize')
4509
- .pipe(debounceTime$1(200))
4902
+ .pipe(debounceTime(200))
4510
4903
  .subscribe(() => this.applyMaxWidth());
4511
4904
  }
4512
4905
  ngAfterContentInit() {
@@ -4575,10 +4968,10 @@ class TreetableMainRenderer {
4575
4968
  row.cells.first.setMaxWidth(maxWidth);
4576
4969
  });
4577
4970
  }
4578
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableMainRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4579
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableMainRenderer, isStandalone: false, selector: "clr-treetable", queries: [{ propertyName: "headers", predicate: TreetableHeaderRenderer }, { propertyName: "rows", predicate: TreetableRowRenderer, descendants: true }, { propertyName: "columns", predicate: ClrTreetableColumn }], ngImport: i0 }); }
4971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableMainRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4972
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TreetableMainRenderer, isStandalone: false, selector: "clr-treetable", queries: [{ propertyName: "headers", predicate: TreetableHeaderRenderer }, { propertyName: "rows", predicate: TreetableRowRenderer, descendants: true }, { propertyName: "columns", predicate: ClrTreetableColumn }], ngImport: i0 }); }
4580
4973
  }
4581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableMainRenderer, decorators: [{
4974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableMainRenderer, decorators: [{
4582
4975
  type: Directive,
4583
4976
  args: [{
4584
4977
  selector: 'clr-treetable',
@@ -4595,6 +4988,159 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
4595
4988
  args: [ClrTreetableColumn]
4596
4989
  }] } });
4597
4990
 
4991
+ /*
4992
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4993
+ * This software is released under MIT license.
4994
+ * The full license information can be found in LICENSE in the root directory of this project.
4995
+ */
4996
+ class TreetableItemsDirective {
4997
+ constructor() {
4998
+ this._dataStateService = inject((TreetableDataStateService));
4999
+ this._recursionService = inject((ClrTreetableRecursionService));
5000
+ this._templateRef = inject((TemplateRef));
5001
+ this.clrTtItemsOf = input.required();
5002
+ this.clrTtItemsGetChildren = input.required();
5003
+ if (this._templateRef) {
5004
+ this._recursionService.setTemplate(this._templateRef);
5005
+ }
5006
+ effect(() => {
5007
+ const items = this.clrTtItemsOf();
5008
+ const getChildren = this.clrTtItemsGetChildren();
5009
+ if (items) {
5010
+ this._dataStateService.setDataSource(items, getChildren);
5011
+ }
5012
+ });
5013
+ }
5014
+ static ngTemplateContextGuard(
5015
+ // @ts-expect-error This is a valid Angular context guard.
5016
+ dir,
5017
+ // @ts-expect-error This is a valid Angular context guard.
5018
+ ctx) {
5019
+ return true;
5020
+ }
5021
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableItemsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5022
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TreetableItemsDirective, isStandalone: false, selector: "[clrTtItems][clrTtItemsOf]", inputs: { clrTtItemsOf: { classPropertyName: "clrTtItemsOf", publicName: "clrTtItemsOf", isSignal: true, isRequired: true, transformFunction: null }, clrTtItemsGetChildren: { classPropertyName: "clrTtItemsGetChildren", publicName: "clrTtItemsGetChildren", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
5023
+ }
5024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TreetableItemsDirective, decorators: [{
5025
+ type: Directive,
5026
+ args: [{
5027
+ selector: '[clrTtItems][clrTtItemsOf]',
5028
+ standalone: false,
5029
+ }]
5030
+ }], ctorParameters: () => [] });
5031
+
5032
+ /*
5033
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
5034
+ * This software is released under MIT license.
5035
+ * The full license information can be found in LICENSE in the root directory of this project.
5036
+ */
5037
+ const DEBOUNCE_TIME = 300;
5038
+ class ClrTreetableStringFilter {
5039
+ constructor() {
5040
+ this.smartToggleService = inject(ClrPopoverToggleService);
5041
+ this.commonStrings = inject(ClrCommonStringsService);
5042
+ this.elementRef = inject(ElementRef);
5043
+ this.clrTtStringFilter = input.required();
5044
+ this.clrTtFilterPlaceholder = input(this.commonStrings.keys.filterItems);
5045
+ this.clrTtFilterLabel = input('');
5046
+ this.clrTtFilterValue = model();
5047
+ this._input = viewChild('input', { read: (ElementRef) });
5048
+ this._textChange$ = new Subject();
5049
+ this.filterLabel = computed(() => {
5050
+ const label = this.clrTtFilterLabel();
5051
+ if (label) {
5052
+ return label;
5053
+ }
5054
+ const columnElement = this.elementRef.nativeElement?.closest('clr-tt-column');
5055
+ const columnTitleElement = columnElement?.querySelector('.treetable-column-title');
5056
+ return this.commonStrings.parse(this.commonStrings.keys.datagridFilterLabel, {
5057
+ COLUMN: columnTitleElement?.textContent.trim() || '',
5058
+ });
5059
+ });
5060
+ // Only emits the initial value once if it exists
5061
+ this.initialValue$ = toObservable(this.clrTtFilterValue).pipe(take$1(1), filter$1(value => !!value));
5062
+ this.changes = merge(this.initialValue$, this._textChange$).pipe(debounceTime$1(DEBOUNCE_TIME), tap(input => this.clrTtFilterValue.set(input)));
5063
+ this.smartToggleService.openChange.pipe(takeUntilDestroyed()).subscribe(openChange => {
5064
+ if (openChange) {
5065
+ setTimeout(() => this._input()?.nativeElement.focus());
5066
+ }
5067
+ });
5068
+ }
5069
+ accepts(item) {
5070
+ const filterValue = this.clrTtFilterValue();
5071
+ if (!this.isActive() || !filterValue) {
5072
+ return true;
5073
+ }
5074
+ return this.clrTtStringFilter()(item, filterValue.toLowerCase());
5075
+ }
5076
+ isActive() {
5077
+ const value = this.clrTtFilterValue();
5078
+ return !!value && value.length > 0;
5079
+ }
5080
+ clearFilter() {
5081
+ this._textChange$.next('');
5082
+ }
5083
+ inputChanged(value) {
5084
+ this._textChange$.next(value);
5085
+ }
5086
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableStringFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5087
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.16", type: ClrTreetableStringFilter, isStandalone: false, selector: "clr-tt-string-filter", inputs: { clrTtStringFilter: { classPropertyName: "clrTtStringFilter", publicName: "clrTtStringFilter", isSignal: true, isRequired: true, transformFunction: null }, clrTtFilterPlaceholder: { classPropertyName: "clrTtFilterPlaceholder", publicName: "clrTtFilterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, clrTtFilterLabel: { classPropertyName: "clrTtFilterLabel", publicName: "clrTtFilterLabel", isSignal: true, isRequired: false, transformFunction: null }, clrTtFilterValue: { classPropertyName: "clrTtFilterValue", publicName: "clrTtFilterValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtFilterValue: "clrTtFilterValueChange" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
5088
+ <clr-tt-filter [clrTtFilter]="this">
5089
+ <button
5090
+ class="btn btn-sm btn-icon btn-link btn-trash"
5091
+ data-testId="clrTtStringFilterClearBtn"
5092
+ (click)="clearFilter()"
5093
+ >
5094
+ <cds-icon shape="trash"></cds-icon>
5095
+ </button>
5096
+ <clr-input-container>
5097
+ <label for="filter">{{ filterLabel() }}</label>
5098
+ <input
5099
+ #input
5100
+ clrInput
5101
+ id="filter"
5102
+ type="text"
5103
+ name="search"
5104
+ autocomplete="off"
5105
+ data-testId="clrTtStringFilterInput"
5106
+ [placeholder]="clrTtFilterPlaceholder()"
5107
+ [ngModel]="clrTtFilterValue()"
5108
+ (ngModelChange)="inputChanged($event)"
5109
+ />
5110
+ </clr-input-container>
5111
+ </clr-tt-filter>
5112
+ `, isInline: true, styles: [".btn-trash{position:absolute;top:10px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrTreetableFilter, selector: "clr-tt-filter", inputs: ["clrTtFilter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5113
+ }
5114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableStringFilter, decorators: [{
5115
+ type: Component,
5116
+ args: [{ selector: 'clr-tt-string-filter', template: `
5117
+ <clr-tt-filter [clrTtFilter]="this">
5118
+ <button
5119
+ class="btn btn-sm btn-icon btn-link btn-trash"
5120
+ data-testId="clrTtStringFilterClearBtn"
5121
+ (click)="clearFilter()"
5122
+ >
5123
+ <cds-icon shape="trash"></cds-icon>
5124
+ </button>
5125
+ <clr-input-container>
5126
+ <label for="filter">{{ filterLabel() }}</label>
5127
+ <input
5128
+ #input
5129
+ clrInput
5130
+ id="filter"
5131
+ type="text"
5132
+ name="search"
5133
+ autocomplete="off"
5134
+ data-testId="clrTtStringFilterInput"
5135
+ [placeholder]="clrTtFilterPlaceholder()"
5136
+ [ngModel]="clrTtFilterValue()"
5137
+ (ngModelChange)="inputChanged($event)"
5138
+ />
5139
+ </clr-input-container>
5140
+ </clr-tt-filter>
5141
+ `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [".btn-trash{position:absolute;top:10px;right:40px;padding:0}\n"] }]
5142
+ }], ctorParameters: () => [] });
5143
+
4598
5144
  /*
4599
5145
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
4600
5146
  * This software is released under MIT license.
@@ -4612,10 +5158,15 @@ const CLR_TREETABLE_DIRECTIVES = [
4612
5158
  TreetableRowRenderer,
4613
5159
  TreetableCellRenderer,
4614
5160
  TreetableItemsDirective,
5161
+ ClrTreetableFilter,
5162
+ ClrTreetableStringFilter,
4615
5163
  ];
4616
5164
  class ClrTreetableModule {
4617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4618
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, declarations: [ClrTreetable,
5165
+ constructor() {
5166
+ ClarityIcons.addIcons(angleIcon, arrowIcon, ellipsisVerticalIcon, filterGridCircleIcon, filterGridIcon);
5167
+ }
5168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5169
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableModule, declarations: [ClrTreetable,
4619
5170
  ClrTreetableRow,
4620
5171
  ClrTreetableCell,
4621
5172
  ClrTreetableColumn,
@@ -4625,7 +5176,9 @@ class ClrTreetableModule {
4625
5176
  TreetableHeaderRenderer,
4626
5177
  TreetableRowRenderer,
4627
5178
  TreetableCellRenderer,
4628
- TreetableItemsDirective], imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule], exports: [ClrTreetable,
5179
+ TreetableItemsDirective,
5180
+ ClrTreetableFilter,
5181
+ ClrTreetableStringFilter, ClrTreetableRecursiveRows, ClrTreetableRowCheckbox], imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule], exports: [ClrTreetable,
4629
5182
  ClrTreetableRow,
4630
5183
  ClrTreetableCell,
4631
5184
  ClrTreetableColumn,
@@ -4635,17 +5188,31 @@ class ClrTreetableModule {
4635
5188
  TreetableHeaderRenderer,
4636
5189
  TreetableRowRenderer,
4637
5190
  TreetableCellRenderer,
4638
- TreetableItemsDirective] }); }
4639
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule] }); }
5191
+ TreetableItemsDirective,
5192
+ ClrTreetableFilter,
5193
+ ClrTreetableStringFilter] }); }
5194
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableModule, imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule] }); }
4640
5195
  }
4641
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, decorators: [{
5196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTreetableModule, decorators: [{
4642
5197
  type: NgModule,
4643
5198
  args: [{
4644
5199
  imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule],
4645
- declarations: [CLR_TREETABLE_DIRECTIVES],
5200
+ declarations: [CLR_TREETABLE_DIRECTIVES, ClrTreetableRecursiveRows, ClrTreetableRowCheckbox],
4646
5201
  exports: [CLR_TREETABLE_DIRECTIVES],
4647
5202
  }]
4648
- }] });
5203
+ }], ctorParameters: () => [] });
5204
+
5205
+ /*
5206
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
5207
+ * This software is released under MIT license.
5208
+ * The full license information can be found in LICENSE in the root directory of this project.
5209
+ */
5210
+
5211
+ /*
5212
+ * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
5213
+ * This software is released under MIT license.
5214
+ * The full license information can be found in LICENSE in the root directory of this project.
5215
+ */
4649
5216
 
4650
5217
  /*
4651
5218
  * Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
@@ -4725,8 +5292,8 @@ class ClrViewEditSection {
4725
5292
  this.toggleCollapsed(true);
4726
5293
  }
4727
5294
  }
4728
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSection, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4729
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrViewEditSection, isStandalone: false, selector: "clr-view-edit-section", inputs: { _title: ["clrTitle", "_title"], _saveText: ["clrSaveText", "_saveText"], _preventSave: ["clrPreventModeChangeOnSave", "_preventSave"], _cancelText: ["clrCancelText", "_cancelText"], _editable: ["clrEditable", "_editable"], _editIcon: ["clrEditIcon", "_editIcon"], _isCollapsible: ["clrIsCollapsible", "_isCollapsible"], _isCollapsed: ["clrIsCollapsed", "_isCollapsed"], viewRef: ["clrViewRef", "viewRef"], editRef: ["clrEditRef", "editRef"], editMode: ["clrEditMode", "editMode"] }, outputs: { _isCollapsedChange: "clrIsCollapsedChange", _editModeChanged: "clrEditModeChange", _submitted: "clrSectionSubmitted", _cancelled: "clrSectionEditCancelled" }, ngImport: i0, template: "<div class=\"card view-edit-section\" (keyup.escape)=\"onCancel()\">\n <div class=\"card-block\">\n <div class=\"card-title\">\n {{ _title }}\n <button\n type=\"button\"\n (click)=\"onCollapseExpand()\"\n class=\"btn btn-icon btn-link ces-caret-btn\"\n *ngIf=\"_isCollapsible && !editMode\"\n >\n <cds-icon shape=\"angle\" direction=\"up\" size=\"20\" class=\"ces-caret-icon\" [@rotateIcon]=\"_isCollapsed\"></cds-icon>\n </button>\n <div class=\"ves-actions\">\n <button\n type=\"button\"\n (click)=\"onEdit()\"\n class=\"btn btn-icon btn-link ves-action\"\n *ngIf=\"_editable && !editMode && actionBlock.children.length == 0\"\n >\n <cds-icon class=\"ves-edit-icon\" [attr.shape]=\"_editIcon\" size=\"20\"></cds-icon>\n </button>\n <div #actionBlock>\n <ng-content select=\"[action-block]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"card-text\" [@collapseExpandAnimation]=\"initialized\" *ngIf=\"!(_isCollapsed && _isCollapsible)\">\n <ng-template [ngTemplateOutlet]=\"viewRef\" *ngIf=\"!editMode\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"editRef\" *ngIf=\"editMode\"></ng-template>\n <ng-container *ngIf=\"editMode\">\n <form clrForm (ngSubmit)=\"onSubmit()\" class=\"button-bar\">\n <button class=\"btn btn-primary ves-save\" type=\"submit\">{{ _saveText }}</button>\n <button class=\"btn ves-cancel\" (click)=\"onCancel()\" type=\"button\">{{ _cancelText }}</button>\n </form>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], animations: [
5295
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSection, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5296
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrViewEditSection, isStandalone: false, selector: "clr-view-edit-section", inputs: { _title: ["clrTitle", "_title"], _saveText: ["clrSaveText", "_saveText"], _preventSave: ["clrPreventModeChangeOnSave", "_preventSave"], _cancelText: ["clrCancelText", "_cancelText"], _editable: ["clrEditable", "_editable"], _editIcon: ["clrEditIcon", "_editIcon"], _isCollapsible: ["clrIsCollapsible", "_isCollapsible"], _isCollapsed: ["clrIsCollapsed", "_isCollapsed"], viewRef: ["clrViewRef", "viewRef"], editRef: ["clrEditRef", "editRef"], editMode: ["clrEditMode", "editMode"] }, outputs: { _isCollapsedChange: "clrIsCollapsedChange", _editModeChanged: "clrEditModeChange", _submitted: "clrSectionSubmitted", _cancelled: "clrSectionEditCancelled" }, ngImport: i0, template: "<div class=\"card view-edit-section\" (keyup.escape)=\"onCancel()\">\n <div class=\"card-block\">\n <div class=\"card-title\">\n {{ _title }}\n <button\n type=\"button\"\n (click)=\"onCollapseExpand()\"\n class=\"btn btn-icon btn-link ces-caret-btn\"\n *ngIf=\"_isCollapsible && !editMode\"\n >\n <cds-icon shape=\"angle\" direction=\"up\" size=\"20\" class=\"ces-caret-icon\" [@rotateIcon]=\"_isCollapsed\"></cds-icon>\n </button>\n <div class=\"ves-actions\">\n <button\n type=\"button\"\n (click)=\"onEdit()\"\n class=\"btn btn-icon btn-link ves-action\"\n *ngIf=\"_editable && !editMode && actionBlock.children.length == 0\"\n >\n <cds-icon class=\"ves-edit-icon\" [attr.shape]=\"_editIcon\" size=\"20\"></cds-icon>\n </button>\n <div #actionBlock>\n <ng-content select=\"[action-block]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"card-text\" [@collapseExpandAnimation]=\"initialized\" *ngIf=\"!(_isCollapsed && _isCollapsible)\">\n <ng-template [ngTemplateOutlet]=\"viewRef\" *ngIf=\"!editMode\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"editRef\" *ngIf=\"editMode\"></ng-template>\n <ng-container *ngIf=\"editMode\">\n <form clrForm (ngSubmit)=\"onSubmit()\" class=\"button-bar\">\n <button class=\"btn btn-primary ves-save\" type=\"submit\">{{ _saveText }}</button>\n <button class=\"btn ves-cancel\" (click)=\"onCancel()\" type=\"button\">{{ _cancelText }}</button>\n </form>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], animations: [
4730
5297
  trigger('collapseExpandAnimation', [
4731
5298
  transition(':enter', [
4732
5299
  style({ opacity: 0, height: 0, overflow: 'hidden' }),
@@ -4745,7 +5312,7 @@ class ClrViewEditSection {
4745
5312
  ]),
4746
5313
  ] }); }
4747
5314
  }
4748
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSection, decorators: [{
5315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSection, decorators: [{
4749
5316
  type: Component,
4750
5317
  args: [{ selector: 'clr-view-edit-section', animations: [
4751
5318
  trigger('collapseExpandAnimation', [
@@ -4818,11 +5385,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
4818
5385
  * The full license information can be found in LICENSE in the root directory of this project.
4819
5386
  */
4820
5387
  class ClrViewEditSectionModule {
4821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4822
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSectionModule, declarations: [ClrViewEditSection], imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule], exports: [ClrViewEditSection] }); }
4823
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSectionModule, imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule] }); }
5388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5389
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSectionModule, declarations: [ClrViewEditSection], imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule], exports: [ClrViewEditSection] }); }
5390
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSectionModule, imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule] }); }
4824
5391
  }
4825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrViewEditSectionModule, decorators: [{
5392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrViewEditSectionModule, decorators: [{
4826
5393
  type: NgModule,
4827
5394
  args: [{
4828
5395
  imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule],
@@ -4866,7 +5433,7 @@ class ClrHistoryService {
4866
5433
  return of(historyEntry).pipe(tap(() => this.changingHistory$.next(true)), switchMap(entry => this.historyHttpService.addHistoryEntry(entry)), tap(() => this.changingHistory$.next(false)));
4867
5434
  }
4868
5435
  getHistory(username, tenantId) {
4869
- return this.changingHistory$.pipe(filter$1(changing => !changing), switchMap(() => this.historyHttpService.getHistory(username, tenantId)));
5436
+ return this.changingHistory$.pipe(filter$2(changing => !changing), switchMap(() => this.historyHttpService.getHistory(username, tenantId)));
4870
5437
  }
4871
5438
  removeFromHistory(historyEntry) {
4872
5439
  return of(historyEntry).pipe(tap(() => this.changingHistory$.next(true)), switchMap(entry => this.historyHttpService.removeFromHistory(entry)), tap(() => this.changingHistory$.next(false)));
@@ -4941,10 +5508,10 @@ class ClrHistoryService {
4941
5508
  domain.shift();
4942
5509
  return domain.join('.');
4943
5510
  }
4944
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryService, deps: [{ token: HISTORY_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
4945
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryService }); }
5511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryService, deps: [{ token: HISTORY_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
5512
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryService }); }
4946
5513
  }
4947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryService, decorators: [{
5514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryService, decorators: [{
4948
5515
  type: Injectable
4949
5516
  }], ctorParameters: () => [{ type: undefined, decorators: [{
4950
5517
  type: Inject,
@@ -5004,10 +5571,10 @@ class ClrHistory {
5004
5571
  togglePinHistory() {
5005
5572
  this.historyService.setHistoryPinned(this.username, !this.pinActivated);
5006
5573
  }
5007
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistory, deps: [{ token: ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5008
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrHistory, isStandalone: false, selector: "clr-history", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], pinActive: ["clrPinActive", "pinActive"], dropdownHeader: ["clrDropdownHeader", "dropdownHeader"], dropdownPin: ["clrDropdownPin", "dropdownPin"], dropdownUnpin: ["clrDropdownUnpin", "dropdownUnpin"], domain: ["clrDomain", "domain"], position: ["clrPosition", "position"] }, host: { classAttribute: "clr-history" }, ngImport: i0, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-outline-primary history-button\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"16\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{ dropdownHeader }}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements$ | async\" (click)=\"select(history)\">\n {{ history.title }}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{ dropdownPin }}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{ dropdownUnpin }}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
5574
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistory, deps: [{ token: ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5575
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrHistory, isStandalone: false, selector: "clr-history", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], pinActive: ["clrPinActive", "pinActive"], dropdownHeader: ["clrDropdownHeader", "dropdownHeader"], dropdownPin: ["clrDropdownPin", "dropdownPin"], dropdownUnpin: ["clrDropdownUnpin", "dropdownUnpin"], domain: ["clrDomain", "domain"], position: ["clrPosition", "position"] }, host: { classAttribute: "clr-history" }, ngImport: i0, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-outline-primary history-button\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"16\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{ dropdownHeader }}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements$ | async\" (click)=\"select(history)\">\n {{ history.title }}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{ dropdownPin }}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{ dropdownUnpin }}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
5009
5576
  }
5010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistory, decorators: [{
5577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistory, decorators: [{
5011
5578
  type: Component,
5012
5579
  args: [{ selector: 'clr-history', host: { class: 'clr-history' }, standalone: false, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-outline-primary history-button\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"16\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{ dropdownHeader }}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements$ | async\" (click)=\"select(history)\">\n {{ history.title }}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{ dropdownPin }}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{ dropdownUnpin }}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n" }]
5013
5580
  }], ctorParameters: () => [{ type: ClrHistoryService }, { type: HistoryProvider, decorators: [{
@@ -5079,10 +5646,10 @@ class ClrHistoryPinned {
5079
5646
  ngOnDestroy() {
5080
5647
  this.settingsSubscription.unsubscribe();
5081
5648
  }
5082
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5083
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrHistoryPinned, isStandalone: false, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"(active$ | async)\">\n <ol class=\"history\">\n <!-- dummy entry with no visible content to reserve space for the history header -->\n <li>&nbsp;</li>\n <ng-container *ngFor=\"let historyItem of historyElements$ | async\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{ historyItem.title }}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
5649
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5650
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrHistoryPinned, isStandalone: false, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"(active$ | async)\">\n <ol class=\"history\">\n <!-- dummy entry with no visible content to reserve space for the history header -->\n <li>&nbsp;</li>\n <ng-container *ngFor=\"let historyItem of historyElements$ | async\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{ historyItem.title }}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
5084
5651
  }
5085
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryPinned, decorators: [{
5652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryPinned, decorators: [{
5086
5653
  type: Component,
5087
5654
  args: [{ selector: 'clr-history-pinned', standalone: false, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"(active$ | async)\">\n <ol class=\"history\">\n <!-- dummy entry with no visible content to reserve space for the history header -->\n <li>&nbsp;</li>\n <ng-container *ngFor=\"let historyItem of historyElements$ | async\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{ historyItem.title }}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
5088
5655
  }], ctorParameters: () => [{ type: ClrHistoryService }, { type: HistoryProvider, decorators: [{
@@ -5140,10 +5707,10 @@ class ClrHistoryHttpImplService {
5140
5707
  }
5141
5708
  return url;
5142
5709
  }
5143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryHttpImplService, deps: [{ token: HISTORY_NOTIFICATION_URL_PROVIDER }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
5144
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryHttpImplService }); }
5710
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryHttpImplService, deps: [{ token: HISTORY_NOTIFICATION_URL_PROVIDER }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
5711
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryHttpImplService }); }
5145
5712
  }
5146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryHttpImplService, decorators: [{
5713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryHttpImplService, decorators: [{
5147
5714
  type: Injectable
5148
5715
  }], ctorParameters: () => [{ type: undefined, decorators: [{
5149
5716
  type: Inject,
@@ -5156,16 +5723,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
5156
5723
  * The full license information can be found in LICENSE in the root directory of this project.
5157
5724
  */
5158
5725
  class ClrHistoryModule {
5159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5160
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryModule, declarations: [ClrHistory, ClrHistoryPinned], imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule], exports: [ClrHistory, ClrHistoryPinned] }); }
5161
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryModule, providers: [
5726
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5727
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryModule, declarations: [ClrHistory, ClrHistoryPinned], imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule], exports: [ClrHistory, ClrHistoryPinned] }); }
5728
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryModule, providers: [
5162
5729
  {
5163
5730
  provide: HISTORY_TOKEN,
5164
5731
  useClass: ClrHistoryHttpImplService,
5165
5732
  },
5166
5733
  ], imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule] }); }
5167
5734
  }
5168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryModule, decorators: [{
5735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrHistoryModule, decorators: [{
5169
5736
  type: NgModule,
5170
5737
  args: [{
5171
5738
  imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule],
@@ -5192,10 +5759,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
5192
5759
  * The full license information can be found in LICENSE in the root directory of this project.
5193
5760
  */
5194
5761
  class ClrAutocompleteOff {
5195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOff, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5196
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrAutocompleteOff, isStandalone: false, selector: "input:not([autocomplete])", host: { properties: { "attr.autocomplete": "\"off\"" } }, ngImport: i0 }); }
5762
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOff, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5763
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrAutocompleteOff, isStandalone: false, selector: "input:not([autocomplete])", host: { properties: { "attr.autocomplete": "\"off\"" } }, ngImport: i0 }); }
5197
5764
  }
5198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOff, decorators: [{
5765
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOff, decorators: [{
5199
5766
  type: Directive,
5200
5767
  args: [{
5201
5768
  selector: 'input:not([autocomplete])',
@@ -5212,11 +5779,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
5212
5779
  * The full license information can be found in LICENSE in the root directory of this project.
5213
5780
  */
5214
5781
  class ClrAutocompleteOffModule {
5215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOffModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5216
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOffModule, declarations: [ClrAutocompleteOff], exports: [ClrAutocompleteOff] }); }
5217
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOffModule }); }
5782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOffModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5783
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOffModule, declarations: [ClrAutocompleteOff], exports: [ClrAutocompleteOff] }); }
5784
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOffModule }); }
5218
5785
  }
5219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAutocompleteOffModule, decorators: [{
5786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAutocompleteOffModule, decorators: [{
5220
5787
  type: NgModule,
5221
5788
  args: [{
5222
5789
  declarations: [ClrAutocompleteOff],
@@ -10842,10 +11409,10 @@ class ClrBrandAvatar {
10842
11409
  output = output.replace('Š', 'S');
10843
11410
  return output;
10844
11411
  }
10845
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatar, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
10846
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrBrandAvatar, isStandalone: false, selector: "clr-brand-avatar", inputs: { brand: ["clrBrand", "brand"], size: ["clrSize", "size"] }, host: { properties: { "class.clr-brand-avatar": "this.avatar" } }, viewQueries: [{ propertyName: "avatarElement", first: true, predicate: ["avatar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"brand-avatar-rectangle\">\n <div #avatar class=\"brand-avatar-icon-container\">\n <cds-icon\n [attr.size]=\"size\"\n [attr.shape]=\"getShape()\"\n [ngClass]=\"{'default-icon': getShape() === getDefaultIcon()}\"\n ></cds-icon>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
11412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatar, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
11413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrBrandAvatar, isStandalone: false, selector: "clr-brand-avatar", inputs: { brand: ["clrBrand", "brand"], size: ["clrSize", "size"] }, host: { properties: { "class.clr-brand-avatar": "this.avatar" } }, viewQueries: [{ propertyName: "avatarElement", first: true, predicate: ["avatar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"brand-avatar-rectangle\">\n <div #avatar class=\"brand-avatar-icon-container\">\n <cds-icon\n [attr.size]=\"size\"\n [attr.shape]=\"getShape()\"\n [ngClass]=\"{'default-icon': getShape() === getDefaultIcon()}\"\n ></cds-icon>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] }); }
10847
11414
  }
10848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatar, decorators: [{
11415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatar, decorators: [{
10849
11416
  type: Component,
10850
11417
  args: [{ selector: 'clr-brand-avatar', standalone: false, template: "<div class=\"brand-avatar-rectangle\">\n <div #avatar class=\"brand-avatar-icon-container\">\n <cds-icon\n [attr.size]=\"size\"\n [attr.shape]=\"getShape()\"\n [ngClass]=\"{'default-icon': getShape() === getDefaultIcon()}\"\n ></cds-icon>\n </div>\n</div>\n" }]
10851
11418
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { avatar: [{
@@ -10868,11 +11435,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
10868
11435
  * The full license information can be found in LICENSE in the root directory of this project.
10869
11436
  */
10870
11437
  class ClrBrandAvatarModule {
10871
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10872
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatarModule, declarations: [ClrBrandAvatar], imports: [CommonModule, ClarityModule], exports: [ClrBrandAvatar] }); }
10873
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatarModule, imports: [CommonModule, ClarityModule] }); }
11438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11439
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatarModule, declarations: [ClrBrandAvatar], imports: [CommonModule, ClarityModule], exports: [ClrBrandAvatar] }); }
11440
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatarModule, imports: [CommonModule, ClarityModule] }); }
10874
11441
  }
10875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrBrandAvatarModule, decorators: [{
11442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrBrandAvatarModule, decorators: [{
10876
11443
  type: NgModule,
10877
11444
  args: [{
10878
11445
  imports: [CommonModule, ClarityModule],
@@ -10989,10 +11556,10 @@ class ClrAddonsLabel {
10989
11556
  this.destroyed$.next();
10990
11557
  this.destroyed$.complete();
10991
11558
  }
10992
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsLabel, deps: [{ token: ControlIdService, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10993
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrAddonsLabel, isStandalone: false, selector: "label", ngImport: i0 }); }
11559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsLabel, deps: [{ token: ControlIdService, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
11560
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrAddonsLabel, isStandalone: false, selector: "label", ngImport: i0 }); }
10994
11561
  }
10995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsLabel, decorators: [{
11562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsLabel, decorators: [{
10996
11563
  type: Directive,
10997
11564
  args: [{
10998
11565
  selector: 'label',
@@ -11050,10 +11617,10 @@ class LocationBarSearchComponent {
11050
11617
  getMinCharactersText() {
11051
11618
  return `Type ${this.searchRequest?.minCharacters ?? this.MIN_CHARACTERS_DEFAULT}+ characters to search.`;
11052
11619
  }
11053
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11054
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: LocationBarSearchComponent, isStandalone: false, selector: "clr-location-bar-search", inputs: { searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { searchPerformed: "searchPerformed" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"clr-col-md-12 search-wrapper\">\n <form clrForm>\n <clr-input-container class=\"input-container\">\n <label hidden></label>\n <input\n #searchInput\n class=\"clr-col-md-12\"\n clrInput\n clrSearch\n [placeholder]=\"searchRequest?.placeholder ?? ''\"\n type=\"text\"\n name=\"search\"\n (keydown.Space)=\"preventDropdownActions($event)\"\n [formControl]=\"searchControl\"\n />\n <clr-control-helper *ngIf=\"displayWarning\" class=\"min-text-warning\">{{\n searchRequest?.minCharacterText ?? getMinCharactersText()\n }}</clr-control-helper>\n </clr-input-container>\n </form>\n</div>\n", styles: ["input::placeholder{font-size:.55rem}.search-wrapper{margin-bottom:.3rem}.input-container{margin-top:0}.min-text-warning{color:var(--cds-global-color-construction-800)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrControlHelper, selector: "clr-control-helper" }, { kind: "directive", type: i2.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ClrAutocompleteOff, selector: "input:not([autocomplete])" }, { kind: "directive", type: ClrAddonsLabel, selector: "label" }, { kind: "directive", type: ClrSearchField, selector: "[clrSearch]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11620
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: LocationBarSearchComponent, isStandalone: false, selector: "clr-location-bar-search", inputs: { searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { searchPerformed: "searchPerformed" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"clr-col-md-12 search-wrapper\">\n <form clrForm>\n <clr-input-container class=\"input-container\">\n <label hidden></label>\n <input\n #searchInput\n class=\"clr-col-md-12\"\n clrInput\n clrSearch\n [placeholder]=\"searchRequest?.placeholder ?? ''\"\n type=\"text\"\n name=\"search\"\n (keydown.Space)=\"preventDropdownActions($event)\"\n [formControl]=\"searchControl\"\n />\n <clr-control-helper *ngIf=\"displayWarning\" class=\"min-text-warning\">{{\n searchRequest?.minCharacterText ?? getMinCharactersText()\n }}</clr-control-helper>\n </clr-input-container>\n </form>\n</div>\n", styles: ["input::placeholder{font-size:.55rem}.search-wrapper{margin-bottom:.3rem}.input-container{margin-top:0}.min-text-warning{color:var(--cds-global-color-construction-800)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrControlHelper, selector: "clr-control-helper" }, { kind: "directive", type: i2.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ClrAutocompleteOff, selector: "input:not([autocomplete])" }, { kind: "directive", type: ClrAddonsLabel, selector: "label" }, { kind: "directive", type: ClrSearchField, selector: "[clrSearch]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11055
11622
  }
11056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarSearchComponent, decorators: [{
11623
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarSearchComponent, decorators: [{
11057
11624
  type: Component,
11058
11625
  args: [{ selector: 'clr-location-bar-search', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"clr-col-md-12 search-wrapper\">\n <form clrForm>\n <clr-input-container class=\"input-container\">\n <label hidden></label>\n <input\n #searchInput\n class=\"clr-col-md-12\"\n clrInput\n clrSearch\n [placeholder]=\"searchRequest?.placeholder ?? ''\"\n type=\"text\"\n name=\"search\"\n (keydown.Space)=\"preventDropdownActions($event)\"\n [formControl]=\"searchControl\"\n />\n <clr-control-helper *ngIf=\"displayWarning\" class=\"min-text-warning\">{{\n searchRequest?.minCharacterText ?? getMinCharactersText()\n }}</clr-control-helper>\n </clr-input-container>\n </form>\n</div>\n", styles: ["input::placeholder{font-size:.55rem}.search-wrapper{margin-bottom:.3rem}.input-container{margin-top:0}.min-text-warning{color:var(--cds-global-color-construction-800)}\n"] }]
11059
11626
  }], propDecorators: { searchRequest: [{
@@ -11176,10 +11743,10 @@ class LocationBarNodeComponent {
11176
11743
  }
11177
11744
  this.searchItemChanged.emit(searchedItem);
11178
11745
  }
11179
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarNodeComponent, deps: [{ token: CONTENT_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: LocationBarNodeComponent, isStandalone: false, selector: "clr-location-bar-node", inputs: { parentNode: "parentNode", searchResultItems: ["clrSearchResultItems", "searchResultItems"], searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { selectionChanged: "selectionChanged", searchItemChanged: "searchItemChanged" }, host: { properties: { "class.location-bar-node": "true" } }, viewQueries: [{ propertyName: "locationBarSearch", first: true, predicate: ["locationBarSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon>&nbsp;...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" [clrDropdownMenuItemMinHeight]=\"'24px'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "component", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: ["parentNode", "clrSearchResultItems", "clrSearchRequest"], outputs: ["selectionChanged", "searchItemChanged"] }, { kind: "component", type: LocationBarSearchComponent, selector: "clr-location-bar-search", inputs: ["clrSearchRequest"], outputs: ["searchPerformed"] }] }); }
11746
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarNodeComponent, deps: [{ token: CONTENT_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
11747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: LocationBarNodeComponent, isStandalone: false, selector: "clr-location-bar-node", inputs: { parentNode: "parentNode", searchResultItems: ["clrSearchResultItems", "searchResultItems"], searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { selectionChanged: "selectionChanged", searchItemChanged: "searchItemChanged" }, host: { properties: { "class.location-bar-node": "true" } }, viewQueries: [{ propertyName: "locationBarSearch", first: true, predicate: ["locationBarSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon>&nbsp;...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" [clrDropdownMenuItemMinHeight]=\"'24px'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "component", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: ["parentNode", "clrSearchResultItems", "clrSearchRequest"], outputs: ["selectionChanged", "searchItemChanged"] }, { kind: "component", type: LocationBarSearchComponent, selector: "clr-location-bar-search", inputs: ["clrSearchRequest"], outputs: ["searchPerformed"] }] }); }
11181
11748
  }
11182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarNodeComponent, decorators: [{
11749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarNodeComponent, decorators: [{
11183
11750
  type: Component,
11184
11751
  args: [{ selector: 'clr-location-bar-node', host: { '[class.location-bar-node]': 'true' }, standalone: false, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon>&nbsp;...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" [clrDropdownMenuItemMinHeight]=\"'24px'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n" }]
11185
11752
  }], ctorParameters: () => [{ type: LocationBarContentProvider, decorators: [{
@@ -11230,10 +11797,10 @@ class LocationBarComponent {
11230
11797
  onSelectionChanged(selection) {
11231
11798
  this.selectionChanged.emit(selection);
11232
11799
  }
11233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11234
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: LocationBarComponent, isStandalone: false, selector: "clr-location-bar", inputs: { iconShape: ["clrIconShape", "iconShape"], iconTitle: ["clrIconTitle", "iconTitle"], searchRequest: ["clrSearchRequest", "searchRequest"], searchResultItems: ["clrSearchResultItems", "searchResultItems"], roots: ["clrRoots", "roots"] }, outputs: { selectionChanged: "clrSelectionChanged", searchItemChanged: "clrSearchItemChanged" }, usesOnChanges: true, ngImport: i0, template: "<cds-icon *ngIf=\"iconShape\" [attr.shape]=\"iconShape\" [title]=\"iconTitle\"></cds-icon>\n<clr-location-bar-node\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"searchItemChanged.emit($event)\"\n [parentNode]=\"root$ | async\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n>\n</clr-location-bar-node>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: ["parentNode", "clrSearchResultItems", "clrSearchRequest"], outputs: ["selectionChanged", "searchItemChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
11800
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11801
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: LocationBarComponent, isStandalone: false, selector: "clr-location-bar", inputs: { iconShape: ["clrIconShape", "iconShape"], iconTitle: ["clrIconTitle", "iconTitle"], searchRequest: ["clrSearchRequest", "searchRequest"], searchResultItems: ["clrSearchResultItems", "searchResultItems"], roots: ["clrRoots", "roots"] }, outputs: { selectionChanged: "clrSelectionChanged", searchItemChanged: "clrSearchItemChanged" }, usesOnChanges: true, ngImport: i0, template: "<cds-icon *ngIf=\"iconShape\" [attr.shape]=\"iconShape\" [title]=\"iconTitle\"></cds-icon>\n<clr-location-bar-node\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"searchItemChanged.emit($event)\"\n [parentNode]=\"root$ | async\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n>\n</clr-location-bar-node>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: ["parentNode", "clrSearchResultItems", "clrSearchRequest"], outputs: ["selectionChanged", "searchItemChanged"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
11235
11802
  }
11236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: LocationBarComponent, decorators: [{
11803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: LocationBarComponent, decorators: [{
11237
11804
  type: Component,
11238
11805
  args: [{ selector: 'clr-location-bar', standalone: false, template: "<cds-icon *ngIf=\"iconShape\" [attr.shape]=\"iconShape\" [title]=\"iconTitle\"></cds-icon>\n<clr-location-bar-node\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"searchItemChanged.emit($event)\"\n [parentNode]=\"root$ | async\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n>\n</clr-location-bar-node>\n" }]
11239
11806
  }], propDecorators: { iconShape: [{
@@ -11265,11 +11832,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
11265
11832
  * The full license information can be found in LICENSE in the root directory of this project.
11266
11833
  */
11267
11834
  class ClrFormModule {
11268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11269
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrFormModule, declarations: [ClrAddonsLabel], exports: [ClrAddonsLabel] }); }
11270
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFormModule }); }
11835
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11836
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrFormModule, declarations: [ClrAddonsLabel], exports: [ClrAddonsLabel] }); }
11837
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFormModule }); }
11271
11838
  }
11272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrFormModule, decorators: [{
11839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrFormModule, decorators: [{
11273
11840
  type: NgModule,
11274
11841
  args: [{
11275
11842
  declarations: [ClrAddonsLabel],
@@ -11278,8 +11845,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
11278
11845
  }] });
11279
11846
 
11280
11847
  class ClrLocationBarModule {
11281
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLocationBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11282
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrLocationBarModule, declarations: [LocationBarComponent, LocationBarNodeComponent, LocationBarSearchComponent], imports: [CommonModule,
11848
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLocationBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11849
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrLocationBarModule, declarations: [LocationBarComponent, LocationBarNodeComponent, LocationBarSearchComponent], imports: [CommonModule,
11283
11850
  ClrIconModule,
11284
11851
  ClrDropdownModule,
11285
11852
  ClrDropdownOverflowModule,
@@ -11289,7 +11856,7 @@ class ClrLocationBarModule {
11289
11856
  ClrFormModule,
11290
11857
  ClrSearchFieldModule,
11291
11858
  ReactiveFormsModule], exports: [LocationBarComponent] }); }
11292
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLocationBarModule, imports: [CommonModule,
11859
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLocationBarModule, imports: [CommonModule,
11293
11860
  ClrIconModule,
11294
11861
  ClrDropdownModule,
11295
11862
  ClrDropdownOverflowModule,
@@ -11300,7 +11867,7 @@ class ClrLocationBarModule {
11300
11867
  ClrSearchFieldModule,
11301
11868
  ReactiveFormsModule] }); }
11302
11869
  }
11303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrLocationBarModule, decorators: [{
11870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrLocationBarModule, decorators: [{
11304
11871
  type: NgModule,
11305
11872
  args: [{
11306
11873
  declarations: [LocationBarComponent, LocationBarNodeComponent, LocationBarSearchComponent],
@@ -11324,10 +11891,10 @@ class DatagridFieldDirective {
11324
11891
  getFieldName() {
11325
11892
  return this.clrDgField ?? this.clrDgFieldKey;
11326
11893
  }
11327
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DatagridFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11328
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: DatagridFieldDirective, isStandalone: false, selector: "[clrDgField],[clrDgFieldKey]", inputs: { clrDgField: "clrDgField", clrDgFieldKey: "clrDgFieldKey" }, ngImport: i0 }); }
11894
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DatagridFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11895
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: DatagridFieldDirective, isStandalone: false, selector: "[clrDgField],[clrDgFieldKey]", inputs: { clrDgField: "clrDgField", clrDgFieldKey: "clrDgFieldKey" }, ngImport: i0 }); }
11329
11896
  }
11330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DatagridFieldDirective, decorators: [{
11897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DatagridFieldDirective, decorators: [{
11331
11898
  type: Directive,
11332
11899
  args: [{
11333
11900
  selector: '[clrDgField],[clrDgFieldKey]',
@@ -11357,7 +11924,7 @@ class DatagridColumnReorderDirective {
11357
11924
  this.cdkDropList.sortPredicate = this.canBeSorted;
11358
11925
  this.cdkDropList.lockAxis = 'x';
11359
11926
  this.cdkDropList.dropped
11360
- .pipe(takeUntilDestroyed(this.destroyRef), filter$2(event => this.isDragItemDgColumn(event.item)))
11927
+ .pipe(takeUntilDestroyed(this.destroyRef), filter$1(event => this.isDragItemDgColumn(event.item)))
11361
11928
  .subscribe(event => this.updateColumnOrder(event.previousIndex, event.currentIndex));
11362
11929
  // do not allow reordering columns when detail view is open (only one column is shown anyways)
11363
11930
  this.datagrid.detailService.stateChange
@@ -11402,10 +11969,10 @@ class DatagridColumnReorderDirective {
11402
11969
  isDragItemDgColumn(item) {
11403
11970
  return item.element.nativeElement.tagName === 'CLR-DG-COLUMN';
11404
11971
  }
11405
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DatagridColumnReorderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11406
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: DatagridColumnReorderDirective, isStandalone: false, selector: "[clrDatagridColumnReorder]", inputs: { columnDefinitions: ["clrDatagridColumnReorder", "columnDefinitions"] }, outputs: { columnOrderChanged: "clrDatagridColumnOrderChanged" }, host: { properties: { "class.datagrid-column-reorder": "true" } }, queries: [{ propertyName: "clrColumns", predicate: ClrDatagridColumn }], ngImport: i0 }); }
11972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DatagridColumnReorderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11973
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: DatagridColumnReorderDirective, isStandalone: false, selector: "[clrDatagridColumnReorder]", inputs: { columnDefinitions: ["clrDatagridColumnReorder", "columnDefinitions"] }, outputs: { columnOrderChanged: "clrDatagridColumnOrderChanged" }, host: { properties: { "class.datagrid-column-reorder": "true" } }, queries: [{ propertyName: "clrColumns", predicate: ClrDatagridColumn }], ngImport: i0 }); }
11407
11974
  }
11408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DatagridColumnReorderDirective, decorators: [{
11975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DatagridColumnReorderDirective, decorators: [{
11409
11976
  type: Directive,
11410
11977
  args: [{
11411
11978
  selector: '[clrDatagridColumnReorder]',
@@ -11431,8 +11998,8 @@ class DynamicCellContentComponent {
11431
11998
  this.item = input();
11432
11999
  this.defaultDisplayValue = input('');
11433
12000
  }
11434
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DynamicCellContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11435
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DynamicCellContentComponent, isStandalone: false, selector: "clr-dg-dynamic-cell-content", inputs: { col: { classPropertyName: "col", publicName: "col", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, defaultDisplayValue: { classPropertyName: "defaultDisplayValue", publicName: "defaultDisplayValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
12001
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicCellContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12002
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: DynamicCellContentComponent, isStandalone: false, selector: "clr-dg-dynamic-cell-content", inputs: { col: { classPropertyName: "col", publicName: "col", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, defaultDisplayValue: { classPropertyName: "defaultDisplayValue", publicName: "defaultDisplayValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11436
12003
  @if (col().component) {
11437
12004
  <ng-container *ngComponentOutlet="col().component; inputs: { item: item() }" />
11438
12005
  } @else if (col().template) {
@@ -11446,7 +12013,7 @@ class DynamicCellContentComponent {
11446
12013
  }
11447
12014
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11448
12015
  }
11449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DynamicCellContentComponent, decorators: [{
12016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicCellContentComponent, decorators: [{
11450
12017
  type: Component,
11451
12018
  args: [{
11452
12019
  selector: 'clr-dg-dynamic-cell-content',
@@ -11469,11 +12036,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
11469
12036
  }] });
11470
12037
 
11471
12038
  class ClrDatagridColumnReorderModule {
11472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridColumnReorderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11473
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridColumnReorderModule, declarations: [DatagridColumnReorderDirective, DynamicCellContentComponent], imports: [NgComponentOutlet, NgTemplateOutlet], exports: [DatagridColumnReorderDirective, DynamicCellContentComponent] }); }
11474
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridColumnReorderModule }); }
12039
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridColumnReorderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12040
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridColumnReorderModule, declarations: [DatagridColumnReorderDirective, DynamicCellContentComponent], imports: [NgComponentOutlet, NgTemplateOutlet], exports: [DatagridColumnReorderDirective, DynamicCellContentComponent] }); }
12041
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridColumnReorderModule }); }
11475
12042
  }
11476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridColumnReorderModule, decorators: [{
12043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridColumnReorderModule, decorators: [{
11477
12044
  type: NgModule,
11478
12045
  args: [{
11479
12046
  declarations: [DatagridColumnReorderDirective, DynamicCellContentComponent],
@@ -11616,7 +12183,7 @@ class StatePersistenceKeyDirective {
11616
12183
  this.reorderDirective.columnOrderChanged
11617
12184
  .pipe(takeUntil(this.destroy$),
11618
12185
  // we skip the first value (init), because it's already coming from the local storage, so no need to save it again
11619
- filter$2(({ trigger }) => trigger !== 'init'))
12186
+ filter$1(({ trigger }) => trigger !== 'init'))
11620
12187
  .subscribe(({ columns }) => this.persistColumnOrder(state, columns));
11621
12188
  }
11622
12189
  initColumnOrder(savedState) {
@@ -11778,10 +12345,10 @@ class StatePersistenceKeyDirective {
11778
12345
  this.destroy$.next();
11779
12346
  this.destroy$.complete();
11780
12347
  }
11781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StatePersistenceKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11782
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: StatePersistenceKeyDirective, isStandalone: false, selector: "[clrStatePersistenceKey]", inputs: { options: ["clrStatePersistenceKey", "options"], useLocalStoreOnly: ["clrUseLocalStoreOnly", "useLocalStoreOnly"], paginationDescription: ["clrPaginationDescription", "paginationDescription"] }, host: { listeners: { "window:beforeunload": "persistColumnWidths()" } }, queries: [{ propertyName: "pagination", first: true, predicate: ClrDatagridPagination, descendants: true }, { propertyName: "paginationElem", first: true, predicate: ClrDatagridPagination, descendants: true, read: ElementRef }, { propertyName: "customFilters", predicate: ClrDatagridFilter, descendants: true }, { propertyName: "gridColumnRefs", predicate: ClrDatagridColumn, read: ElementRef }, { propertyName: "gridColumns", predicate: ClrDatagridColumn }], ngImport: i0 }); }
12348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: StatePersistenceKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12349
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: StatePersistenceKeyDirective, isStandalone: false, selector: "[clrStatePersistenceKey]", inputs: { options: ["clrStatePersistenceKey", "options"], useLocalStoreOnly: ["clrUseLocalStoreOnly", "useLocalStoreOnly"], paginationDescription: ["clrPaginationDescription", "paginationDescription"] }, host: { listeners: { "window:beforeunload": "persistColumnWidths()" } }, queries: [{ propertyName: "pagination", first: true, predicate: ClrDatagridPagination, descendants: true }, { propertyName: "paginationElem", first: true, predicate: ClrDatagridPagination, descendants: true, read: ElementRef }, { propertyName: "customFilters", predicate: ClrDatagridFilter, descendants: true }, { propertyName: "gridColumnRefs", predicate: ClrDatagridColumn, read: ElementRef }, { propertyName: "gridColumns", predicate: ClrDatagridColumn }], ngImport: i0 }); }
11783
12350
  }
11784
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
12351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
11785
12352
  type: Directive,
11786
12353
  args: [{
11787
12354
  selector: '[clrStatePersistenceKey]',
@@ -11872,10 +12439,10 @@ class ColumnHiddenStatePersistenceDirective {
11872
12439
  this.destroy$.next();
11873
12440
  this.destroy$.complete();
11874
12441
  }
11875
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, deps: [{ token: DatagridFieldDirective, optional: true }, { token: StatePersistenceKeyDirective, optional: true }, { token: i2.ClrDatagrid }, { token: i2.ClrDatagridHideableColumn }], target: i0.ɵɵFactoryTarget.Directive }); }
11876
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ColumnHiddenStatePersistenceDirective, isStandalone: false, selector: "[clrDgHideableColumn]", ngImport: i0 }); }
12442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, deps: [{ token: DatagridFieldDirective, optional: true }, { token: StatePersistenceKeyDirective, optional: true }, { token: i2.ClrDatagrid }, { token: i2.ClrDatagridHideableColumn }], target: i0.ɵɵFactoryTarget.Directive }); }
12443
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ColumnHiddenStatePersistenceDirective, isStandalone: false, selector: "[clrDgHideableColumn]", ngImport: i0 }); }
11877
12444
  }
11878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, decorators: [{
12445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, decorators: [{
11879
12446
  type: Directive,
11880
12447
  args: [{
11881
12448
  selector: '[clrDgHideableColumn]',
@@ -11888,11 +12455,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
11888
12455
  }] }, { type: i2.ClrDatagrid }, { type: i2.ClrDatagridHideableColumn }] });
11889
12456
 
11890
12457
  class ClrDatagridStatePersistenceModule {
11891
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridStatePersistenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11892
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridStatePersistenceModule, declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective], exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective] }); }
11893
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridStatePersistenceModule }); }
12458
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridStatePersistenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12459
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridStatePersistenceModule, declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective], exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective] }); }
12460
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridStatePersistenceModule }); }
11894
12461
  }
11895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatagridStatePersistenceModule, decorators: [{
12462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatagridStatePersistenceModule, decorators: [{
11896
12463
  type: NgModule,
11897
12464
  args: [{
11898
12465
  declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],
@@ -11915,6 +12482,9 @@ class ClrEnumFilterComponent {
11915
12482
  set value(values) {
11916
12483
  this.setFilteredValues(values);
11917
12484
  }
12485
+ reset() {
12486
+ this.clearFilters();
12487
+ }
11918
12488
  setFilteredValues(values) {
11919
12489
  const mappedValues = this.mapValues(values);
11920
12490
  if (this.possibleValues?.length) {
@@ -12016,10 +12586,10 @@ class ClrEnumFilterComponent {
12016
12586
  }
12017
12587
  return value ? { value: value, displayValue: value } : { value: '', displayValue: this.emptyValue };
12018
12588
  }
12019
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterComponent, deps: [{ token: i2.ClrDatagridFilter }, { token: i2.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Component }); }
12020
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrEnumFilterComponent, isStandalone: false, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], setEmptyValuesTranslation: ["clrEmptyValuesTranslation", "setEmptyValuesTranslation"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:.5rem}.btn-trash{position:absolute;top:10px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i2.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { kind: "component", type: i2.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
12589
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterComponent, deps: [{ token: i2.ClrDatagridFilter }, { token: i2.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Component }); }
12590
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrEnumFilterComponent, isStandalone: false, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], setEmptyValuesTranslation: ["clrEmptyValuesTranslation", "setEmptyValuesTranslation"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:.5rem}.btn-trash{position:absolute;top:10px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i2.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { kind: "component", type: i2.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
12021
12591
  }
12022
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
12592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
12023
12593
  type: Component,
12024
12594
  args: [{ selector: 'clr-enum-filter', standalone: false, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:.5rem}.btn-trash{position:absolute;top:10px;right:40px;padding:0}\n"] }]
12025
12595
  }], ctorParameters: () => [{ type: i2.ClrDatagridFilter }, { type: i2.ClrDatagrid }], propDecorators: { property: [{
@@ -12038,11 +12608,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
12038
12608
  }] } });
12039
12609
 
12040
12610
  class ClrEnumFilterModule {
12041
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12042
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterModule, declarations: [ClrEnumFilterComponent], imports: [ClarityModule, CommonModule, FormsModule], exports: [ClrEnumFilterComponent] }); }
12043
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterModule, imports: [ClarityModule, CommonModule, FormsModule] }); }
12611
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12612
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterModule, declarations: [ClrEnumFilterComponent], imports: [ClarityModule, CommonModule, FormsModule], exports: [ClrEnumFilterComponent] }); }
12613
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterModule, imports: [ClarityModule, CommonModule, FormsModule] }); }
12044
12614
  }
12045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrEnumFilterModule, decorators: [{
12615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrEnumFilterModule, decorators: [{
12046
12616
  type: NgModule,
12047
12617
  args: [{
12048
12618
  imports: [ClarityModule, CommonModule, FormsModule],
@@ -12264,10 +12834,10 @@ class ClrDateFilterComponent {
12264
12834
  this.valError = this._from > this._to;
12265
12835
  }
12266
12836
  }
12267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterComponent, deps: [{ token: i2.ClrCommonStringsService }, { token: i2.ClrPopoverEventsService }, { token: i2.ClrDatagridFilter }], target: i0.ɵɵFactoryTarget.Component }); }
12268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrDateFilterComponent, isStandalone: false, selector: "clr-date-filter", inputs: { timeActive: "timeActive", dateValidationError: "dateValidationError", property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<ng-container *ngIf=\"!timeActive\">\n <clr-date-container class=\"filter-selection\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <clr-date-container class=\"filter-selection\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n<ng-container *ngIf=\"timeActive\">\n <clr-date-time-container class=\"filter-selection\">\n <clr-date-container class=\"time-filter-active\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"fromTime\" />\n </clr-date-time-container>\n <clr-date-time-container>\n <clr-date-container class=\"time-filter-active\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"toTime\" />\n </clr-date-time-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n", styles: [".btn-trash{position:absolute;top:10px;right:40px;padding:0}.time-filter-active{width:12rem;margin-top:.5rem}.time-filter-active-input,.time-filter-input{width:4.5rem!important}.filter-selection{margin-top:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrControlError, selector: "clr-control-error" }, { kind: "component", type: i2.ClrDateContainer, selector: "clr-date-container, clr-date-range-container", inputs: ["showActionButtons", "clrPosition", "rangeOptions", "min", "max"] }, { kind: "directive", type: i2.ClrDateInput, selector: "[clrDate]", inputs: ["clrDate", "min", "max"], outputs: ["clrDateChange"] }, { kind: "directive", type: i2.ClrDateInputValidator, selector: "[clrDate], [clrStartDate], [clrEndDate]" }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrDateTimeContainer, selector: "clr-date-time-container" }, { kind: "directive", type: ClrTimeInput, selector: "[clrTime]" }] }); }
12837
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterComponent, deps: [{ token: i2.ClrCommonStringsService }, { token: i2.ClrPopoverEventsService }, { token: i2.ClrDatagridFilter }], target: i0.ɵɵFactoryTarget.Component }); }
12838
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrDateFilterComponent, isStandalone: false, selector: "clr-date-filter", inputs: { timeActive: "timeActive", dateValidationError: "dateValidationError", property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<ng-container *ngIf=\"!timeActive\">\n <clr-date-container class=\"filter-selection\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <clr-date-container class=\"filter-selection\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n<ng-container *ngIf=\"timeActive\">\n <clr-date-time-container class=\"filter-selection\">\n <clr-date-container class=\"time-filter-active\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"fromTime\" />\n </clr-date-time-container>\n <clr-date-time-container>\n <clr-date-container class=\"time-filter-active\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"toTime\" />\n </clr-date-time-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n", styles: [".btn-trash{position:absolute;top:10px;right:40px;padding:0}.time-filter-active{width:12rem;margin-top:.5rem}.time-filter-active-input,.time-filter-input{width:4.5rem!important}.filter-selection{margin-top:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrControlError, selector: "clr-control-error" }, { kind: "component", type: i2.ClrDateContainer, selector: "clr-date-container, clr-date-range-container", inputs: ["showActionButtons", "clrPosition", "rangeOptions", "min", "max"] }, { kind: "directive", type: i2.ClrDateInput, selector: "[clrDate]", inputs: ["clrDate", "min", "max"], outputs: ["clrDateChange"] }, { kind: "directive", type: i2.ClrDateInputValidator, selector: "[clrDate], [clrStartDate], [clrEndDate]" }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrDateTimeContainer, selector: "clr-date-time-container" }, { kind: "directive", type: ClrTimeInput, selector: "[clrTime]" }] }); }
12269
12839
  }
12270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterComponent, decorators: [{
12840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterComponent, decorators: [{
12271
12841
  type: Component,
12272
12842
  args: [{ selector: 'clr-date-filter', standalone: false, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<ng-container *ngIf=\"!timeActive\">\n <clr-date-container class=\"filter-selection\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <clr-date-container class=\"filter-selection\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n<ng-container *ngIf=\"timeActive\">\n <clr-date-time-container class=\"filter-selection\">\n <clr-date-container class=\"time-filter-active\">\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"fromTime\" />\n </clr-date-time-container>\n <clr-date-time-container>\n <clr-date-container class=\"time-filter-active\">\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input time-filter-active-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n </clr-date-container>\n <input clrTime type=\"time\" class=\"time-filter-input\" step=\"60\" [(ngModel)]=\"toTime\" />\n </clr-date-time-container>\n <clr-control-error *ngIf=\"valError\"\n >{{ dateValidationError || 'Date \"from\" must be before date \"to\"!' }}\n </clr-control-error>\n</ng-container>\n", styles: [".btn-trash{position:absolute;top:10px;right:40px;padding:0}.time-filter-active{width:12rem;margin-top:.5rem}.time-filter-active-input,.time-filter-input{width:4.5rem!important}.filter-selection{margin-top:.5rem}\n"] }]
12273
12843
  }], ctorParameters: () => [{ type: i2.ClrCommonStringsService }, { type: i2.ClrPopoverEventsService }, { type: i2.ClrDatagridFilter }], propDecorators: { timeActive: [{
@@ -12292,11 +12862,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
12292
12862
  }] } });
12293
12863
 
12294
12864
  class ClrDateFilterModule {
12295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12296
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterModule, declarations: [ClrDateFilterComponent], imports: [ClarityModule, CommonModule, FormsModule, ClrDateTimeModule, ClrFormModule], exports: [ClrDateFilterComponent] }); }
12297
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterModule, imports: [ClarityModule, CommonModule, FormsModule, ClrDateTimeModule, ClrFormModule] }); }
12865
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12866
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterModule, declarations: [ClrDateFilterComponent], imports: [ClarityModule, CommonModule, FormsModule, ClrDateTimeModule, ClrFormModule], exports: [ClrDateFilterComponent] }); }
12867
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterModule, imports: [ClarityModule, CommonModule, FormsModule, ClrDateTimeModule, ClrFormModule] }); }
12298
12868
  }
12299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDateFilterModule, decorators: [{
12869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDateFilterModule, decorators: [{
12300
12870
  type: NgModule,
12301
12871
  args: [{
12302
12872
  imports: [ClarityModule, CommonModule, FormsModule, ClrDateTimeModule, ClrFormModule],
@@ -12457,10 +13027,10 @@ class OpenedDatepickersTrackerService {
12457
13027
  this.openedDatepickersCount = Math.max(0, this.openedDatepickersCount);
12458
13028
  this.valueChange.emit(this.openedDatepickersCount !== 0);
12459
13029
  }
12460
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: OpenedDatepickersTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12461
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: OpenedDatepickersTrackerService, providedIn: 'root' }); }
13030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: OpenedDatepickersTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13031
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: OpenedDatepickersTrackerService, providedIn: 'root' }); }
12462
13032
  }
12463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: OpenedDatepickersTrackerService, decorators: [{
13033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: OpenedDatepickersTrackerService, decorators: [{
12464
13034
  type: Injectable,
12465
13035
  args: [{ providedIn: 'root' }]
12466
13036
  }] });
@@ -12532,10 +13102,10 @@ class ClrDatepickerComponent {
12532
13102
  focus() {
12533
13103
  this.inputElm.nativeElement.focus();
12534
13104
  }
12535
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatepickerComponent, deps: [{ token: OpenedDatepickersTrackerService }], target: i0.ɵɵFactoryTarget.Component }); }
12536
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrDatepickerComponent, isStandalone: false, selector: "clr-datepicker", inputs: { value: "value", label: "label", minDate: "minDate", maxDate: "maxDate", timeSelection: "timeSelection" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "inputElm", first: true, predicate: ["inputElm"], descendants: true }, { propertyName: "clrDateContainer", first: true, predicate: ClrDateContainer, descendants: true }], ngImport: i0, template: "<clr-date-container>\n <label>{{ this.label }}</label>\n <input #inputElm clrDate [(clrDate)]=\"this.date\" [min]=\"this.minDateAttr\" [max]=\"this.maxDateAttr\" />\n</clr-date-container>\n", dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrDateContainer, selector: "clr-date-container, clr-date-range-container", inputs: ["showActionButtons", "clrPosition", "rangeOptions", "min", "max"] }, { kind: "directive", type: i2.ClrDateInput, selector: "[clrDate]", inputs: ["clrDate", "min", "max"], outputs: ["clrDateChange"] }, { kind: "directive", type: i2.ClrDateInputValidator, selector: "[clrDate], [clrStartDate], [clrEndDate]" }] }); }
13105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatepickerComponent, deps: [{ token: OpenedDatepickersTrackerService }], target: i0.ɵɵFactoryTarget.Component }); }
13106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrDatepickerComponent, isStandalone: false, selector: "clr-datepicker", inputs: { value: "value", label: "label", minDate: "minDate", maxDate: "maxDate", timeSelection: "timeSelection" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "inputElm", first: true, predicate: ["inputElm"], descendants: true }, { propertyName: "clrDateContainer", first: true, predicate: ClrDateContainer, descendants: true }], ngImport: i0, template: "<clr-date-container>\n <label>{{ this.label }}</label>\n <input #inputElm clrDate [(clrDate)]=\"this.date\" [min]=\"this.minDateAttr\" [max]=\"this.maxDateAttr\" />\n</clr-date-container>\n", dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "component", type: i2.ClrDateContainer, selector: "clr-date-container, clr-date-range-container", inputs: ["showActionButtons", "clrPosition", "rangeOptions", "min", "max"] }, { kind: "directive", type: i2.ClrDateInput, selector: "[clrDate]", inputs: ["clrDate", "min", "max"], outputs: ["clrDateChange"] }, { kind: "directive", type: i2.ClrDateInputValidator, selector: "[clrDate], [clrStartDate], [clrEndDate]" }] }); }
12537
13107
  }
12538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDatepickerComponent, decorators: [{
13108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDatepickerComponent, decorators: [{
12539
13109
  type: Component,
12540
13110
  args: [{ selector: 'clr-datepicker', standalone: false, template: "<clr-date-container>\n <label>{{ this.label }}</label>\n <input #inputElm clrDate [(clrDate)]=\"this.date\" [min]=\"this.minDateAttr\" [max]=\"this.maxDateAttr\" />\n</clr-date-container>\n" }]
12541
13111
  }], ctorParameters: () => [{ type: OpenedDatepickersTrackerService }], propDecorators: { value: [{
@@ -12676,10 +13246,10 @@ class DaterangeControlStateService {
12676
13246
  this.statusChange.emit(this._invalid);
12677
13247
  }
12678
13248
  }
12679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeControlStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12680
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeControlStateService }); }
13249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeControlStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13250
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeControlStateService }); }
12681
13251
  }
12682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeControlStateService, decorators: [{
13252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeControlStateService, decorators: [{
12683
13253
  type: Injectable
12684
13254
  }] });
12685
13255
 
@@ -12894,10 +13464,10 @@ class DaterangeParsingService {
12894
13464
  }
12895
13465
  return result;
12896
13466
  }
12897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeParsingService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
12898
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeParsingService, providedIn: 'root' }); }
13467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeParsingService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
13468
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeParsingService, providedIn: 'root' }); }
12899
13469
  }
12900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeParsingService, decorators: [{
13470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeParsingService, decorators: [{
12901
13471
  type: Injectable,
12902
13472
  args: [{
12903
13473
  providedIn: 'root',
@@ -12964,10 +13534,10 @@ class DaterangeService {
12964
13534
  this._selectedDaterange.from == null ||
12965
13535
  this._selectedDaterange.to == null);
12966
13536
  }
12967
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12968
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeService }); }
13537
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13538
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeService }); }
12969
13539
  }
12970
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DaterangeService, decorators: [{
13540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DaterangeService, decorators: [{
12971
13541
  type: Injectable
12972
13542
  }] });
12973
13543
 
@@ -13042,10 +13612,10 @@ class ClrAbstractContainer {
13042
13612
  this.daterangeControlStateService = daterangeControlStateService;
13043
13613
  this.isFormControl = true;
13044
13614
  }
13045
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAbstractContainer, deps: [{ token: i2.ClrLayout, optional: true }, { token: DaterangeControlStateService }], target: i0.ɵɵFactoryTarget.Directive }); }
13046
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrAbstractContainer, isStandalone: true, host: { properties: { "class.clr-form-control": "this.isFormControl", "class.clr-row": "this.addLayoutGrid" } }, queries: [{ propertyName: "labelComponent", first: true, predicate: ClrLabel, descendants: true }, { propertyName: "controlHelperComponent", first: true, predicate: ClrControlHelper, descendants: true }, { propertyName: "controlErrorComponent", first: true, predicate: ClrControlError, descendants: true }, { propertyName: "controlSuccessComponent", first: true, predicate: ClrControlSuccess, descendants: true }], ngImport: i0 }); }
13615
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAbstractContainer, deps: [{ token: i2.ClrLayout, optional: true }, { token: DaterangeControlStateService }], target: i0.ɵɵFactoryTarget.Directive }); }
13616
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrAbstractContainer, isStandalone: true, host: { properties: { "class.clr-form-control": "this.isFormControl", "class.clr-row": "this.addLayoutGrid" } }, queries: [{ propertyName: "labelComponent", first: true, predicate: ClrLabel, descendants: true }, { propertyName: "controlHelperComponent", first: true, predicate: ClrControlHelper, descendants: true }, { propertyName: "controlErrorComponent", first: true, predicate: ClrControlError, descendants: true }, { propertyName: "controlSuccessComponent", first: true, predicate: ClrControlSuccess, descendants: true }], ngImport: i0 }); }
13047
13617
  }
13048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAbstractContainer, decorators: [{
13618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAbstractContainer, decorators: [{
13049
13619
  type: Directive
13050
13620
  }], ctorParameters: () => [{ type: i2.ClrLayout, decorators: [{
13051
13621
  type: Optional
@@ -13416,10 +13986,10 @@ class ClrDaterangepickerDirective {
13416
13986
  }, true);
13417
13987
  }
13418
13988
  }
13419
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerDirective, deps: [{ token: i3$1.NgControl, self: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DaterangeControlStateService }, { token: ControlIdService }, { token: DaterangeService }, { token: DaterangeParsingService }], target: i0.ɵɵFactoryTarget.Directive }); }
13420
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangepickerDirective, isStandalone: false, selector: "[clrDaterangepicker]", inputs: { min: "min", max: "max", separatorText: "separatorText", placeholder: "placeholder", id: "id", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "change": "onChangeEvent($event.target)", "focus": "focusEvent()", "blur": "blurEvent()" }, properties: { "attr.placeholder": "this.placeholderText", "id": "this.id", "disabled": "this.disabled", "attr.type": "this.inputType", "class.clr-input": "this.inputClass" } }, ngImport: i0 }); }
13989
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerDirective, deps: [{ token: i3$1.NgControl, self: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DaterangeControlStateService }, { token: ControlIdService }, { token: DaterangeService }, { token: DaterangeParsingService }], target: i0.ɵɵFactoryTarget.Directive }); }
13990
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangepickerDirective, isStandalone: false, selector: "[clrDaterangepicker]", inputs: { min: "min", max: "max", separatorText: "separatorText", placeholder: "placeholder", id: "id", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "change": "onChangeEvent($event.target)", "focus": "focusEvent()", "blur": "blurEvent()" }, properties: { "attr.placeholder": "this.placeholderText", "id": "this.id", "disabled": "this.disabled", "attr.type": "this.inputType", "class.clr-input": "this.inputClass" } }, ngImport: i0 }); }
13421
13991
  }
13422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerDirective, decorators: [{
13992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerDirective, decorators: [{
13423
13993
  type: Directive,
13424
13994
  args: [{
13425
13995
  selector: '[clrDaterangepicker]',
@@ -13498,10 +14068,10 @@ class ClrTimepickerComponent {
13498
14068
  focus() {
13499
14069
  this.inputElm.nativeElement.focus();
13500
14070
  }
13501
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13502
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTimepickerComponent, isStandalone: false, selector: "clr-timepicker", inputs: { value: "value", activateSeconds: "activateSeconds" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "inputElm", first: true, predicate: ["inputElm"], descendants: true }], ngImport: i0, template: "<clr-input-container class=\"clr-input-time\">\n <label class=\"clr-control-label\">&nbsp;</label>\n <input clrInput #inputElm [(ngModel)]=\"this.time\" type=\"time\" step=\"{{ activateSeconds ? 1 : 60 }}\" />\n</clr-input-container>\n", styles: [".clr-input-time{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }] }); }
14071
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14072
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrTimepickerComponent, isStandalone: false, selector: "clr-timepicker", inputs: { value: "value", activateSeconds: "activateSeconds" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "inputElm", first: true, predicate: ["inputElm"], descendants: true }], ngImport: i0, template: "<clr-input-container class=\"clr-input-time\">\n <label class=\"clr-control-label\">&nbsp;</label>\n <input clrInput #inputElm [(ngModel)]=\"this.time\" type=\"time\" step=\"{{ activateSeconds ? 1 : 60 }}\" />\n</clr-input-container>\n", styles: [".clr-input-time{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i2.ClrInputContainer, selector: "clr-input-container" }] }); }
13503
14073
  }
13504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTimepickerComponent, decorators: [{
14074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrTimepickerComponent, decorators: [{
13505
14075
  type: Component,
13506
14076
  args: [{ selector: 'clr-timepicker', standalone: false, template: "<clr-input-container class=\"clr-input-time\">\n <label class=\"clr-control-label\">&nbsp;</label>\n <input clrInput #inputElm [(ngModel)]=\"this.time\" type=\"time\" step=\"{{ activateSeconds ? 1 : 60 }}\" />\n</clr-input-container>\n", styles: [".clr-input-time{margin-top:0}\n"] }]
13507
14077
  }], ctorParameters: () => [], propDecorators: { value: [{
@@ -13769,8 +14339,8 @@ class ClrDaterangepickerContainerComponent extends ClrAbstractContainer {
13769
14339
  toTime: value,
13770
14340
  });
13771
14341
  }
13772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerContainerComponent, deps: [{ token: i2.ClrPopoverEventsService }, { token: i2.ClrPopoverToggleService }, { token: i2.ClrCommonStringsService }, { token: i2.ClrLayout, optional: true }, { token: DaterangeControlStateService }, { token: OpenedDatepickersTrackerService }, { token: DaterangeService }, { token: DaterangeParsingService }], target: i0.ɵɵFactoryTarget.Component }); }
13773
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangepickerContainerComponent, isStandalone: false, selector: "clr-daterangepicker-container", inputs: { presets: "presets", presetsDateTime: "presetsDateTime", timeSelection: "timeSelection", activateSeconds: "activateSeconds", clrPosition: "clrPosition", labelFrom: "labelFrom", labelTo: "labelTo" }, host: { properties: { "class": "this.classes" } }, providers: [
14342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerContainerComponent, deps: [{ token: i2.ClrPopoverEventsService }, { token: i2.ClrPopoverToggleService }, { token: i2.ClrCommonStringsService }, { token: i2.ClrLayout, optional: true }, { token: DaterangeControlStateService }, { token: OpenedDatepickersTrackerService }, { token: DaterangeService }, { token: DaterangeParsingService }], target: i0.ɵɵFactoryTarget.Component }); }
14343
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangepickerContainerComponent, isStandalone: false, selector: "clr-daterangepicker-container", inputs: { presets: "presets", presetsDateTime: "presetsDateTime", timeSelection: "timeSelection", activateSeconds: "activateSeconds", clrPosition: "clrPosition", labelFrom: "labelFrom", labelTo: "labelTo" }, host: { properties: { "class": "this.classes" } }, providers: [
13774
14344
  ClrPopoverToggleService,
13775
14345
  ClrPopoverEventsService,
13776
14346
  ClrPopoverPositionService,
@@ -13780,7 +14350,7 @@ class ClrDaterangepickerContainerComponent extends ClrAbstractContainer {
13780
14350
  ControlIdService,
13781
14351
  ], queries: [{ propertyName: "daterangepickerDirective", first: true, predicate: ClrDaterangepickerDirective, descendants: true }], viewQueries: [{ propertyName: "datepickerComponents", predicate: ClrDatepickerComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<label *ngIf=\"!this.labelComponent && this.addLayoutGrid\"></label>\n<div\n [class.clr-col-12]=\"this.addLayoutGrid\"\n [class.clr-col-md-10]=\"this.addLayoutGrid\"\n [class.clr-error]=\"this.isInvalid\"\n class=\"clr-control-container\"\n>\n <div class=\"clr-input-wrapper\" clrPopoverAnchor>\n <div\n [class.clr-focus]=\"this.focus\"\n class=\"custom-input-group clr-input-group\"\n [ngClass]=\"_timeSelection ? 'custom-input-group-time' : 'custom-input-group-date'\"\n >\n <ng-content select=\"[clrDaterangepicker]\"></ng-content>\n <button\n [attr.aria-label]=\"this.friendlyDaterange\"\n [disabled]=\"this.disabled\"\n [title]=\"this.friendlyDaterange\"\n class=\"clr-input-group-icon-action\"\n clrPopoverOpenCloseButton\n type=\"button\"\n >\n <cds-icon shape=\"calendar\" status=\"info\"></cds-icon>\n </button>\n </div>\n <cds-icon\n *ngIf=\"this.isInvalid\"\n aria-hidden=\"true\"\n class=\"clr-validate-icon\"\n shape=\"exclamation-circle\"\n status=\"danger\"\n ></cds-icon>\n <cds-icon\n *ngIf=\"!this.isInvalid\"\n aria-hidden=\"true\"\n class=\"clr-validate-icon\"\n shape=\"check-circle\"\n status=\"success\"\n ></cds-icon>\n </div>\n <ng-content *ngIf=\"this.showHelper\" select=\"clr-control-helper\"></ng-content>\n <ng-content *ngIf=\"this.showInvalid\" select=\"clr-control-error\"></ng-content>\n <ng-content *ngIf=\"this.showValid\" select=\"clr-control-success\"></ng-content>\n\n <div\n *clrPopoverContent=\"this.open; at: this.popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n class=\"clr-daterangepicker-container-popup datepicker\"\n >\n <button\n class=\"btn btn-sm btn-link close clr-smart-close-button btn-trash\"\n type=\"button\"\n (click)=\"daterangeService.updateSelectedDaterange(null)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n [attr.aria-label]=\"this.commonStrings.close\"\n class=\"btn btn-sm btn-link close\"\n clrPopoverCloseButton\n type=\"button\"\n >\n <cds-icon [attr.title]=\"this.commonStrings.close\" aria-hidden=\"true\" shape=\"window-close\"></cds-icon>\n <span class=\"clr-sr-only\">{{ this.commonStrings.close }}</span>\n </button>\n <div class=\"clr-daterangepicker-container-popup-content\">\n <form [clrLayout]=\"'vertical'\" clrForm>\n <div class=\"datetime-container\">\n <clr-datepicker\n (valueChange)=\"this.onDateFromChange($event)\"\n [label]=\"this.labelFrom\"\n [maxDate]=\"this.maxDate\"\n [minDate]=\"this.minDate\"\n [value]=\"this.dateFrom\"\n class=\"clr-datepicker\"\n >\n </clr-datepicker>\n <clr-timepicker\n *ngIf=\"_timeSelection\"\n class=\"timepicker\"\n (valueChange)=\"this.onTimeFromChange($event)\"\n [value]=\"this.timeFrom\"\n [activateSeconds]=\"_activateSeconds\"\n >\n </clr-timepicker>\n </div>\n <div class=\"datetime-container datetime-container-to\">\n <clr-datepicker\n (valueChange)=\"this.onDateToChange($event)\"\n [label]=\"this.labelTo\"\n [maxDate]=\"this.maxDate\"\n [minDate]=\"this.minDate\"\n [value]=\"this.dateTo\"\n class=\"clr-datepicker\"\n >\n </clr-datepicker>\n <clr-timepicker\n *ngIf=\"_timeSelection\"\n class=\"timepicker\"\n (valueChange)=\"this.onTimeToChange($event)\"\n [value]=\"this.timeTo\"\n [activateSeconds]=\"_activateSeconds\"\n >\n </clr-timepicker>\n </div>\n </form>\n <div *ngIf=\"this.presets?.length > 0\" class=\"clr-daterangepicker-container-popup-content-presets\">\n <ng-container *ngFor=\"let preset of this.presets\">\n <button (click)=\"this.applyPreset(preset)\" class=\"btn btn-outline btn-sm btn-block\" type=\"button\">\n {{ preset.text }}\n </button>\n </ng-container>\n </div>\n <div *ngIf=\"this.presetsDateTime?.length > 0\" class=\"clr-daterangepicker-container-popup-content-presets\">\n <ng-container *ngFor=\"let preset of this.presetsDateTime\">\n <button (click)=\"this.applyPresetTime(preset)\" class=\"btn btn-outline btn-sm btn-block\" type=\"button\">\n {{ preset.text }}\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".clr-input-wrapper>.clr-input-group{max-width:fit-content;padding-right:1.5rem}.clr-input-wrapper>.clr-input-group ::ng-deep>.clr-input{width:100%;padding:0 .3rem}.clr-daterangepicker-container-popup.datepicker{padding:0;width:auto;height:auto;display:block}.clr-daterangepicker-container-popup.datepicker .clr-smart-close-button{min-width:1.2rem;padding:0;position:absolute;right:0;margin:5px}.clr-daterangepicker-container-popup.datepicker .btn-trash{padding-right:25px;margin:5px}.clr-daterangepicker-container-popup.datepicker .clr-daterangepicker-container-popup-content{padding:1rem;display:flex;flex-direction:row}.clr-daterangepicker-container-popup.datepicker .clr-daterangepicker-container-popup-content .clr-form ::ng-deep clr-datepicker:first-of-type ::ng-deep clr-date-container{margin-top:0}.clr-daterangepicker-container-popup.datepicker .clr-daterangepicker-container-popup-content .clr-daterangepicker-container-popup-content-presets{margin-left:.6rem;padding:.3rem}.clr-daterangepicker-container-popup.datepicker .clr-daterangepicker-container-popup-content .clr-daterangepicker-container-popup-content-presets .btn{margin-right:0}.datetime-container{display:flex;flex-direction:row;align-items:flex-start}.datetime-container-to{padding-top:1rem}.timepicker{padding-left:1rem}.timepicker clr-input-container{margin-top:.8rem}.custom-input-group{padding-right:0!important}.custom-input-group .clr-input-group-icon-action{margin-left:.5rem}.custom-input-group input{min-width:10rem!important;width:10rem!important}.custom-input-group-time{min-width:17rem!important}.custom-input-group-date{min-width:12rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i2.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { kind: "directive", type: i2.ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { kind: "directive", type: i2.ÇlrClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i2.ÇlrClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }, { kind: "component", type: ClrDatepickerComponent, selector: "clr-datepicker", inputs: ["value", "label", "minDate", "maxDate", "timeSelection"], outputs: ["valueChange"] }, { kind: "component", type: ClrTimepickerComponent, selector: "clr-timepicker", inputs: ["value", "activateSeconds"], outputs: ["valueChange"] }] }); }
13782
14352
  }
13783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerContainerComponent, decorators: [{
14353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerContainerComponent, decorators: [{
13784
14354
  type: Component,
13785
14355
  args: [{ selector: 'clr-daterangepicker-container', providers: [
13786
14356
  ClrPopoverToggleService,
@@ -13890,10 +14460,10 @@ class ClrIfDaterangeErrorDirective {
13890
14460
  this.displayedContent = false;
13891
14461
  }
13892
14462
  }
13893
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfDaterangeErrorDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: DaterangeControlStateService, optional: true }, { token: ClrDaterangepickerContainerComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
13894
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrIfDaterangeErrorDirective, isStandalone: false, selector: "[clrIfDaterangeError]", inputs: { clrIfDaterangeError: "clrIfDaterangeError" }, ngImport: i0 }); }
14463
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfDaterangeErrorDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: DaterangeControlStateService, optional: true }, { token: ClrDaterangepickerContainerComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14464
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrIfDaterangeErrorDirective, isStandalone: false, selector: "[clrIfDaterangeError]", inputs: { clrIfDaterangeError: "clrIfDaterangeError" }, ngImport: i0 }); }
13895
14465
  }
13896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfDaterangeErrorDirective, decorators: [{
14466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfDaterangeErrorDirective, decorators: [{
13897
14467
  type: Directive,
13898
14468
  args: [{
13899
14469
  selector: '[clrIfDaterangeError]',
@@ -13959,8 +14529,8 @@ class ClrDaterangeMaxValidator {
13959
14529
  }
13960
14530
  return null;
13961
14531
  }
13962
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeMaxValidator, deps: [{ token: DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
13963
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangeMaxValidator, isStandalone: false, selector: "[clrDaterangepicker][max], [clrDaterangeMax]", inputs: { active: ["clrDaterangeMax", "active"] }, providers: [
14532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeMaxValidator, deps: [{ token: DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14533
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangeMaxValidator, isStandalone: false, selector: "[clrDaterangepicker][max], [clrDaterangeMax]", inputs: { active: ["clrDaterangeMax", "active"] }, providers: [
13964
14534
  {
13965
14535
  provide: NG_VALIDATORS,
13966
14536
  useExisting: forwardRef(() => ClrDaterangeMaxValidator),
@@ -13968,7 +14538,7 @@ class ClrDaterangeMaxValidator {
13968
14538
  },
13969
14539
  ], ngImport: i0 }); }
13970
14540
  }
13971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeMaxValidator, decorators: [{
14541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeMaxValidator, decorators: [{
13972
14542
  type: Directive,
13973
14543
  args: [{
13974
14544
  selector: '[clrDaterangepicker][max], [clrDaterangeMax]',
@@ -14040,8 +14610,8 @@ class ClrDaterangeMinValidator {
14040
14610
  }
14041
14611
  return null;
14042
14612
  }
14043
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeMinValidator, deps: [{ token: DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14044
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangeMinValidator, isStandalone: false, selector: "[clrDaterangepicker][min], [clrDaterangeMin]", inputs: { active: ["clrDaterangeMin", "active"] }, providers: [
14613
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeMinValidator, deps: [{ token: DaterangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14614
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangeMinValidator, isStandalone: false, selector: "[clrDaterangepicker][min], [clrDaterangeMin]", inputs: { active: ["clrDaterangeMin", "active"] }, providers: [
14045
14615
  {
14046
14616
  provide: NG_VALIDATORS,
14047
14617
  useExisting: forwardRef(() => ClrDaterangeMinValidator),
@@ -14049,7 +14619,7 @@ class ClrDaterangeMinValidator {
14049
14619
  },
14050
14620
  ], ngImport: i0 }); }
14051
14621
  }
14052
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeMinValidator, decorators: [{
14622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeMinValidator, decorators: [{
14053
14623
  type: Directive,
14054
14624
  args: [{
14055
14625
  selector: '[clrDaterangepicker][min], [clrDaterangeMin]',
@@ -14122,8 +14692,8 @@ class ClrDaterangeOrderValidator {
14122
14692
  }
14123
14693
  return null;
14124
14694
  }
14125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeOrderValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangeOrderValidator, isStandalone: false, selector: "[clrDaterangepicker], [clrDaterangeOrder]", inputs: { active: ["clrDaterangeOrder", "active"] }, providers: [
14695
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeOrderValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14696
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangeOrderValidator, isStandalone: false, selector: "[clrDaterangepicker], [clrDaterangeOrder]", inputs: { active: ["clrDaterangeOrder", "active"] }, providers: [
14127
14697
  {
14128
14698
  provide: NG_VALIDATORS,
14129
14699
  useExisting: forwardRef(() => ClrDaterangeOrderValidator),
@@ -14131,7 +14701,7 @@ class ClrDaterangeOrderValidator {
14131
14701
  },
14132
14702
  ], ngImport: i0 }); }
14133
14703
  }
14134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeOrderValidator, decorators: [{
14704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeOrderValidator, decorators: [{
14135
14705
  type: Directive,
14136
14706
  args: [{
14137
14707
  selector: '[clrDaterangepicker], [clrDaterangeOrder]',
@@ -14191,8 +14761,8 @@ class ClrDaterangeRequiredValidator {
14191
14761
  }
14192
14762
  return null;
14193
14763
  }
14194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14195
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrDaterangeRequiredValidator, isStandalone: false, selector: "[clrDaterangepicker][required], [clrDaterangeRequired]", inputs: { active: ["clrDaterangeRequired", "active"] }, providers: [
14764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeRequiredValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14765
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrDaterangeRequiredValidator, isStandalone: false, selector: "[clrDaterangepicker][required], [clrDaterangeRequired]", inputs: { active: ["clrDaterangeRequired", "active"] }, providers: [
14196
14766
  {
14197
14767
  provide: NG_VALIDATORS,
14198
14768
  useExisting: forwardRef(() => ClrDaterangeRequiredValidator),
@@ -14200,7 +14770,7 @@ class ClrDaterangeRequiredValidator {
14200
14770
  },
14201
14771
  ], ngImport: i0 }); }
14202
14772
  }
14203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangeRequiredValidator, decorators: [{
14773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangeRequiredValidator, decorators: [{
14204
14774
  type: Directive,
14205
14775
  args: [{
14206
14776
  selector: '[clrDaterangepicker][required], [clrDaterangeRequired]',
@@ -14219,8 +14789,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14219
14789
  }] } });
14220
14790
 
14221
14791
  class ClrDaterangepickerModule {
14222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14223
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerModule, declarations: [ClrDatepickerComponent,
14792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14793
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerModule, declarations: [ClrDatepickerComponent,
14224
14794
  ClrDaterangeMaxValidator,
14225
14795
  ClrDaterangeMinValidator,
14226
14796
  ClrDaterangeOrderValidator,
@@ -14235,9 +14805,9 @@ class ClrDaterangepickerModule {
14235
14805
  ClrDaterangepickerDirective,
14236
14806
  ClrDaterangeRequiredValidator,
14237
14807
  ClrIfDaterangeErrorDirective] }); }
14238
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerModule, imports: [CommonModule, FormsModule, ClarityModule, ClrDatepickerModule, ClrIconModule] }); }
14808
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerModule, imports: [CommonModule, FormsModule, ClarityModule, ClrDatepickerModule, ClrIconModule] }); }
14239
14809
  }
14240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrDaterangepickerModule, decorators: [{
14810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrDaterangepickerModule, decorators: [{
14241
14811
  type: NgModule,
14242
14812
  args: [{
14243
14813
  imports: [CommonModule, FormsModule, ClarityModule, ClrDatepickerModule, ClrIconModule],
@@ -14323,10 +14893,10 @@ class ClrIfWarning {
14323
14893
  this.renderer.addClass(this.formContainer, 'clr-warning');
14324
14894
  }
14325
14895
  }
14326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarning, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14327
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrIfWarning, isStandalone: false, selector: "[clrIfWarning]", inputs: { clrIfWarning: "clrIfWarning" }, ngImport: i0 }); }
14896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarning, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14897
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrIfWarning, isStandalone: false, selector: "[clrIfWarning]", inputs: { clrIfWarning: "clrIfWarning" }, ngImport: i0 }); }
14328
14898
  }
14329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarning, decorators: [{
14899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarning, decorators: [{
14330
14900
  type: Directive,
14331
14901
  args: [{
14332
14902
  selector: '[clrIfWarning]',
@@ -14338,11 +14908,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14338
14908
 
14339
14909
  ClarityIcons.addIcons(exclamationTriangleIcon);
14340
14910
  class ClrIfWarningModule {
14341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarningModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14342
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarningModule, declarations: [ClrIfWarning], imports: [CommonModule], exports: [ClrIfWarning] }); }
14343
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarningModule, imports: [CommonModule] }); }
14911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarningModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14912
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarningModule, declarations: [ClrIfWarning], imports: [CommonModule], exports: [ClrIfWarning] }); }
14913
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarningModule, imports: [CommonModule] }); }
14344
14914
  }
14345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrIfWarningModule, decorators: [{
14915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrIfWarningModule, decorators: [{
14346
14916
  type: NgModule,
14347
14917
  args: [{
14348
14918
  declarations: [ClrIfWarning],
@@ -14392,8 +14962,8 @@ class ClrActionPanel {
14392
14962
  // this event is used by the tree table to adjust the colomns width
14393
14963
  window.dispatchEvent(new Event('resize'));
14394
14964
  }
14395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14396
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrActionPanel, isStandalone: false, selector: "clr-action-panel", outputs: { opened: "clrOpened", closed: "clrClosed" }, host: { properties: { "class.action-panel": "true" } }, ngImport: i0, template: "<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"action-panel-action-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <ng-content select=\"[clr-action-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"action-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
14965
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14966
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrActionPanel, isStandalone: false, selector: "clr-action-panel", outputs: { opened: "clrOpened", closed: "clrClosed" }, host: { properties: { "class.action-panel": "true" } }, ngImport: i0, template: "<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"action-panel-action-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <ng-content select=\"[clr-action-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"action-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
14397
14967
  trigger('slideIn', [
14398
14968
  transition(':enter', [style({ opacity: 0, width: 0 }), animate('0.2s', style({ opacity: 1, width: '*' }))]),
14399
14969
  transition(':leave', [style({ opacity: 1, width: '*' }), animate('0.2s', style({ opacity: 0, width: 0 }))]),
@@ -14404,7 +14974,7 @@ class ClrActionPanel {
14404
14974
  ]),
14405
14975
  ] }); }
14406
14976
  }
14407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanel, decorators: [{
14977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanel, decorators: [{
14408
14978
  type: Component,
14409
14979
  args: [{ selector: 'clr-action-panel', animations: [
14410
14980
  trigger('slideIn', [
@@ -14432,8 +15002,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14432
15002
  * The full license information can be found in LICENSE in the root directory of this project.
14433
15003
  */
14434
15004
  class ClrActionPanelContainer {
14435
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrActionPanelContainer, isStandalone: false, selector: "clr-action-panel-container", host: { properties: { "class.content-container": "true", "class.action-panel-container": "true" } }, ngImport: i0, template: `
15005
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15006
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrActionPanelContainer, isStandalone: false, selector: "clr-action-panel-container", host: { properties: { "class.content-container": "true", "class.action-panel-container": "true" } }, ngImport: i0, template: `
14437
15007
  <div class="action-panel-outer-wrapper">
14438
15008
  <ng-content select="clr-action-panel-container-content"></ng-content>
14439
15009
  <ng-content select="clr-action-panel-container-footer"></ng-content>
@@ -14441,7 +15011,7 @@ class ClrActionPanelContainer {
14441
15011
  <ng-content select="clr-action-panel"></ng-content>
14442
15012
  `, isInline: true }); }
14443
15013
  }
14444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainer, decorators: [{
15014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainer, decorators: [{
14445
15015
  type: Component,
14446
15016
  args: [{
14447
15017
  selector: 'clr-action-panel-container',
@@ -14466,10 +15036,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14466
15036
  * The full license information can be found in LICENSE in the root directory of this project.
14467
15037
  */
14468
15038
  class ClrActionPanelContainerContent {
14469
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainerContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14470
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrActionPanelContainerContent, isStandalone: false, selector: "clr-action-panel-container-content", host: { properties: { "class.content-area": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
15039
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainerContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15040
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrActionPanelContainerContent, isStandalone: false, selector: "clr-action-panel-container-content", host: { properties: { "class.content-area": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
14471
15041
  }
14472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainerContent, decorators: [{
15042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainerContent, decorators: [{
14473
15043
  type: Component,
14474
15044
  args: [{
14475
15045
  selector: 'clr-action-panel-container-content',
@@ -14487,10 +15057,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14487
15057
  * The full license information can be found in LICENSE in the root directory of this project.
14488
15058
  */
14489
15059
  class ClrActionPanelContainerFooter {
14490
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainerFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14491
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrActionPanelContainerFooter, isStandalone: false, selector: "clr-action-panel-container-footer", host: { properties: { "class.content-area-footer": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
15060
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainerFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15061
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: ClrActionPanelContainerFooter, isStandalone: false, selector: "clr-action-panel-container-footer", host: { properties: { "class.content-area-footer": "true" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
14492
15062
  }
14493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelContainerFooter, decorators: [{
15063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelContainerFooter, decorators: [{
14494
15064
  type: Component,
14495
15065
  args: [{
14496
15066
  selector: 'clr-action-panel-container-footer',
@@ -14508,14 +15078,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14508
15078
  * The full license information can be found in LICENSE in the root directory of this project.
14509
15079
  */
14510
15080
  class ClrActionPanelModule {
14511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14512
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelModule, declarations: [ClrActionPanel,
15081
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15082
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelModule, declarations: [ClrActionPanel,
14513
15083
  ClrActionPanelContainer,
14514
15084
  ClrActionPanelContainerContent,
14515
15085
  ClrActionPanelContainerFooter], imports: [CommonModule, ClarityModule, FormsModule], exports: [ClrActionPanel, ClrActionPanelContainer, ClrActionPanelContainerContent, ClrActionPanelContainerFooter] }); }
14516
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
15086
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelModule, imports: [CommonModule, ClarityModule, FormsModule] }); }
14517
15087
  }
14518
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrActionPanelModule, decorators: [{
15088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrActionPanelModule, decorators: [{
14519
15089
  type: NgModule,
14520
15090
  args: [{
14521
15091
  imports: [CommonModule, ClarityModule, FormsModule],
@@ -14661,10 +15231,10 @@ class ClrReadonlyDirective {
14661
15231
  }
14662
15232
  return formattedValue;
14663
15233
  }
14664
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
14665
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ClrReadonlyDirective, isStandalone: false, selector: "[clrReadonly]", inputs: { unitPosition: ["clrUnitPosition", "unitPosition"], property: ["clrReadOnlyProperty", "property"], clrReadOnly: ["clrReadonly", "clrReadOnly"], unit: ["clrUnit", "unit"], decimalPlaces: ["clrDecimalPlaces", "decimalPlaces"], roundValue: ["clrRoundDisplayValue", "roundValue"], autofillDecimals: ["clrAutofillDecimals", "autofillDecimals"], decimalSeparator: ["clrDecimalSep", "decimalSeparator"], groupingSeparator: ["clrGroupingSep", "groupingSeparator"] }, usesOnChanges: true, ngImport: i0 }); }
15234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
15235
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: ClrReadonlyDirective, isStandalone: false, selector: "[clrReadonly]", inputs: { unitPosition: ["clrUnitPosition", "unitPosition"], property: ["clrReadOnlyProperty", "property"], clrReadOnly: ["clrReadonly", "clrReadOnly"], unit: ["clrUnit", "unit"], decimalPlaces: ["clrDecimalPlaces", "decimalPlaces"], roundValue: ["clrRoundDisplayValue", "roundValue"], autofillDecimals: ["clrAutofillDecimals", "autofillDecimals"], decimalSeparator: ["clrDecimalSep", "decimalSeparator"], groupingSeparator: ["clrGroupingSep", "groupingSeparator"] }, usesOnChanges: true, ngImport: i0 }); }
14666
15236
  }
14667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirective, decorators: [{
15237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirective, decorators: [{
14668
15238
  type: Directive,
14669
15239
  args: [{
14670
15240
  selector: '[clrReadonly]',
@@ -14700,11 +15270,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14700
15270
  }] } });
14701
15271
 
14702
15272
  class ClrReadonlyDirectiveModule {
14703
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14704
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirectiveModule, declarations: [ClrReadonlyDirective], exports: [ClrReadonlyDirective] }); }
14705
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirectiveModule }); }
15273
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15274
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirectiveModule, declarations: [ClrReadonlyDirective], exports: [ClrReadonlyDirective] }); }
15275
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirectiveModule }); }
14706
15276
  }
14707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrReadonlyDirectiveModule, decorators: [{
15277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrReadonlyDirectiveModule, decorators: [{
14708
15278
  type: NgModule,
14709
15279
  args: [{
14710
15280
  declarations: [ClrReadonlyDirective],
@@ -14718,8 +15288,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14718
15288
  * The full license information can be found in LICENSE in the root directory of this project.
14719
15289
  */
14720
15290
  class ClrAddonsModule {
14721
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14722
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsModule, exports: [ClrViewEditSectionModule,
15291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15292
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsModule, exports: [ClrViewEditSectionModule,
14723
15293
  ClrPagerModule,
14724
15294
  ClrDotPagerModule,
14725
15295
  ClrPagedSearchResultListModule,
@@ -14754,7 +15324,7 @@ class ClrAddonsModule {
14754
15324
  ClrActionPanelModule,
14755
15325
  ClrReadonlyDirectiveModule,
14756
15326
  ClrDatagridColumnReorderModule] }); }
14757
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsModule, imports: [ClrViewEditSectionModule,
15327
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsModule, imports: [ClrViewEditSectionModule,
14758
15328
  ClrPagerModule,
14759
15329
  ClrDotPagerModule,
14760
15330
  ClrPagedSearchResultListModule,
@@ -14790,7 +15360,7 @@ class ClrAddonsModule {
14790
15360
  ClrReadonlyDirectiveModule,
14791
15361
  ClrDatagridColumnReorderModule] }); }
14792
15362
  }
14793
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrAddonsModule, decorators: [{
15363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrAddonsModule, decorators: [{
14794
15364
  type: NgModule,
14795
15365
  args: [{
14796
15366
  exports: [
@@ -14867,10 +15437,10 @@ class ExportDatagridService {
14867
15437
  };
14868
15438
  this.zipcelx.default(config);
14869
15439
  }
14870
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ExportDatagridService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14871
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ExportDatagridService }); }
15440
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExportDatagridService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15441
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExportDatagridService }); }
14872
15442
  }
14873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ExportDatagridService, decorators: [{
15443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExportDatagridService, decorators: [{
14874
15444
  type: Injectable
14875
15445
  }], ctorParameters: () => [] });
14876
15446
 
@@ -14989,10 +15559,10 @@ class ExportDatagridButtonComponent {
14989
15559
  });
14990
15560
  return columnTitles;
14991
15561
  }
14992
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ExportDatagridButtonComponent, deps: [{ token: ExportDatagridService }], target: i0.ɵɵFactoryTarget.Component }); }
14993
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.6", type: ExportDatagridButtonComponent, isStandalone: true, selector: "clr-export-datagrid-button", inputs: { datagrid: { classPropertyName: "datagrid", publicName: "datagrid", isSignal: true, isRequired: false, transformFunction: null }, datagridRef: { classPropertyName: "datagridRef", publicName: "datagridRef", isSignal: true, isRequired: false, transformFunction: null }, exportTypesToShow: { classPropertyName: "exportTypesToShow", publicName: "exportTypesToShow", isSignal: true, isRequired: false, transformFunction: null }, isBackendExport: { classPropertyName: "isBackendExport", publicName: "isBackendExport", isSignal: true, isRequired: false, transformFunction: null }, exportTitlePrefix: { classPropertyName: "exportTitlePrefix", publicName: "exportTitlePrefix", isSignal: true, isRequired: false, transformFunction: null }, exportButtonPosition: { classPropertyName: "exportButtonPosition", publicName: "exportButtonPosition", isSignal: true, isRequired: false, transformFunction: null }, exportButtonText: { classPropertyName: "exportButtonText", publicName: "exportButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backendExport: "backendExport" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'export-btn-right': exportButtonPosition() === 'right',\n 'export-btn-left': exportButtonPosition() === 'left'\n }\"\n>\n <clr-dropdown>\n <button class=\"btn btn-sm btn-outline\" clrDropdownTrigger type=\"button\">\n {{ exportButtonText() }}\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen clrPosition=\"bottom-right\">\n <button *ngFor=\"let exportType of exportTypesFiltered()\" (click)=\"onExport(exportType.type)\" clrDropdownItem>\n {{ exportType.value }}\n </button>\n </clr-dropdown-menu>\n </clr-dropdown>\n</div>\n", styles: [".export-btn-right{display:flex;justify-content:flex-end}.export-btn-left{display:flex;justify-content:flex-start}.custom-button-export{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: ClarityModule }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
15562
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExportDatagridButtonComponent, deps: [{ token: ExportDatagridService }], target: i0.ɵɵFactoryTarget.Component }); }
15563
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.16", type: ExportDatagridButtonComponent, isStandalone: true, selector: "clr-export-datagrid-button", inputs: { datagrid: { classPropertyName: "datagrid", publicName: "datagrid", isSignal: true, isRequired: false, transformFunction: null }, datagridRef: { classPropertyName: "datagridRef", publicName: "datagridRef", isSignal: true, isRequired: false, transformFunction: null }, exportTypesToShow: { classPropertyName: "exportTypesToShow", publicName: "exportTypesToShow", isSignal: true, isRequired: false, transformFunction: null }, isBackendExport: { classPropertyName: "isBackendExport", publicName: "isBackendExport", isSignal: true, isRequired: false, transformFunction: null }, exportTitlePrefix: { classPropertyName: "exportTitlePrefix", publicName: "exportTitlePrefix", isSignal: true, isRequired: false, transformFunction: null }, exportButtonPosition: { classPropertyName: "exportButtonPosition", publicName: "exportButtonPosition", isSignal: true, isRequired: false, transformFunction: null }, exportButtonText: { classPropertyName: "exportButtonText", publicName: "exportButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backendExport: "backendExport" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'export-btn-right': exportButtonPosition() === 'right',\n 'export-btn-left': exportButtonPosition() === 'left'\n }\"\n>\n <clr-dropdown>\n <button class=\"btn btn-sm btn-outline\" clrDropdownTrigger type=\"button\">\n {{ exportButtonText() }}\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen clrPosition=\"bottom-right\">\n <button *ngFor=\"let exportType of exportTypesFiltered()\" (click)=\"onExport(exportType.type)\" clrDropdownItem>\n {{ exportType.value }}\n </button>\n </clr-dropdown-menu>\n </clr-dropdown>\n</div>\n", styles: [".export-btn-right{display:flex;justify-content:flex-end}.export-btn-left{display:flex;justify-content:flex-start}.custom-button-export{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: ClarityModule }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
14994
15564
  }
14995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ExportDatagridButtonComponent, decorators: [{
15565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExportDatagridButtonComponent, decorators: [{
14996
15566
  type: Component,
14997
15567
  args: [{ selector: 'clr-export-datagrid-button', standalone: true, imports: [ClarityModule, NgForOf, NgClass], template: "<div\n [ngClass]=\"{\n 'export-btn-right': exportButtonPosition() === 'right',\n 'export-btn-left': exportButtonPosition() === 'left'\n }\"\n>\n <clr-dropdown>\n <button class=\"btn btn-sm btn-outline\" clrDropdownTrigger type=\"button\">\n {{ exportButtonText() }}\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen clrPosition=\"bottom-right\">\n <button *ngFor=\"let exportType of exportTypesFiltered()\" (click)=\"onExport(exportType.type)\" clrDropdownItem>\n {{ exportType.value }}\n </button>\n </clr-dropdown-menu>\n </clr-dropdown>\n</div>\n", styles: [".export-btn-right{display:flex;justify-content:flex-end}.export-btn-left{display:flex;justify-content:flex-start}.custom-button-export{margin:0}\n"] }]
14998
15568
  }], ctorParameters: () => [{ type: ExportDatagridService }], propDecorators: { backendExport: [{
@@ -15000,11 +15570,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
15000
15570
  }] } });
15001
15571
 
15002
15572
  class ClrExportDatagridButtonModule {
15003
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrExportDatagridButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15004
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ClrExportDatagridButtonModule, imports: [ExportDatagridButtonComponent], exports: [ExportDatagridButtonComponent] }); }
15005
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrExportDatagridButtonModule, providers: [ExportDatagridService], imports: [ExportDatagridButtonComponent] }); }
15573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrExportDatagridButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15574
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ClrExportDatagridButtonModule, imports: [ExportDatagridButtonComponent], exports: [ExportDatagridButtonComponent] }); }
15575
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrExportDatagridButtonModule, providers: [ExportDatagridService], imports: [ExportDatagridButtonComponent] }); }
15006
15576
  }
15007
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrExportDatagridButtonModule, decorators: [{
15577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ClrExportDatagridButtonModule, decorators: [{
15008
15578
  type: NgModule,
15009
15579
  args: [{
15010
15580
  imports: [ExportDatagridButtonComponent],
@@ -15023,5 +15593,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
15023
15593
  * Generated bundle index. Do not edit.
15024
15594
  */
15025
15595
 
15026
- export { ACShape, AcceptanceDateShape, AcceptedBrands, AccessoryPartsShape, AudiBrandShape, AwardWinnerPremiumShape, BIG_ENDIAN, BlocksGroupForwardShape, BundleForwardShape, BusinessCustomersCommercialShape, BusinessCustomersPrivateShape, BusinessPartnerWithCar, CLR_BLANK_OPTION, CONTENT_PROVIDER, CalculatorForwardShape, CaliforniaServiceShape, CampaignOutdatedShape, CampaignShape, CarOffSite, CarOnSite, CircleFilled, CircleHalfFilled, CircleQuarterFilled, CircleThreeQuartersFilled, ClrActionPanel, ClrActionPanelContainer, ClrActionPanelContainerContent, ClrActionPanelContainerFooter, ClrActionPanelModule, ClrActiveNotification, ClrAddonsLabel, ClrAddonsModule, ClrAutocompleteOff, ClrAutocompleteOffModule, ClrBackButton, ClrBackButtonModule, ClrBrandAvatar, ClrBrandAvatarModule, ClrBreadcrumb, ClrBreadcrumbModule, ClrBreadcrumbService, ClrCollapseExpandSection, ClrCollapseExpandSectionModule, ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter, ClrContentPanelModule, ClrContentRef, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridColumnReorderModule, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrExportDatagridButtonModule, ClrFlowBar, ClrFlowBarModule, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, ClrLetterAvatar, ClrLetterAvatarModule, ClrLocationBarModule, ClrMainNavGroup, ClrMainNavGroupItem, ClrMainNavGroupModule, ClrMaxNumeric, ClrMinNumeric, ClrMultilingualInput, ClrMultilingualInputValidators, ClrMultilingualModule, ClrMultilingualSelector, ClrMultilingualTextarea, ClrNotification, ClrNotificationModule, ClrNotificationRef, ClrNotificationService, ClrNumericField, ClrNumericFieldModule, ClrNumericFieldValidators, ClrPagedSearchResultList, ClrPagedSearchResultListModule, ClrPager, ClrPagerModule, ClrProgressSpinnerComponent, ClrProgressSpinnerModule, ClrQuickList, ClrQuickListModule, ClrReadonlyDirective, ClrReadonlyDirectiveModule, ClrRequiredAllMultilang, ClrRequiredOneMultilang, ClrSearchField, ClrSearchFieldModule, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrTreetableSortOrder, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridColumnReorderDirective, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, DynamicCellContentComponent, EnergyShape, ExportDatagridButtonComponent, ExportDatagridService, ExportTypeEnum, ExternalPartForwardShape, FirstRegistrationDate, GasCarsServiceShape, GasShape, HISTORY_NOTIFICATION_URL_PROVIDER, HISTORY_PROVIDER, HISTORY_TOKEN, HistoryProvider, InternalPartForwardShape, InvoiceReadyShape, InvoiceRecipient, InvoiceShape, Items, ItemsForwardShape, ItemsReceiveShape, LITTLE_ENDIAN, LITTLE_ENDIAN_REGEX, LocationBarComponent, LocationBarContentProvider, LocationBarNode, LogoCommissionModule, LogoCommissionModuleFavIcon, LogoCommissionModuleNegative, LogoCommissionModuleNegativeFavIcon, LogoCostApproval, LogoCostApprovalFavIcon, LogoCostApprovalNegative, LogoCostApprovalNegativeFavIcon, LogoCostControlling, LogoCostControllingFavIcon, LogoCostControllingNegative, LogoCostControllingNegativeFavIcon, LogoDigitalServiceReception, LogoDigitalServiceReceptionFavIcon, LogoDigitalServiceReceptionNegative, LogoDigitalServiceReceptionNegativeFavIcon, LogoDocFlow, LogoDocFlowFavIcon, LogoDocFlowNegative, LogoDocFlowNegativeFavIcon, LogoDocScan, LogoDocScanFavIcon, LogoDocScanNegative, LogoDocScanNegativeFavIcon, LogoDocStore, LogoDocStoreFavIcon, LogoDocStoreNegative, LogoDocStoreNegativeFavIcon, LogoEBilling, LogoEBillingFavIcon, LogoEBillingNegative, LogoEBillingNegativeFavIcon, LogoEPayment, LogoEPaymentFavIcon, LogoEPaymentNegative, LogoEPaymentNegativeFavIcon, LogoMobilityPlanner, LogoMobilityPlannerFavIcon, LogoMobilityPlannerNegative, LogoMobilityPlannerNegativeFavIcon, LogoPartsMobile, LogoPartsMobileFavIcon, LogoPartsMobileNegative, LogoPartsMobileNegativeFavIcon, LogoSBO, LogoSBOFavIcon, LogoSBONegative, LogoSBONegativeFavIcon, LogoServiceCube, LogoServiceCubeFavIcon, LogoServiceCubeNegative, LogoServiceCubeNegativeFavIcon, LogoWCP, LogoWCPFavIcon, LogoWCPNegative, LogoWCPNegativeFavIcon, LogoWorkshopOrderTracker, LogoWorkshopOrderTrackerFavIcon, LogoWorkshopOrderTrackerNegative, LogoWorkshopOrderTrackerNegativeFavIcon, MIDDLE_ENDIAN, MIDDLE_ENDIAN_REGEX, MONTH, Mechanic, NewCarUtilityVehicleShape, NodeId, Number0, Number1, Number10, Number11, Number12, Number13, Number14, Number15, Number16, Number17, Number18, Number19, Number2, Number20, Number3, Number4, Number5, Number6, Number7, Number8, Number9, OrderShape, OrderStatusShape, PaintMaterialForwardShape, PaintMaterialShape, ParkingLocation, PartAvailabilityInfoShape, PartAvailabilityNoShape, PartAvailabilityUnknownShape, PartAvailabilityWarningShape, PartAvailabilityYesShape, PartIdenticalPredecessorShape, PartIdenticalShape, PartIdenticalSuccessorShape, PartIdenticalSuccpredecessorShape, PartNonStockForwardShape, PartPredecessorShape, PartSuccessorPredecessorShape, PartSuccessorShape, PartsChangelocation, PartsForwardShape, PartsInventory, PartsNonStockShape, PartsPicking, PartsPickingPlus, PartsReceiving, PartsShape, PlusServiceShape, PopoverPositions, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, Selection, ServiceAdvisor, SkodaBrandShape, Sort, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, TreetableHeaderRenderer, TreetableItemsDirective, TreetableMainRenderer, TreetableRowRenderer, USER_INPUT_REGEX, VWBrandShape, VWNBrandShape, VWShape, VehicleConversionShape, VinShape, VsfSearchShape, VsfSearchShape48, WCPShape, WrenchForward, YEAR, acceleration, accelerationIcon, acceptanceDateIcon, accessories, accessoriesIcon, accessoryPartsIcon, adblueAppIcon, adblue_app, add, addIcon, airConditionerIcon, air_conditioning, alert, alertFilledAppIcon, alertIcon, alertNotificationFilledAppIcon, alert_filled_app, alert_notification_filled_app, allIcons, ambientLightAppIcon, ambient_light_app, amplifier, amplifierIcon, appConnectAppIcon, app_connect_app, archive, archiveIcon, arrowDownIcon, arrowLeftAlignedAppIcon, arrowLeftIcon, arrowRightIcon, arrowSliderAppIcon, arrowUpIcon, arrow_down, arrow_left, arrow_left_aligned_app, arrow_right, arrow_slider_app, arrow_up, attachment, attachmentIcon, audiBrandIcon, authentPlugChargeAppIcon, authentQrAppIcon, authentRfidAppIcon, authentTouchidAppIcon, authent_plug_charge_app, authent_qr_app, authent_rfid_app, authent_touch_id_app, automaticTempAppIcon, automatic_temp_app, awardWinnerPremiumIcon, award_winner_premium, back, backIcon, battery, batteryIcon, batterySocChargingAppIcon, batterySocDepartureAppIcon, batterySocDestinationAppIcon, battery_soc_charging_app, battery_soc_departure_app, battery_soc_destination_app, bin, binIcon, blocksGroupForwardIcon, bluetooth, bluetoothIcon, bookmark, bookmarkFilledIcon, bookmarkIcon, bookmark_filled, brakeAppIcon, brake_app, brochure, brochureIcon, bulletpointAppIcon, bulletpoint_app, bundleForwardIcon, businessCustomersCommercialIcon, businessCustomersPrivateIcon, businessPartnerWithCarIcon, business_customers_commercial, business_customers_private, calc, calcIcon, calculatorForwardIcon, calendar, calendarCustomIcon, californiaServiceIcon, californiaSpecialistIcon, california_specialist, cameraScanIcon, camera_scan, campaignIcon, campaignOutdatedIcon, carDocumentsIcon, carErrorAppIcon, carInsuranceIcon, carOffSite, carOnSite, carPickupServiceIcon, carPlusIcon, carSettingsIcon, carVerifiedAppIcon, carWashIcon, carWheelAppIcon, car_documents, car_error_app, car_insurance, car_pickup_service, car_plus, car_settings, car_verified_app, car_wheel_app, carwash, certifiedRepairIcon, certifiedRetailerIcon, certified_repair, certified_retailer, challengeAppIcon, challenge_app, charging, chargingIcon, chargingPduAppIcon, chargingStationIcon, chargingTarifOverviewAppIcon, charging_pdu_app, charging_station, charging_tarif_overview_app, chat, chatAppIcon, chatIcon, chat_app, checkboxCheckedAppIcon, checkboxCheckedIcon, checkboxUncheckedAppIcon, checkboxUncheckedIcon, checkbox_checked, checkbox_checked_app, checkbox_unchecked, checkbox_unchecked_app, checkmark, checkmarkAppIcon, checkmarkFilledAppIcon, checkmarkIcon, checkmark_app, checkmark_filled_app, chevronDownIcon, chevronLeftAlignedappIcon, chevronLeftIcon, chevronRightAlignedappIcon, chevronRightIcon, chevronSmallLeftAlignedappIcon, chevronSmallRightAlignedappIcon, chevronUpIcon, chevron_down, chevron_left, chevron_left_alignedapp, chevron_right, chevron_right_alignedapp, chevron_small_left_alignedapp, chevron_small_right_alignedapp, chevron_up, circleFilledIcon, circleHalfFilledIcon, circleQuarterFilledIcon, circleThreeQuartersFilledIcon, city, cityIcon, clearAppIcon, clearRightAlignedappIcon, clear_app, clear_right_alignedapp, clock, clockIcon, close, closeAppIcon, closeCircleIcon, closeIcon, closeLeftAlignedappIcon, closeRightAlignedappIcon, close_app, close_circle, close_left_alignedapp, close_right_alignedapp, clrIconSVG, coffeeFilledAppIcon, coffee_filled_app, compassAppIcon, compass_app, completedByDateIcon, configuratorCommercialIcon, configuratorPrivateIcon, configurator_commercial, configurator_private, construction, constructionIcon, consumptionFuelFilledAppIcon, consumptionIcon, consumption_fuel, consumption_fuel_filled_app, contact, contactDealerFilledAppIcon, contactDealerIcon, contactIcon, contact_dealer, contact_dealer_filled_app, countryRoadIcon, country_road, craft, craftIcon, cupraBrandIcon, customerIcon, customerVipIcon, customerWaitingIcon, customersCenterIcon, customers_center, dataCopyAppIcon, dataExpiredIcon, dataFilledIcon, dataInputIcon, dataPlugAppIcon, dataSearchIcon, dataTimeExtensionIcon, data_copy_app, data_expired, data_filled, data_input, data_plug_app, data_search, data_time_extension, defogDefrostAutoAppIcon, defogDefrostIcon, defog_defrost, defog_defrost_auto_app, deliveryDateIcon, destinationAppIcon, destination_app, dieselIcon, direction, directionIcon, dischargingAppIcon, discharging_app, discountAppIcon, discount_app, discoveryAppIcon, discovery_app, dollarBillForwardIcon, dollarBillPartialIcon, download, downloadCustomIcon, dragIndicatorIcon, drag_indicator, driversAssistanceIcon, drivers_assistance, dropFilledAppIcon, drop_filled_app, dwaBrandIcon, eco, ecoIcon, edit, editIcon, editSmallRightAlignedAppIcon, edit_small_right_aligned_app, efficiency, efficiencyIcon, electricCarsIcon, electricCarsServiceIcon, electric_cars, electric_cars_service, electricity, electricityFilledAppIcon, electricityIcon, electricity_filled_app, emergency, emergencyIcon, emission, emissionIcon, energyIcon, engine, engineIcon, entertainment, entertainmentIcon, escapeHtml, escapeRegex, exportAppIcon, export_app, expressServiceIcon, express_service, exterior, exterior360Icon, exteriorIcon, exterior_360, externalPartForwardIcon, faq, faqIcon, fastForwardIcon, fast_forward, fax, faxIcon, filter, filterIcon, findACarIcon, findADealerIcon, find_a_car, find_a_dealer, firstRegistrationDateIcon, fleetServiceCommercialIcon, fleetServicePrivateIcon, fleet_service_commercial, fleet_service_private, folderFilledAppIcon, folder_filled_app, foodFilledAppIcon, food_filled_app, formatNumber, fullscreenEnterIcon, fullscreenExitIcon, fullscreen_enter, fullscreen_exit, gallery, galleryIcon, garageAppIcon, garage_app, gasAppIcon, gasCarsServiceIcon, gasIcon, gas_app, glassDamageAppIcon, glass_damage_app, gte, gteIcon, heart, heartFilledAppIcon, heartIcon, heart_filled_app, heightAppIcon, height_app, highwayRoadIcon, highway_road, history, historyIcon, homeAppIcon, homeEnergyAppIcon, homeFilledAppIcon, home_app, home_energy_app, home_filled_app, hornAppIcon, hornFilledAppIcon, horn_app, horn_filled_app, hybrid, hybridIcon, immediateChargingAppIcon, immediate_charging_app, info, infoFilledIcon, infoIcon, info_filled, inputHideIcon, inputShowIcon, input_hide, input_show, interior, interior360Icon, interiorIcon, interior_360, internalPartForwardIcon, internet, internetIcon, invitationAppIcon, invitation_app, invoiceIcon, invoiceReadyIcon, invoiceRecipientIcon, itemsForwardIcon, itemsRecieveIcon, jobportal, jobportalIcon, keyAppIcon, keyCardAppIcon, keyDigitalAppIcon, key_app, key_card_app, key_digital_app, keyboardAppIcon, keyboard_app, layerCollapseAppIcon, layerExpandAppIcon, layer_collapse_app, layer_expand_app, layersAppIcon, layers_app, legalTermsAndConditionsAppIcon, legal_terms_and_conditions_app, licencePlateAppIcon, licence_plate_app, lightAssistappIcon, light_assistapp, lightingAppIcon, lighting_app, linkExternAppIcon, link_extern_app, list, listIcon, loadingVolumeIcon, loading_volume, localBusinessIcon, local_business, locate, locateIcon, lock, lockIcon, lockOpenIcon, lock_open, login, loginIcon, logistic, logisticIcon, logoCommissionModuleFavIcon, logoCommissionModuleIcon, logoCommissionModuleNegativeFavIcon, logoCommissionModuleNegativeIcon, logoCostApprovalFavIcon, logoCostApprovalIcon, logoCostApprovalNegativeFavIcon, logoCostApprovalNegativeIcon, logoCrossControllingFavIcon, logoCrossControllingIcon, logoCrossControllingNegativeFavIcon, logoCrossControllingNegativeIcon, logoDigitalServiceReceptionFavIcon, logoDigitalServiceReceptionIcon, logoDigitalServiceReceptionNegativeFavIcon, logoDigitalServiceReceptionNegativeIcon, logoDocFlowFavIcon, logoDocFlowIcon, logoDocFlowNegativeFavIcon, logoDocFlowNegativeIcon, logoDocScanFavIcon, logoDocScanIcon, logoDocScanNegativeFavIcon, logoDocScanNegativeIcon, logoDocStoreFavIcon, logoDocStoreIcon, logoDocStoreNegativeFavIcon, logoDocStoreNegativeIcon, logoEBillingFavIcon, logoEBillingIcon, logoEBillingNegativeFavIcon, logoEBillingNegativeIcon, logoEPaymentFavIcon, logoEPaymentIcon, logoEPaymentNegativeFavIcon, logoEPaymentNegativeIcon, logoMobilityPlannerFavIcon, logoMobilityPlannerIcon, logoMobilityPlannerNegativeFavIcon, logoMobilityPlannerNegativeIcon, logoPartsMobileFavIcon, logoPartsMobileIcon, logoPartsMobileNegativeFavIcon, logoPartsMobileNegativeIcon, logoSBOFavIcon, logoSBOIcon, logoSBONegativeFavIcon, logoSBONegativeIcon, logoServiceCubeFavIcon, logoServiceCubeIcon, logoServiceCubeNegativeFavIcon, logoServiceCubeNegativeIcon, logoWCPFavIcon, logoWCPIcon, logoWCPNegativeFavIcon, logoWCPNegativeIcon, logoWorkshopOrderTrackerFavIcon, logoWorkshopOrderTrackerIcon, logoWorkshopOrderTrackerNegativeFavIcon, logoWorkshopOrderTrackerNegativeIcon, logout, logoutIcon, magnifier, magnifierIcon, magnifierMinusIcon, magnifierPlusIcon, magnifier_minus, magnifier_plus, mail, mailIcon, mailResendAppIcon, mail_resend_app, manual, manualIcon, map, mapIcon, mechanicIcon, media, mediaIcon, menu, menuAppAppIcon, menuIcon, menu_app_app, microphoneAppIcon, microphone_app, mobile, mobileIcon, moreAppIcon, moreAppbarAppIcon, more_app, more_appbar_app, mot, motIcon, motability, motabilityIcon, navigate, navigateFilledAppIcon, navigateIcon, navigate_filled_app, newCarCommercialIcon, newCarPrivateFilledAppIcon, newCarPrivateIcon, newCarUtilityVehicleIcon, new_car_commercial, new_car_private, new_car_private_filled_app, nightServiceIcon, night_service, notification, notificationFilledIcon, notificationIcon, notification_filled, number0Icon, number10Icon, number11Icon, number12Icon, number13Icon, number14Icon, number15Icon, number16Icon, number17Icon, number18Icon, number19Icon, number1Icon, number20Icon, number2Icon, number3Icon, number4Icon, number5Icon, number6Icon, number7Icon, number8Icon, number9Icon, offers, offersFilledAppIcon, offersIcon, offers_filled_app, officeAppIcon, officeFilledAppIcon, office_app, office_filled_app, oilLevelIcon, oilLevelWarningIcon, oilTemperatureAppIcon, oil_level, oil_level_warning, oil_temperature_app, onCallDutyIcon, on_call_duty, openSatIcon, open_sat, orderIcon, orderStatusIcon, paintMaterialForwardIcon, paintMaterialIcon, paintShopIcon, paint_shop, paragraphAppIcon, paragraph_app, parkHeaterAppIcon, park_heater_app, parking, parkingFilledAppIcon, parkingGarageAppIcon, parkingIcon, parkingLocationIcon, parkingRouteAppIcon, parkingValetAppIcon, parking_filled_app, parking_garage_app, parking_route_app, parking_valet_app, partAvailabilityInfoIcon, partAvailabilityNoIcon, partAvailabilityUnknownIcon, partAvailabilityWarningIcon, partAvailabilityYesIcon, partIdenticalIcon, partIdenticalPredecessorIcon, partIdenticalSuccessorIcon, partIdenticalSuccpredecessorIcon, partPredecessorIcon, partSuccessorIcon, partSuccessorPredecessorIcon, partsChangelocationIcon, partsForwardIcon, partsIcon, partsInventoryIcon, partsNonStockForwardIcon, partsNonStockIcon, partsPickingIcon, partsPickingPlusIcon, partsReceivingIcon, pause, pauseIcon, payload, payloadIcon, paymentAppIcon, paymentCashAppIcon, paymentChargingCardAppIcon, paymentCreditcardAppIcon, paymentMachineAppIcon, payment_app, payment_cash_app, payment_charging_card_app, payment_creditcard_app, payment_machine_app, performance, performanceIcon, petrol, petrolIcon, phone, phoneIcon, pin, pinFilledAppIcon, pinGenericFilledAppIcon, pinIcon, pin_filled_app, pin_generic_filled_app, play, playIcon, plugCcsAppIcon, plugChademoAppIcon, plugChargeAppIcon, plugGenericAppIcon, plugSchukoAppIcon, plugType1AppIcon, plugType2AppIcon, plug_ccs_app, plug_chademo_app, plug_charge_app, plug_generic_app, plug_schuko_app, plug_type1_app, plug_type2_app, plusServiceIcon, porscheBrandIcon, power, powerIcon, powerTrainIcon, powertrain, preHeaterAppIcon, pre_heater_app, preciseLaneNavigationAppIcon, precise_lane_navigation_app, presentAppIcon, present_app, priceTypeSwitchIcon, printer, printerIcon, privacyAppIcon, privacy_app, profile, profileIcon, profileRegisterAppIcon, profileVerifiedIcon, profile_register_app, profile_verified, publicServiceIcon, publicTransportAppIcon, public_service, public_transport_app, qualifiedWorkshopIcon, qualified_workshop, questionnaireAppIcon, questionnaire_app, radio, radioButtonInselectedIcon, radioButtonSelectedForDefIcon, radioButtonSelectedIcon, radioIcon, radio_button_inselected, radio_button_selected, radio_button_selected_for_development, range, rangeIcon, reload, reloadIcon, remove, removeIcon, repeat, repeatIcon, repeatRepairIcon, replacementVehicleIcon, returnDateIcon, rewind, rewindIcon, roadsideAssistanceIcon, roadside_assistance, route, routeArrowAppIcon, routeIcon, route_arrow_app, routesHistoryAppIcon, routes_history_app, rss, rssIcon, safety, safetyIcon, save, saveAppIcon, saveIcon, save_app, seat, seatAirIcon, seatBrandIcon, seatIcon, seat_air, secretTipAppIcon, secretTipFilledAppIcon, secret_tip_app, secret_tip_filled_app, selected, selectedIcon, selectedPartnerNetworkAppIcon, selected_partner_network_app, sendToCarAppIcon, send_to_car_app, service, serviceAdvisorIcon, serviceBellIcon, serviceFilledAppIcon, serviceIcon, service_bell, service_filled_app, settings, settingsIcon, shareAndroidIcon, shareIosIcon, share_android, share_ios, shoppingCartFilledAppIcon, shoppingCartIcon, shopping_cart, shopping_cart_filled_app, shuffle, shuffleIcon, size, sizeIcon, skillAppIcon, skill_app, skipBackwardIcon, skipForwardIcon, skip_backward, skip_forward, skodaBrandIcon, softwareDownloadAppIcon, software_download_app, sortingAppIcon, sorting_app, sound, soundIcon, standardEquipmentIcon, standard_equipment, starFilledIcon, starOutlineIcon, star_filled, star_outline, statisticAppIcon, statistic_app, stockLocatorCommercialIcon, stockLocatorPrivateIcon, stock_locator_commercial, stock_locator_private, stop, stopIcon, strip, switchPositionAppIcon, switch_position_app, syncAppIcon, sync_app, taskAndAppointmentIcon, taxiDealerIcon, taxi_dealer, technicalSpecificationIcon, technical_specification, temperatureAppIcon, temperature_app, testDriveIcon, test_drive, textForwardIcon, thumbsdownAppIcon, thumbsdownFilledAppIcon, thumbsdown_app, thumbsdown_filled_app, thumbsupAppIcon, thumbsupFilledAppIcon, thumbsup_app, thumbsup_filled_app, timeClimatisationAppIcon, timePreferredAppIcon, time_climatisation_app, time_preferred_app, timer, timerIcon, topcardIcon, touaregServiceIcon, transcriptDownloadIcon, transcript_download, transmissionAutomaticIcon, transmissionManualIcon, transmission_automatic, transmission_manual, tripAppIcon, tripLongAppIcon, tripPartedAppIcon, tripShortAppIcon, trip_app, trip_long_app, trip_parted_app, trip_short_app, turnSignalsIcon, turn_signals, unselected, unselectedIcon, updateRefreshAppIcon, update_refresh_app, upload, uploadAppIcon, uploadCustomIcon, upload_app, usedCarCommercialIcon, usedCarPrivateIcon, used_car_commercial, used_car_private, vehicleAmarokIcon, vehicleCaddyIcon, vehicleConversionIcon, vehicleCrafterIcon, vehicleHightIcon, vehicleIdBuzzIcon, vehicleMultivanIcon, vehicleTransporterIcon, vehicle_amarok, vehicle_caddy, vehicle_crafter, vehicle_hight, vehicle_idbuzz, vehicle_multivan, vehicle_transporter, videoChatIcon, video_chat, view360Icon, view_360, vinIcon, virtualRealityIcon, virtual_reality, voiceMessageAppIcon, voice_message_app, volkswagenAppIcon, volkswagenIcon, volkswagen_app, volumeMaximumIcon, volumeMediumIcon, volumeMuteIcon, volume_maximum, volume_medium, volume_mute, vsfSearch48Icon, vsfSearchIcon, vwBrandIcon, vwConnectLicenseAppIcon, vw_connect_license_app, vwnBrandIcon, walkingAppIcon, walkingFilledAppIcon, walking_app, walking_filled_app, wallbox, wallboxIcon, wcAppIcon, wc_app, wcpIcon, weAssistAppIcon, weChargeAppIcon, weDeliverAppIcon, weExperienceAppIcon, weParkAppIcon, weUpgradeAppIcon, we_assist_app, we_charge_app, we_deliver_app, we_experience_app, we_park_app, we_upgrade_app, weatherSunAppIcon, weather_sun_app, wheelToWheelIcon, wheel_to_wheel, windscreenWashIcon, windscreen_wash, wlanHotspotIcon, wlan_hotspot, wrenchForwardIcon };
15596
+ export { ACShape, AcceptanceDateShape, AcceptedBrands, AccessoryPartsShape, AudiBrandShape, AwardWinnerPremiumShape, BIG_ENDIAN, BlocksGroupForwardShape, BundleForwardShape, BusinessCustomersCommercialShape, BusinessCustomersPrivateShape, BusinessPartnerWithCar, CLR_BLANK_OPTION, CONTENT_PROVIDER, CalculatorForwardShape, CaliforniaServiceShape, CampaignOutdatedShape, CampaignShape, CarOffSite, CarOnSite, CircleFilled, CircleHalfFilled, CircleQuarterFilled, CircleThreeQuartersFilled, ClrActionPanel, ClrActionPanelContainer, ClrActionPanelContainerContent, ClrActionPanelContainerFooter, ClrActionPanelModule, ClrActiveNotification, ClrAddonsLabel, ClrAddonsModule, ClrAutocompleteOff, ClrAutocompleteOffModule, ClrBackButton, ClrBackButtonModule, ClrBrandAvatar, ClrBrandAvatarModule, ClrBreadcrumb, ClrBreadcrumbModule, ClrBreadcrumbService, ClrCollapseExpandSection, ClrCollapseExpandSectionModule, ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter, ClrContentPanelModule, ClrContentRef, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridColumnReorderModule, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrExportDatagridButtonModule, ClrFlowBar, ClrFlowBarModule, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, ClrLetterAvatar, ClrLetterAvatarModule, ClrLocationBarModule, ClrMainNavGroup, ClrMainNavGroupItem, ClrMainNavGroupModule, ClrMaxNumeric, ClrMinNumeric, ClrMultilingualInput, ClrMultilingualInputValidators, ClrMultilingualModule, ClrMultilingualSelector, ClrMultilingualTextarea, ClrNotification, ClrNotificationModule, ClrNotificationRef, ClrNotificationService, ClrNumericField, ClrNumericFieldModule, ClrNumericFieldValidators, ClrPagedSearchResultList, ClrPagedSearchResultListModule, ClrPager, ClrPagerModule, ClrProgressSpinnerComponent, ClrProgressSpinnerModule, ClrQuickList, ClrQuickListModule, ClrReadonlyDirective, ClrReadonlyDirectiveModule, ClrRequiredAllMultilang, ClrRequiredOneMultilang, ClrSearchField, ClrSearchFieldModule, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableFilter, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrTreetableSortOrder, ClrTreetableStringFilter, ClrTreetableTreeNode, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridColumnReorderDirective, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, DynamicCellContentComponent, EnergyShape, ExportDatagridButtonComponent, ExportDatagridService, ExportTypeEnum, ExternalPartForwardShape, FirstRegistrationDate, GasCarsServiceShape, GasShape, HISTORY_NOTIFICATION_URL_PROVIDER, HISTORY_PROVIDER, HISTORY_TOKEN, HistoryProvider, InternalPartForwardShape, InvoiceReadyShape, InvoiceRecipient, InvoiceShape, ItemsForwardShape, ItemsReceiveShape, LITTLE_ENDIAN, LITTLE_ENDIAN_REGEX, LocationBarComponent, LocationBarContentProvider, LocationBarNode, LogoCommissionModule, LogoCommissionModuleFavIcon, LogoCommissionModuleNegative, LogoCommissionModuleNegativeFavIcon, LogoCostApproval, LogoCostApprovalFavIcon, LogoCostApprovalNegative, LogoCostApprovalNegativeFavIcon, LogoCostControlling, LogoCostControllingFavIcon, LogoCostControllingNegative, LogoCostControllingNegativeFavIcon, LogoDigitalServiceReception, LogoDigitalServiceReceptionFavIcon, LogoDigitalServiceReceptionNegative, LogoDigitalServiceReceptionNegativeFavIcon, LogoDocFlow, LogoDocFlowFavIcon, LogoDocFlowNegative, LogoDocFlowNegativeFavIcon, LogoDocScan, LogoDocScanFavIcon, LogoDocScanNegative, LogoDocScanNegativeFavIcon, LogoDocStore, LogoDocStoreFavIcon, LogoDocStoreNegative, LogoDocStoreNegativeFavIcon, LogoEBilling, LogoEBillingFavIcon, LogoEBillingNegative, LogoEBillingNegativeFavIcon, LogoEPayment, LogoEPaymentFavIcon, LogoEPaymentNegative, LogoEPaymentNegativeFavIcon, LogoMobilityPlanner, LogoMobilityPlannerFavIcon, LogoMobilityPlannerNegative, LogoMobilityPlannerNegativeFavIcon, LogoPartsMobile, LogoPartsMobileFavIcon, LogoPartsMobileNegative, LogoPartsMobileNegativeFavIcon, LogoSBO, LogoSBOFavIcon, LogoSBONegative, LogoSBONegativeFavIcon, LogoServiceCube, LogoServiceCubeFavIcon, LogoServiceCubeNegative, LogoServiceCubeNegativeFavIcon, LogoWCP, LogoWCPFavIcon, LogoWCPNegative, LogoWCPNegativeFavIcon, LogoWorkshopOrderTracker, LogoWorkshopOrderTrackerFavIcon, LogoWorkshopOrderTrackerNegative, LogoWorkshopOrderTrackerNegativeFavIcon, MIDDLE_ENDIAN, MIDDLE_ENDIAN_REGEX, MONTH, Mechanic, NewCarUtilityVehicleShape, NodeId, Number0, Number1, Number10, Number11, Number12, Number13, Number14, Number15, Number16, Number17, Number18, Number19, Number2, Number20, Number3, Number4, Number5, Number6, Number7, Number8, Number9, OrderShape, OrderStatusShape, PaintMaterialForwardShape, PaintMaterialShape, ParkingLocation, PartAvailabilityInfoShape, PartAvailabilityNoShape, PartAvailabilityUnknownShape, PartAvailabilityWarningShape, PartAvailabilityYesShape, PartIdenticalPredecessorShape, PartIdenticalShape, PartIdenticalSuccessorShape, PartIdenticalSuccpredecessorShape, PartNonStockForwardShape, PartPredecessorShape, PartSuccessorPredecessorShape, PartSuccessorShape, PartsChangelocation, PartsForwardShape, PartsInventory, PartsNonStockShape, PartsPicking, PartsPickingPlus, PartsReceiving, PartsShape, PlusServiceShape, PopoverPositions, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, ServiceAdvisor, SkodaBrandShape, Sort, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, TreetableDataStateService, TreetableHeaderRenderer, TreetableItemsDirective, TreetableMainRenderer, TreetableRowRenderer, USER_INPUT_REGEX, VWBrandShape, VWNBrandShape, VWShape, VehicleConversionShape, VinShape, VsfSearchShape, VsfSearchShape48, WCPShape, WrenchForward, YEAR, acceleration, accelerationIcon, acceptanceDateIcon, accessories, accessoriesIcon, accessoryPartsIcon, adblueAppIcon, adblue_app, add, addIcon, airConditionerIcon, air_conditioning, alert, alertFilledAppIcon, alertIcon, alertNotificationFilledAppIcon, alert_filled_app, alert_notification_filled_app, allIcons, ambientLightAppIcon, ambient_light_app, amplifier, amplifierIcon, appConnectAppIcon, app_connect_app, archive, archiveIcon, arrowDownIcon, arrowLeftAlignedAppIcon, arrowLeftIcon, arrowRightIcon, arrowSliderAppIcon, arrowUpIcon, arrow_down, arrow_left, arrow_left_aligned_app, arrow_right, arrow_slider_app, arrow_up, attachment, attachmentIcon, audiBrandIcon, authentPlugChargeAppIcon, authentQrAppIcon, authentRfidAppIcon, authentTouchidAppIcon, authent_plug_charge_app, authent_qr_app, authent_rfid_app, authent_touch_id_app, automaticTempAppIcon, automatic_temp_app, awardWinnerPremiumIcon, award_winner_premium, back, backIcon, battery, batteryIcon, batterySocChargingAppIcon, batterySocDepartureAppIcon, batterySocDestinationAppIcon, battery_soc_charging_app, battery_soc_departure_app, battery_soc_destination_app, bin, binIcon, blocksGroupForwardIcon, bluetooth, bluetoothIcon, bookmark, bookmarkFilledIcon, bookmarkIcon, bookmark_filled, brakeAppIcon, brake_app, brochure, brochureIcon, bulletpointAppIcon, bulletpoint_app, bundleForwardIcon, businessCustomersCommercialIcon, businessCustomersPrivateIcon, businessPartnerWithCarIcon, business_customers_commercial, business_customers_private, calc, calcIcon, calculatorForwardIcon, calendar, calendarCustomIcon, californiaServiceIcon, californiaSpecialistIcon, california_specialist, cameraScanIcon, camera_scan, campaignIcon, campaignOutdatedIcon, carDocumentsIcon, carErrorAppIcon, carInsuranceIcon, carOffSite, carOnSite, carPickupServiceIcon, carPlusIcon, carSettingsIcon, carVerifiedAppIcon, carWashIcon, carWheelAppIcon, car_documents, car_error_app, car_insurance, car_pickup_service, car_plus, car_settings, car_verified_app, car_wheel_app, carwash, certifiedRepairIcon, certifiedRetailerIcon, certified_repair, certified_retailer, challengeAppIcon, challenge_app, charging, chargingIcon, chargingPduAppIcon, chargingStationIcon, chargingTarifOverviewAppIcon, charging_pdu_app, charging_station, charging_tarif_overview_app, chat, chatAppIcon, chatIcon, chat_app, checkboxCheckedAppIcon, checkboxCheckedIcon, checkboxUncheckedAppIcon, checkboxUncheckedIcon, checkbox_checked, checkbox_checked_app, checkbox_unchecked, checkbox_unchecked_app, checkmark, checkmarkAppIcon, checkmarkFilledAppIcon, checkmarkIcon, checkmark_app, checkmark_filled_app, chevronDownIcon, chevronLeftAlignedappIcon, chevronLeftIcon, chevronRightAlignedappIcon, chevronRightIcon, chevronSmallLeftAlignedappIcon, chevronSmallRightAlignedappIcon, chevronUpIcon, chevron_down, chevron_left, chevron_left_alignedapp, chevron_right, chevron_right_alignedapp, chevron_small_left_alignedapp, chevron_small_right_alignedapp, chevron_up, circleFilledIcon, circleHalfFilledIcon, circleQuarterFilledIcon, circleThreeQuartersFilledIcon, city, cityIcon, clearAppIcon, clearRightAlignedappIcon, clear_app, clear_right_alignedapp, clock, clockIcon, close, closeAppIcon, closeCircleIcon, closeIcon, closeLeftAlignedappIcon, closeRightAlignedappIcon, close_app, close_circle, close_left_alignedapp, close_right_alignedapp, clrIconSVG, coffeeFilledAppIcon, coffee_filled_app, compassAppIcon, compass_app, completedByDateIcon, configuratorCommercialIcon, configuratorPrivateIcon, configurator_commercial, configurator_private, construction, constructionIcon, consumptionFuelFilledAppIcon, consumptionIcon, consumption_fuel, consumption_fuel_filled_app, contact, contactDealerFilledAppIcon, contactDealerIcon, contactIcon, contact_dealer, contact_dealer_filled_app, countryRoadIcon, country_road, craft, craftIcon, cupraBrandIcon, customerIcon, customerVipIcon, customerWaitingIcon, customersCenterIcon, customers_center, dataCopyAppIcon, dataExpiredIcon, dataFilledIcon, dataInputIcon, dataPlugAppIcon, dataSearchIcon, dataTimeExtensionIcon, data_copy_app, data_expired, data_filled, data_input, data_plug_app, data_search, data_time_extension, defogDefrostAutoAppIcon, defogDefrostIcon, defog_defrost, defog_defrost_auto_app, deliveryDateIcon, destinationAppIcon, destination_app, dieselIcon, direction, directionIcon, dischargingAppIcon, discharging_app, discountAppIcon, discount_app, discoveryAppIcon, discovery_app, dollarBillForwardIcon, dollarBillPartialIcon, download, downloadCustomIcon, dragIndicatorIcon, drag_indicator, driversAssistanceIcon, drivers_assistance, dropFilledAppIcon, drop_filled_app, dwaBrandIcon, eco, ecoIcon, edit, editIcon, editSmallRightAlignedAppIcon, edit_small_right_aligned_app, efficiency, efficiencyIcon, electricCarsIcon, electricCarsServiceIcon, electric_cars, electric_cars_service, electricity, electricityFilledAppIcon, electricityIcon, electricity_filled_app, emergency, emergencyIcon, emission, emissionIcon, energyIcon, engine, engineIcon, entertainment, entertainmentIcon, escapeHtml, escapeRegex, exportAppIcon, export_app, expressServiceIcon, express_service, exterior, exterior360Icon, exteriorIcon, exterior_360, externalPartForwardIcon, faq, faqIcon, fastForwardIcon, fast_forward, fax, faxIcon, filter, filterIcon, findACarIcon, findADealerIcon, find_a_car, find_a_dealer, firstRegistrationDateIcon, fleetServiceCommercialIcon, fleetServicePrivateIcon, fleet_service_commercial, fleet_service_private, folderFilledAppIcon, folder_filled_app, foodFilledAppIcon, food_filled_app, formatNumber, fullscreenEnterIcon, fullscreenExitIcon, fullscreen_enter, fullscreen_exit, gallery, galleryIcon, garageAppIcon, garage_app, gasAppIcon, gasCarsServiceIcon, gasIcon, gas_app, glassDamageAppIcon, glass_damage_app, gte, gteIcon, heart, heartFilledAppIcon, heartIcon, heart_filled_app, heightAppIcon, height_app, highwayRoadIcon, highway_road, history, historyIcon, homeAppIcon, homeEnergyAppIcon, homeFilledAppIcon, home_app, home_energy_app, home_filled_app, hornAppIcon, hornFilledAppIcon, horn_app, horn_filled_app, hybrid, hybridIcon, immediateChargingAppIcon, immediate_charging_app, info, infoFilledIcon, infoIcon, info_filled, inputHideIcon, inputShowIcon, input_hide, input_show, interior, interior360Icon, interiorIcon, interior_360, internalPartForwardIcon, internet, internetIcon, invitationAppIcon, invitation_app, invoiceIcon, invoiceReadyIcon, invoiceRecipientIcon, itemsForwardIcon, itemsRecieveIcon, jobportal, jobportalIcon, keyAppIcon, keyCardAppIcon, keyDigitalAppIcon, key_app, key_card_app, key_digital_app, keyboardAppIcon, keyboard_app, layerCollapseAppIcon, layerExpandAppIcon, layer_collapse_app, layer_expand_app, layersAppIcon, layers_app, legalTermsAndConditionsAppIcon, legal_terms_and_conditions_app, licencePlateAppIcon, licence_plate_app, lightAssistappIcon, light_assistapp, lightingAppIcon, lighting_app, linkExternAppIcon, link_extern_app, list, listIcon, loadingVolumeIcon, loading_volume, localBusinessIcon, local_business, locate, locateIcon, lock, lockIcon, lockOpenIcon, lock_open, login, loginIcon, logistic, logisticIcon, logoCommissionModuleFavIcon, logoCommissionModuleIcon, logoCommissionModuleNegativeFavIcon, logoCommissionModuleNegativeIcon, logoCostApprovalFavIcon, logoCostApprovalIcon, logoCostApprovalNegativeFavIcon, logoCostApprovalNegativeIcon, logoCrossControllingFavIcon, logoCrossControllingIcon, logoCrossControllingNegativeFavIcon, logoCrossControllingNegativeIcon, logoDigitalServiceReceptionFavIcon, logoDigitalServiceReceptionIcon, logoDigitalServiceReceptionNegativeFavIcon, logoDigitalServiceReceptionNegativeIcon, logoDocFlowFavIcon, logoDocFlowIcon, logoDocFlowNegativeFavIcon, logoDocFlowNegativeIcon, logoDocScanFavIcon, logoDocScanIcon, logoDocScanNegativeFavIcon, logoDocScanNegativeIcon, logoDocStoreFavIcon, logoDocStoreIcon, logoDocStoreNegativeFavIcon, logoDocStoreNegativeIcon, logoEBillingFavIcon, logoEBillingIcon, logoEBillingNegativeFavIcon, logoEBillingNegativeIcon, logoEPaymentFavIcon, logoEPaymentIcon, logoEPaymentNegativeFavIcon, logoEPaymentNegativeIcon, logoMobilityPlannerFavIcon, logoMobilityPlannerIcon, logoMobilityPlannerNegativeFavIcon, logoMobilityPlannerNegativeIcon, logoPartsMobileFavIcon, logoPartsMobileIcon, logoPartsMobileNegativeFavIcon, logoPartsMobileNegativeIcon, logoSBOFavIcon, logoSBOIcon, logoSBONegativeFavIcon, logoSBONegativeIcon, logoServiceCubeFavIcon, logoServiceCubeIcon, logoServiceCubeNegativeFavIcon, logoServiceCubeNegativeIcon, logoWCPFavIcon, logoWCPIcon, logoWCPNegativeFavIcon, logoWCPNegativeIcon, logoWorkshopOrderTrackerFavIcon, logoWorkshopOrderTrackerIcon, logoWorkshopOrderTrackerNegativeFavIcon, logoWorkshopOrderTrackerNegativeIcon, logout, logoutIcon, magnifier, magnifierIcon, magnifierMinusIcon, magnifierPlusIcon, magnifier_minus, magnifier_plus, mail, mailIcon, mailResendAppIcon, mail_resend_app, manual, manualIcon, map, mapIcon, mapToInternalTree, mechanicIcon, media, mediaIcon, menu, menuAppAppIcon, menuIcon, menu_app_app, microphoneAppIcon, microphone_app, mobile, mobileIcon, moreAppIcon, moreAppbarAppIcon, more_app, more_appbar_app, mot, motIcon, motability, motabilityIcon, navigate, navigateFilledAppIcon, navigateIcon, navigate_filled_app, newCarCommercialIcon, newCarPrivateFilledAppIcon, newCarPrivateIcon, newCarUtilityVehicleIcon, new_car_commercial, new_car_private, new_car_private_filled_app, nightServiceIcon, night_service, notification, notificationFilledIcon, notificationIcon, notification_filled, number0Icon, number10Icon, number11Icon, number12Icon, number13Icon, number14Icon, number15Icon, number16Icon, number17Icon, number18Icon, number19Icon, number1Icon, number20Icon, number2Icon, number3Icon, number4Icon, number5Icon, number6Icon, number7Icon, number8Icon, number9Icon, offers, offersFilledAppIcon, offersIcon, offers_filled_app, officeAppIcon, officeFilledAppIcon, office_app, office_filled_app, oilLevelIcon, oilLevelWarningIcon, oilTemperatureAppIcon, oil_level, oil_level_warning, oil_temperature_app, onCallDutyIcon, on_call_duty, openSatIcon, open_sat, orderIcon, orderStatusIcon, paintMaterialForwardIcon, paintMaterialIcon, paintShopIcon, paint_shop, paragraphAppIcon, paragraph_app, parkHeaterAppIcon, park_heater_app, parking, parkingFilledAppIcon, parkingGarageAppIcon, parkingIcon, parkingLocationIcon, parkingRouteAppIcon, parkingValetAppIcon, parking_filled_app, parking_garage_app, parking_route_app, parking_valet_app, partAvailabilityInfoIcon, partAvailabilityNoIcon, partAvailabilityUnknownIcon, partAvailabilityWarningIcon, partAvailabilityYesIcon, partIdenticalIcon, partIdenticalPredecessorIcon, partIdenticalSuccessorIcon, partIdenticalSuccpredecessorIcon, partPredecessorIcon, partSuccessorIcon, partSuccessorPredecessorIcon, partsChangelocationIcon, partsForwardIcon, partsIcon, partsInventoryIcon, partsNonStockForwardIcon, partsNonStockIcon, partsPickingIcon, partsPickingPlusIcon, partsReceivingIcon, pause, pauseIcon, payload, payloadIcon, paymentAppIcon, paymentCashAppIcon, paymentChargingCardAppIcon, paymentCreditcardAppIcon, paymentMachineAppIcon, payment_app, payment_cash_app, payment_charging_card_app, payment_creditcard_app, payment_machine_app, performance, performanceIcon, petrol, petrolIcon, phone, phoneIcon, pin, pinFilledAppIcon, pinGenericFilledAppIcon, pinIcon, pin_filled_app, pin_generic_filled_app, play, playIcon, plugCcsAppIcon, plugChademoAppIcon, plugChargeAppIcon, plugGenericAppIcon, plugSchukoAppIcon, plugType1AppIcon, plugType2AppIcon, plug_ccs_app, plug_chademo_app, plug_charge_app, plug_generic_app, plug_schuko_app, plug_type1_app, plug_type2_app, plusServiceIcon, porscheBrandIcon, power, powerIcon, powerTrainIcon, powertrain, preHeaterAppIcon, pre_heater_app, preciseLaneNavigationAppIcon, precise_lane_navigation_app, presentAppIcon, present_app, priceTypeSwitchIcon, printer, printerIcon, privacyAppIcon, privacy_app, profile, profileIcon, profileRegisterAppIcon, profileVerifiedIcon, profile_register_app, profile_verified, publicServiceIcon, publicTransportAppIcon, public_service, public_transport_app, qualifiedWorkshopIcon, qualified_workshop, questionnaireAppIcon, questionnaire_app, radio, radioButtonInselectedIcon, radioButtonSelectedForDefIcon, radioButtonSelectedIcon, radioIcon, radio_button_inselected, radio_button_selected, radio_button_selected_for_development, range, rangeIcon, reload, reloadIcon, remove, removeIcon, repeat, repeatIcon, repeatRepairIcon, replacementVehicleIcon, returnDateIcon, rewind, rewindIcon, roadsideAssistanceIcon, roadside_assistance, route, routeArrowAppIcon, routeIcon, route_arrow_app, routesHistoryAppIcon, routes_history_app, rss, rssIcon, safety, safetyIcon, save, saveAppIcon, saveIcon, save_app, seat, seatAirIcon, seatBrandIcon, seatIcon, seat_air, secretTipAppIcon, secretTipFilledAppIcon, secret_tip_app, secret_tip_filled_app, selected, selectedIcon, selectedPartnerNetworkAppIcon, selected_partner_network_app, sendToCarAppIcon, send_to_car_app, service, serviceAdvisorIcon, serviceBellIcon, serviceFilledAppIcon, serviceIcon, service_bell, service_filled_app, settings, settingsIcon, shareAndroidIcon, shareIosIcon, share_android, share_ios, shoppingCartFilledAppIcon, shoppingCartIcon, shopping_cart, shopping_cart_filled_app, shuffle, shuffleIcon, size, sizeIcon, skillAppIcon, skill_app, skipBackwardIcon, skipForwardIcon, skip_backward, skip_forward, skodaBrandIcon, softwareDownloadAppIcon, software_download_app, sortingAppIcon, sorting_app, sound, soundIcon, standardEquipmentIcon, standard_equipment, starFilledIcon, starOutlineIcon, star_filled, star_outline, statisticAppIcon, statistic_app, stockLocatorCommercialIcon, stockLocatorPrivateIcon, stock_locator_commercial, stock_locator_private, stop, stopIcon, strip, switchPositionAppIcon, switch_position_app, syncAppIcon, sync_app, taskAndAppointmentIcon, taxiDealerIcon, taxi_dealer, technicalSpecificationIcon, technical_specification, temperatureAppIcon, temperature_app, testDriveIcon, test_drive, textForwardIcon, thumbsdownAppIcon, thumbsdownFilledAppIcon, thumbsdown_app, thumbsdown_filled_app, thumbsupAppIcon, thumbsupFilledAppIcon, thumbsup_app, thumbsup_filled_app, timeClimatisationAppIcon, timePreferredAppIcon, time_climatisation_app, time_preferred_app, timer, timerIcon, topcardIcon, touaregServiceIcon, transcriptDownloadIcon, transcript_download, transmissionAutomaticIcon, transmissionManualIcon, transmission_automatic, transmission_manual, tripAppIcon, tripLongAppIcon, tripPartedAppIcon, tripShortAppIcon, trip_app, trip_long_app, trip_parted_app, trip_short_app, turnSignalsIcon, turn_signals, unselected, unselectedIcon, updateRefreshAppIcon, update_refresh_app, upload, uploadAppIcon, uploadCustomIcon, upload_app, usedCarCommercialIcon, usedCarPrivateIcon, used_car_commercial, used_car_private, vehicleAmarokIcon, vehicleCaddyIcon, vehicleConversionIcon, vehicleCrafterIcon, vehicleHightIcon, vehicleIdBuzzIcon, vehicleMultivanIcon, vehicleTransporterIcon, vehicle_amarok, vehicle_caddy, vehicle_crafter, vehicle_hight, vehicle_idbuzz, vehicle_multivan, vehicle_transporter, videoChatIcon, video_chat, view360Icon, view_360, vinIcon, virtualRealityIcon, virtual_reality, voiceMessageAppIcon, voice_message_app, volkswagenAppIcon, volkswagenIcon, volkswagen_app, volumeMaximumIcon, volumeMediumIcon, volumeMuteIcon, volume_maximum, volume_medium, volume_mute, vsfSearch48Icon, vsfSearchIcon, vwBrandIcon, vwConnectLicenseAppIcon, vw_connect_license_app, vwnBrandIcon, walkingAppIcon, walkingFilledAppIcon, walking_app, walking_filled_app, wallbox, wallboxIcon, wcAppIcon, wc_app, wcpIcon, weAssistAppIcon, weChargeAppIcon, weDeliverAppIcon, weExperienceAppIcon, weParkAppIcon, weUpgradeAppIcon, we_assist_app, we_charge_app, we_deliver_app, we_experience_app, we_park_app, we_upgrade_app, weatherSunAppIcon, weather_sun_app, wheelToWheelIcon, wheel_to_wheel, windscreenWashIcon, windscreen_wash, wlanHotspotIcon, wlan_hotspot, wrenchForwardIcon };
15027
15597
  //# sourceMappingURL=clr-addons.mjs.map