@progress/kendo-angular-filter 23.3.0-develop.9 → 23.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, EventEmitter } from '@angular/core';
5
+ import { EventEmitter } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { FilterDescriptor } from '@progress/kendo-data-query';
8
8
  import * as i0 from "@angular/core";
@@ -11,31 +11,20 @@ import * as i0 from "@angular/core";
11
11
  */
12
12
  export declare class FilterBooleanEditorComponent {
13
13
  private localization;
14
- private cdr;
15
14
  currentItem: FilterDescriptor;
16
15
  valueChange: EventEmitter<void>;
17
- items: {
16
+ get items(): {
18
17
  text: string;
19
- value: boolean;
18
+ value: boolean | null;
20
19
  }[];
21
- defaultItem: {
20
+ get defaultItem(): {
22
21
  text: string;
23
- value: boolean;
22
+ value: boolean | null;
24
23
  };
25
- private localizationSubscription;
26
- constructor(localization: LocalizationService, cdr: ChangeDetectorRef);
27
- ngOnInit(): void;
28
- getDefaultItem(): {
29
- text: string;
30
- value: boolean;
31
- };
32
- getValueItems(): {
33
- text: string;
34
- value: boolean;
35
- }[];
36
- ngOnDestroy(): void;
24
+ constructor(localization: LocalizationService);
37
25
  messageFor(key: string): string;
38
- onValueChange(value: string): void;
26
+ getBooleanText(value: boolean | null): string;
27
+ onValueChange(value: boolean | null): void;
39
28
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterBooleanEditorComponent, never>;
40
29
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterBooleanEditorComponent, "kendo-filter-boolean-editor", never, { "currentItem": { "alias": "currentItem"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
41
30
  }
@@ -231,8 +231,8 @@ const packageMetadata = {
231
231
  productName: 'Kendo UI for Angular',
232
232
  productCode: 'KENDOUIANGULAR',
233
233
  productCodes: ['KENDOUIANGULAR'],
234
- publishDate: 1774279969,
235
- version: '23.3.0-develop.9',
234
+ publishDate: 1775133442,
235
+ version: '23.3.0',
236
236
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
237
237
  };
238
238
 
@@ -698,47 +698,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
698
698
  */
699
699
  class FilterBooleanEditorComponent {
700
700
  localization;
701
- cdr;
702
701
  currentItem;
703
702
  valueChange = new EventEmitter();
704
- items;
705
- defaultItem;
706
- localizationSubscription;
707
- constructor(localization, cdr) {
708
- this.localization = localization;
709
- this.cdr = cdr;
710
- }
711
- ngOnInit() {
712
- this.localizationSubscription = this.localization.changes.subscribe(() => {
713
- this.defaultItem = this.getDefaultItem();
714
- this.items = this.getValueItems();
715
- this.cdr.detectChanges();
716
- });
717
- this.items = this.getValueItems();
718
- this.defaultItem = this.getDefaultItem();
719
- }
720
- getDefaultItem() {
721
- return { text: this.localization.get("filterBooleanAll"), value: null };
722
- }
723
- getValueItems() {
703
+ get items() {
724
704
  return [
725
- { text: this.localization.get("filterIsTrue"), value: true },
726
- { text: this.localization.get("filterIsFalse"), value: false }
705
+ { text: this.getBooleanText(true), value: true },
706
+ { text: this.getBooleanText(false), value: false }
727
707
  ];
728
708
  }
729
- ngOnDestroy() {
730
- if (this.localizationSubscription) {
731
- this.localizationSubscription.unsubscribe();
732
- }
709
+ get defaultItem() {
710
+ return { text: this.getBooleanText(null), value: null };
711
+ }
712
+ constructor(localization) {
713
+ this.localization = localization;
733
714
  }
734
715
  messageFor(key) {
735
716
  return this.localization.get(key);
736
717
  }
718
+ getBooleanText(value) {
719
+ if (value === true) {
720
+ return this.messageFor('filterIsTrue');
721
+ }
722
+ if (value === false) {
723
+ return this.messageFor('filterIsFalse');
724
+ }
725
+ return this.messageFor('filterBooleanAll');
726
+ }
737
727
  onValueChange(value) {
738
728
  this.currentItem.value = value;
739
729
  this.valueChange.emit();
740
730
  }
741
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterBooleanEditorComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
731
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterBooleanEditorComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
742
732
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: FilterBooleanEditorComponent, isStandalone: true, selector: "kendo-filter-boolean-editor", inputs: { currentItem: "currentItem" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: `
743
733
  <kendo-dropdownlist
744
734
  [tabindex]="-1"
@@ -749,10 +739,11 @@ class FilterBooleanEditorComponent {
749
739
  [defaultItem]="defaultItem"
750
740
  [valuePrimitive]="true"
751
741
  textField="text"
752
- valueField="value"
753
- >
742
+ valueField="value">
743
+ <ng-template kendoDropDownListValueTemplate let-dataItem>{{ getBooleanText(dataItem.value) }}</ng-template>
744
+ <ng-template kendoDropDownListItemTemplate let-dataItem>{{ getBooleanText(dataItem.value) }}</ng-template>
754
745
  </kendo-dropdownlist>
755
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
746
+ `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "directive", type: ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { kind: "directive", type: ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
756
747
  }
757
748
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterBooleanEditorComponent, decorators: [{
758
749
  type: Component,
@@ -768,14 +759,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
768
759
  [defaultItem]="defaultItem"
769
760
  [valuePrimitive]="true"
770
761
  textField="text"
771
- valueField="value"
772
- >
762
+ valueField="value">
763
+ <ng-template kendoDropDownListValueTemplate let-dataItem>{{ getBooleanText(dataItem.value) }}</ng-template>
764
+ <ng-template kendoDropDownListItemTemplate let-dataItem>{{ getBooleanText(dataItem.value) }}</ng-template>
773
765
  </kendo-dropdownlist>
774
766
  `,
775
767
  standalone: true,
776
- imports: [DropDownListComponent, AriaLabelValueDirective]
768
+ imports: [DropDownListComponent, AriaLabelValueDirective, ValueTemplateDirective, ItemTemplateDirective]
777
769
  }]
778
- }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }], propDecorators: { currentItem: [{
770
+ }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { currentItem: [{
779
771
  type: Input
780
772
  }], valueChange: [{
781
773
  type: Output
@@ -985,7 +977,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
985
977
  */
986
978
  class FilterExpressionComponent extends BaseFilterRowComponent {
987
979
  filterService;
988
- cdr;
989
980
  /**
990
981
  * @hidden
991
982
  */
@@ -1037,11 +1028,9 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1037
1028
  return false;
1038
1029
  }
1039
1030
  }
1040
- localizationSubscription;
1041
- constructor(filterService, cdr, element, navigationService, localization, renderer) {
1031
+ constructor(filterService, element, navigationService, localization, renderer) {
1042
1032
  super(element, navigationService, localization, renderer);
1043
1033
  this.filterService = filterService;
1044
- this.cdr = cdr;
1045
1034
  }
1046
1035
  ngOnInit() {
1047
1036
  this.isEditorDisabled = nullOperators.indexOf(this.currentItem.operator) >= 0;
@@ -1061,15 +1050,6 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1061
1050
  this.setOperators(defaultFilter);
1062
1051
  }
1063
1052
  this.setEditorTemplate();
1064
- this.localizationSubscription = this.localization.changes.subscribe(() => {
1065
- this.setOperators(foundFilter || defaultFilter);
1066
- this.cdr.detectChanges();
1067
- });
1068
- }
1069
- ngOnDestroy() {
1070
- if (this.localizationSubscription) {
1071
- this.localizationSubscription.unsubscribe();
1072
- }
1073
1053
  }
1074
1054
  normalizeOperators(filterEditor, operators) {
1075
1055
  const result = [];
@@ -1160,7 +1140,7 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1160
1140
  const filterExpression = this.filterService.filters.find((filter) => filter.field === this.currentItem.field);
1161
1141
  this.editorTemplate = filterExpression?.editorTemplate;
1162
1142
  }
1163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterExpressionComponent, deps: [{ token: FilterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: NavigationService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterExpressionComponent, deps: [{ token: FilterService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1164
1144
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FilterExpressionComponent, isStandalone: true, selector: "kendo-filter-expression", inputs: { currentItem: "currentItem" }, providers: [{
1165
1145
  provide: FilterItem,
1166
1146
  useExisting: forwardRef(() => FilterExpressionComponent)
@@ -1190,7 +1170,7 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1190
1170
  </kendo-filter-expression-operators>
1191
1171
  </div>
1192
1172
  }
1193
-
1173
+
1194
1174
  <div class="k-filter-value k-toolbar-item">
1195
1175
  @if (!editorTemplate) {
1196
1176
  @switch (getEditorType()) {
@@ -1214,7 +1194,7 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1214
1194
  </ng-template>
1215
1195
  }
1216
1196
  </div>
1217
-
1197
+
1218
1198
  <button
1219
1199
  kendoButton
1220
1200
  class="k-toolbar-button"
@@ -1227,7 +1207,7 @@ class FilterExpressionComponent extends BaseFilterRowComponent {
1227
1207
  </button>
1228
1208
  </div>
1229
1209
  </div>
1230
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "component", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { kind: "component", type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { kind: "component", type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { kind: "component", type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { kind: "component", type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1210
+ `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { kind: "component", type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { kind: "component", type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { kind: "component", type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { kind: "component", type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { kind: "component", type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1231
1211
  }
1232
1212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterExpressionComponent, decorators: [{
1233
1213
  type: Component,
@@ -1263,7 +1243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1263
1243
  </kendo-filter-expression-operators>
1264
1244
  </div>
1265
1245
  }
1266
-
1246
+
1267
1247
  <div class="k-filter-value k-toolbar-item">
1268
1248
  @if (!editorTemplate) {
1269
1249
  @switch (getEditorType()) {
@@ -1287,7 +1267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1287
1267
  </ng-template>
1288
1268
  }
1289
1269
  </div>
1290
-
1270
+
1291
1271
  <button
1292
1272
  kendoButton
1293
1273
  class="k-toolbar-button"
@@ -1304,7 +1284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1304
1284
  standalone: true,
1305
1285
  imports: [DropDownListComponent, AriaLabelValueDirective, FilterExpressionOperatorsComponent, FilterTextEditorComponent, FilterNumericEditorComponent, FilterBooleanEditorComponent, FilterDateEditorComponent, TemplateContextDirective, ButtonComponent]
1306
1286
  }]
1307
- }], ctorParameters: () => [{ type: FilterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: NavigationService }, { type: i1.LocalizationService }, { type: i0.Renderer2 }], propDecorators: { currentItem: [{
1287
+ }], ctorParameters: () => [{ type: FilterService }, { type: i0.ElementRef }, { type: NavigationService }, { type: i1.LocalizationService }, { type: i0.Renderer2 }], propDecorators: { currentItem: [{
1308
1288
  type: Input
1309
1289
  }] } });
1310
1290
 
@@ -1354,28 +1334,15 @@ class FilterGroupComponent extends BaseFilterRowComponent {
1354
1334
  trackByFunction = (index) => {
1355
1335
  return index;
1356
1336
  };
1357
- operators = [];
1358
- localizationSubscription;
1337
+ operators = [
1338
+ { value: 'and' },
1339
+ { value: 'or' }
1340
+ ];
1359
1341
  constructor(filterService, cdr, element, navigationService, localization, renderer) {
1360
1342
  super(element, navigationService, localization, renderer);
1361
1343
  this.filterService = filterService;
1362
1344
  this.cdr = cdr;
1363
1345
  }
1364
- ngOnInit() {
1365
- this.operators = this.getLogicOperators();
1366
- this.localizationSubscription = this.localization.changes.subscribe(() => {
1367
- this.operators = this.getLogicOperators();
1368
- this.cdr.detectChanges();
1369
- });
1370
- }
1371
- ngOnDestroy() {
1372
- if (this.localizationSubscription) {
1373
- this.localizationSubscription.unsubscribe();
1374
- }
1375
- }
1376
- getLogicOperators() {
1377
- return localizeOperators(logicOperators)(this.localization);
1378
- }
1379
1346
  getOperator(operatorValue) {
1380
1347
  return this.messageFor(getKeyByValue(logicOperators, operatorValue));
1381
1348
  }
@@ -1431,7 +1398,7 @@ class FilterGroupComponent extends BaseFilterRowComponent {
1431
1398
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
1432
1399
  [selected]="currentItem.logic === operator.value"
1433
1400
  [attr.aria-pressed]="currentItem.logic === operator.value"
1434
- [title]="operator.text"
1401
+ [title]="getOperator(operator.value)"
1435
1402
  (click)="selectedChange(operator.value)"
1436
1403
  >
1437
1404
  {{getOperator(operator.value)}}
@@ -1496,7 +1463,7 @@ class FilterGroupComponent extends BaseFilterRowComponent {
1496
1463
  }
1497
1464
  </ul>
1498
1465
  }
1499
- `, isInline: true, dependencies: [{ kind: "component", type: FilterGroupComponent, selector: "kendo-filter-group", inputs: ["currentItem"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FilterExpressionComponent, selector: "kendo-filter-expression", inputs: ["currentItem"] }] });
1466
+ `, isInline: true, dependencies: [{ kind: "component", type: FilterGroupComponent, selector: "kendo-filter-group", inputs: ["currentItem"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FilterExpressionComponent, selector: "kendo-filter-expression", inputs: ["currentItem"] }] });
1500
1467
  }
1501
1468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FilterGroupComponent, decorators: [{
1502
1469
  type: Component,
@@ -1518,7 +1485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1518
1485
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
1519
1486
  [selected]="currentItem.logic === operator.value"
1520
1487
  [attr.aria-pressed]="currentItem.logic === operator.value"
1521
- [title]="operator.text"
1488
+ [title]="getOperator(operator.value)"
1522
1489
  (click)="selectedChange(operator.value)"
1523
1490
  >
1524
1491
  {{getOperator(operator.value)}}
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
5
+ import { ElementRef, OnInit, Renderer2, TemplateRef } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
8
8
  import { SVGIcon } from '@progress/kendo-svg-icons';
@@ -14,9 +14,8 @@ import * as i0 from "@angular/core";
14
14
  /**
15
15
  * @hidden
16
16
  */
17
- export declare class FilterExpressionComponent extends BaseFilterRowComponent implements OnInit, OnDestroy {
17
+ export declare class FilterExpressionComponent extends BaseFilterRowComponent implements OnInit {
18
18
  private filterService;
19
- private cdr;
20
19
  /**
21
20
  * @hidden
22
21
  */
@@ -34,10 +33,8 @@ export declare class FilterExpressionComponent extends BaseFilterRowComponent im
34
33
  get dateEditorFormat(): string | DateFormat;
35
34
  private isNumberFormat;
36
35
  private isDateFormat;
37
- private localizationSubscription;
38
- constructor(filterService: FilterService, cdr: ChangeDetectorRef, element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
36
+ constructor(filterService: FilterService, element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
39
37
  ngOnInit(): void;
40
- ngOnDestroy(): void;
41
38
  normalizeOperators(filterEditor: FilterEditor, operators: FilterOperator[]): {
42
39
  text: string;
43
40
  value: string;
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
5
+ import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
8
8
  import { SVGIcon } from '@progress/kendo-svg-icons';
@@ -14,7 +14,7 @@ import * as i0 from "@angular/core";
14
14
  /**
15
15
  * @hidden
16
16
  */
17
- export declare class FilterGroupComponent extends BaseFilterRowComponent implements OnInit, OnDestroy {
17
+ export declare class FilterGroupComponent extends BaseFilterRowComponent {
18
18
  private filterService;
19
19
  private cdr;
20
20
  static ngAcceptInputType_currentItem: FilterDescriptor | CompositeFilterDescriptor;
@@ -42,17 +42,9 @@ export declare class FilterGroupComponent extends BaseFilterRowComponent impleme
42
42
  */
43
43
  trackByFunction: (index: any) => any;
44
44
  operators: {
45
- text: string;
46
45
  value: 'and' | 'or';
47
46
  }[];
48
- private localizationSubscription;
49
47
  constructor(filterService: FilterService, cdr: ChangeDetectorRef, element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
50
- ngOnInit(): void;
51
- ngOnDestroy(): void;
52
- getLogicOperators(): {
53
- text: string;
54
- value: 'and' | 'or';
55
- }[];
56
48
  getOperator(operatorValue: 'and' | 'or'): string;
57
49
  selectedChange(logicOperator: 'or' | 'and'): void;
58
50
  addFilterExpression(): void;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1774279969,
11
- "version": "23.3.0-develop.9",
10
+ "publishDate": 1775133442,
11
+ "version": "23.3.0",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-filter",
3
- "version": "23.3.0-develop.9",
3
+ "version": "23.3.0",
4
4
  "description": "Kendo UI Angular Filter",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -17,7 +17,7 @@
17
17
  "package": {
18
18
  "productName": "Kendo UI for Angular",
19
19
  "productCode": "KENDOUIANGULAR",
20
- "publishDate": 1774279969,
20
+ "publishDate": 1775133442,
21
21
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
22
22
  }
23
23
  },
@@ -28,20 +28,20 @@
28
28
  "@angular/platform-browser": "19 - 21",
29
29
  "@progress/kendo-data-query": "^1.7.3",
30
30
  "@progress/kendo-licensing": "^1.10.0",
31
- "@progress/kendo-angular-buttons": "23.3.0-develop.9",
32
- "@progress/kendo-angular-common": "23.3.0-develop.9",
33
- "@progress/kendo-angular-dateinputs": "23.3.0-develop.9",
34
- "@progress/kendo-angular-dropdowns": "23.3.0-develop.9",
35
- "@progress/kendo-angular-inputs": "23.3.0-develop.9",
36
- "@progress/kendo-angular-intl": "23.3.0-develop.9",
37
- "@progress/kendo-angular-l10n": "23.3.0-develop.9",
38
- "@progress/kendo-angular-icons": "23.3.0-develop.9",
39
- "@progress/kendo-angular-label": "23.3.0-develop.9",
31
+ "@progress/kendo-angular-buttons": "23.3.0",
32
+ "@progress/kendo-angular-common": "23.3.0",
33
+ "@progress/kendo-angular-dateinputs": "23.3.0",
34
+ "@progress/kendo-angular-dropdowns": "23.3.0",
35
+ "@progress/kendo-angular-inputs": "23.3.0",
36
+ "@progress/kendo-angular-intl": "23.3.0",
37
+ "@progress/kendo-angular-l10n": "23.3.0",
38
+ "@progress/kendo-angular-icons": "23.3.0",
39
+ "@progress/kendo-angular-label": "23.3.0",
40
40
  "rxjs": "^6.5.3 || ^7.0.0"
41
41
  },
42
42
  "dependencies": {
43
43
  "tslib": "^2.3.1",
44
- "@progress/kendo-angular-schematics": "23.3.0-develop.9"
44
+ "@progress/kendo-angular-schematics": "23.3.0"
45
45
  },
46
46
  "schematics": "./schematics/collection.json",
47
47
  "module": "fesm2022/progress-kendo-angular-filter.mjs",
@@ -9,12 +9,12 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'FilterModule', package: 'filter', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '23.3.0-develop.9',
13
- '@progress/kendo-angular-popup': '23.3.0-develop.9',
14
- '@progress/kendo-angular-navigation': '23.3.0-develop.9',
12
+ '@progress/kendo-angular-treeview': '23.3.0',
13
+ '@progress/kendo-angular-popup': '23.3.0',
14
+ '@progress/kendo-angular-navigation': '23.3.0',
15
15
  // peer dependency of kendo-angular-inputs
16
16
  '@progress/kendo-drawing': '^1.16.0',
17
- '@progress/kendo-angular-dialog': '23.3.0-develop.9',
17
+ '@progress/kendo-angular-dialog': '23.3.0',
18
18
  // Peer dependency of icons
19
19
  '@progress/kendo-svg-icons': '^4.0.0'
20
20
  } });