@indigina/ui-kit 1.1.507 → 1.1.509

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.
@@ -2693,6 +2693,10 @@ class KitCheckboxComponent {
2693
2693
  * Defines a particular state for the component
2694
2694
  */
2695
2695
  this.state = KitCheckboxState.REGULAR;
2696
+ /**
2697
+ * Puts the checkbox into indeterminate (partially-selected) visual state
2698
+ */
2699
+ this.indeterminate = input(false, ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
2696
2700
  /**
2697
2701
  * Occurs as soon as input checked state is changed
2698
2702
  */
@@ -2738,14 +2742,15 @@ class KitCheckboxComponent {
2738
2742
  'checked': checkbox.checked,
2739
2743
  'disabled': this.disabled,
2740
2744
  'readonly': this.readonly,
2745
+ 'indeterminate': this.indeterminate(),
2741
2746
  };
2742
2747
  }
2743
2748
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2744
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitCheckboxComponent, isStandalone: true, selector: "kit-checkbox", inputs: { label: "label", disabled: "disabled", checked: "checked", readonly: "readonly", state: "state", messageIcon: "messageIcon", messageText: "messageText" }, outputs: { changed: "changed" }, providers: [{
2749
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitCheckboxComponent, isStandalone: true, selector: "kit-checkbox", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", 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 }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, providers: [{
2745
2750
  provide: NG_VALUE_ACCESSOR,
2746
2751
  useExisting: forwardRef(() => KitCheckboxComponent),
2747
2752
  multi: true,
2748
- }], ngImport: i0, template: "<div class=\"kit-checkbox\">\n <label class=\"kit-checkbox-item {{ state }}\"\n [ngClass]=\"setCssClasses(checkbox)\"\n (click)=\"handleClick($event)\">\n <div class=\"kit-checkbox-input\">\n <input #checkbox\n kendoCheckBox\n type=\"checkbox\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"checked\"\n (change)=\"onInputStateChange($event)\" />\n <kit-svg-icon class=\"kit-checkbox-icon\"\n [icon]=\"checkIcon\"\n ></kit-svg-icon>\n </div>\n @if (label) {\n <span class=\"kit-checkbox-label\">{{ label }}</span>\n }\n </label>\n\n @if (messageText) {\n <kit-form-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-form-message>\n }\n</div>\n", styles: [".kit-checkbox-item{display:flex;align-items:center;cursor:pointer}.kit-checkbox-item.readonly{pointer-events:none;cursor:default}.kit-checkbox-item.disabled{cursor:default}.kit-checkbox-item.disabled .kit-checkbox-label{color:var(--ui-kit-color-grey-12)}.kit-checkbox-item.disabled.checked .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-checkbox-item.disabled.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.checked .kit-checkbox-input{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-checkbox-item.checked .kit-checkbox-input .kit-checkbox-icon{opacity:1}.kit-checkbox-item.danger .kit-checkbox-input{border-color:var(--ui-kit-color-red);background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger:hover .kit-checkbox-input{background-color:var(--ui-kit-color-red-20);border-color:var(--ui-kit-color-red)}.kit-checkbox-item.danger.disabled .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11)}.kit-checkbox-item.danger.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-red)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-input{background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.danger:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-red-20)}.kit-checkbox-item:hover:not(.readonly):not(.disabled) .kit-checkbox-input{border-color:var(--ui-kit-color-main)}.kit-checkbox-item:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-checkbox-input{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:var(--ui-kit-color-grey-13);border:1px solid var(--ui-kit-color-grey-11);width:16px;height:16px}.kit-checkbox-label{margin-left:8px;font-size:14px;color:var(--ui-kit-color-grey-10)}.kit-checkbox-icon{width:14px;height:14px;opacity:0;fill:none;stroke:var(--ui-kit-color-white)}.kit-checkbox .k-checkbox{opacity:0;width:auto;height:auto;border:none}\n"], dependencies: [{ kind: "ngmodule", type: LabelModule }, { kind: "ngmodule", type: CheckBoxModule }, { kind: "directive", type: i1$4.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: KitFormMessageComponent, selector: "kit-form-message", inputs: ["icon", "message"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2753
+ }], ngImport: i0, template: "<div class=\"kit-checkbox\">\n <label class=\"kit-checkbox-item {{ state }}\"\n [ngClass]=\"setCssClasses(checkbox)\"\n (click)=\"handleClick($event)\">\n <div class=\"kit-checkbox-input\">\n <input #checkbox\n kendoCheckBox\n type=\"checkbox\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"checked\"\n (change)=\"onInputStateChange($event)\" />\n <kit-svg-icon class=\"kit-checkbox-icon\"\n [icon]=\"checkIcon\"\n ></kit-svg-icon>\n </div>\n @if (label) {\n <span class=\"kit-checkbox-label\">{{ label }}</span>\n }\n </label>\n\n @if (messageText) {\n <kit-form-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-form-message>\n }\n</div>\n", styles: [".kit-checkbox-item{display:flex;align-items:center;cursor:pointer}.kit-checkbox-item.readonly{pointer-events:none;cursor:default}.kit-checkbox-item.disabled{cursor:default}.kit-checkbox-item.disabled .kit-checkbox-label{color:var(--ui-kit-color-grey-12)}.kit-checkbox-item.disabled.checked .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-checkbox-item.disabled.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.checked .kit-checkbox-input{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-checkbox-item.checked .kit-checkbox-input .kit-checkbox-icon{opacity:1}.kit-checkbox-item.indeterminate .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-checkbox-item.indeterminate .kit-checkbox-input:before{content:\"\";width:10px;height:2px;background-color:var(--ui-kit-color-main)}.kit-checkbox-item.indeterminate .kit-checkbox-input .kit-checkbox-icon{display:none}.kit-checkbox-item.danger .kit-checkbox-input{border-color:var(--ui-kit-color-red);background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger:hover .kit-checkbox-input{background-color:var(--ui-kit-color-red-20);border-color:var(--ui-kit-color-red)}.kit-checkbox-item.danger.disabled .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11)}.kit-checkbox-item.danger.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-red)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-input{background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.danger:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-red-20)}.kit-checkbox-item:hover:not(.readonly):not(.disabled) .kit-checkbox-input{border-color:var(--ui-kit-color-main)}.kit-checkbox-item:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-checkbox-input{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:var(--ui-kit-color-grey-13);border:1px solid var(--ui-kit-color-grey-11);width:16px;height:16px}.kit-checkbox-label{margin-left:8px;font-size:14px;color:var(--ui-kit-color-grey-10)}.kit-checkbox-icon{width:14px;height:14px;opacity:0;fill:none;stroke:var(--ui-kit-color-white)}.kit-checkbox .k-checkbox{opacity:0;width:auto;height:auto;border:none}\n"], dependencies: [{ kind: "ngmodule", type: LabelModule }, { kind: "ngmodule", type: CheckBoxModule }, { kind: "directive", type: i1$4.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: KitFormMessageComponent, selector: "kit-form-message", inputs: ["icon", "message"] }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2749
2754
  }
2750
2755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCheckboxComponent, decorators: [{
2751
2756
  type: Component,
@@ -2760,7 +2765,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
2760
2765
  KitSvgIconComponent,
2761
2766
  FormsModule,
2762
2767
  NgClass,
2763
- ], template: "<div class=\"kit-checkbox\">\n <label class=\"kit-checkbox-item {{ state }}\"\n [ngClass]=\"setCssClasses(checkbox)\"\n (click)=\"handleClick($event)\">\n <div class=\"kit-checkbox-input\">\n <input #checkbox\n kendoCheckBox\n type=\"checkbox\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"checked\"\n (change)=\"onInputStateChange($event)\" />\n <kit-svg-icon class=\"kit-checkbox-icon\"\n [icon]=\"checkIcon\"\n ></kit-svg-icon>\n </div>\n @if (label) {\n <span class=\"kit-checkbox-label\">{{ label }}</span>\n }\n </label>\n\n @if (messageText) {\n <kit-form-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-form-message>\n }\n</div>\n", styles: [".kit-checkbox-item{display:flex;align-items:center;cursor:pointer}.kit-checkbox-item.readonly{pointer-events:none;cursor:default}.kit-checkbox-item.disabled{cursor:default}.kit-checkbox-item.disabled .kit-checkbox-label{color:var(--ui-kit-color-grey-12)}.kit-checkbox-item.disabled.checked .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-checkbox-item.disabled.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.checked .kit-checkbox-input{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-checkbox-item.checked .kit-checkbox-input .kit-checkbox-icon{opacity:1}.kit-checkbox-item.danger .kit-checkbox-input{border-color:var(--ui-kit-color-red);background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger:hover .kit-checkbox-input{background-color:var(--ui-kit-color-red-20);border-color:var(--ui-kit-color-red)}.kit-checkbox-item.danger.disabled .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11)}.kit-checkbox-item.danger.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-red)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-input{background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.danger:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-red-20)}.kit-checkbox-item:hover:not(.readonly):not(.disabled) .kit-checkbox-input{border-color:var(--ui-kit-color-main)}.kit-checkbox-item:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-checkbox-input{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:var(--ui-kit-color-grey-13);border:1px solid var(--ui-kit-color-grey-11);width:16px;height:16px}.kit-checkbox-label{margin-left:8px;font-size:14px;color:var(--ui-kit-color-grey-10)}.kit-checkbox-icon{width:14px;height:14px;opacity:0;fill:none;stroke:var(--ui-kit-color-white)}.kit-checkbox .k-checkbox{opacity:0;width:auto;height:auto;border:none}\n"] }]
2768
+ ], template: "<div class=\"kit-checkbox\">\n <label class=\"kit-checkbox-item {{ state }}\"\n [ngClass]=\"setCssClasses(checkbox)\"\n (click)=\"handleClick($event)\">\n <div class=\"kit-checkbox-input\">\n <input #checkbox\n kendoCheckBox\n type=\"checkbox\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"checked\"\n (change)=\"onInputStateChange($event)\" />\n <kit-svg-icon class=\"kit-checkbox-icon\"\n [icon]=\"checkIcon\"\n ></kit-svg-icon>\n </div>\n @if (label) {\n <span class=\"kit-checkbox-label\">{{ label }}</span>\n }\n </label>\n\n @if (messageText) {\n <kit-form-message [icon]=\"messageIcon\"\n [message]=\"messageText\"\n ></kit-form-message>\n }\n</div>\n", styles: [".kit-checkbox-item{display:flex;align-items:center;cursor:pointer}.kit-checkbox-item.readonly{pointer-events:none;cursor:default}.kit-checkbox-item.disabled{cursor:default}.kit-checkbox-item.disabled .kit-checkbox-label{color:var(--ui-kit-color-grey-12)}.kit-checkbox-item.disabled.checked .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-checkbox-item.disabled.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.checked .kit-checkbox-input{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-checkbox-item.checked .kit-checkbox-input .kit-checkbox-icon{opacity:1}.kit-checkbox-item.indeterminate .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-checkbox-item.indeterminate .kit-checkbox-input:before{content:\"\";width:10px;height:2px;background-color:var(--ui-kit-color-main)}.kit-checkbox-item.indeterminate .kit-checkbox-input .kit-checkbox-icon{display:none}.kit-checkbox-item.danger .kit-checkbox-input{border-color:var(--ui-kit-color-red);background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger:hover .kit-checkbox-input{background-color:var(--ui-kit-color-red-20);border-color:var(--ui-kit-color-red)}.kit-checkbox-item.danger.disabled .kit-checkbox-input{border-color:var(--ui-kit-color-grey-11)}.kit-checkbox-item.danger.checked .kit-checkbox-icon{stroke:var(--ui-kit-color-red)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-input{background-color:var(--ui-kit-color-red-20)}.kit-checkbox-item.danger.checked.disabled .kit-checkbox-icon{stroke:var(--ui-kit-color-grey-12)}.kit-checkbox-item.danger:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-red-20)}.kit-checkbox-item:hover:not(.readonly):not(.disabled) .kit-checkbox-input{border-color:var(--ui-kit-color-main)}.kit-checkbox-item:focus-within .kit-checkbox-input{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-checkbox-input{display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:var(--ui-kit-color-grey-13);border:1px solid var(--ui-kit-color-grey-11);width:16px;height:16px}.kit-checkbox-label{margin-left:8px;font-size:14px;color:var(--ui-kit-color-grey-10)}.kit-checkbox-icon{width:14px;height:14px;opacity:0;fill:none;stroke:var(--ui-kit-color-white)}.kit-checkbox .k-checkbox{opacity:0;width:auto;height:auto;border:none}\n"] }]
2764
2769
  }], propDecorators: { label: [{
2765
2770
  type: Input
2766
2771
  }], disabled: [{
@@ -2775,7 +2780,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
2775
2780
  type: Input
2776
2781
  }], messageText: [{
2777
2782
  type: Input
2778
- }], changed: [{
2783
+ }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], changed: [{
2779
2784
  type: Output
2780
2785
  }] } });
2781
2786
 
@@ -3596,7 +3601,7 @@ class KitCtaPanelConfirmationComponent {
3596
3601
  this.confirmClicked.emit(this.form.value);
3597
3602
  }
3598
3603
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCtaPanelConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3599
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitCtaPanelConfirmationComponent, isStandalone: true, selector: "kit-cta-panel-confirmation", inputs: { data: "data", confirmButtonDisabled: "confirmButtonDisabled", dropdownListHeight: "dropdownListHeight", quitText: "quitText", confirmText: "confirmText" }, outputs: { quitClicked: "quitClicked", confirmClicked: "confirmClicked" }, ngImport: i0, template: "<div class=\"kit-cta-panel-confirmation\">\n <div class=\"confirmation-head\">\n @if (data?.icon) {\n <kit-svg-icon class=\"head-icon\"\n [icon]=\"data?.icon\"\n ></kit-svg-icon>\n }\n <div class=\"head-text\">\n <div class=\"head-title\">{{ data?.title }}</div>\n @if (data?.description) {\n <div class=\"head-description\">\n {{ data?.description }}\n </div>\n }\n </div>\n </div>\n <div class=\"confirmation-main\">\n <form class=\"confirmation-main-form\"\n [formGroup]=\"form\">\n @if (data?.dropdownItems) {\n <kit-dropdown\n formControlName=\"reason\"\n [defaultItem]=\"data?.defaultDropdownItem\"\n [label]=\"data?.dropdownLabel\"\n [items]=\"data?.dropdownItems\"\n [listHeight]=\"dropdownListHeight\"\n ></kit-dropdown>\n }\n\n @if (data?.checkboxLabel) {\n <kit-checkbox formControlName=\"checkbox\"\n [label]=\"data?.checkboxLabel\"\n ></kit-checkbox>\n }\n </form>\n </div>\n <kit-cta-panel-action [disabled]=\"data?.dropdownItems && form.invalid\"\n [quitText]=\"quitText\"\n [confirmText]=\"confirmText\"\n (quitClicked)=\"quitClicked.emit()\"\n (confirmClicked)=\"onConfirmButtonClick()\"\n ></kit-cta-panel-action>\n</div>\n", styles: [".display-flex{display:flex}.flex-align-items-center{align-items:center}.flex-justify-content-center{justify-content:center}.flex-justify-content-end{justify-content:flex-end}.display-block{display:block}div[kendowatermarkoverlay]{display:none}:root{--ui-kit-header-height: 86px;--ui-kit-sidebar-collapsed-width: 56px;--ui-kit-sidebar-expanded-width: 256px;--ui-kit-layout-gap: 25px}.kit-cta-panel-confirmation{padding:15px 20px;border:2px solid #00b0ad;background:#f8f9fe;line-height:1.26}.kit-cta-panel-confirmation .confirmation-head{display:flex;margin-bottom:24px}.kit-cta-panel-confirmation .head-icon{width:24px;height:24px;margin-right:20px;flex-shrink:0;stroke:#00b0ad;fill:none}.kit-cta-panel-confirmation .head-icon .reset-icon{stroke:none;fill:#00b0ad}.kit-cta-panel-confirmation .head-title{color:#002a3a;font-weight:700}.kit-cta-panel-confirmation .head-description{margin-top:24px;color:#000}.kit-cta-panel-confirmation .confirmation-main{margin-bottom:24px}.kit-cta-panel-confirmation .confirmation-main-form{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "readonly", "size"], outputs: ["selectedItemChange", "disabledChange", "selected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: KitCtaPanelActionComponent, selector: "kit-cta-panel-action", inputs: ["disabled", "confirmText", "quitText"], outputs: ["quitClicked", "confirmClicked"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3604
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitCtaPanelConfirmationComponent, isStandalone: true, selector: "kit-cta-panel-confirmation", inputs: { data: "data", confirmButtonDisabled: "confirmButtonDisabled", dropdownListHeight: "dropdownListHeight", quitText: "quitText", confirmText: "confirmText" }, outputs: { quitClicked: "quitClicked", confirmClicked: "confirmClicked" }, ngImport: i0, template: "<div class=\"kit-cta-panel-confirmation\">\n <div class=\"confirmation-head\">\n @if (data?.icon) {\n <kit-svg-icon class=\"head-icon\"\n [icon]=\"data?.icon\"\n ></kit-svg-icon>\n }\n <div class=\"head-text\">\n <div class=\"head-title\">{{ data?.title }}</div>\n @if (data?.description) {\n <div class=\"head-description\">\n {{ data?.description }}\n </div>\n }\n </div>\n </div>\n <div class=\"confirmation-main\">\n <form class=\"confirmation-main-form\"\n [formGroup]=\"form\">\n @if (data?.dropdownItems) {\n <kit-dropdown\n formControlName=\"reason\"\n [defaultItem]=\"data?.defaultDropdownItem\"\n [label]=\"data?.dropdownLabel\"\n [items]=\"data?.dropdownItems\"\n [listHeight]=\"dropdownListHeight\"\n ></kit-dropdown>\n }\n\n @if (data?.checkboxLabel) {\n <kit-checkbox formControlName=\"checkbox\"\n [label]=\"data?.checkboxLabel\"\n ></kit-checkbox>\n }\n </form>\n </div>\n <kit-cta-panel-action [disabled]=\"data?.dropdownItems && form.invalid\"\n [quitText]=\"quitText\"\n [confirmText]=\"confirmText\"\n (quitClicked)=\"quitClicked.emit()\"\n (confirmClicked)=\"onConfirmButtonClick()\"\n ></kit-cta-panel-action>\n</div>\n", styles: [".display-flex{display:flex}.flex-align-items-center{align-items:center}.flex-justify-content-center{justify-content:center}.flex-justify-content-end{justify-content:flex-end}.display-block{display:block}div[kendowatermarkoverlay]{display:none}:root{--ui-kit-header-height: 86px;--ui-kit-sidebar-collapsed-width: 56px;--ui-kit-sidebar-expanded-width: 256px;--ui-kit-layout-gap: 25px}.kit-cta-panel-confirmation{padding:15px 20px;border:2px solid #00b0ad;background:#f8f9fe;line-height:1.26}.kit-cta-panel-confirmation .confirmation-head{display:flex;margin-bottom:24px}.kit-cta-panel-confirmation .head-icon{width:24px;height:24px;margin-right:20px;flex-shrink:0;stroke:#00b0ad;fill:none}.kit-cta-panel-confirmation .head-icon .reset-icon{stroke:none;fill:#00b0ad}.kit-cta-panel-confirmation .head-title{color:#002a3a;font-weight:700}.kit-cta-panel-confirmation .head-description{margin-top:24px;color:#000}.kit-cta-panel-confirmation .confirmation-main{margin-bottom:24px}.kit-cta-panel-confirmation .confirmation-main-form{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "readonly", "size"], outputs: ["selectedItemChange", "disabledChange", "selected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: KitCtaPanelActionComponent, selector: "kit-cta-panel-action", inputs: ["disabled", "confirmText", "quitText"], outputs: ["quitClicked", "confirmClicked"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3600
3605
  }
3601
3606
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCtaPanelConfirmationComponent, decorators: [{
3602
3607
  type: Component,
@@ -5449,9 +5454,9 @@ class KitBreadcrumbsService {
5449
5454
  collectBreadcrumbs(route) {
5450
5455
  const breadcrumbData = route.data['breadcrumb'] ?? [];
5451
5456
  const breadcrumbs = breadcrumbData.map(crumb => ({
5452
- text: this.isDynamicBreadcrumb(crumb.text)
5453
- && this.getDynamicBreadcrumbText(crumb.text, route.params)
5454
- || this.translateService.instant(crumb.text),
5457
+ text: this.isDynamicBreadcrumb(crumb.text) &&
5458
+ this.getDynamicBreadcrumbText(crumb.text, route.params) ||
5459
+ this.translateService.instant(crumb.text),
5455
5460
  url: this.replaceRouteParams(crumb.url, route.params),
5456
5461
  }));
5457
5462
  return route.firstChild && [
@@ -5644,6 +5649,29 @@ class KitGridComponent {
5644
5649
  };
5645
5650
  }, ...(ngDevMode ? [{ debugName: "selectableSettings" }] : /* istanbul ignore next */ []));
5646
5651
  this.isRadioColumn = computed(() => this.checkboxColumn()?.type() === KitGridCheckboxColumnType.RADIO, ...(ngDevMode ? [{ debugName: "isRadioColumn" }] : /* istanbul ignore next */ []));
5652
+ this.currentPageVisibleRowKeys = computed(() => {
5653
+ const items = this.getCurrentPageItems();
5654
+ return new Set(items
5655
+ .filter((item) => !this.isCheckboxHidden(item))
5656
+ .map((item) => this.getRowKey(item)));
5657
+ }, ...(ngDevMode ? [{ debugName: "currentPageVisibleRowKeys" }] : /* istanbul ignore next */ []));
5658
+ this.isHeaderCheckboxDisabled = computed(() => this.currentPageVisibleRowKeys().size === 0, ...(ngDevMode ? [{ debugName: "isHeaderCheckboxDisabled" }] : /* istanbul ignore next */ []));
5659
+ this.headerCheckboxState = computed(() => {
5660
+ if (this.isHeaderCheckboxDisabled()) {
5661
+ return 'unchecked';
5662
+ }
5663
+ const visibleRowsCount = this.currentPageVisibleRowKeys().size;
5664
+ const selectedKeys = this.selectedKeys();
5665
+ const selectedVisibleRowsCount = selectedKeys.filter((key) => this.currentPageVisibleRowKeys().has(key)).length;
5666
+ const hasSelectionOutsideCurrentPage = selectedKeys.some((key) => !this.currentPageVisibleRowKeys().has(key));
5667
+ if (selectedVisibleRowsCount === visibleRowsCount) {
5668
+ return 'checked';
5669
+ }
5670
+ if (selectedVisibleRowsCount > 0 || hasSelectionOutsideCurrentPage) {
5671
+ return 'indeterminate';
5672
+ }
5673
+ return 'unchecked';
5674
+ }, ...(ngDevMode ? [{ debugName: "headerCheckboxState" }] : /* istanbul ignore next */ []));
5647
5675
  this.expandedRows = [];
5648
5676
  this.getCssRowClass = (context) => {
5649
5677
  const expanded = this.expandedRows.includes(context.dataItem);
@@ -5703,6 +5731,53 @@ class KitGridComponent {
5703
5731
  onCellClick(event) {
5704
5732
  this.cellClicked.emit(event);
5705
5733
  }
5734
+ onHeaderCheckboxChanged(checked) {
5735
+ const visibleRows = this.getVisiblePageRows();
5736
+ if (!visibleRows.length) {
5737
+ return;
5738
+ }
5739
+ const previousSelectedSet = new Set(this.selectedKeys());
5740
+ const nextSelectedSet = new Set(previousSelectedSet);
5741
+ for (const row of visibleRows) {
5742
+ if (checked) {
5743
+ nextSelectedSet.add(row.key);
5744
+ }
5745
+ else {
5746
+ nextSelectedSet.delete(row.key);
5747
+ }
5748
+ }
5749
+ const nextSelectedKeys = this.limitSelectedKeys(Array.from(nextSelectedSet));
5750
+ const limitedSelectedSet = new Set(nextSelectedKeys);
5751
+ this.selectedKeys.set(nextSelectedKeys);
5752
+ const selectionRows = visibleRows.reduce((accumulator, row) => {
5753
+ const wasSelected = previousSelectedSet.has(row.key);
5754
+ const isSelected = limitedSelectedSet.has(row.key);
5755
+ if (!wasSelected && isSelected) {
5756
+ accumulator.selectedRows.push({
5757
+ dataItem: row.dataItem,
5758
+ index: row.index,
5759
+ });
5760
+ }
5761
+ else if (wasSelected && !isSelected) {
5762
+ accumulator.deselectedRows.push({
5763
+ dataItem: row.dataItem,
5764
+ index: row.index,
5765
+ });
5766
+ }
5767
+ return accumulator;
5768
+ }, {
5769
+ selectedRows: [],
5770
+ deselectedRows: [],
5771
+ });
5772
+ if (selectionRows.selectedRows.length || selectionRows.deselectedRows.length) {
5773
+ this.selectionChanged.emit({
5774
+ selectedRows: selectionRows.selectedRows,
5775
+ deselectedRows: selectionRows.deselectedRows,
5776
+ ctrlKey: false,
5777
+ shiftKey: false,
5778
+ });
5779
+ }
5780
+ }
5706
5781
  isRowSelectable(context) {
5707
5782
  if (this.isCheckboxHidden(context.dataItem)) {
5708
5783
  return false;
@@ -5774,8 +5849,8 @@ class KitGridComponent {
5774
5849
  const currentIndicator = this.dropIndicator();
5775
5850
  const dropTargetMidpoint = this.getDropTargetMidpoint(event);
5776
5851
  const distanceToMidpoint = Math.abs(event.dragEvent.clientY - dropTargetMidpoint);
5777
- if (currentIndicator?.targetRowIndex === event.dropTargetIndex
5778
- && distanceToMidpoint <= this.rowDropSwitchThresholdPx) {
5852
+ if (currentIndicator?.targetRowIndex === event.dropTargetIndex &&
5853
+ distanceToMidpoint <= this.rowDropSwitchThresholdPx) {
5779
5854
  return;
5780
5855
  }
5781
5856
  this.dropIndicator.set({
@@ -5810,6 +5885,35 @@ class KitGridComponent {
5810
5885
  }
5811
5886
  return keys.filter((key) => !hiddenKeys.has(key));
5812
5887
  }
5888
+ getCurrentPageItems() {
5889
+ const dataBindingItems = this.renderedGridDataBinding();
5890
+ if (dataBindingItems) {
5891
+ return this.getCurrentPageItemsFromCollection(dataBindingItems);
5892
+ }
5893
+ const dataItems = this.renderedData();
5894
+ if (!dataItems) {
5895
+ return [];
5896
+ }
5897
+ if (Array.isArray(dataItems)) {
5898
+ return this.getCurrentPageItemsFromCollection(dataItems);
5899
+ }
5900
+ return dataItems.data;
5901
+ }
5902
+ getCurrentPageItemsFromCollection(items) {
5903
+ if (!this.pageable || !this.pageSize) {
5904
+ return items;
5905
+ }
5906
+ return items.slice(this.skip(), this.skip() + this.pageSize);
5907
+ }
5908
+ getVisiblePageRows() {
5909
+ return this.getCurrentPageItems()
5910
+ .filter((item) => !this.isCheckboxHidden(item))
5911
+ .map((item, pageIndex) => ({
5912
+ dataItem: item,
5913
+ key: this.getRowKey(item),
5914
+ index: this.skip() + pageIndex,
5915
+ }));
5916
+ }
5813
5917
  getDataCollection() {
5814
5918
  const gridDataBinding = this.renderedGridDataBinding();
5815
5919
  if (gridDataBinding) {
@@ -5950,13 +6054,14 @@ class KitGridComponent {
5950
6054
  { provide: L10N_PREFIX, useValue: '' },
5951
6055
  PagerContextService,
5952
6056
  PagerNavigationService,
5953
- ], queries: [{ propertyName: "columnMarkersContent", predicate: KIT_GRID_COLUMN_MARKER, isSignal: true }], viewQueries: [{ propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "gridComponent", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected,.kit-grid ::ng-deep .k-table-row.k-selected{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected .k-table-td,.kit-grid ::ng-deep .k-table-row.k-selected .k-table-td{background:none;box-shadow:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: GridModule }, { kind: "component", type: i1$d.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i1$d.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i1$d.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i1$d.CustomMessagesComponent, selector: "kendo-grid-messages" }, { kind: "directive", type: i1$d.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i1$d.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: i1$d.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i1$d.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i1$d.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll", "showDisabledCheckbox"] }, { kind: "directive", type: i1$d.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i1$d.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i2.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i2.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i2.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i2.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i2.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "ngmodule", type: ExcelModule }, { kind: "component", type: i1$d.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"], outputs: ["fileCreated"] }, { kind: "ngmodule", type: PDFModule }, { kind: "component", type: i1$d.PDFComponent, selector: "kendo-grid-pdf", inputs: ["allPages", "delay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: i3.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6057
+ ], queries: [{ propertyName: "columnMarkersContent", predicate: KIT_GRID_COLUMN_MARKER, isSignal: true }], viewQueries: [{ propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "gridComponent", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected,.kit-grid ::ng-deep .k-table-row.k-selected{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected .k-table-td,.kit-grid ::ng-deep .k-table-row.k-selected .k-table-td{background:none;box-shadow:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: GridModule }, { kind: "component", type: i1$d.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i1$d.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i1$d.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i1$d.CustomMessagesComponent, selector: "kendo-grid-messages" }, { kind: "directive", type: i1$d.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i1$d.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: i1$d.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i1$d.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i1$d.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll", "showDisabledCheckbox"] }, { kind: "directive", type: i1$d.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i1$d.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i2.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i2.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i2.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i2.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i2.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }, { kind: "ngmodule", type: ExcelModule }, { kind: "component", type: i1$d.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"], outputs: ["fileCreated"] }, { kind: "ngmodule", type: PDFModule }, { kind: "component", type: i1$d.PDFComponent, selector: "kendo-grid-pdf", inputs: ["allPages", "delay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: i3.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5954
6058
  }
5955
6059
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitGridComponent, decorators: [{
5956
6060
  type: Component,
5957
6061
  args: [{ selector: 'kit-grid', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5958
6062
  GridModule,
5959
6063
  KitSvgIconComponent,
6064
+ KitCheckboxComponent,
5960
6065
  ExcelModule,
5961
6066
  PDFModule,
5962
6067
  NgClass,
@@ -5967,7 +6072,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
5967
6072
  { provide: L10N_PREFIX, useValue: '' },
5968
6073
  PagerContextService,
5969
6074
  PagerNavigationService,
5970
- ], template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected,.kit-grid ::ng-deep .k-table-row.k-selected{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected .k-table-td,.kit-grid ::ng-deep .k-table-row.k-selected .k-table-td{background:none;box-shadow:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"] }]
6075
+ ], template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\"tr\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected,.kit-grid ::ng-deep .k-table-row.k-selected{background:none}.kit-grid ::ng-deep .k-table-row.k-state-selected .k-table-td,.kit-grid ::ng-deep .k-table-row.k-selected .k-table-td{background:none;box-shadow:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"] }]
5971
6076
  }], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], gridDataBinding: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridDataBinding", required: false }] }], sortable: [{
5972
6077
  type: Input
5973
6078
  }], sort: [{
@@ -6247,9 +6352,9 @@ class KitCollapsedListComponent {
6247
6352
  requestAnimationFrame(() => this.initResizeObserver());
6248
6353
  }
6249
6354
  ngOnChanges({ itemList, gap, dropdownDefaultValueText }) {
6250
- if ((itemList && !itemList.isFirstChange())
6251
- || (gap && !gap.isFirstChange())
6252
- || (dropdownDefaultValueText && !dropdownDefaultValueText.isFirstChange())) {
6355
+ if ((itemList && !itemList.isFirstChange()) ||
6356
+ (gap && !gap.isFirstChange()) ||
6357
+ (dropdownDefaultValueText && !dropdownDefaultValueText.isFirstChange())) {
6253
6358
  requestAnimationFrame(() => this.resize());
6254
6359
  }
6255
6360
  }
@@ -7387,8 +7492,8 @@ class KitGlobalSearchComponent {
7387
7492
  if (!this.popup()?.isPopupOpen) {
7388
7493
  return;
7389
7494
  }
7390
- if (!this.textbox().hostElement.nativeElement.contains(event.target)
7391
- && !this.popup()?.popupHTMLElement?.contains(event.target)) {
7495
+ if (!this.textbox().hostElement.nativeElement.contains(event.target) &&
7496
+ !this.popup()?.popupHTMLElement?.contains(event.target)) {
7392
7497
  this.clearSearch();
7393
7498
  }
7394
7499
  }
@@ -7582,9 +7687,9 @@ const findMatches = (obj, translatePrefix, excludedKeys = [], search, translateV
7582
7687
  const handleObject = (obj, path) => {
7583
7688
  for (const [key, value,] of Object.entries(obj)) {
7584
7689
  const currentPath = path ? `${path}.${key}` : key;
7585
- const isMatch = typeof value === 'string'
7586
- && value.toLowerCase().includes(search.toLowerCase())
7587
- && !excludedKeys.includes(currentPath);
7690
+ const isMatch = typeof value === 'string' &&
7691
+ value.toLowerCase().includes(search.toLowerCase()) &&
7692
+ !excludedKeys.includes(currentPath);
7588
7693
  if (isMatch) {
7589
7694
  matches.push({
7590
7695
  path: currentPath,
@@ -8980,8 +9085,8 @@ class KitUsersSettingsEntitlementsFormComponent {
8980
9085
  effect(() => this.updateDisabledState());
8981
9086
  }
8982
9087
  get showPartnersControl() {
8983
- return this.form.get(KitUsersSettingsEntitlementsField.IDENTITY_TYPE)?.value === KitUsersSettingsEntitlementType.USER
8984
- && this.showIdentityType();
9088
+ return this.form.get(KitUsersSettingsEntitlementsField.IDENTITY_TYPE)?.value === KitUsersSettingsEntitlementType.USER &&
9089
+ this.showIdentityType();
8985
9090
  }
8986
9091
  submit() {
8987
9092
  const userId = this.userId();
@@ -9218,9 +9323,9 @@ class KitUsersSettingsPasswordDialogComponent {
9218
9323
  const control = this.form.get(field);
9219
9324
  const isTouchedAndDirty = !!control?.touched && !!control.dirty;
9220
9325
  const hasFieldError = isTouchedAndDirty && !!control?.invalid;
9221
- const hasMatchError = field === KitUsersSettingsPasswordDialogField.REPEAT_PASSWORD
9222
- && !!this.form.errors?.['passwordsMismatch']
9223
- && isTouchedAndDirty;
9326
+ const hasMatchError = field === KitUsersSettingsPasswordDialogField.REPEAT_PASSWORD &&
9327
+ !!this.form.errors?.['passwordsMismatch'] &&
9328
+ isTouchedAndDirty;
9224
9329
  return hasFieldError || hasMatchError ? KitTextboxState.ERROR : KitTextboxState.DEFAULT;
9225
9330
  }
9226
9331
  getTextboxMessageText(field) {
@@ -11226,8 +11331,8 @@ class KitFilterCheckboxComponent {
11226
11331
  this.selectedValues.set([]);
11227
11332
  return;
11228
11333
  }
11229
- const isNotNullOnly = filterValue.filters.length === 1
11230
- && filterValue.filters[0].operator === KitFilterOperator.IS_NOT_NULL;
11334
+ const isNotNullOnly = filterValue.filters.length === 1 &&
11335
+ filterValue.filters[0].operator === KitFilterOperator.IS_NOT_NULL;
11231
11336
  const hasNeq = filterValue.filters.some(f => f.operator === KitFilterOperator.NEQ);
11232
11337
  if (isNotNullOnly) {
11233
11338
  this.selectedValues.set(this.allItemsAsSelected());
@@ -11263,7 +11368,7 @@ class KitFilterCheckboxComponent {
11263
11368
  })));
11264
11369
  }
11265
11370
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitFilterCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11266
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.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 }, showPopupOnInit: { classPropertyName: "showPopupOnInit", publicName: "showPopupOnInit", isSignal: true, isRequired: false, transformFunction: null }, guidField: { classPropertyName: "guidField", publicName: "guidField", 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: "popupContent", first: true, predicate: ["popupContent"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], usesOnChanges: 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 && !!(filter().removable ?? true)\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (allSelected()) {\n <div class=\"kit-filter-checkbox-tooltip\"\n kitTooltip\n kitTooltipFilter=\".kit-filter-checkbox-tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ 'kit.filters.all' | translate }}\n </div>\n } @else if (displayedValues.length > 1) {\n <div class=\"kit-filter-checkbox-tooltip\"\n kitTooltip\n kitTooltipFilter=\".kit-filter-checkbox-tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ displayedValues[0] }}\n <span class=\"kit-filter-checkbox-tooltip-count\">+{{ displayedValues.length - 1 }}</span>\n </div>\n } @else {\n {{ displayedValues[0] ?? '' }}\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 (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-search\"\n [hidden]=\"!isContentOverflowing && !searchTerm()\">\n <kit-textbox [placeholder]=\"'kit.filters.search' | translate\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"searchTerm()\"\n (changed)=\"searchTerm.set($event)\"\n ></kit-textbox>\n </div>\n\n <div #popupContent\n class=\"popup-content\">\n @if (!searchTerm()) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"'kit.filters.all' | translate\"\n [(ngModel)]=\"allSelected\"\n (changed)=\"toggleAll($event)\">\n </kit-checkbox>\n }\n\n @for (item of visibleItems(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange($event, item.value)\"\n ></kit-checkbox>\n }\n\n @if (!visibleItems().length) {\n {{ ('kit.filters.noDataFound' | translate) }}\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of (displayedValues.length > 1 && !allSelected() ? displayedValues.slice(1) : displayedValues); track item) {\n <div class=\"kit-filter-checkbox-tooltip-item\">{{ item }}</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-search{margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px;max-height:400px;overflow-y:auto}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar{width:4px;height:4px}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-10)}::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: TranslateModule }, { 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.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", "extraInsideSelectors"], outputs: ["cancelAction", "applyAction", "opened", "closed"] }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "pipe", type: i1$e.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.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 }, showPopupOnInit: { classPropertyName: "showPopupOnInit", publicName: "showPopupOnInit", isSignal: true, isRequired: false, transformFunction: null }, guidField: { classPropertyName: "guidField", publicName: "guidField", 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: "popupContent", first: true, predicate: ["popupContent"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], usesOnChanges: 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 && !!(filter().removable ?? true)\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (allSelected()) {\n <div class=\"kit-filter-checkbox-tooltip\"\n kitTooltip\n kitTooltipFilter=\".kit-filter-checkbox-tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ 'kit.filters.all' | translate }}\n </div>\n } @else if (displayedValues.length > 1) {\n <div class=\"kit-filter-checkbox-tooltip\"\n kitTooltip\n kitTooltipFilter=\".kit-filter-checkbox-tooltip\"\n [kitTooltipPosition]=\"kitTooltipPosition.RIGHT\"\n [kitTooltipTemplateRef]=\"tooltipTemplate\">\n {{ displayedValues[0] }}\n <span class=\"kit-filter-checkbox-tooltip-count\">+{{ displayedValues.length - 1 }}</span>\n </div>\n } @else {\n {{ displayedValues[0] ?? '' }}\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 (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-search\"\n [hidden]=\"!isContentOverflowing && !searchTerm()\">\n <kit-textbox [placeholder]=\"'kit.filters.search' | translate\"\n [size]=\"kitTextboxSize.SMALL\"\n [defaultValue]=\"searchTerm()\"\n (changed)=\"searchTerm.set($event)\"\n ></kit-textbox>\n </div>\n\n <div #popupContent\n class=\"popup-content\">\n @if (!searchTerm()) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"'kit.filters.all' | translate\"\n [(ngModel)]=\"allSelected\"\n (changed)=\"toggleAll($event)\">\n </kit-checkbox>\n }\n\n @for (item of visibleItems(); track $index) {\n <kit-checkbox class=\"checkbox-item\"\n [label]=\"buildTranslateKey(item.title) | translate\"\n [(ngModel)]=\"item.checked\"\n (changed)=\"onChange($event, item.value)\"\n ></kit-checkbox>\n }\n\n @if (!visibleItems().length) {\n {{ ('kit.filters.noDataFound' | translate) }}\n }\n </div>\n</ng-template>\n\n<ng-template #tooltipTemplate>\n @for (item of (displayedValues.length > 1 && !allSelected() ? displayedValues.slice(1) : displayedValues); track item) {\n <div class=\"kit-filter-checkbox-tooltip-item\">{{ item }}</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-search{margin-bottom:5px;padding-bottom:15px;border-bottom:1px solid var(--ui-kit-color-grey-11)}::ng-deep .kit-filter-checkbox-popup .popup-content{width:172px;max-height:400px;overflow-y:auto}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar{width:4px;height:4px}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}::ng-deep .kit-filter-checkbox-popup .popup-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-10)}::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: TranslateModule }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.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", "extraInsideSelectors"], outputs: ["cancelAction", "applyAction", "opened", "closed"] }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "pipe", type: i1$e.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11267
11372
  }
11268
11373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitFilterCheckboxComponent, decorators: [{
11269
11374
  type: Component,
@@ -11494,6 +11599,8 @@ class KitFilterInputComponent {
11494
11599
  this.filterRemoved = output();
11495
11600
  this.filterChanged = output();
11496
11601
  this.anchor = viewChild.required('toggleButton', { read: ElementRef });
11602
+ this.textboxComponents = viewChildren(KitTextboxComponent, ...(ngDevMode ? [{ debugName: "textboxComponents" }] : /* istanbul ignore next */ []));
11603
+ this.numericTextboxComponents = viewChildren(KitNumericTextboxComponent, ...(ngDevMode ? [{ debugName: "numericTextboxComponents" }] : /* istanbul ignore next */ []));
11497
11604
  this.popup = viewChild('popup', { ...(ngDevMode ? { debugName: "popup" } : /* istanbul ignore next */ {}), read: KitPopupComponent });
11498
11605
  this.kitDropdownSize = KitDropdownSize;
11499
11606
  this.kitTextboxSize = KitTextboxSize;
@@ -11511,20 +11618,19 @@ class KitFilterInputComponent {
11511
11618
  this.kitPillTheme = KitPillTheme;
11512
11619
  this.kitNumericTextboxSize = KitNumericTextboxSize;
11513
11620
  this.kitFilterType = KitFilterType;
11514
- this.rafId = null;
11621
+ this.popupToggleRafId = null;
11622
+ this.focusRafId = null;
11515
11623
  }
11516
11624
  ngOnInit() {
11517
11625
  this.initializeSelectedValues();
11518
11626
  this.showPopupOnInit();
11519
11627
  }
11520
11628
  ngOnDestroy() {
11521
- if (this.rafId) {
11522
- cancelAnimationFrame(this.rafId);
11523
- this.rafId = null;
11524
- }
11629
+ this.cancelPendingAnimationFrame('popupToggleRafId');
11630
+ this.cancelPendingAnimationFrame('focusRafId');
11525
11631
  }
11526
11632
  get applyButtonDisabled() {
11527
- return !this.hasActiveFilters();
11633
+ return !this.filterItems().filters.length;
11528
11634
  }
11529
11635
  onLogicChange(event) {
11530
11636
  this.filterItems.update(items => ({
@@ -11545,10 +11651,16 @@ class KitFilterInputComponent {
11545
11651
  onPopupToggle() {
11546
11652
  this.popup()?.toggle();
11547
11653
  }
11654
+ onPopupOpened() {
11655
+ this.scheduleFocusFirstInput();
11656
+ }
11548
11657
  close() {
11549
- if (!this.hasActiveFilters() || !this.selectedValues()) {
11550
- this.removeFilter();
11658
+ const selectedValues = this.selectedValues();
11659
+ if (selectedValues) {
11660
+ this.filterItems.set(selectedValues);
11661
+ return;
11551
11662
  }
11663
+ this.resetFiltersItems();
11552
11664
  }
11553
11665
  clearAllFilters() {
11554
11666
  this.resetFiltersItems();
@@ -11582,8 +11694,8 @@ class KitFilterInputComponent {
11582
11694
  return null;
11583
11695
  }
11584
11696
  getFilterOperatorDropdownItems() {
11585
- return this.filterInputType() === KitFilterType.NUMERIC
11586
- && this.numericFilterOperatorDropdownItems || this.textFilterOperatorDropdownItems;
11697
+ return this.filterInputType() === KitFilterType.NUMERIC &&
11698
+ this.numericFilterOperatorDropdownItems || this.textFilterOperatorDropdownItems;
11587
11699
  }
11588
11700
  hasNoValueRequiredOperator(operator) {
11589
11701
  return noValueRequiredFilterOperators.includes(operator);
@@ -11609,12 +11721,20 @@ class KitFilterInputComponent {
11609
11721
  }));
11610
11722
  }
11611
11723
  showPopupOnInit() {
11612
- if (!this.hasActiveFilters()) {
11613
- this.rafId = requestAnimationFrame(() => {
11724
+ if (!this.selectedValues()) {
11725
+ this.popupToggleRafId = requestAnimationFrame(() => {
11726
+ this.popupToggleRafId = null;
11614
11727
  this.onPopupToggle();
11615
11728
  });
11616
11729
  }
11617
11730
  }
11731
+ scheduleFocusFirstInput() {
11732
+ this.cancelPendingAnimationFrame('focusRafId');
11733
+ this.focusRafId = requestAnimationFrame(() => {
11734
+ this.focusRafId = null;
11735
+ this.focusFirstInput();
11736
+ });
11737
+ }
11618
11738
  createFilterItem(field) {
11619
11739
  return {
11620
11740
  field,
@@ -11628,8 +11748,12 @@ class KitFilterInputComponent {
11628
11748
  filters: items.filters.map((item, i) => (i === index && { ...item, ...update } || item)),
11629
11749
  }));
11630
11750
  }
11631
- hasActiveFilters() {
11632
- return this.filterItems().filters.some(filter => this.hasSelectedFilter(filter));
11751
+ focusFirstInput() {
11752
+ if (this.filterInputType() === KitFilterType.NUMERIC) {
11753
+ this.numericTextboxComponents()[0]?.focus();
11754
+ return;
11755
+ }
11756
+ this.textboxComponents()[0]?.focus();
11633
11757
  }
11634
11758
  hasSelectedFilter(filter) {
11635
11759
  return this.hasNoValueRequiredOperator(filter.operator) || !!filter.value || filter.value === 0;
@@ -11640,8 +11764,22 @@ class KitFilterInputComponent {
11640
11764
  value: item,
11641
11765
  }));
11642
11766
  }
11767
+ cancelPendingAnimationFrame(idKey) {
11768
+ const id = idKey === 'popupToggleRafId'
11769
+ ? this.popupToggleRafId
11770
+ : this.focusRafId;
11771
+ if (id === null) {
11772
+ return;
11773
+ }
11774
+ cancelAnimationFrame(id);
11775
+ if (idKey === 'popupToggleRafId') {
11776
+ this.popupToggleRafId = null;
11777
+ return;
11778
+ }
11779
+ this.focusRafId = null;
11780
+ }
11643
11781
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitFilterInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitFilterInputComponent, isStandalone: true, selector: "kit-filter-input", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, filterInputType: { classPropertyName: "filterInputType", publicName: "filterInputType", 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 && !!(filter().removable ?? true)\"\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-input-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 [extraInsideSelectors]=\"['.kit-dropdown-popup']\"\n (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"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]=\"getFilterOperatorDropdownItems()\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n @switch (filterInputType()) {\n @case (kitFilterType.TEXT) {\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 (keydown.enter)=\"onEnterKey()\"\n ></kit-textbox>\n }\n @case (kitFilterType.NUMERIC) {\n <kit-numeric-textbox class=\"filter-item-value\"\n format=\"#.###\"\n [size]=\"kitNumericTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [min]=\"0\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n (keydown.enter)=\"onEnterKey()\"\n ></kit-numeric-textbox>\n }\n }\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\n", styles: ["::ng-deep .kit-filter-input-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-input-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-input-popup .filter-item-value{flex:1}::ng-deep .kit-filter-input-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-input-popup .logic-selector{flex-shrink:0;width:100px}\n"], dependencies: [{ kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "readonly", "size"], outputs: ["selectedItemChange", "disabledChange", "selected"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel", "extraInsideSelectors"], outputs: ["cancelAction", "applyAction", "opened", "closed"] }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: KitNumericTextboxComponent, selector: "kit-numeric-textbox", inputs: ["placeholder", "label", "defaultValue", "decimals", "min", "max", "maxlength", "messageIcon", "messageText", "disabled", "format", "state", "icon", "size", "showStateIcon"], outputs: ["defaultValueChange", "disabledChange", "blured", "changed"] }, { kind: "pipe", type: i1$e.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11782
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitFilterInputComponent, isStandalone: true, selector: "kit-filter-input", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, filterInputType: { classPropertyName: "filterInputType", publicName: "filterInputType", 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: "textboxComponents", predicate: KitTextboxComponent, descendants: true, isSignal: true }, { propertyName: "numericTextboxComponents", predicate: KitNumericTextboxComponent, descendants: true, 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 && !!(filter().removable ?? true)\"\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-input-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 [extraInsideSelectors]=\"['.kit-dropdown-popup']\"\n (opened)=\"onPopupOpened()\"\n (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"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]=\"getFilterOperatorDropdownItems()\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n @switch (filterInputType()) {\n @case (kitFilterType.TEXT) {\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 (keydown.enter)=\"onEnterKey()\"\n ></kit-textbox>\n }\n @case (kitFilterType.NUMERIC) {\n <kit-numeric-textbox class=\"filter-item-value\"\n format=\"#.###\"\n [size]=\"kitNumericTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [min]=\"0\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n (keydown.enter)=\"onEnterKey()\"\n ></kit-numeric-textbox>\n }\n }\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\n", styles: ["::ng-deep .kit-filter-input-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-input-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-input-popup .filter-item-value{flex:1}::ng-deep .kit-filter-input-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-input-popup .logic-selector{flex-shrink:0;width:100px}\n"], dependencies: [{ kind: "component", type: KitDropdownComponent, selector: "kit-dropdown", inputs: ["items", "selectedItem", "label", "disabled", "messageIcon", "messageText", "invalid", "defaultItem", "listHeight", "hideDefaultItem", "toggleIcon", "popupSettings", "isValuePrimitive", "footerTemplate", "noDataTemplate", "readonly", "size"], outputs: ["selectedItemChange", "disabledChange", "selected"] }, { kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel", "extraInsideSelectors"], outputs: ["cancelAction", "applyAction", "opened", "closed"] }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: KitNumericTextboxComponent, selector: "kit-numeric-textbox", inputs: ["placeholder", "label", "defaultValue", "decimals", "min", "max", "maxlength", "messageIcon", "messageText", "disabled", "format", "state", "icon", "size", "showStateIcon"], outputs: ["defaultValueChange", "disabledChange", "blured", "changed"] }, { kind: "pipe", type: i1$e.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11645
11783
  }
11646
11784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitFilterInputComponent, decorators: [{
11647
11785
  type: Component,
@@ -11652,8 +11790,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
11652
11790
  KitTextboxComponent,
11653
11791
  TranslateModule,
11654
11792
  KitNumericTextboxComponent,
11655
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly && !!(filter().removable ?? true)\"\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-input-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 [extraInsideSelectors]=\"['.kit-dropdown-popup']\"\n (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"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]=\"getFilterOperatorDropdownItems()\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n @switch (filterInputType()) {\n @case (kitFilterType.TEXT) {\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 (keydown.enter)=\"onEnterKey()\"\n ></kit-textbox>\n }\n @case (kitFilterType.NUMERIC) {\n <kit-numeric-textbox class=\"filter-item-value\"\n format=\"#.###\"\n [size]=\"kitNumericTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [min]=\"0\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n (keydown.enter)=\"onEnterKey()\"\n ></kit-numeric-textbox>\n }\n }\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\n", styles: ["::ng-deep .kit-filter-input-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-input-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-input-popup .filter-item-value{flex:1}::ng-deep .kit-filter-input-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-input-popup .logic-selector{flex-shrink:0;width:100px}\n"] }]
11656
- }], propDecorators: { filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: true }] }], filterInputType: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterInputType", required: true }] }], filterRemoved: [{ type: i0.Output, args: ["filterRemoved"] }], filterChanged: [{ type: i0.Output, args: ["filterChanged"] }], anchor: [{ type: i0.ViewChild, args: ['toggleButton', { ...{ read: ElementRef }, isSignal: true }] }], popup: [{ type: i0.ViewChild, args: ['popup', { ...{ read: KitPopupComponent }, isSignal: true }] }] } });
11793
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly && !!(filter().removable ?? true)\"\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-input-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 [extraInsideSelectors]=\"['.kit-dropdown-popup']\"\n (opened)=\"onPopupOpened()\"\n (applyAction)=\"applyFilter()\"\n (cancelAction)=\"clearAllFilters()\"\n (closed)=\"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]=\"getFilterOperatorDropdownItems()\"\n [size]=\"kitDropdownSize.SMALL\"\n [selectedItem]=\"$any(item.operator)\"\n (selected)=\"onOperatorSelect($event.value, $index)\"\n ></kit-dropdown>\n <div class=\"filter-controls\">\n @switch (filterInputType()) {\n @case (kitFilterType.TEXT) {\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 (keydown.enter)=\"onEnterKey()\"\n ></kit-textbox>\n }\n @case (kitFilterType.NUMERIC) {\n <kit-numeric-textbox class=\"filter-item-value\"\n format=\"#.###\"\n [size]=\"kitNumericTextboxSize.SMALL\"\n [defaultValue]=\"item.value\"\n [min]=\"0\"\n [disabled]=\"isFilterValueTextboxDisabled($index)\"\n (changed)=\"onValueChange($event, $index)\"\n (keydown.enter)=\"onEnterKey()\"\n ></kit-numeric-textbox>\n }\n }\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\n", styles: ["::ng-deep .kit-filter-input-popup .popup-content{display:flex;flex-direction:column;gap:10px;width:296px;box-sizing:border-box}::ng-deep .kit-filter-input-popup .filter-item{display:flex;flex-direction:column;gap:10px}::ng-deep .kit-filter-input-popup .filter-item-value{flex:1}::ng-deep .kit-filter-input-popup .filter-controls{display:flex;gap:10px}::ng-deep .kit-filter-input-popup .logic-selector{flex-shrink:0;width:100px}\n"] }]
11794
+ }], propDecorators: { filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: true }] }], filterInputType: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterInputType", required: true }] }], filterRemoved: [{ type: i0.Output, args: ["filterRemoved"] }], filterChanged: [{ type: i0.Output, args: ["filterChanged"] }], anchor: [{ type: i0.ViewChild, args: ['toggleButton', { ...{ read: ElementRef }, isSignal: true }] }], textboxComponents: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => KitTextboxComponent), { isSignal: true }] }], numericTextboxComponents: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => KitNumericTextboxComponent), { isSignal: true }] }], popup: [{ type: i0.ViewChild, args: ['popup', { ...{ read: KitPopupComponent }, isSignal: true }] }] } });
11657
11795
 
11658
11796
  class KitFilterNullCheckComponent {
11659
11797
  constructor() {
@@ -14558,10 +14696,10 @@ const prettifyXml = (document) => {
14558
14696
  indentLevel = Math.max(indentLevel - 1, 0);
14559
14697
  }
14560
14698
  const line = `${' '.repeat(indentLevel)}${token}`;
14561
- const isOpeningTag = token.startsWith('<')
14562
- && !token.startsWith('</')
14563
- && !token.endsWith('/>')
14564
- && !token.includes('</');
14699
+ const isOpeningTag = token.startsWith('<') &&
14700
+ !token.startsWith('</') &&
14701
+ !token.endsWith('/>') &&
14702
+ !token.includes('</');
14565
14703
  if (isOpeningTag) {
14566
14704
  indentLevel += 1;
14567
14705
  }