@indigina/ui-kit 1.1.141 → 1.1.143

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, input, EventEmitter, ViewEncapsulation, Output, NgModule, effect, inject, ElementRef, NgZone, Renderer2, Directive, forwardRef, signal, TemplateRef, ContentChild, ViewChild, HostListener, Injectable, output, Host, Self, Inject, model, contentChildren, viewChild, ContentChildren, computed, contentChild, InjectionToken } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, input, EventEmitter, ViewEncapsulation, Output, NgModule, effect, inject, ElementRef, NgZone, Renderer2, Directive, forwardRef, signal, TemplateRef, ContentChild, ViewChild, HostListener, Injectable, output, Host, Self, Inject, model, viewChild, computed, contentChildren, ContentChildren, contentChild, InjectionToken } from '@angular/core';
3
3
  import * as i1 from '@progress/kendo-angular-buttons';
4
4
  import { ButtonModule, ButtonGroupModule } from '@progress/kendo-angular-buttons';
5
5
  import * as i1$1 from '@angular/common';
@@ -7,7 +7,7 @@ import { CommonModule, NgClass, DOCUMENT, NgTemplateOutlet, DatePipe, TitleCaseP
7
7
  import * as i1$2 from '@progress/kendo-angular-label';
8
8
  import { LabelModule } from '@progress/kendo-angular-label';
9
9
  import { TooltipDirective, TooltipSettings } from '@progress/kendo-angular-tooltip';
10
- import * as i1$9 from '@progress/kendo-angular-popup';
10
+ import * as i1$a from '@progress/kendo-angular-popup';
11
11
  import { PopupService } from '@progress/kendo-angular-popup';
12
12
  import * as i1$5 from '@angular/forms';
13
13
  import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule, UntypedFormControl, Validators } from '@angular/forms';
@@ -15,7 +15,7 @@ import * as i1$3 from '@progress/kendo-angular-inputs';
15
15
  import { TextBoxModule, NumericTextBoxModule, InputsModule, CheckBoxModule, SwitchModule, RadioButtonModule } from '@progress/kendo-angular-inputs';
16
16
  import '@progress/kendo-angular-intl/locales/en-GB/all';
17
17
  import * as i1$4 from '@progress/kendo-angular-dropdowns';
18
- import { DropDownListModule, DropDownsModule, MultiSelectModule } from '@progress/kendo-angular-dropdowns';
18
+ import { DropDownListModule, DropDownsModule, MultiSelectComponent, MultiSelectModule } from '@progress/kendo-angular-dropdowns';
19
19
  import * as i2 from '@progress/kendo-angular-dateinputs';
20
20
  import { DateInputsModule, DateRangePopupComponent, DateRangeService, TimePickerModule, DateTimePickerModule } from '@progress/kendo-angular-dateinputs';
21
21
  import { trigger, transition, style, animate, state } from '@angular/animations';
@@ -23,7 +23,7 @@ import * as i1$6 from 'ngx-toastr';
23
23
  import { ToastrModule, TOAST_CONFIG, DefaultGlobalConfig } from 'ngx-toastr';
24
24
  import * as i2$1 from '@angular/router';
25
25
  import { RouterModule, NavigationEnd, RouterLink } from '@angular/router';
26
- import { BehaviorSubject, filter, of, tap, map, combineLatest, combineLatestWith, distinctUntilChanged, debounceTime } from 'rxjs';
26
+ import { BehaviorSubject, filter, Subject, startWith, pairwise, takeUntil, of, tap, map, combineLatest, combineLatestWith, distinctUntilChanged, debounceTime } from 'rxjs';
27
27
  import { v4 } from 'uuid';
28
28
  import * as i1$7 from '@progress/kendo-angular-dialog';
29
29
  import { KENDO_DIALOGS, DialogActionsComponent, DialogContentBase, DialogCloseResult, DialogRef } from '@progress/kendo-angular-dialog';
@@ -36,6 +36,8 @@ import * as i1$b from '@angular/common/http';
36
36
  import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
37
37
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
38
38
  import initials from 'initials';
39
+ import * as i1$9 from '@ngx-translate/core';
40
+ import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
39
41
  import * as i2$3 from '@progress/kendo-angular-layout';
40
42
  import { LayoutModule, TileLayoutModule } from '@progress/kendo-angular-layout';
41
43
  import * as i2$4 from '@progress/kendo-angular-grid';
@@ -46,8 +48,6 @@ import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
46
48
  import * as i2$5 from '@progress/kendo-angular-sortable';
47
49
  import { KENDO_SORTABLE } from '@progress/kendo-angular-sortable';
48
50
  import { toODataString } from '@progress/kendo-data-query';
49
- import * as i1$a from '@ngx-translate/core';
50
- import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
51
51
  import { __decorate } from 'tslib';
52
52
  import * as i1$c from '@ngxs/store';
53
53
  import { StateToken, Action, State, createSelector, Selector } from '@ngxs/store';
@@ -4307,8 +4307,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
4307
4307
  }] });
4308
4308
 
4309
4309
  class KitMultiselectComponent {
4310
- constructor(elementRef) {
4310
+ get canAddAllAsOption() {
4311
+ return this.shouldAddAllAsOption() && !!this.items.length;
4312
+ }
4313
+ get isAllAsOptionAdded() {
4314
+ return this.items[0]?.value === this.allOption().value;
4315
+ }
4316
+ get hasSelectedAllOption() {
4317
+ return !!this.selectedItems?.some(item => item === this.allOption().value);
4318
+ }
4319
+ get allEnabledItems() {
4320
+ return this.items.filter(item => !item.disabled).map(item => item.value);
4321
+ }
4322
+ constructor(elementRef, translateService) {
4311
4323
  this.elementRef = elementRef;
4324
+ this.translateService = translateService;
4312
4325
  /**
4313
4326
  * An items list which is going to be rendered as multiselect items
4314
4327
  */
@@ -4317,10 +4330,13 @@ class KitMultiselectComponent {
4317
4330
  * Determines whether to close the popup of the multiSelect after the item selection, false by default
4318
4331
  */
4319
4332
  this.autoClose = false;
4333
+ this.shouldAddAllAsOption = input(false);
4334
+ this.allOptionLabel = input();
4320
4335
  /**
4321
4336
  * An action which is emitted when value is changed
4322
4337
  */
4323
4338
  this.changed = new EventEmitter();
4339
+ this.multiselect = viewChild.required(MultiSelectComponent);
4324
4340
  /**
4325
4341
  * Settings for the multiselect popup
4326
4342
  */
@@ -4328,6 +4344,11 @@ class KitMultiselectComponent {
4328
4344
  popupClass: 'kit-multiselect-popup',
4329
4345
  };
4330
4346
  this.KitSvgIcon = KitSvgIcon;
4347
+ this.allOption = computed(() => ({
4348
+ text: this.allOptionLabel() ?? this.translateService.instant('kit.multiselect.all'),
4349
+ value: 'all',
4350
+ }));
4351
+ this.destroy$ = new Subject();
4331
4352
  /**
4332
4353
  * Function that should be called every time the form control value changes
4333
4354
  */
@@ -4341,6 +4362,29 @@ class KitMultiselectComponent {
4341
4362
  }
4342
4363
  ngOnInit() {
4343
4364
  this.elementRef.nativeElement.querySelector('.k-input-inner').readonly = true;
4365
+ this.subscribeToValueChanges();
4366
+ }
4367
+ ngOnChanges({ items, selectedItems, shouldAddAllAsOption }) {
4368
+ if (items || shouldAddAllAsOption) {
4369
+ if (!this.isAllAsOptionAdded && this.canAddAllAsOption) {
4370
+ this.addAllAsOption();
4371
+ }
4372
+ else if ((this.isAllAsOptionAdded || this.hasSelectedAllOption) && !this.canAddAllAsOption) {
4373
+ this.removeAllAsOption();
4374
+ }
4375
+ }
4376
+ if (selectedItems && this.shouldAddAllAsOption() && this.isAllAsOptionAdded) {
4377
+ if (selectedItems.currentValue.length + 1 === this.allEnabledItems.length) {
4378
+ this.selectedItems = [
4379
+ this.allOption().value,
4380
+ ...selectedItems.currentValue,
4381
+ ];
4382
+ }
4383
+ }
4384
+ }
4385
+ ngOnDestroy() {
4386
+ this.destroy$.next();
4387
+ this.destroy$.complete();
4344
4388
  }
4345
4389
  onItemDisabled() {
4346
4390
  return context => !!context.dataItem.disabled && context.dataItem.disabled(context.dataItem);
@@ -4362,12 +4406,61 @@ class KitMultiselectComponent {
4362
4406
  setDisabledState(disabled) {
4363
4407
  this.disabled = disabled;
4364
4408
  }
4365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitMultiselectComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
4366
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitMultiselectComponent, isStandalone: false, selector: "kit-multiselect", inputs: { items: "items", selectedItems: "selectedItems", label: "label", disabled: "disabled", placeholder: "placeholder", autoClose: "autoClose", messageIcon: "messageIcon", messageText: "messageText" }, outputs: { changed: "changed" }, providers: [{
4409
+ addAllAsOption() {
4410
+ this.items = [
4411
+ this.allOption(),
4412
+ ...this.items,
4413
+ ];
4414
+ if (this.selectedItems && (this.selectedItems.length + 1 === this.allEnabledItems.length)) {
4415
+ this.selectedItems = [
4416
+ this.allOption().value,
4417
+ ...this.selectedItems,
4418
+ ];
4419
+ }
4420
+ }
4421
+ removeAllAsOption() {
4422
+ this.items = this.items.filter(item => item.value !== this.allOption().value);
4423
+ this.selectedItems = this.selectedItems?.filter(item => item !== this.allOption().value);
4424
+ }
4425
+ subscribeToValueChanges() {
4426
+ this.multiselect().valueChange.pipe(startWith(this.selectedItems ?? []), pairwise(), takeUntil(this.destroy$)).subscribe(([prevSelection, currSelection,]) => {
4427
+ const individualValuesSelected = currSelection.filter(item => item !== this.allOption().value);
4428
+ if (this.shouldAddAllAsOption()) {
4429
+ const isAllOptionSelected = currSelection.includes(this.allOption().value);
4430
+ const wasAllOptionSelected = prevSelection.includes(this.allOption().value);
4431
+ if (!wasAllOptionSelected && isAllOptionSelected) {
4432
+ this.selectedItems = this.allEnabledItems;
4433
+ this.multiselect().valueChange.emit(this.selectedItems);
4434
+ return;
4435
+ }
4436
+ if (wasAllOptionSelected && !isAllOptionSelected && currSelection.length + 1 === this.allEnabledItems.length) {
4437
+ this.selectedItems = [];
4438
+ this.multiselect().valueChange.emit([]);
4439
+ return;
4440
+ }
4441
+ if (wasAllOptionSelected && isAllOptionSelected && currSelection.length < prevSelection.length) {
4442
+ this.selectedItems = currSelection.filter(value => value !== this.allOption().value);
4443
+ this.multiselect().valueChange.emit(this.selectedItems);
4444
+ return;
4445
+ }
4446
+ if (!wasAllOptionSelected && individualValuesSelected.length + 1 === this.allEnabledItems.length) {
4447
+ this.selectedItems = [
4448
+ this.allOption().value,
4449
+ ...individualValuesSelected,
4450
+ ];
4451
+ this.multiselect().valueChange.emit(this.selectedItems);
4452
+ return;
4453
+ }
4454
+ }
4455
+ this.onValueChange(individualValuesSelected);
4456
+ });
4457
+ }
4458
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitMultiselectComponent, deps: [{ token: i0.ElementRef }, { token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
4459
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitMultiselectComponent, isStandalone: false, selector: "kit-multiselect", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: false, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: false, isRequired: false, transformFunction: null }, messageText: { classPropertyName: "messageText", publicName: "messageText", isSignal: false, isRequired: false, transformFunction: null }, shouldAddAllAsOption: { classPropertyName: "shouldAddAllAsOption", publicName: "shouldAddAllAsOption", isSignal: true, isRequired: false, transformFunction: null }, allOptionLabel: { classPropertyName: "allOptionLabel", publicName: "allOptionLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, providers: [{
4367
4460
  provide: NG_VALUE_ACCESSOR,
4368
4461
  useExisting: forwardRef(() => KitMultiselectComponent),
4369
4462
  multi: true,
4370
- }], ngImport: i0, template: "<div class=\"kit-multiselect\"\n [class.disabled]=\"disabled\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"multiselect\"\n ></kit-input-label>\n }\n <kendo-multiselect #multiselect\n valueField=\"value\"\n textField=\"text\"\n [data]=\"items\"\n [disabled]=\"disabled\"\n [autoClose]=\"autoClose\"\n [placeholder]=\"placeholder\"\n [valuePrimitive]=\"true\"\n [itemDisabled]=\"onItemDisabled()\"\n [popupSettings]=\"popupSettings\"\n [(ngModel)]=\"selectedItems\"\n (valueChange)=\"onValueChange($event)\">\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span class=\"chip-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"chip-icon\"\n [icon]=\"KitSvgIcon.CROSS\"\n ></kit-svg-icon>\n </ng-template>\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"option-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"option-icon\"\n [icon]=\"KitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </ng-template>\n </kendo-multiselect>\n\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-multiselect .label{display:block;margin-bottom:4px}.kit-multiselect .k-multiselect{width:100%;min-height:40px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-multiselect .k-multiselect:hover{border-color:var(--ui-kit-color-hover)}.kit-multiselect .k-multiselect.k-focus{box-shadow:none}.kit-multiselect .k-input-inner{padding:0;font-size:14px;font-weight:400}.kit-multiselect .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-input-values{padding:7px 12px}.kit-multiselect .k-chip{display:flex;align-items:center;position:relative;padding:0 8px;height:24px;border:1px solid var(--ui-kit-color-grey-11);border-radius:4px;background:var(--ui-kit-color-grey-13)}.kit-multiselect .k-chip-label{display:flex;align-items:center;gap:4px;line-height:1}.kit-multiselect .k-chip-actions{position:absolute;right:8px;width:12px;height:12px;opacity:0}.kit-multiselect .k-chip-list{display:flex;flex-wrap:wrap;gap:8px}.kit-multiselect .k-chip-action{display:flex;padding:0;cursor:pointer}.kit-multiselect .k-chip-content:has(+.k-chip-actions:hover) .chip-icon{stroke:var(--ui-kit-color-main)}.kit-multiselect .k-chip .chip-text{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500}.kit-multiselect .k-chip .chip-icon{display:block;width:12px;height:12px;stroke:var(--ui-kit-color-grey-12);cursor:pointer}.kit-multiselect .k-chip .k-icon{width:12px;height:12px}.kit-multiselect .k-clear-value{margin-right:12px;padding:0;opacity:1;color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-clear-value:hover{color:var(--ui-kit-color-main)}.kit-multiselect.disabled .k-multiselect{opacity:1;filter:none;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect.disabled .chip-text{color:var(--ui-kit-color-grey-12)}.kit-multiselect:focus-within .k-multiselect{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-multiselect-popup{margin-top:10px;padding:4px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-multiselect-popup .k-list-item{padding:6px 12px;background-color:var(--ui-kit-color-white);font-size:14px;font-weight:400;box-shadow:none;border-radius:4px;color:var(--ui-kit-color-grey-10)}.kit-multiselect-popup .k-list-item:hover{color:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item .option-icon{display:none;width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-multiselect-popup .k-list-item.k-selected{display:flex;align-items:center;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect-popup .k-list-item.k-selected .option-text{flex:1}.kit-multiselect-popup .k-list-item.k-selected .option-icon{display:block}\n"], dependencies: [{ kind: "component", type: i1$4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "inputAttributes"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i1$4.TagTemplateDirective, selector: "[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]" }, { kind: "directive", type: i1$4.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitInputMessageComponent, selector: "kit-input-message", inputs: ["icon", "message"] }, { kind: "component", type: KitInputLabelComponent, selector: "kit-input-label", inputs: ["text", "for", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4463
+ }], viewQueries: [{ propertyName: "multiselect", first: true, predicate: MultiSelectComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"kit-multiselect\"\n [class.disabled]=\"disabled\"\n [class.all-option-selected]=\"hasSelectedAllOption\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"multiselect\"\n ></kit-input-label>\n }\n <kendo-multiselect #multiselect\n valueField=\"value\"\n textField=\"text\"\n [data]=\"items\"\n [disabled]=\"disabled\"\n [autoClose]=\"autoClose\"\n [placeholder]=\"placeholder\"\n [valuePrimitive]=\"true\"\n [itemDisabled]=\"onItemDisabled()\"\n [popupSettings]=\"popupSettings\"\n [(ngModel)]=\"selectedItems\">\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span class=\"chip-text\"\n [class.all-option]=\"dataItem.value === allOption().value\">\n {{ dataItem?.text }}\n </span>\n <kit-svg-icon class=\"chip-icon\"\n [icon]=\"KitSvgIcon.CROSS\"\n ></kit-svg-icon>\n </ng-template>\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"option-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"option-icon\"\n [icon]=\"KitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </ng-template>\n </kendo-multiselect>\n\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-multiselect .label{display:block;margin-bottom:4px}.kit-multiselect .k-multiselect{width:100%;min-height:40px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-multiselect .k-multiselect:hover{border-color:var(--ui-kit-color-hover)}.kit-multiselect .k-multiselect.k-focus{box-shadow:none}.kit-multiselect .k-input-inner{padding:0;font-size:14px;font-weight:400}.kit-multiselect .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-input-values{padding:7px 12px}.kit-multiselect .k-chip{display:flex;align-items:center;position:relative;padding:0 8px;height:24px;border:1px solid var(--ui-kit-color-grey-11);border-radius:4px;background:var(--ui-kit-color-grey-13)}.kit-multiselect .k-chip-label{display:flex;align-items:center;gap:4px;line-height:1}.kit-multiselect .k-chip-actions{position:absolute;right:8px;width:12px;height:12px;opacity:0}.kit-multiselect .k-chip-list{display:flex;flex-wrap:wrap;gap:8px}.kit-multiselect .k-chip-action{display:flex;padding:0;cursor:pointer}.kit-multiselect .k-chip-content:has(+.k-chip-actions:hover) .chip-icon{stroke:var(--ui-kit-color-main)}.kit-multiselect .k-chip .chip-text{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500}.kit-multiselect .k-chip .chip-icon{display:block;width:12px;height:12px;stroke:var(--ui-kit-color-grey-12);cursor:pointer}.kit-multiselect .k-chip .k-icon{width:12px;height:12px}.kit-multiselect .k-chip:has(.chip-text.all-option){display:flex}.kit-multiselect .k-clear-value{margin-right:12px;padding:0;opacity:1;color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-clear-value:hover{color:var(--ui-kit-color-main)}.kit-multiselect.disabled .k-multiselect{opacity:1;filter:none;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect.disabled .chip-text{color:var(--ui-kit-color-grey-12)}.kit-multiselect:focus-within .k-multiselect{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-multiselect.all-option-selected .k-chip{display:none}.kit-multiselect-popup{margin-top:10px;padding:4px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-multiselect-popup .k-list-item{padding:6px 12px;background-color:var(--ui-kit-color-white);font-size:14px;font-weight:400;box-shadow:none;border-radius:4px;color:var(--ui-kit-color-grey-10)}.kit-multiselect-popup .k-list-item:hover{color:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item .option-icon{display:none;width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-multiselect-popup .k-list-item.k-selected{display:flex;align-items:center;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect-popup .k-list-item.k-selected .option-text{flex:1}.kit-multiselect-popup .k-list-item.k-selected .option-icon{display:block}\n"], dependencies: [{ kind: "component", type: i1$4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "inputAttributes"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i1$4.TagTemplateDirective, selector: "[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]" }, { kind: "directive", type: i1$4.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitInputMessageComponent, selector: "kit-input-message", inputs: ["icon", "message"] }, { kind: "component", type: KitInputLabelComponent, selector: "kit-input-label", inputs: ["text", "for", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4371
4464
  }
4372
4465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitMultiselectComponent, decorators: [{
4373
4466
  type: Component,
@@ -4375,8 +4468,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
4375
4468
  provide: NG_VALUE_ACCESSOR,
4376
4469
  useExisting: forwardRef(() => KitMultiselectComponent),
4377
4470
  multi: true,
4378
- }], standalone: false, template: "<div class=\"kit-multiselect\"\n [class.disabled]=\"disabled\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"multiselect\"\n ></kit-input-label>\n }\n <kendo-multiselect #multiselect\n valueField=\"value\"\n textField=\"text\"\n [data]=\"items\"\n [disabled]=\"disabled\"\n [autoClose]=\"autoClose\"\n [placeholder]=\"placeholder\"\n [valuePrimitive]=\"true\"\n [itemDisabled]=\"onItemDisabled()\"\n [popupSettings]=\"popupSettings\"\n [(ngModel)]=\"selectedItems\"\n (valueChange)=\"onValueChange($event)\">\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span class=\"chip-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"chip-icon\"\n [icon]=\"KitSvgIcon.CROSS\"\n ></kit-svg-icon>\n </ng-template>\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"option-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"option-icon\"\n [icon]=\"KitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </ng-template>\n </kendo-multiselect>\n\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-multiselect .label{display:block;margin-bottom:4px}.kit-multiselect .k-multiselect{width:100%;min-height:40px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-multiselect .k-multiselect:hover{border-color:var(--ui-kit-color-hover)}.kit-multiselect .k-multiselect.k-focus{box-shadow:none}.kit-multiselect .k-input-inner{padding:0;font-size:14px;font-weight:400}.kit-multiselect .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-input-values{padding:7px 12px}.kit-multiselect .k-chip{display:flex;align-items:center;position:relative;padding:0 8px;height:24px;border:1px solid var(--ui-kit-color-grey-11);border-radius:4px;background:var(--ui-kit-color-grey-13)}.kit-multiselect .k-chip-label{display:flex;align-items:center;gap:4px;line-height:1}.kit-multiselect .k-chip-actions{position:absolute;right:8px;width:12px;height:12px;opacity:0}.kit-multiselect .k-chip-list{display:flex;flex-wrap:wrap;gap:8px}.kit-multiselect .k-chip-action{display:flex;padding:0;cursor:pointer}.kit-multiselect .k-chip-content:has(+.k-chip-actions:hover) .chip-icon{stroke:var(--ui-kit-color-main)}.kit-multiselect .k-chip .chip-text{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500}.kit-multiselect .k-chip .chip-icon{display:block;width:12px;height:12px;stroke:var(--ui-kit-color-grey-12);cursor:pointer}.kit-multiselect .k-chip .k-icon{width:12px;height:12px}.kit-multiselect .k-clear-value{margin-right:12px;padding:0;opacity:1;color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-clear-value:hover{color:var(--ui-kit-color-main)}.kit-multiselect.disabled .k-multiselect{opacity:1;filter:none;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect.disabled .chip-text{color:var(--ui-kit-color-grey-12)}.kit-multiselect:focus-within .k-multiselect{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-multiselect-popup{margin-top:10px;padding:4px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-multiselect-popup .k-list-item{padding:6px 12px;background-color:var(--ui-kit-color-white);font-size:14px;font-weight:400;box-shadow:none;border-radius:4px;color:var(--ui-kit-color-grey-10)}.kit-multiselect-popup .k-list-item:hover{color:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item .option-icon{display:none;width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-multiselect-popup .k-list-item.k-selected{display:flex;align-items:center;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect-popup .k-list-item.k-selected .option-text{flex:1}.kit-multiselect-popup .k-list-item.k-selected .option-icon{display:block}\n"] }]
4379
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { items: [{
4471
+ }], standalone: false, template: "<div class=\"kit-multiselect\"\n [class.disabled]=\"disabled\"\n [class.all-option-selected]=\"hasSelectedAllOption\">\n @if (label) {\n <kit-input-label class=\"label\"\n [text]=\"label\"\n [for]=\"multiselect\"\n ></kit-input-label>\n }\n <kendo-multiselect #multiselect\n valueField=\"value\"\n textField=\"text\"\n [data]=\"items\"\n [disabled]=\"disabled\"\n [autoClose]=\"autoClose\"\n [placeholder]=\"placeholder\"\n [valuePrimitive]=\"true\"\n [itemDisabled]=\"onItemDisabled()\"\n [popupSettings]=\"popupSettings\"\n [(ngModel)]=\"selectedItems\">\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span class=\"chip-text\"\n [class.all-option]=\"dataItem.value === allOption().value\">\n {{ dataItem?.text }}\n </span>\n <kit-svg-icon class=\"chip-icon\"\n [icon]=\"KitSvgIcon.CROSS\"\n ></kit-svg-icon>\n </ng-template>\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\n <span class=\"option-text\">{{ dataItem?.text }}</span>\n <kit-svg-icon class=\"option-icon\"\n [icon]=\"KitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </ng-template>\n </kendo-multiselect>\n\n @if (messageText) {\n <kit-input-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-input-message>\n }\n</div>\n", styles: [".kit-multiselect .label{display:block;margin-bottom:4px}.kit-multiselect .k-multiselect{width:100%;min-height:40px;border-radius:8px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-multiselect .k-multiselect:hover{border-color:var(--ui-kit-color-hover)}.kit-multiselect .k-multiselect.k-focus{box-shadow:none}.kit-multiselect .k-input-inner{padding:0;font-size:14px;font-weight:400}.kit-multiselect .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-input-values{padding:7px 12px}.kit-multiselect .k-chip{display:flex;align-items:center;position:relative;padding:0 8px;height:24px;border:1px solid var(--ui-kit-color-grey-11);border-radius:4px;background:var(--ui-kit-color-grey-13)}.kit-multiselect .k-chip-label{display:flex;align-items:center;gap:4px;line-height:1}.kit-multiselect .k-chip-actions{position:absolute;right:8px;width:12px;height:12px;opacity:0}.kit-multiselect .k-chip-list{display:flex;flex-wrap:wrap;gap:8px}.kit-multiselect .k-chip-action{display:flex;padding:0;cursor:pointer}.kit-multiselect .k-chip-content:has(+.k-chip-actions:hover) .chip-icon{stroke:var(--ui-kit-color-main)}.kit-multiselect .k-chip .chip-text{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500}.kit-multiselect .k-chip .chip-icon{display:block;width:12px;height:12px;stroke:var(--ui-kit-color-grey-12);cursor:pointer}.kit-multiselect .k-chip .k-icon{width:12px;height:12px}.kit-multiselect .k-chip:has(.chip-text.all-option){display:flex}.kit-multiselect .k-clear-value{margin-right:12px;padding:0;opacity:1;color:var(--ui-kit-color-grey-12)}.kit-multiselect .k-clear-value:hover{color:var(--ui-kit-color-main)}.kit-multiselect.disabled .k-multiselect{opacity:1;filter:none;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect.disabled .chip-text{color:var(--ui-kit-color-grey-12)}.kit-multiselect:focus-within .k-multiselect{border-color:var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-multiselect.all-option-selected .k-chip{display:none}.kit-multiselect-popup{margin-top:10px;padding:4px;border:none;border-radius:8px;box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;background-color:var(--ui-kit-color-white)}.kit-multiselect-popup .k-list-item{padding:6px 12px;background-color:var(--ui-kit-color-white);font-size:14px;font-weight:400;box-shadow:none;border-radius:4px;color:var(--ui-kit-color-grey-10)}.kit-multiselect-popup .k-list-item:hover{color:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item .option-icon{display:none;width:16px;height:16px;fill:none;stroke:var(--ui-kit-color-main)}.kit-multiselect-popup .k-list-item.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-multiselect-popup .k-list-item.k-selected{display:flex;align-items:center;background-color:var(--ui-kit-color-grey-13)}.kit-multiselect-popup .k-list-item.k-selected .option-text{flex:1}.kit-multiselect-popup .k-list-item.k-selected .option-icon{display:block}\n"] }]
4472
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$9.TranslateService }], propDecorators: { items: [{
4380
4473
  type: Input
4381
4474
  }], selectedItems: [{
4382
4475
  type: Input
@@ -4404,14 +4497,16 @@ class KitMultiselectModule {
4404
4497
  FormsModule,
4405
4498
  KitSvgIconModule,
4406
4499
  KitInputMessageModule,
4407
- KitInputLabelModule], exports: [KitMultiselectComponent] }); }
4500
+ KitInputLabelModule,
4501
+ TranslateModule], exports: [KitMultiselectComponent] }); }
4408
4502
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitMultiselectModule, imports: [CommonModule,
4409
4503
  MultiSelectModule,
4410
4504
  DropDownListModule,
4411
4505
  FormsModule,
4412
4506
  KitSvgIconModule,
4413
4507
  KitInputMessageModule,
4414
- KitInputLabelModule] }); }
4508
+ KitInputLabelModule,
4509
+ TranslateModule] }); }
4415
4510
  }
4416
4511
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitMultiselectModule, decorators: [{
4417
4512
  type: NgModule,
@@ -4427,6 +4522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
4427
4522
  KitSvgIconModule,
4428
4523
  KitInputMessageModule,
4429
4524
  KitInputLabelModule,
4525
+ TranslateModule,
4430
4526
  ],
4431
4527
  exports: [
4432
4528
  KitMultiselectComponent,
@@ -4528,7 +4624,7 @@ class KitPopupComponent {
4528
4624
  this.onApply.emit();
4529
4625
  this.close();
4530
4626
  }
4531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitPopupComponent, deps: [{ token: i1$9.PopupService }], target: i0.ɵɵFactoryTarget.Component }); }
4627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitPopupComponent, deps: [{ token: i1$a.PopupService }], target: i0.ɵɵFactoryTarget.Component }); }
4532
4628
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitPopupComponent, isStandalone: true, selector: "kit-popup", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: true, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, cancelButtonLabel: { classPropertyName: "cancelButtonLabel", publicName: "cancelButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, applyButtonLabel: { classPropertyName: "applyButtonLabel", publicName: "applyButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isApplyButtonDisabled: { classPropertyName: "isApplyButtonDisabled", publicName: "isApplyButtonDisabled", isSignal: true, isRequired: false, transformFunction: null }, positionMode: { classPropertyName: "positionMode", publicName: "positionMode", isSignal: true, isRequired: false, transformFunction: null }, popupClass: { classPropertyName: "popupClass", publicName: "popupClass", isSignal: true, isRequired: false, transformFunction: null }, closePopupOnCancel: { classPropertyName: "closePopupOnCancel", publicName: "closePopupOnCancel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCancel: "onCancel", onApply: "onApply", onOpen: "onOpen", onClose: "onClose" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }], ngImport: i0, template: "<ng-template #popupTemplate>\n <ng-container *ngTemplateOutlet=\"content()\"></ng-container>\n @if (showFooter()) {\n <div class=\"footer\">\n <kit-button [label]=\"cancelButtonLabel()\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"cancel()\"\n ></kit-button>\n <kit-button [label]=\"applyButtonLabel()\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"isApplyButtonDisabled()\"\n (clicked)=\"apply()\"\n ></kit-button>\n </div>\n }\n</ng-template>\n", styles: ["::ng-deep .kit-popup{box-sizing:border-box;padding:24px;margin-top:10px;color:var(--ui-kit-color-black);border:none;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d}::ng-deep .kit-popup .footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;margin-top:10px;border-top:1px solid var(--ui-kit-color-grey-6)}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4533
4629
  }
4534
4630
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitPopupComponent, decorators: [{
@@ -4537,7 +4633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
4537
4633
  KitButtonModule,
4538
4634
  NgTemplateOutlet,
4539
4635
  ], template: "<ng-template #popupTemplate>\n <ng-container *ngTemplateOutlet=\"content()\"></ng-container>\n @if (showFooter()) {\n <div class=\"footer\">\n <kit-button [label]=\"cancelButtonLabel()\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"cancel()\"\n ></kit-button>\n <kit-button [label]=\"applyButtonLabel()\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"isApplyButtonDisabled()\"\n (clicked)=\"apply()\"\n ></kit-button>\n </div>\n }\n</ng-template>\n", styles: ["::ng-deep .kit-popup{box-sizing:border-box;padding:24px;margin-top:10px;color:var(--ui-kit-color-black);border:none;border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d}::ng-deep .kit-popup .footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;margin-top:10px;border-top:1px solid var(--ui-kit-color-grey-6)}\n"] }]
4540
- }], ctorParameters: () => [{ type: i1$9.PopupService }], propDecorators: { popupTemplate: [{
4636
+ }], ctorParameters: () => [{ type: i1$a.PopupService }], propDecorators: { popupTemplate: [{
4541
4637
  type: ViewChild,
4542
4638
  args: ['popupTemplate']
4543
4639
  }], documentClick: [{
@@ -6417,6 +6513,7 @@ const kitTranslations = {
6417
6513
  clear: 'Clear',
6418
6514
  apply: 'Apply',
6419
6515
  search: 'Search',
6516
+ all: 'All',
6420
6517
  logic: {
6421
6518
  or: 'Or',
6422
6519
  and: 'And',
@@ -6450,6 +6547,9 @@ const kitTranslations = {
6450
6547
  cancel: 'Cancel',
6451
6548
  apply: 'Apply',
6452
6549
  },
6550
+ multiselect: {
6551
+ all: 'All',
6552
+ },
6453
6553
  },
6454
6554
  },
6455
6555
  };
@@ -6463,7 +6563,7 @@ class KitTranslateService {
6463
6563
  this.translateService.setTranslation(lang, kitTranslations[lang], true);
6464
6564
  });
6465
6565
  }
6466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitTranslateService, deps: [{ token: i1$a.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6566
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitTranslateService, deps: [{ token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6467
6567
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitTranslateService, providedIn: 'root' }); }
6468
6568
  }
6469
6569
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitTranslateService, decorators: [{
@@ -6471,7 +6571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
6471
6571
  args: [{
6472
6572
  providedIn: 'root',
6473
6573
  }]
6474
- }], ctorParameters: () => [{ type: i1$a.TranslateService }] });
6574
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }] });
6475
6575
 
6476
6576
  class AbstractPayloadAction {
6477
6577
  constructor(payload) {
@@ -6992,8 +7092,8 @@ class KitGridViewsSaveComponent {
6992
7092
  }
6993
7093
  this.viewName.set(value);
6994
7094
  }
6995
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsSaveComponent, deps: [{ token: i1$c.Store }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1$a.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6996
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridViewsSaveComponent, isStandalone: true, selector: "kit-grid-views-save", inputs: { viewGroup: { classPropertyName: "viewGroup", publicName: "viewGroup", isSignal: true, isRequired: true, transformFunction: null }, views: { classPropertyName: "views", publicName: "views", isSignal: true, isRequired: true, transformFunction: null }, viewsAutocompleteItems: { classPropertyName: "viewsAutocompleteItems", publicName: "viewsAutocompleteItems", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<kit-button #toggleButton\n kitTooltip\n class=\"grid-views-save-btn\"\n kitTooltipFilter=\".grid-views-save-btn\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [title]=\"hasUnsavedChanges() ? '' : ('kit.views.noUnsavedChanges' | translate)\"\n [label]=\"'kit.views.save' | translate\"\n [active]=\"popup.isPopupOpen\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.DISKETTE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"onPopupToggle()\"\n></kit-button>\n\n<kit-popup #popup\n popupClass=\"grid-views-save\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.views.save' | translate\"\n [cancelButtonLabel]=\"'kit.views.cancel' | translate\"\n [isApplyButtonDisabled]=\"!viewName() || !isViewNameValid\"\n (onApply)=\"onViewSave()\">\n</kit-popup>\n\n<ng-template #content>\n <kit-autocomplete [placeholder]=\"'kit.views.enterText' | translate\"\n [allowCustom]=\"true\"\n [items]=\"viewsAutocompleteItems() ?? []\"\n [closePopupIfDataNotFound]=\"true\"\n [invalid]=\"!isViewNameValid\"\n [messageText]=\"inputMessage\"\n (filterChanged)=\"onValueChange($event)\"\n (valueChanged)=\"viewName.set($event)\"\n (selectionChanged)=\"onValueChange($event)\"\n ></kit-autocomplete>\n</ng-template>\n", styles: ["::ng-deep .grid-views-save{display:flex;flex-direction:column;width:344px}::ng-deep .grid-views-save .k-popup .footer{margin-top:30px;padding-top:30px}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitAutocompleteModule }, { kind: "component", type: KitAutocompleteComponent, selector: "kit-autocomplete", inputs: ["label", "placeholder", "items", "selectedValue", "disabled", "loaderVisible", "messageIcon", "messageText", "invalid", "allowCustom", "closePopupIfDataNotFound"], outputs: ["filterChanged", "valueChanged", "selectionChanged", "blured", "focused"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7095
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsSaveComponent, deps: [{ token: i1$c.Store }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7096
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridViewsSaveComponent, isStandalone: true, selector: "kit-grid-views-save", inputs: { viewGroup: { classPropertyName: "viewGroup", publicName: "viewGroup", isSignal: true, isRequired: true, transformFunction: null }, views: { classPropertyName: "views", publicName: "views", isSignal: true, isRequired: true, transformFunction: null }, viewsAutocompleteItems: { classPropertyName: "viewsAutocompleteItems", publicName: "viewsAutocompleteItems", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<kit-button #toggleButton\n kitTooltip\n class=\"grid-views-save-btn\"\n kitTooltipFilter=\".grid-views-save-btn\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [title]=\"hasUnsavedChanges() ? '' : ('kit.views.noUnsavedChanges' | translate)\"\n [label]=\"'kit.views.save' | translate\"\n [active]=\"popup.isPopupOpen\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.DISKETTE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"onPopupToggle()\"\n></kit-button>\n\n<kit-popup #popup\n popupClass=\"grid-views-save\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.views.save' | translate\"\n [cancelButtonLabel]=\"'kit.views.cancel' | translate\"\n [isApplyButtonDisabled]=\"!viewName() || !isViewNameValid\"\n (onApply)=\"onViewSave()\">\n</kit-popup>\n\n<ng-template #content>\n <kit-autocomplete [placeholder]=\"'kit.views.enterText' | translate\"\n [allowCustom]=\"true\"\n [items]=\"viewsAutocompleteItems() ?? []\"\n [closePopupIfDataNotFound]=\"true\"\n [invalid]=\"!isViewNameValid\"\n [messageText]=\"inputMessage\"\n (filterChanged)=\"onValueChange($event)\"\n (valueChanged)=\"viewName.set($event)\"\n (selectionChanged)=\"onValueChange($event)\"\n ></kit-autocomplete>\n</ng-template>\n", styles: ["::ng-deep .grid-views-save{display:flex;flex-direction:column;width:344px}::ng-deep .grid-views-save .k-popup .footer{margin-top:30px;padding-top:30px}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitAutocompleteModule }, { kind: "component", type: KitAutocompleteComponent, selector: "kit-autocomplete", inputs: ["label", "placeholder", "items", "selectedValue", "disabled", "loaderVisible", "messageIcon", "messageText", "invalid", "allowCustom", "closePopupIfDataNotFound"], outputs: ["filterChanged", "valueChanged", "selectionChanged", "blured", "focused"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6997
7097
  }
6998
7098
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsSaveComponent, decorators: [{
6999
7099
  type: Component,
@@ -7004,7 +7104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7004
7104
  TranslateModule,
7005
7105
  KitTooltipDirective,
7006
7106
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<kit-button #toggleButton\n kitTooltip\n class=\"grid-views-save-btn\"\n kitTooltipFilter=\".grid-views-save-btn\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [title]=\"hasUnsavedChanges() ? '' : ('kit.views.noUnsavedChanges' | translate)\"\n [label]=\"'kit.views.save' | translate\"\n [active]=\"popup.isPopupOpen\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.DISKETTE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"onPopupToggle()\"\n></kit-button>\n\n<kit-popup #popup\n popupClass=\"grid-views-save\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.views.save' | translate\"\n [cancelButtonLabel]=\"'kit.views.cancel' | translate\"\n [isApplyButtonDisabled]=\"!viewName() || !isViewNameValid\"\n (onApply)=\"onViewSave()\">\n</kit-popup>\n\n<ng-template #content>\n <kit-autocomplete [placeholder]=\"'kit.views.enterText' | translate\"\n [allowCustom]=\"true\"\n [items]=\"viewsAutocompleteItems() ?? []\"\n [closePopupIfDataNotFound]=\"true\"\n [invalid]=\"!isViewNameValid\"\n [messageText]=\"inputMessage\"\n (filterChanged)=\"onValueChange($event)\"\n (valueChanged)=\"viewName.set($event)\"\n (selectionChanged)=\"onValueChange($event)\"\n ></kit-autocomplete>\n</ng-template>\n", styles: ["::ng-deep .grid-views-save{display:flex;flex-direction:column;width:344px}::ng-deep .grid-views-save .k-popup .footer{margin-top:30px;padding-top:30px}\n"] }]
7007
- }], ctorParameters: () => [{ type: i1$c.Store }, { type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1$a.TranslateService }] });
7107
+ }], ctorParameters: () => [{ type: i1$c.Store }, { type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1$9.TranslateService }] });
7008
7108
 
7009
7109
  class KitGridViewsManagerComponent extends DialogContentBase {
7010
7110
  constructor(store, dialog) {
@@ -7064,7 +7164,7 @@ class KitGridViewsManagerComponent extends DialogContentBase {
7064
7164
  this.hasUnsavedChanges.set(JSON.stringify(usedConfig) !== JSON.stringify(updatedViews));
7065
7165
  }
7066
7166
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsManagerComponent, deps: [{ token: i1$c.Store }, { token: i1$7.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
7067
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridViewsManagerComponent, isStandalone: true, selector: "kit-grid-views-manager", inputs: { configGroup: { classPropertyName: "configGroup", publicName: "configGroup", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"kit-grid-views-manager\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"2\"\n [items]=\"items()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n <div class=\"item-wrapper\"\n [ngClass]=\"item.type\">\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [ngClass]=\"{ disabled: isSystemView(item) }\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">\n <kit-truncate-text>{{ item.title | titlecase }}</kit-truncate-text>\n </div>\n @if (isSystemView(item)) {\n <kit-svg-icon class=\"item-icon-system\"\n [icon]=\"kitSvgIcon.GLOBAL\"\n ></kit-svg-icon>\n }\n <kit-button [disabled]=\"isSystemView(item)\"\n [type]=\"kitButtonType.LINK\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.CIRCLE_MINUS\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"onViewRemove(item)\"\n ></kit-button>\n </div>\n </ng-template>\n </kit-sortable>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</div>\n", styles: [".kit-grid-views-manager{width:452px}.kit-grid-views-manager ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-views-manager ::ng-deep .item{margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-views-manager ::ng-deep .item-wrapper{display:flex;align-items:center;gap:8px}.kit-grid-views-manager ::ng-deep .item .system .item-label{color:var(--ui-kit-color-blue)}.kit-grid-views-manager ::ng-deep .item .system .item-icon-system{stroke:var(--ui-kit-color-blue)}.kit-grid-views-manager ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-views-manager ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px;max-width:110px}.kit-grid-views-manager ::ng-deep .item-icon-menu{margin-right:8px;width:12px;height:12px;fill:var(--ui-kit-color-main)}.kit-grid-views-manager ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-views-manager ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-views-manager ::ng-deep .item-icon-checkbox.disabled{cursor:none;pointer-events:none}.kit-grid-views-manager ::ng-deep .item-icon-checkbox.disabled,.kit-grid-views-manager ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-views-manager ::ng-deep .item-icon-system{width:18px;height:18px;stroke:var(--ui-kit-color-grey-12);fill:none}.kit-grid-views-manager ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-views-manager ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitSortableComponent, selector: "kit-sortable", inputs: ["items", "columnCount", "itemClass", "activeItemClass"], outputs: ["onDragEnd"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KitDialogActionsComponent, selector: "kit-dialog-actions" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: KitTruncateTextComponent, selector: "kit-truncate-text" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridViewsManagerComponent, isStandalone: true, selector: "kit-grid-views-manager", inputs: { configGroup: { classPropertyName: "configGroup", publicName: "configGroup", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"kit-grid-views-manager\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"2\"\n [items]=\"items()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n <div class=\"item-wrapper\"\n [ngClass]=\"item.type\">\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [ngClass]=\"{ disabled: isSystemView(item) }\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">\n <kit-truncate-text>{{ item.title | titlecase }}</kit-truncate-text>\n </div>\n @if (isSystemView(item)) {\n <kit-svg-icon class=\"item-icon-system\"\n [icon]=\"kitSvgIcon.GLOBAL\"\n ></kit-svg-icon>\n }\n <kit-button [disabled]=\"isSystemView(item)\"\n [type]=\"kitButtonType.LINK\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.CIRCLE_MINUS\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"onViewRemove(item)\"\n ></kit-button>\n </div>\n </ng-template>\n </kit-sortable>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</div>\n", styles: [".kit-grid-views-manager{width:452px}.kit-grid-views-manager ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-views-manager ::ng-deep .item{margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-views-manager ::ng-deep .item-wrapper{display:flex;align-items:center;gap:8px}.kit-grid-views-manager ::ng-deep .item .system .item-label{color:var(--ui-kit-color-blue)}.kit-grid-views-manager ::ng-deep .item .system .item-icon-system{stroke:var(--ui-kit-color-blue)}.kit-grid-views-manager ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-views-manager ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px;max-width:110px}.kit-grid-views-manager ::ng-deep .item-icon-menu{margin-right:8px;width:12px;height:12px;fill:var(--ui-kit-color-main)}.kit-grid-views-manager ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-views-manager ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-views-manager ::ng-deep .item-icon-checkbox.disabled{cursor:none;pointer-events:none}.kit-grid-views-manager ::ng-deep .item-icon-checkbox.disabled,.kit-grid-views-manager ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-views-manager ::ng-deep .item-icon-system{width:18px;height:18px;stroke:var(--ui-kit-color-grey-12);fill:none}.kit-grid-views-manager ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-views-manager ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitSortableComponent, selector: "kit-sortable", inputs: ["items", "columnCount", "itemClass", "activeItemClass"], outputs: ["onDragEnd"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KitDialogActionsComponent, selector: "kit-dialog-actions" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: KitTruncateTextComponent, selector: "kit-truncate-text" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7068
7168
  }
7069
7169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsManagerComponent, decorators: [{
7070
7170
  type: Component,
@@ -7233,10 +7333,10 @@ class KitGridViewsComponent {
7233
7333
  value: `${view.title}_${view.group}_${view.type}`,
7234
7334
  };
7235
7335
  }
7236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsComponent, deps: [{ token: i1$c.Store }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i0.DestroyRef }, { token: i1$1.TitleCasePipe }, { token: KitDialogService }, { token: i1$a.TranslateService }, { token: i0.ViewContainerRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
7336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsComponent, deps: [{ token: i1$c.Store }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i0.DestroyRef }, { token: i1$1.TitleCasePipe }, { token: KitDialogService }, { token: i1$9.TranslateService }, { token: i0.ViewContainerRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
7237
7337
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridViewsComponent, isStandalone: true, selector: "kit-grid-views", inputs: { viewGroup: { classPropertyName: "viewGroup", publicName: "viewGroup", isSignal: true, isRequired: true, transformFunction: null }, viewConfigGroup: { classPropertyName: "viewConfigGroup", publicName: "viewConfigGroup", isSignal: true, isRequired: true, transformFunction: null }, defaultColumns: { classPropertyName: "defaultColumns", publicName: "defaultColumns", isSignal: true, isRequired: true, transformFunction: null }, defaultViewName: { classPropertyName: "defaultViewName", publicName: "defaultViewName", isSignal: true, isRequired: true, transformFunction: null }, defaultSorting: { classPropertyName: "defaultSorting", publicName: "defaultSorting", isSignal: true, isRequired: true, transformFunction: null }, systemViews: { classPropertyName: "systemViews", publicName: "systemViews", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { viewChanged: "viewChanged" }, providers: [
7238
7338
  TitleCasePipe,
7239
- ], viewQueries: [{ propertyName: "collapsedList", first: true, predicate: (KitCollapsedListComponent), descendants: true, isSignal: true }, { propertyName: "createNewViewPopup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-grid-views\">\n @if (viewsState$ | async; as viewsState) {\n @if (!viewsState.loading) {\n @if (views$ | async; as views) {\n <div class=\"views-list\">\n <kit-collapsed-list #toggleButton\n [itemList]=\"collapsedListItems()\"\n [dropdownDefaultValueText]=\"collapsedListDropdownText()\"\n [lineHeight]=\"32\"\n [itemTemplate]=\"collapsedListItem\"\n [dropdownFooterTemplate]=\"dropdownFooter\"\n [dropdownItemTemplate]=\"dropdownItem\"\n [alwaysShowDropdown]=\"true\"\n (onSelectItem)=\"onSelectView($event)\"/>\n </div>\n\n <kit-grid-views-save [viewGroup]=\"viewGroup()\"\n [views]=\"views\"\n [viewsAutocompleteItems]=\"viewsAutocompleteItems$ | async\"\n ></kit-grid-views-save>\n }\n } @else {\n <kit-skeleton [width]=\"200\"\n [height]=\"32\"\n ></kit-skeleton>\n }\n }\n</div>\n\n<ng-template #collapsedListItem let-item>\n <kit-button class=\"views-item\"\n [ngClass]=\"item.type\"\n [active]=\"item.title === selectedView()?.title && item.type === selectedView()?.type\"\n [label]=\"item.title | titlecase\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"item.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n [iconType]=\"item.type === gridViewType.SYSTEM && kitSvgIconType.STROKE || kitSvgIconType.FILL\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"/>\n</ng-template>\n\n<ng-template #dropdownFooter>\n <div class=\"dropdown-footer\">\n <kit-button [label]=\"'kit.views.newView' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"onPopupToggle()\"/>\n <kit-button [label]=\"'kit.views.manageViews' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"views()?.length < 2\"\n (clicked)=\"openViewsManagerModal()\"/>\n </div>\n</ng-template>\n\n<kit-popup #popup\n popupClass=\"kit-grid-new-view-popup\"\n [anchor]=\"collapsedList()?.dropdown()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"new-view\">\n <kit-textbox [defaultValue]=\"createNewViewName()\"\n [placeholder]=\"'kit.views.enterText' | translate\"\n [state]=\"isViewNameValid && kitTextboxState.DEFAULT || kitTextboxState.ERROR\"\n [messageText]=\"inputMessage\"\n (changed)=\"createNewViewName.set($event)\"\n ></kit-textbox>\n <div class=\"new-view-action\">\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewViewPopup()?.close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!createNewViewName() || !isViewNameValid\"\n (clicked)=\"onViewCreate()\"\n ></kit-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #dropdownItem let-dataItem>\n <div class=\"views-item\"\n [ngClass]=\"dataItem.type\"\n [class.active]=\"dataItem.title === selectedView()?.title && dataItem.type === selectedView()?.type\">\n <kit-svg-icon class=\"view-icon\"\n [icon]=\"dataItem.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n ></kit-svg-icon>\n <div class=\"item-name\">{{ dataItem.title | titlecase }}</div>\n <kit-svg-icon class=\"check-icon\"\n [icon]=\"kitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </div>\n</ng-template>\n", styles: [".kit-grid-views{display:flex}.kit-grid-views .views-list{width:100%;min-width:0;margin-right:16px}::ng-deep .views-list .views-item.system .k-button{color:var(--ui-kit-color-blue)}::ng-deep .views-list .views-item.system .k-button .kit-button-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .views-list .views-item.system .k-button:hover .kit-button-icon{stroke:var(--ui-kit-color-main)}::ng-deep .views-list .views-item.user .k-button{color:var(--ui-kit-color-grey-10)}::ng-deep .views-list .views-item.user .k-button .kit-button-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .views-list .views-item.user .k-button:hover .kit-button-icon{fill:var(--ui-kit-color-main)}::ng-deep .views-list .views-item:hover .k-button{color:var(--ui-kit-color-main)}::ng-deep .views-list .views-item .k-button.active{color:var(--ui-kit-color-main)}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner{padding:0 16px}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner .value-icon{margin-left:5px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup{width:360px;padding:24px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item.k-selected{color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected){background:var(--ui-kit-color-grey-13)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item{color:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.user .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.system .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:400;line-height:20px;border-radius:4px;cursor:pointer}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system{color:var(--ui-kit-color-blue)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system .view-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system.active .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user .view-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user.active .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active{color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active .check-icon{display:block}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .item-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .check-icon{display:none;flex-shrink:0;width:14px;height:14px;fill:none;stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .view-icon{width:16px;height:16px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .dropdown-footer{display:flex;flex-direction:column;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .k-no-data{display:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .dropdown-footer{margin-top:0;padding-top:0;border:none}::ng-deep .grid-views-manager-dialog.kit-dialog .k-dialog-content{padding:24px}::ng-deep .kit-popup.kit-grid-new-view-popup{width:360px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view{display:flex;flex-direction:column;gap:15px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view-action{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: KitSkeletonModule }, { kind: "component", type: KitSkeletonComponent, selector: "kit-skeleton", inputs: ["width", "height", "shape", "animation"] }, { kind: "component", type: KitGridViewsSaveComponent, selector: "kit-grid-views-save", inputs: ["viewGroup", "views", "viewsAutocompleteItems"] }, { kind: "component", type: KitCollapsedListComponent, selector: "kit-collapsed-list", inputs: ["itemList", "lineHeight", "dropdownDefaultValueText", "gap", "disableActions", "itemTemplate", "dropdownFooterTemplate", "dropdownItemTemplate", "dropdownNoDataTemplate", "appendTo", "alwaysShowDropdown"], outputs: ["onSelectItem"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7339
+ ], viewQueries: [{ propertyName: "collapsedList", first: true, predicate: (KitCollapsedListComponent), descendants: true, isSignal: true }, { propertyName: "createNewViewPopup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-grid-views\">\n @if (viewsState$ | async; as viewsState) {\n @if (!viewsState.loading) {\n @if (views$ | async; as views) {\n <div class=\"views-list\">\n <kit-collapsed-list #toggleButton\n [itemList]=\"collapsedListItems()\"\n [dropdownDefaultValueText]=\"collapsedListDropdownText()\"\n [lineHeight]=\"32\"\n [itemTemplate]=\"collapsedListItem\"\n [dropdownFooterTemplate]=\"dropdownFooter\"\n [dropdownItemTemplate]=\"dropdownItem\"\n [alwaysShowDropdown]=\"true\"\n (onSelectItem)=\"onSelectView($event)\"/>\n </div>\n\n <kit-grid-views-save [viewGroup]=\"viewGroup()\"\n [views]=\"views\"\n [viewsAutocompleteItems]=\"viewsAutocompleteItems$ | async\"\n ></kit-grid-views-save>\n }\n } @else {\n <kit-skeleton [width]=\"200\"\n [height]=\"32\"\n ></kit-skeleton>\n }\n }\n</div>\n\n<ng-template #collapsedListItem let-item>\n <kit-button class=\"views-item\"\n [ngClass]=\"item.type\"\n [active]=\"item.title === selectedView()?.title && item.type === selectedView()?.type\"\n [label]=\"item.title | titlecase\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"item.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n [iconType]=\"item.type === gridViewType.SYSTEM && kitSvgIconType.STROKE || kitSvgIconType.FILL\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"/>\n</ng-template>\n\n<ng-template #dropdownFooter>\n <div class=\"dropdown-footer\">\n <kit-button [label]=\"'kit.views.newView' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"onPopupToggle()\"/>\n <kit-button [label]=\"'kit.views.manageViews' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"views()?.length < 2\"\n (clicked)=\"openViewsManagerModal()\"/>\n </div>\n</ng-template>\n\n<kit-popup #popup\n popupClass=\"kit-grid-new-view-popup\"\n [anchor]=\"collapsedList()?.dropdown()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"new-view\">\n <kit-textbox [defaultValue]=\"createNewViewName()\"\n [placeholder]=\"'kit.views.enterText' | translate\"\n [state]=\"isViewNameValid && kitTextboxState.DEFAULT || kitTextboxState.ERROR\"\n [messageText]=\"inputMessage\"\n (changed)=\"createNewViewName.set($event)\"\n ></kit-textbox>\n <div class=\"new-view-action\">\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewViewPopup()?.close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!createNewViewName() || !isViewNameValid\"\n (clicked)=\"onViewCreate()\"\n ></kit-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #dropdownItem let-dataItem>\n <div class=\"views-item\"\n [ngClass]=\"dataItem.type\"\n [class.active]=\"dataItem.title === selectedView()?.title && dataItem.type === selectedView()?.type\">\n <kit-svg-icon class=\"view-icon\"\n [icon]=\"dataItem.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n ></kit-svg-icon>\n <div class=\"item-name\">{{ dataItem.title | titlecase }}</div>\n <kit-svg-icon class=\"check-icon\"\n [icon]=\"kitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </div>\n</ng-template>\n", styles: [".kit-grid-views{display:flex}.kit-grid-views .views-list{width:100%;min-width:0;margin-right:16px}::ng-deep .views-list .views-item.system .k-button{color:var(--ui-kit-color-blue)}::ng-deep .views-list .views-item.system .k-button .kit-button-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .views-list .views-item.system .k-button:hover .kit-button-icon{stroke:var(--ui-kit-color-main)}::ng-deep .views-list .views-item.user .k-button{color:var(--ui-kit-color-grey-10)}::ng-deep .views-list .views-item.user .k-button .kit-button-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .views-list .views-item.user .k-button:hover .kit-button-icon{fill:var(--ui-kit-color-main)}::ng-deep .views-list .views-item:hover .k-button{color:var(--ui-kit-color-main)}::ng-deep .views-list .views-item .k-button.active{color:var(--ui-kit-color-main)}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner{padding:0 16px}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner .value-icon{margin-left:5px}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup){color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup) .k-input-value-text span{color:var(--ui-kit-color-main)}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup) .k-input-value-text svg{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup{width:360px;padding:24px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item.k-selected{color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected){background:var(--ui-kit-color-grey-13)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item{color:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.user .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.system .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:400;line-height:20px;border-radius:4px;cursor:pointer}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system{color:var(--ui-kit-color-blue)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system .view-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system.active .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user .view-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user.active .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active{color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active .check-icon{display:block}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .item-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .check-icon{display:none;flex-shrink:0;width:14px;height:14px;fill:none;stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .view-icon{width:16px;height:16px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .dropdown-footer{display:flex;flex-direction:column;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .k-no-data{display:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .dropdown-footer{margin-top:0;padding-top:0;border:none}::ng-deep .grid-views-manager-dialog.kit-dialog .k-dialog-content{padding:24px}::ng-deep .kit-popup.kit-grid-new-view-popup{width:360px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view{display:flex;flex-direction:column;gap:15px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view-action{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: KitSkeletonModule }, { kind: "component", type: KitSkeletonComponent, selector: "kit-skeleton", inputs: ["width", "height", "shape", "animation"] }, { kind: "component", type: KitGridViewsSaveComponent, selector: "kit-grid-views-save", inputs: ["viewGroup", "views", "viewsAutocompleteItems"] }, { kind: "component", type: KitCollapsedListComponent, selector: "kit-collapsed-list", inputs: ["itemList", "lineHeight", "dropdownDefaultValueText", "gap", "disableActions", "itemTemplate", "dropdownFooterTemplate", "dropdownItemTemplate", "dropdownNoDataTemplate", "appendTo", "alwaysShowDropdown"], outputs: ["onSelectItem"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7240
7340
  }
7241
7341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridViewsComponent, decorators: [{
7242
7342
  type: Component,
@@ -7254,8 +7354,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7254
7354
  KitTextboxModule,
7255
7355
  ], providers: [
7256
7356
  TitleCasePipe,
7257
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-grid-views\">\n @if (viewsState$ | async; as viewsState) {\n @if (!viewsState.loading) {\n @if (views$ | async; as views) {\n <div class=\"views-list\">\n <kit-collapsed-list #toggleButton\n [itemList]=\"collapsedListItems()\"\n [dropdownDefaultValueText]=\"collapsedListDropdownText()\"\n [lineHeight]=\"32\"\n [itemTemplate]=\"collapsedListItem\"\n [dropdownFooterTemplate]=\"dropdownFooter\"\n [dropdownItemTemplate]=\"dropdownItem\"\n [alwaysShowDropdown]=\"true\"\n (onSelectItem)=\"onSelectView($event)\"/>\n </div>\n\n <kit-grid-views-save [viewGroup]=\"viewGroup()\"\n [views]=\"views\"\n [viewsAutocompleteItems]=\"viewsAutocompleteItems$ | async\"\n ></kit-grid-views-save>\n }\n } @else {\n <kit-skeleton [width]=\"200\"\n [height]=\"32\"\n ></kit-skeleton>\n }\n }\n</div>\n\n<ng-template #collapsedListItem let-item>\n <kit-button class=\"views-item\"\n [ngClass]=\"item.type\"\n [active]=\"item.title === selectedView()?.title && item.type === selectedView()?.type\"\n [label]=\"item.title | titlecase\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"item.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n [iconType]=\"item.type === gridViewType.SYSTEM && kitSvgIconType.STROKE || kitSvgIconType.FILL\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"/>\n</ng-template>\n\n<ng-template #dropdownFooter>\n <div class=\"dropdown-footer\">\n <kit-button [label]=\"'kit.views.newView' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"onPopupToggle()\"/>\n <kit-button [label]=\"'kit.views.manageViews' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"views()?.length < 2\"\n (clicked)=\"openViewsManagerModal()\"/>\n </div>\n</ng-template>\n\n<kit-popup #popup\n popupClass=\"kit-grid-new-view-popup\"\n [anchor]=\"collapsedList()?.dropdown()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"new-view\">\n <kit-textbox [defaultValue]=\"createNewViewName()\"\n [placeholder]=\"'kit.views.enterText' | translate\"\n [state]=\"isViewNameValid && kitTextboxState.DEFAULT || kitTextboxState.ERROR\"\n [messageText]=\"inputMessage\"\n (changed)=\"createNewViewName.set($event)\"\n ></kit-textbox>\n <div class=\"new-view-action\">\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewViewPopup()?.close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!createNewViewName() || !isViewNameValid\"\n (clicked)=\"onViewCreate()\"\n ></kit-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #dropdownItem let-dataItem>\n <div class=\"views-item\"\n [ngClass]=\"dataItem.type\"\n [class.active]=\"dataItem.title === selectedView()?.title && dataItem.type === selectedView()?.type\">\n <kit-svg-icon class=\"view-icon\"\n [icon]=\"dataItem.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n ></kit-svg-icon>\n <div class=\"item-name\">{{ dataItem.title | titlecase }}</div>\n <kit-svg-icon class=\"check-icon\"\n [icon]=\"kitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </div>\n</ng-template>\n", styles: [".kit-grid-views{display:flex}.kit-grid-views .views-list{width:100%;min-width:0;margin-right:16px}::ng-deep .views-list .views-item.system .k-button{color:var(--ui-kit-color-blue)}::ng-deep .views-list .views-item.system .k-button .kit-button-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .views-list .views-item.system .k-button:hover .kit-button-icon{stroke:var(--ui-kit-color-main)}::ng-deep .views-list .views-item.user .k-button{color:var(--ui-kit-color-grey-10)}::ng-deep .views-list .views-item.user .k-button .kit-button-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .views-list .views-item.user .k-button:hover .kit-button-icon{fill:var(--ui-kit-color-main)}::ng-deep .views-list .views-item:hover .k-button{color:var(--ui-kit-color-main)}::ng-deep .views-list .views-item .k-button.active{color:var(--ui-kit-color-main)}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner{padding:0 16px}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner .value-icon{margin-left:5px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup{width:360px;padding:24px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item.k-selected{color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected){background:var(--ui-kit-color-grey-13)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item{color:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.user .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.system .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:400;line-height:20px;border-radius:4px;cursor:pointer}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system{color:var(--ui-kit-color-blue)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system .view-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system.active .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user .view-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user.active .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active{color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active .check-icon{display:block}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .item-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .check-icon{display:none;flex-shrink:0;width:14px;height:14px;fill:none;stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .view-icon{width:16px;height:16px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .dropdown-footer{display:flex;flex-direction:column;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .k-no-data{display:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .dropdown-footer{margin-top:0;padding-top:0;border:none}::ng-deep .grid-views-manager-dialog.kit-dialog .k-dialog-content{padding:24px}::ng-deep .kit-popup.kit-grid-new-view-popup{width:360px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view{display:flex;flex-direction:column;gap:15px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view-action{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}\n"] }]
7258
- }], ctorParameters: () => [{ type: i1$c.Store }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i0.DestroyRef }, { type: i1$1.TitleCasePipe }, { type: KitDialogService }, { type: i1$a.TranslateService }, { type: i0.ViewContainerRef }, { type: i1$1.Location }], propDecorators: { viewChanged: [{
7357
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-grid-views\">\n @if (viewsState$ | async; as viewsState) {\n @if (!viewsState.loading) {\n @if (views$ | async; as views) {\n <div class=\"views-list\">\n <kit-collapsed-list #toggleButton\n [itemList]=\"collapsedListItems()\"\n [dropdownDefaultValueText]=\"collapsedListDropdownText()\"\n [lineHeight]=\"32\"\n [itemTemplate]=\"collapsedListItem\"\n [dropdownFooterTemplate]=\"dropdownFooter\"\n [dropdownItemTemplate]=\"dropdownItem\"\n [alwaysShowDropdown]=\"true\"\n (onSelectItem)=\"onSelectView($event)\"/>\n </div>\n\n <kit-grid-views-save [viewGroup]=\"viewGroup()\"\n [views]=\"views\"\n [viewsAutocompleteItems]=\"viewsAutocompleteItems$ | async\"\n ></kit-grid-views-save>\n }\n } @else {\n <kit-skeleton [width]=\"200\"\n [height]=\"32\"\n ></kit-skeleton>\n }\n }\n</div>\n\n<ng-template #collapsedListItem let-item>\n <kit-button class=\"views-item\"\n [ngClass]=\"item.type\"\n [active]=\"item.title === selectedView()?.title && item.type === selectedView()?.type\"\n [label]=\"item.title | titlecase\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"item.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n [iconType]=\"item.type === gridViewType.SYSTEM && kitSvgIconType.STROKE || kitSvgIconType.FILL\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"/>\n</ng-template>\n\n<ng-template #dropdownFooter>\n <div class=\"dropdown-footer\">\n <kit-button [label]=\"'kit.views.newView' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"onPopupToggle()\"/>\n <kit-button [label]=\"'kit.views.manageViews' | translate\"\n [type]=\"kitButtonType.TEXT\"\n [kind]=\"kitButtonKind.SMALL\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [disabled]=\"views()?.length < 2\"\n (clicked)=\"openViewsManagerModal()\"/>\n </div>\n</ng-template>\n\n<kit-popup #popup\n popupClass=\"kit-grid-new-view-popup\"\n [anchor]=\"collapsedList()?.dropdown()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"new-view\">\n <kit-textbox [defaultValue]=\"createNewViewName()\"\n [placeholder]=\"'kit.views.enterText' | translate\"\n [state]=\"isViewNameValid && kitTextboxState.DEFAULT || kitTextboxState.ERROR\"\n [messageText]=\"inputMessage\"\n (changed)=\"createNewViewName.set($event)\"\n ></kit-textbox>\n <div class=\"new-view-action\">\n <kit-button [label]=\"'kit.views.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewViewPopup()?.close()\"\n ></kit-button>\n <kit-button [label]=\"'kit.views.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!createNewViewName() || !isViewNameValid\"\n (clicked)=\"onViewCreate()\"\n ></kit-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #dropdownItem let-dataItem>\n <div class=\"views-item\"\n [ngClass]=\"dataItem.type\"\n [class.active]=\"dataItem.title === selectedView()?.title && dataItem.type === selectedView()?.type\">\n <kit-svg-icon class=\"view-icon\"\n [icon]=\"dataItem.type === gridViewType.SYSTEM && kitSvgIcon.GLOBAL || kitSvgIcon.USER\"\n ></kit-svg-icon>\n <div class=\"item-name\">{{ dataItem.title | titlecase }}</div>\n <kit-svg-icon class=\"check-icon\"\n [icon]=\"kitSvgIcon.CHECK\"\n ></kit-svg-icon>\n </div>\n</ng-template>\n", styles: [".kit-grid-views{display:flex}.kit-grid-views .views-list{width:100%;min-width:0;margin-right:16px}::ng-deep .views-list .views-item.system .k-button{color:var(--ui-kit-color-blue)}::ng-deep .views-list .views-item.system .k-button .kit-button-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .views-list .views-item.system .k-button:hover .kit-button-icon{stroke:var(--ui-kit-color-main)}::ng-deep .views-list .views-item.user .k-button{color:var(--ui-kit-color-grey-10)}::ng-deep .views-list .views-item.user .k-button .kit-button-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .views-list .views-item.user .k-button:hover .kit-button-icon{fill:var(--ui-kit-color-main)}::ng-deep .views-list .views-item:hover .k-button{color:var(--ui-kit-color-main)}::ng-deep .views-list .views-item .k-button.active{color:var(--ui-kit-color-main)}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner{padding:0 16px}::ng-deep .views-list .collapsed-list-dropdown .dropdown .k-input-inner .value-icon{margin-left:5px}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup){color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup) .k-input-value-text span{color:var(--ui-kit-color-main)}::ng-deep .kit-grid-views .views-list .wrapper-inner .collapsed-list-dropdown.selected .k-dropdownlist.dropdown:not(.k-popup) .k-input-value-text svg{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup{width:360px;padding:24px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item.k-selected{color:var(--ui-kit-color-main);border:1px solid var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected){background:var(--ui-kit-color-grey-13)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item{color:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.user .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .k-list-item:hover:not(.k-selected) .views-item.system .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:400;line-height:20px;border-radius:4px;cursor:pointer}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system{color:var(--ui-kit-color-blue)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system .view-icon{stroke:var(--ui-kit-color-blue);fill:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.system.active .view-icon{stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user .view-icon{fill:var(--ui-kit-color-grey-12);stroke:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.user.active .view-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active{color:var(--ui-kit-color-main);border-color:var(--ui-kit-color-main);background:var(--ui-kit-color-background)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item.active .check-icon{display:block}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .item-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .check-icon{display:none;flex-shrink:0;width:14px;height:14px;fill:none;stroke:var(--ui-kit-color-main)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .views-item .view-icon{width:16px;height:16px}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup .dropdown-footer{display:flex;flex-direction:column;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .k-no-data{display:none}::ng-deep .kit-dropdown-popup.k-popup.collapsed-list-popup:has(.k-no-data) .dropdown-footer{margin-top:0;padding-top:0;border:none}::ng-deep .grid-views-manager-dialog.kit-dialog .k-dialog-content{padding:24px}::ng-deep .kit-popup.kit-grid-new-view-popup{width:360px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view{display:flex;flex-direction:column;gap:15px}::ng-deep .kit-popup.kit-grid-new-view-popup .new-view-action{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--ui-kit-color-grey-11)}\n"] }]
7358
+ }], ctorParameters: () => [{ type: i1$c.Store }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i0.DestroyRef }, { type: i1$1.TitleCasePipe }, { type: KitDialogService }, { type: i1$9.TranslateService }, { type: i0.ViewContainerRef }, { type: i1$1.Location }], propDecorators: { viewChanged: [{
7259
7359
  type: Output
7260
7360
  }] } });
7261
7361
 
@@ -7282,8 +7382,8 @@ class KitFilterSelectorComponent {
7282
7382
  this.searchTerm.set('');
7283
7383
  this.popup()?.close();
7284
7384
  }
7285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterSelectorComponent, deps: [{ token: i1$a.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterSelectorComponent, isStandalone: true, selector: "kit-filter-selector", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-selector\">\n <kit-pill #toggleButton\n [type]=\"kitPillType.DASHED\"\n [selectable]=\"true\"\n [selected]=\"popup.isPopupOpen\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"popup.toggle()\">\n {{ \"kit.filters.addNewFilter\" | translate }}\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-selector-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"filter-search\">\n <kit-textbox [placeholder]=\"'kit.filters.search' | translate\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"searchTerm()\"\n (changed)=\"onSearchChange($event)\"\n ></kit-textbox>\n </div>\n <div class=\"filter-items\">\n @for (item of filterItems(); track item.field) {\n <div class=\"filter-item\"\n [class.disabled]=\"item.disabled\"\n (click)=\"onItemClick(item)\">\n {{ item.title | translate }}\n </div>\n }\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-selector-popup .popup-content{width:172px;box-sizing:border-box}::ng-deep .kit-filter-selector-popup .filter-search{margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-filter-selector-popup .filter-items{max-height:400px;overflow-y:auto}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar{width:4px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-10)}::ng-deep .kit-filter-selector-popup .filter-item{padding:6px 12px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:20px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .kit-filter-selector-popup .filter-item:hover{color:var(--ui-kit-color-main)}::ng-deep .kit-filter-selector-popup .filter-item.disabled{color:var(--ui-kit-color-grey-12);pointer-events:none}\n"], dependencies: [{ kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7385
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterSelectorComponent, deps: [{ token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7386
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterSelectorComponent, isStandalone: true, selector: "kit-filter-selector", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-selector\">\n <kit-pill #toggleButton\n [type]=\"kitPillType.DASHED\"\n [selectable]=\"true\"\n [selected]=\"popup.isPopupOpen\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"popup.toggle()\">\n {{ \"kit.filters.addNewFilter\" | translate }}\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-selector-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"filter-search\">\n <kit-textbox [placeholder]=\"'kit.filters.search' | translate\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"searchTerm()\"\n (changed)=\"onSearchChange($event)\"\n ></kit-textbox>\n </div>\n <div class=\"filter-items\">\n @for (item of filterItems(); track item.field) {\n <div class=\"filter-item\"\n [class.disabled]=\"item.disabled\"\n (click)=\"onItemClick(item)\">\n {{ item.title | translate }}\n </div>\n }\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-selector-popup .popup-content{width:172px;box-sizing:border-box}::ng-deep .kit-filter-selector-popup .filter-search{margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-filter-selector-popup .filter-items{max-height:400px;overflow-y:auto}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar{width:4px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-10)}::ng-deep .kit-filter-selector-popup .filter-item{padding:6px 12px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:20px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .kit-filter-selector-popup .filter-item:hover{color:var(--ui-kit-color-main)}::ng-deep .kit-filter-selector-popup .filter-item.disabled{color:var(--ui-kit-color-grey-12);pointer-events:none}\n"], dependencies: [{ kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7287
7387
  }
7288
7388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterSelectorComponent, decorators: [{
7289
7389
  type: Component,
@@ -7293,9 +7393,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7293
7393
  KitTextboxModule,
7294
7394
  KitPillComponent,
7295
7395
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-filter-selector\">\n <kit-pill #toggleButton\n [type]=\"kitPillType.DASHED\"\n [selectable]=\"true\"\n [selected]=\"popup.isPopupOpen\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"popup.toggle()\">\n {{ \"kit.filters.addNewFilter\" | translate }}\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-selector-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"filter-search\">\n <kit-textbox [placeholder]=\"'kit.filters.search' | translate\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"searchTerm()\"\n (changed)=\"onSearchChange($event)\"\n ></kit-textbox>\n </div>\n <div class=\"filter-items\">\n @for (item of filterItems(); track item.field) {\n <div class=\"filter-item\"\n [class.disabled]=\"item.disabled\"\n (click)=\"onItemClick(item)\">\n {{ item.title | translate }}\n </div>\n }\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-selector-popup .popup-content{width:172px;box-sizing:border-box}::ng-deep .kit-filter-selector-popup .filter-search{margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-filter-selector-popup .filter-items{max-height:400px;overflow-y:auto}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar{width:4px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}::ng-deep .kit-filter-selector-popup .filter-items::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-10)}::ng-deep .kit-filter-selector-popup .filter-item{padding:6px 12px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:20px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .kit-filter-selector-popup .filter-item:hover{color:var(--ui-kit-color-main)}::ng-deep .kit-filter-selector-popup .filter-item.disabled{color:var(--ui-kit-color-grey-12);pointer-events:none}\n"] }]
7296
- }], ctorParameters: () => [{ type: i1$a.TranslateService }] });
7396
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }] });
7297
7397
 
7298
7398
  class KitFilterCheckboxComponent {
7399
+ get isPopupOpen() {
7400
+ return !!this.popup()?.isPopupOpen;
7401
+ }
7402
+ get checkedItems() {
7403
+ return this.items().filter(item => item.checked).map(item => item.value);
7404
+ }
7299
7405
  constructor() {
7300
7406
  this.filter = input.required();
7301
7407
  this.translateKeyPrefix = input('');
@@ -7307,6 +7413,10 @@ class KitFilterCheckboxComponent {
7307
7413
  this.kitTooltipPosition = KitTooltipPosition;
7308
7414
  this.selectedValues = signal([]);
7309
7415
  this.kitPillTheme = KitPillTheme;
7416
+ this.allSelected = signal(false);
7417
+ effect(() => {
7418
+ this.allSelected.set(this.items().every(item => item.checked));
7419
+ });
7310
7420
  }
7311
7421
  ngOnInit() {
7312
7422
  this.initializeSelectedValues();
@@ -7340,7 +7450,7 @@ class KitFilterCheckboxComponent {
7340
7450
  this.selectedValues.set(checkedValues);
7341
7451
  }
7342
7452
  onPopupToggle() {
7343
- this.popup()?.toggle();
7453
+ requestAnimationFrame(() => this.popup()?.toggle());
7344
7454
  }
7345
7455
  close() {
7346
7456
  if (!this.filter().value && !this.selectedValues().length) {
@@ -7353,6 +7463,10 @@ class KitFilterCheckboxComponent {
7353
7463
  buildTranslateKey(value) {
7354
7464
  return `${this.translateKeyPrefix()}${value}`;
7355
7465
  }
7466
+ toggleAll(isChecked) {
7467
+ this.items().forEach(item => item.checked = isChecked);
7468
+ this.onChange();
7469
+ }
7356
7470
  onChange() {
7357
7471
  this.items.set([...this.items()]);
7358
7472
  }
@@ -7371,7 +7485,7 @@ class KitFilterCheckboxComponent {
7371
7485
  }
7372
7486
  }
7373
7487
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7374
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterCheckboxComponent, isStandalone: true, selector: "kit-filter-checkbox", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translateKeyPrefix: { classPropertyName: "translateKeyPrefix", publicName: "translateKeyPrefix", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-checkbox\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues().length) {\n @if (selectedValues().length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n <span class=\"tooltip-count\">+{{ selectedValues().length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n }\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-checkbox-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n @for (item of items(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange()\"\n ></kit-checkbox>\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of selectedValues() | slice: 1; track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n", styles: [".kit-filter-checkbox .tooltip-count{color:var(--ui-kit-color-main)}.kit-filter-checkbox .tooltip-item{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500;line-height:20px}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px}::ng-deep .kit-filter-checkbox-popup .checkbox-item{display:block;padding:6px 0}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitCheckboxModule }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText"], outputs: ["changed"] }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7488
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterCheckboxComponent, isStandalone: true, selector: "kit-filter-checkbox", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translateKeyPrefix: { classPropertyName: "translateKeyPrefix", publicName: "translateKeyPrefix", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-checkbox\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (allSelected()) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplateAllValues\">\n {{ 'kit.filters.all' | translate }}\n </div>\n } @else {\n @if (!isPopupOpen && selectedValues().length) {\n @if (selectedValues().length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n <span class=\"tooltip-count\">+{{ selectedValues().length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n }\n } @else if (isPopupOpen && checkedItems.length) {\n @if (checkedItems.length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(checkedItems[0]) | translate }}\n <span class=\"tooltip-count\">+{{ checkedItems.length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(checkedItems[0]) | translate }}\n }\n }\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-checkbox-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"'kit.filters.all' | translate\"\n [(ngModel)]=\"allSelected\"\n (changed)=\"toggleAll($event)\">\n </kit-checkbox>\n\n @for (item of items(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange()\"\n ></kit-checkbox>\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of selectedValues() | slice: 1; track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n\n<ng-template #tooltipTemplateAllValues>\n @for (item of selectedValues(); track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n", styles: [".kit-filter-checkbox .tooltip-count{color:var(--ui-kit-color-main)}.kit-filter-checkbox .tooltip-item{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500;line-height:20px}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px}::ng-deep .kit-filter-checkbox-popup .checkbox-item{display:block;padding:6px 0}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitCheckboxModule }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText"], outputs: ["changed"] }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7375
7489
  }
7376
7490
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterCheckboxComponent, decorators: [{
7377
7491
  type: Component,
@@ -7384,8 +7498,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7384
7498
  SlicePipe,
7385
7499
  FormsModule,
7386
7500
  KitPopupComponent,
7387
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-filter-checkbox\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues().length) {\n @if (selectedValues().length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n <span class=\"tooltip-count\">+{{ selectedValues().length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n }\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-checkbox-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n @for (item of items(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange()\"\n ></kit-checkbox>\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of selectedValues() | slice: 1; track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n", styles: [".kit-filter-checkbox .tooltip-count{color:var(--ui-kit-color-main)}.kit-filter-checkbox .tooltip-item{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500;line-height:20px}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px}::ng-deep .kit-filter-checkbox-popup .checkbox-item{display:block;padding:6px 0}\n"] }]
7388
- }] });
7501
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-filter-checkbox\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (allSelected()) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplateAllValues\">\n {{ 'kit.filters.all' | translate }}\n </div>\n } @else {\n @if (!isPopupOpen && selectedValues().length) {\n @if (selectedValues().length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n <span class=\"tooltip-count\">+{{ selectedValues().length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(selectedValues()[0]) | translate }}\n }\n } @else if (isPopupOpen && checkedItems.length) {\n @if (checkedItems.length > 1) {\n <div class=\"tooltip\"\n kitTooltip\n kitTooltipFilter=\".tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ buildTranslateKey(checkedItems[0]) | translate }}\n <span class=\"tooltip-count\">+{{ checkedItems.length - 1 }}</span>\n </div>\n } @else {\n {{ buildTranslateKey(checkedItems[0]) | translate }}\n }\n }\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-checkbox-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"'kit.filters.all' | translate\"\n [(ngModel)]=\"allSelected\"\n (changed)=\"toggleAll($event)\">\n </kit-checkbox>\n\n @for (item of items(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange()\"\n ></kit-checkbox>\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of selectedValues() | slice: 1; track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n\n<ng-template #tooltipTemplateAllValues>\n @for (item of selectedValues(); track item) {\n <div class=\"tooltip-item\">{{ buildTranslateKey(item) | translate }}</div>\n }\n</ng-template>\n", styles: [".kit-filter-checkbox .tooltip-count{color:var(--ui-kit-color-main)}.kit-filter-checkbox .tooltip-item{color:var(--ui-kit-color-grey-10);font-size:12px;font-weight:500;line-height:20px}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px}::ng-deep .kit-filter-checkbox-popup .checkbox-item{display:block;padding:6px 0}\n"] }]
7502
+ }], ctorParameters: () => [] });
7389
7503
 
7390
7504
  class KitFilterDateComponent {
7391
7505
  constructor() {
@@ -7484,7 +7598,7 @@ class KitFilterDateComponent {
7484
7598
  }
7485
7599
  }
7486
7600
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterDateComponent, isStandalone: true, selector: "kit-filter-date", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-date\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues(); as selectedValues) {\n {{ selectedValues?.start | date: pillDateFormat }}\n @if (selectedValues?.start && selectedValues?.end) {\n -\n }\n {{ selectedValues?.end | date: pillDateFormat }}\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-date-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [closeOnOutsideClick]=\"false\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"date-input\">\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateFrom' | translate\"\n [defaultDate]=\"startDate()\"\n [max]=\"endDate()\"\n (changed)=\"onFromDateChange($event)\"\n ></kit-datepicker>\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateTo' | translate\"\n [defaultDate]=\"endDate()\"\n [min]=\"startDate()\"\n (changed)=\"onToDateChange($event)\"\n ></kit-datepicker>\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-date-popup .popup-content{width:296px;box-sizing:border-box}::ng-deep .kit-filter-date-popup .date-input{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitDatepickerModule }, { kind: "component", type: KitDatepickerComponent, selector: "kit-datepicker", inputs: ["placeholder", "label", "defaultDate", "disabled", "format", "min", "max", "messageIcon", "messageText"], outputs: ["changed"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7601
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterDateComponent, isStandalone: true, selector: "kit-filter-date", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-date\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues(); as selectedValues) {\n {{ selectedValues?.start | date: pillDateFormat }}\n @if (selectedValues?.start && selectedValues?.end) {\n -\n }\n {{ selectedValues?.end | date: pillDateFormat }}\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-date-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [closeOnOutsideClick]=\"false\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"date-input\">\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateFrom' | translate\"\n [defaultDate]=\"startDate()\"\n [max]=\"endDate()\"\n (changed)=\"onFromDateChange($event)\"\n ></kit-datepicker>\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateTo' | translate\"\n [defaultDate]=\"endDate()\"\n [min]=\"startDate()\"\n (changed)=\"onToDateChange($event)\"\n ></kit-datepicker>\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-date-popup .popup-content{width:296px;box-sizing:border-box}::ng-deep .kit-filter-date-popup .date-input{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitDatepickerModule }, { kind: "component", type: KitDatepickerComponent, selector: "kit-datepicker", inputs: ["placeholder", "label", "defaultDate", "disabled", "format", "min", "max", "messageIcon", "messageText"], outputs: ["changed"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7488
7602
  }
7489
7603
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterDateComponent, decorators: [{
7490
7604
  type: Component,
@@ -7629,8 +7743,8 @@ class KitFilterTextComponent {
7629
7743
  hasSelectedFilter(filter) {
7630
7744
  return this.hasNoValueRequiredOperator(filter.operator) || !!filter.value;
7631
7745
  }
7632
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterTextComponent, deps: [{ token: i1$a.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7633
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterTextComponent, isStandalone: true, selector: "kit-filter-text", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues()?.filters; as selectedFilters) {\n @for (filter of selectedFilters; track $index) {\n {{ getSelectedFilterText(filter) }}\n\n @if ($index === 0) {\n {{ getSelectedLogicText(selectedValues()) }}\n }\n }\n }\n</kit-pill>\n\n<kit-popup #popup\n popupClass=\"kit-filter-text-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n @for (item of filterItems().filters; track $index) {\n <div class=\"filter-item\">\n <kit-dropdown [items]=\"filterOperatorDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n <kit-textbox class=\"filter-item-value\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n ></kit-textbox>\n @if ($index === 0) {\n <kit-dropdown class=\"logic-selector\"\n [selectedItem]=\"filterItems().logic\"\n [items]=\"filterLogicDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n (selected)=\"onLogicChange($event.value)\"\n ></kit-dropdown>\n }\n </div>\n </div>\n }\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-text-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-text-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-text-popup .filter-item-value{flex:1}::ng-deep .kit-filter-text-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-text-popup .logic-selector{flex-shrink:0;width:100px}\n"], dependencies: [{ kind: "ngmodule", type: KitDropdownModule }, { kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "size"], outputs: ["selected"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7746
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterTextComponent, deps: [{ token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterTextComponent, isStandalone: true, selector: "kit-filter-text", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues()?.filters; as selectedFilters) {\n @for (filter of selectedFilters; track $index) {\n {{ getSelectedFilterText(filter) }}\n\n @if ($index === 0) {\n {{ getSelectedLogicText(selectedValues()) }}\n }\n }\n }\n</kit-pill>\n\n<kit-popup #popup\n popupClass=\"kit-filter-text-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n @for (item of filterItems().filters; track $index) {\n <div class=\"filter-item\">\n <kit-dropdown [items]=\"filterOperatorDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n <kit-textbox class=\"filter-item-value\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n ></kit-textbox>\n @if ($index === 0) {\n <kit-dropdown class=\"logic-selector\"\n [selectedItem]=\"filterItems().logic\"\n [items]=\"filterLogicDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n (selected)=\"onLogicChange($event.value)\"\n ></kit-dropdown>\n }\n </div>\n </div>\n }\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-text-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-text-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-text-popup .filter-item-value{flex:1}::ng-deep .kit-filter-text-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-text-popup .logic-selector{flex-shrink:0;width:100px}\n"], dependencies: [{ kind: "ngmodule", type: KitDropdownModule }, { kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "size"], outputs: ["selected"] }, { kind: "ngmodule", type: KitTextboxModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "defaultValue", "messageIcon", "messageText", "disabled", "maxlength", "state", "size", "icon"], outputs: ["blured", "changed"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7634
7748
  }
7635
7749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterTextComponent, decorators: [{
7636
7750
  type: Component,
@@ -7642,7 +7756,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7642
7756
  ReactiveFormsModule,
7643
7757
  KitPopupComponent,
7644
7758
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues()?.filters; as selectedFilters) {\n @for (filter of selectedFilters; track $index) {\n {{ getSelectedFilterText(filter) }}\n\n @if ($index === 0) {\n {{ getSelectedLogicText(selectedValues()) }}\n }\n }\n }\n</kit-pill>\n\n<kit-popup #popup\n popupClass=\"kit-filter-text-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n @for (item of filterItems().filters; track $index) {\n <div class=\"filter-item\">\n <kit-dropdown [items]=\"filterOperatorDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n <kit-textbox class=\"filter-item-value\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n ></kit-textbox>\n @if ($index === 0) {\n <kit-dropdown class=\"logic-selector\"\n [selectedItem]=\"filterItems().logic\"\n [items]=\"filterLogicDropdownItems\"\n [size]=\"kitDropdownSize.SMALL\"\n (selected)=\"onLogicChange($event.value)\"\n ></kit-dropdown>\n }\n </div>\n </div>\n }\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-text-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-text-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-text-popup .filter-item-value{flex:1}::ng-deep .kit-filter-text-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-text-popup .logic-selector{flex-shrink:0;width:100px}\n"] }]
7645
- }], ctorParameters: () => [{ type: i1$a.TranslateService }] });
7759
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }] });
7646
7760
 
7647
7761
  class KitFilterRadioComponent {
7648
7762
  constructor(translateService) {
@@ -7752,7 +7866,7 @@ class KitFilterRadioComponent {
7752
7866
  requestAnimationFrame(() => this.onPopupToggle());
7753
7867
  }
7754
7868
  }
7755
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterRadioComponent, deps: [{ token: i1$a.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterRadioComponent, deps: [{ token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
7756
7870
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitFilterRadioComponent, isStandalone: true, selector: "kit-filter-radio", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translateKeyPrefix: { classPropertyName: "translateKeyPrefix", publicName: "translateKeyPrefix", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-radio\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (hasSelectedFilters(selectedFilterValue)) {\n {{ getSelectedFilterText(selectedFilterValue) | translate }}\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-radio-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <kit-radio-button [items]=\"buildRadioButtonItems(items())\"\n (changed)=\"onRadioButtonChange($event)\"\n ></kit-radio-button>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-radio-popup .popup-content{width:172px}::ng-deep .kit-filter-radio-popup .kit-radio-button .kit-radio-button-items{flex-direction:column;gap:0}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitRadioButtonModule }, { kind: "component", type: KitRadioButtonComponent, selector: "kit-radio-button", inputs: ["items", "label", "name", "readonly", "disabled", "type"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7757
7871
  }
7758
7872
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitFilterRadioComponent, decorators: [{
@@ -7763,7 +7877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
7763
7877
  KitPopupComponent,
7764
7878
  KitRadioButtonModule,
7765
7879
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-filter-radio\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (hasSelectedFilters(selectedFilterValue)) {\n {{ getSelectedFilterText(selectedFilterValue) | translate }}\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-radio-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <kit-radio-button [items]=\"buildRadioButtonItems(items())\"\n (changed)=\"onRadioButtonChange($event)\"\n ></kit-radio-button>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-radio-popup .popup-content{width:172px}::ng-deep .kit-filter-radio-popup .kit-radio-button .kit-radio-button-items{flex-direction:column;gap:0}\n"] }]
7766
- }], ctorParameters: () => [{ type: i1$a.TranslateService }] });
7880
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }] });
7767
7881
 
7768
7882
  class KitGridFiltersComponent {
7769
7883
  constructor(store) {
@@ -7897,12 +8011,12 @@ class KitGridCellService {
7897
8011
  getNestedGridCellValue(dataItem, field) {
7898
8012
  return field.split('.').reduce((acc, key) => acc && typeof acc === 'object' && key in acc && acc[key], dataItem) || '';
7899
8013
  }
7900
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellService, deps: [{ token: i1$a.TranslateService }, { token: i1$1.DecimalPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
8014
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellService, deps: [{ token: i1$9.TranslateService }, { token: i1$1.DecimalPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
7901
8015
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellService }); }
7902
8016
  }
7903
8017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellService, decorators: [{
7904
8018
  type: Injectable
7905
- }], ctorParameters: () => [{ type: i1$a.TranslateService }, { type: i1$1.DecimalPipe }, { type: i1$1.DatePipe }] });
8019
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }, { type: i1$1.DecimalPipe }, { type: i1$1.DatePipe }] });
7906
8020
 
7907
8021
  class KitGridExportComponent {
7908
8022
  get visibleColumns() {
@@ -8059,8 +8173,8 @@ class KitGridExportComponent {
8059
8173
  ? `${indent}<${elementName}/>`
8060
8174
  : `${indent}<${elementName}>${content}</${elementName}>`;
8061
8175
  }
8062
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridExportComponent, deps: [{ token: i1$a.TranslateService }, { token: KitNotificationService }, { token: KitGridCellService }, { token: i1$c.Store }], target: i0.ɵɵFactoryTarget.Component }); }
8063
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridExportComponent, isStandalone: true, selector: "kit-grid-export", inputs: { getExportedData: { classPropertyName: "getExportedData", publicName: "getExportedData", isSignal: true, isRequired: true, transformFunction: null }, translationMap: { classPropertyName: "translationMap", publicName: "translationMap", isSignal: true, isRequired: true, transformFunction: null }, exportedFileName: { classPropertyName: "exportedFileName", publicName: "exportedFileName", isSignal: true, isRequired: true, transformFunction: null }, drawPdf: { classPropertyName: "drawPdf", publicName: "drawPdf", isSignal: true, isRequired: true, transformFunction: null }, gridHasData: { classPropertyName: "gridHasData", publicName: "gridHasData", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }, { propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"kit-grid-export\">\n <kit-button #toggleButton\n [disabled]=\"!gridHasData() || isGridExporting()\"\n [icon]=\"kitSvgIcon.DOWNLOAD\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n (clicked)=\"onPopupToggle()\" />\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-grid-export-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <span class=\"label\">{{ \"kit.export.exportTableData\" | translate }}</span>\n <kit-radio-button [type]=\"kitRadioButtonType.ICON_LIST\"\n [items]=\"gridExportOptions\" \n (changed)=\"onExport($event)\"/>\n</ng-template>\n", styles: ["::ng-deep .kit-grid-export-popup{width:220px}::ng-deep .kit-grid-export-popup .label{font-size:14px;font-weight:500;margin-bottom:20px;display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitGridModule }, { kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitRadioButtonModule }, { kind: "component", type: KitRadioButtonComponent, selector: "kit-radio-button", inputs: ["items", "label", "name", "readonly", "disabled", "type"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridExportComponent, deps: [{ token: i1$9.TranslateService }, { token: KitNotificationService }, { token: KitGridCellService }, { token: i1$c.Store }], target: i0.ɵɵFactoryTarget.Component }); }
8177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridExportComponent, isStandalone: true, selector: "kit-grid-export", inputs: { getExportedData: { classPropertyName: "getExportedData", publicName: "getExportedData", isSignal: true, isRequired: true, transformFunction: null }, translationMap: { classPropertyName: "translationMap", publicName: "translationMap", isSignal: true, isRequired: true, transformFunction: null }, exportedFileName: { classPropertyName: "exportedFileName", publicName: "exportedFileName", isSignal: true, isRequired: true, transformFunction: null }, drawPdf: { classPropertyName: "drawPdf", publicName: "drawPdf", isSignal: true, isRequired: true, transformFunction: null }, gridHasData: { classPropertyName: "gridHasData", publicName: "gridHasData", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }, { propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"kit-grid-export\">\n <kit-button #toggleButton\n [disabled]=\"!gridHasData() || isGridExporting()\"\n [icon]=\"kitSvgIcon.DOWNLOAD\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n (clicked)=\"onPopupToggle()\" />\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-grid-export-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <span class=\"label\">{{ \"kit.export.exportTableData\" | translate }}</span>\n <kit-radio-button [type]=\"kitRadioButtonType.ICON_LIST\"\n [items]=\"gridExportOptions\" \n (changed)=\"onExport($event)\"/>\n</ng-template>\n", styles: ["::ng-deep .kit-grid-export-popup{width:220px}::ng-deep .kit-grid-export-popup .label{font-size:14px;font-weight:500;margin-bottom:20px;display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitGridModule }, { kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "ngmodule", type: KitRadioButtonModule }, { kind: "component", type: KitRadioButtonComponent, selector: "kit-radio-button", inputs: ["items", "label", "name", "readonly", "disabled", "type"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8064
8178
  }
8065
8179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridExportComponent, decorators: [{
8066
8180
  type: Component,
@@ -8071,14 +8185,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8071
8185
  KitPopupComponent,
8072
8186
  KitRadioButtonModule,
8073
8187
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kit-grid-export\">\n <kit-button #toggleButton\n [disabled]=\"!gridHasData() || isGridExporting()\"\n [icon]=\"kitSvgIcon.DOWNLOAD\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n (clicked)=\"onPopupToggle()\" />\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-grid-export-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\">\n</kit-popup>\n\n<ng-template #content>\n <span class=\"label\">{{ \"kit.export.exportTableData\" | translate }}</span>\n <kit-radio-button [type]=\"kitRadioButtonType.ICON_LIST\"\n [items]=\"gridExportOptions\" \n (changed)=\"onExport($event)\"/>\n</ng-template>\n", styles: ["::ng-deep .kit-grid-export-popup{width:220px}::ng-deep .kit-grid-export-popup .label{font-size:14px;font-weight:500;margin-bottom:20px;display:block}\n"] }]
8074
- }], ctorParameters: () => [{ type: i1$a.TranslateService }, { type: KitNotificationService }, { type: KitGridCellService }, { type: i1$c.Store }] });
8188
+ }], ctorParameters: () => [{ type: i1$9.TranslateService }, { type: KitNotificationService }, { type: KitGridCellService }, { type: i1$c.Store }] });
8075
8189
 
8076
8190
  class KitGridCellComponent {
8077
8191
  constructor() {
8078
8192
  this.dateformat = KIT_DATE_FORMAT;
8079
8193
  }
8080
8194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridCellComponent, isStandalone: true, selector: "kit-grid-cell", inputs: { column: "column", dataItem: "dataItem" }, ngImport: i0, template: "@switch (column.type) {\n @case (\"boolean\") {\n {{ dataItem[column.name] && \"common.yes\" || \"common.no\" | translate }}\n }\n @case (\"date\") {\n {{ dataItem[column.name] | date: dateformat }}\n }\n @case (\"number\") {\n {{ dataItem[column.name] | number }}\n }\n @default {\n {{ dataItem[column.name] }}\n }\n}\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitGridModule }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridCellComponent, isStandalone: true, selector: "kit-grid-cell", inputs: { column: "column", dataItem: "dataItem" }, ngImport: i0, template: "@switch (column.type) {\n @case (\"boolean\") {\n {{ dataItem[column.name] && \"common.yes\" || \"common.no\" | translate }}\n }\n @case (\"date\") {\n {{ dataItem[column.name] | date: dateformat }}\n }\n @case (\"number\") {\n {{ dataItem[column.name] | number }}\n }\n @default {\n {{ dataItem[column.name] }}\n }\n}\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitGridModule }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8082
8196
  }
8083
8197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridCellComponent, decorators: [{
8084
8198
  type: Component,
@@ -8110,7 +8224,7 @@ class KitGridSearchComponent {
8110
8224
  this.kitSearchBarComponent().onCloseButtonClick();
8111
8225
  }
8112
8226
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridSearchComponent, isStandalone: true, selector: "kit-grid-search", outputs: { onSearchChanged: "onSearchChanged", onCloseSearch: "onCloseSearch" }, viewQueries: [{ propertyName: "kitSearchBarComponent", first: true, predicate: KitSearchBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<kit-search-bar [placeholder]=\"'kit.search.placeholder' | translate\"\n [searchButtonLabel]=\"'kit.search.searchButtonLabel' | translate\"\n [closeButtonLabel]=\"'kit.search.closeButtonLabel' | translate\"\n (closeButtonClick)=\"closeButtonClick()\"\n></kit-search-bar>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitSearchBarModule }, { kind: "component", type: KitSearchBarComponent, selector: "kit-search-bar", inputs: ["placeholder", "searchButtonLabel", "closeButtonLabel"], outputs: ["changed", "searchButtonClick", "closeButtonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: KitGridSearchComponent, isStandalone: true, selector: "kit-grid-search", outputs: { onSearchChanged: "onSearchChanged", onCloseSearch: "onCloseSearch" }, viewQueries: [{ propertyName: "kitSearchBarComponent", first: true, predicate: KitSearchBarComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<kit-search-bar [placeholder]=\"'kit.search.placeholder' | translate\"\n [searchButtonLabel]=\"'kit.search.searchButtonLabel' | translate\"\n [closeButtonLabel]=\"'kit.search.closeButtonLabel' | translate\"\n (closeButtonClick)=\"closeButtonClick()\"\n></kit-search-bar>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitSearchBarModule }, { kind: "component", type: KitSearchBarComponent, selector: "kit-search-bar", inputs: ["placeholder", "searchButtonLabel", "closeButtonLabel"], outputs: ["changed", "searchButtonClick", "closeButtonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8114
8228
  }
8115
8229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridSearchComponent, decorators: [{
8116
8230
  type: Component,
@@ -8140,6 +8254,7 @@ class KitGridColumnManagerComponent {
8140
8254
  title: this.translateService.instant('kit.columns.title'),
8141
8255
  content: this.dialogContent(),
8142
8256
  appendTo: this.viewContainerRef,
8257
+ cssClass: 'kit-grid-columns-dialog',
8143
8258
  });
8144
8259
  }
8145
8260
  onColumnVisibilityChange(event, column) {
@@ -8166,10 +8281,10 @@ class KitGridColumnManagerComponent {
8166
8281
  const usedColumnsConfig = this.store.selectSnapshot(KIT_GRID_STATE_TOKEN).columns;
8167
8282
  this.hasUnsavedChanges.set(JSON.stringify(this.updatedColumns()) !== JSON.stringify(usedColumnsConfig));
8168
8283
  }
8169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridColumnManagerComponent, deps: [{ token: KitDialogService }, { token: i1$c.Store }, { token: i1$a.TranslateService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
8284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridColumnManagerComponent, deps: [{ token: KitDialogService }, { token: i1$c.Store }, { token: i1$9.TranslateService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
8170
8285
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: KitGridColumnManagerComponent, isStandalone: true, selector: "kit-grid-column-manager", providers: [
8171
8286
  DialogRef,
8172
- ], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<kit-button [label]=\"'kit.columns.title' | translate\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.COLUMNS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"openColumnsDialog()\"\n></kit-button>\n\n<ng-template #dialogContent>\n <div class=\"kit-grid-columns-dialog\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"3\"\n [items]=\"updatedColumns()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">{{ item.title | translate }}</div>\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n </ng-template>\n </kit-sortable>\n </div>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'common.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'common.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</ng-template>\n", styles: [".kit-grid-columns-dialog{min-width:450px;padding:24px}.kit-grid-columns-dialog ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-columns-dialog ::ng-deep .item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-columns-dialog ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-columns-dialog ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px}.kit-grid-columns-dialog ::ng-deep .item-icon-menu{width:12px;height:12px;fill:var(--ui-kit-color-grey-10)}.kit-grid-columns-dialog ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-columns-dialog ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dialog .k-dialog-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$a.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitCheckboxModule }, { kind: "component", type: KitSortableComponent, selector: "kit-sortable", inputs: ["items", "columnCount", "itemClass", "activeItemClass"], outputs: ["onDragEnd"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KitDialogActionsComponent, selector: "kit-dialog-actions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8287
+ ], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<kit-button [label]=\"'kit.columns.title' | translate\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.COLUMNS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"openColumnsDialog()\"\n></kit-button>\n\n<ng-template #dialogContent>\n <div class=\"kit-grid-columns-dialog\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"3\"\n [items]=\"updatedColumns()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">{{ item.title | translate }}</div>\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n </ng-template>\n </kit-sortable>\n </div>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'common.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'common.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</ng-template>\n", styles: [".kit-grid-columns-dialog{min-width:450px;padding:24px}.kit-grid-columns-dialog ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-columns-dialog ::ng-deep .item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-columns-dialog ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-columns-dialog ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px}.kit-grid-columns-dialog ::ng-deep .item-icon-menu{width:12px;height:12px;fill:var(--ui-kit-color-grey-10)}.kit-grid-columns-dialog ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-columns-dialog ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-grid-columns-dialog.kit-dialog .k-dialog-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: KitButtonModule }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$9.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: KitCheckboxModule }, { kind: "component", type: KitSortableComponent, selector: "kit-sortable", inputs: ["items", "columnCount", "itemClass", "activeItemClass"], outputs: ["onDragEnd"] }, { kind: "ngmodule", type: KitSvgIconModule }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KitDialogActionsComponent, selector: "kit-dialog-actions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8173
8288
  }
8174
8289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: KitGridColumnManagerComponent, decorators: [{
8175
8290
  type: Component,
@@ -8183,8 +8298,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8183
8298
  KitDialogActionsComponent,
8184
8299
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
8185
8300
  DialogRef,
8186
- ], template: "<kit-button [label]=\"'kit.columns.title' | translate\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.COLUMNS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"openColumnsDialog()\"\n></kit-button>\n\n<ng-template #dialogContent>\n <div class=\"kit-grid-columns-dialog\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"3\"\n [items]=\"updatedColumns()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">{{ item.title | translate }}</div>\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n </ng-template>\n </kit-sortable>\n </div>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'common.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'common.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</ng-template>\n", styles: [".kit-grid-columns-dialog{min-width:450px;padding:24px}.kit-grid-columns-dialog ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-columns-dialog ::ng-deep .item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-columns-dialog ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-columns-dialog ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px}.kit-grid-columns-dialog ::ng-deep .item-icon-menu{width:12px;height:12px;fill:var(--ui-kit-color-grey-10)}.kit-grid-columns-dialog ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-columns-dialog ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-dialog .k-dialog-content{padding:0}\n"] }]
8187
- }], ctorParameters: () => [{ type: KitDialogService }, { type: i1$c.Store }, { type: i1$a.TranslateService }, { type: i0.ViewContainerRef }] });
8301
+ ], template: "<kit-button [label]=\"'kit.columns.title' | translate\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.COLUMNS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n (clicked)=\"openColumnsDialog()\"\n></kit-button>\n\n<ng-template #dialogContent>\n <div class=\"kit-grid-columns-dialog\">\n <kit-sortable itemClass=\"item\"\n activeItemClass=\"item active\"\n [columnCount]=\"3\"\n [items]=\"updatedColumns()\"\n (onDragEnd)=\"checkChanges()\">\n <ng-template let-item>\n @if (item.hidden) {\n <kit-svg-icon class=\"item-icon-checkbox hidden\"\n [icon]=\"kitSvgIcon.EYE_CLOSE\"\n (click)=\"onColumnVisibilityChange(true, item)\"\n ></kit-svg-icon>\n } @else {\n <kit-svg-icon class=\"item-icon-checkbox\"\n [icon]=\"kitSvgIcon.EYE_OPEN\"\n (click)=\"onColumnVisibilityChange(false, item)\"\n ></kit-svg-icon>\n }\n <div class=\"item-label\">{{ item.title | translate }}</div>\n <kit-svg-icon class=\"item-icon-menu\"\n [ngClass]=\"{ hidden: item.hidden }\"\n [icon]=\"kitSvgIcon.MENU\"\n ></kit-svg-icon>\n </ng-template>\n </kit-sortable>\n </div>\n\n <kit-dialog-actions>\n <kit-button [label]=\"'common.cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"close()\"\n ></kit-button>\n <kit-button [label]=\"'common.apply' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"!hasUnsavedChanges()\"\n (clicked)=\"applyChanges()\"\n ></kit-button>\n </kit-dialog-actions>\n</ng-template>\n", styles: [".kit-grid-columns-dialog{min-width:450px;padding:24px}.kit-grid-columns-dialog ::ng-deep .kit-sortable{margin:0 -24px;column-gap:0;column-rule:1px solid var(--ui-kit-color-grey-11)}.kit-grid-columns-dialog ::ng-deep .item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 25px;min-width:250px;border-radius:8px;box-sizing:border-box;cursor:pointer}.kit-grid-columns-dialog ::ng-deep .item:hover .item-icon{fill:var(--ui-kit-color-hover)}.kit-grid-columns-dialog ::ng-deep .item-label{flex:1;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;line-height:22px}.kit-grid-columns-dialog ::ng-deep .item-icon-menu{width:12px;height:12px;fill:var(--ui-kit-color-grey-10)}.kit-grid-columns-dialog ::ng-deep .item-icon-menu.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox{width:18px;height:18px;fill:var(--ui-kit-color-main)}.kit-grid-columns-dialog ::ng-deep .item-icon-checkbox.hidden{fill:var(--ui-kit-color-grey-12)}.kit-grid-columns-dialog ::ng-deep .item.active{box-shadow:4px 4px 8px #0003;background:var(--ui-kit-color-white)}.kit-grid-columns-dialog ::ng-deep .item.active .item-icon{fill:var(--ui-kit-color-main)}::ng-deep .kit-grid-columns-dialog.kit-dialog .k-dialog-content{padding:0}\n"] }]
8302
+ }], ctorParameters: () => [{ type: KitDialogService }, { type: i1$c.Store }, { type: i1$9.TranslateService }, { type: i0.ViewContainerRef }] });
8188
8303
 
8189
8304
  // KitButton
8190
8305