@progress/kendo-angular-filter 13.4.0-develop.1 → 13.4.0-develop.10

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.
@@ -224,7 +224,8 @@ const selectors = {
224
224
  textAreaElement: `textarea`,
225
225
  kendoToolbar: `.k-toolbar`,
226
226
  kendoButton: `.k-button`,
227
- kendoFilterToolbarItem: `.k-filter-toolbar-item`
227
+ kendoFilterToolbarItem: `.k-toolbar-item`,
228
+ kendoFilterToolbarButton: `.k-toolbar-button`
228
229
  };
229
230
 
230
231
  /**
@@ -234,8 +235,8 @@ const packageMetadata = {
234
235
  name: '@progress/kendo-angular-filter',
235
236
  productName: 'Kendo UI for Angular',
236
237
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
237
- publishDate: 1692286589,
238
- version: '13.4.0-develop.1',
238
+ publishDate: 1692971963,
239
+ version: '13.4.0-develop.10',
239
240
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
240
241
  };
241
242
 
@@ -327,38 +328,32 @@ class NavigationService {
327
328
  this.flattenFilterItems = [];
328
329
  this.currentToolbarItemIndex = 0;
329
330
  this.currentToolbarItemChildrenIndex = 0;
330
- this.isInnerNavigationActivated = false;
331
+ this.isInnerNavigationActivated = true;
331
332
  this.isFilterExpressionComponentFocused = false;
332
333
  }
333
334
  processKeyDown(key, event) {
334
335
  switch (key) {
335
336
  case Keys.ArrowUp: {
336
337
  event.preventDefault();
337
- if (!this.isInnerNavigationActivated) {
338
+ if (!this.isFilterExpressionComponentFocused) {
339
+ this.currentToolbarItemChildrenIndex = 0;
338
340
  this.currentToolbarItemIndex > 0 ? this.currentToolbarItemIndex-- : this.currentToolbarItemIndex;
339
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
341
+ const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[0];
340
342
  this.focusCurrentElement(elementToFocus);
341
343
  }
342
344
  break;
343
345
  }
344
346
  case Keys.ArrowDown: {
345
347
  event.preventDefault();
346
- if (!this.isInnerNavigationActivated) {
348
+ if (!this.isFilterExpressionComponentFocused) {
349
+ this.currentToolbarItemChildrenIndex = 0;
347
350
  this.currentToolbarItemIndex < this.flattenFilterItems.length - 1 ? this.currentToolbarItemIndex++ : this.currentToolbarItemIndex;
348
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
351
+ const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[0];
349
352
  this.focusCurrentElement(elementToFocus);
350
353
  }
351
354
  break;
352
355
  }
353
356
  case Keys.Enter: {
354
- const isEventTargetFilterToolbar = event.target.closest(selectors.kendoToolbar);
355
- if (!this.isInnerNavigationActivated && isEventTargetFilterToolbar) {
356
- event.preventDefault();
357
- this.isInnerNavigationActivated = true;
358
- this.currentToolbarItemChildrenIndex = 0;
359
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[this.currentToolbarItemChildrenIndex];
360
- this.focusCurrentElement(elementToFocus);
361
- }
362
357
  const isEventTargetKendoFilterToolbarItem = event.target.closest(selectors.kendoFilterToolbarItem);
363
358
  const isEventTargetButton = event.target.closest(selectors.kendoButton);
364
359
  if (this.isInnerNavigationActivated &&
@@ -377,17 +372,9 @@ class NavigationService {
377
372
  break;
378
373
  }
379
374
  case Keys.Escape: {
380
- if (this.isInnerNavigationActivated && !this.isFilterExpressionComponentFocused) {
381
- event.preventDefault();
382
- this.isInnerNavigationActivated = false;
383
- this.currentToolbarItemChildrenIndex = 0;
384
- const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].toolbarElement;
385
- this.focusCurrentElement(elementToFocus);
386
- }
387
375
  if (this.isFilterExpressionComponentFocused) {
388
376
  event.preventDefault();
389
377
  this.isFilterExpressionComponentFocused = false;
390
- this.isInnerNavigationActivated = true;
391
378
  const elementToFocus = this.flattenFilterItems[this.currentToolbarItemIndex].focusableChildren[this.currentToolbarItemChildrenIndex];
392
379
  this.focusCurrentElement(elementToFocus);
393
380
  }
@@ -500,13 +487,6 @@ class BaseFilterRowComponent {
500
487
  get toolbarElement() {
501
488
  return this.element.nativeElement.querySelector('.k-toolbar');
502
489
  }
503
- onFocus() {
504
- this.renderer.addClass(this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement, 'k-focus');
505
- this.navigationService.isInnerNavigationActivated = false;
506
- }
507
- onBlur() {
508
- this.renderer.removeClass(this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement, 'k-focus');
509
- }
510
490
  messageFor(key) {
511
491
  return this.localization.get(key);
512
492
  }
@@ -530,7 +510,7 @@ class BaseFilterRowComponent {
530
510
  this.navigationService.currentToolbarItemChildrenIndex = 0;
531
511
  this.navigationService.isInnerNavigationActivated = false;
532
512
  this.navigationService.isFilterExpressionComponentFocused = false;
533
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement;
513
+ elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[0];
534
514
  }
535
515
  this.navigationService.currentToolbarItemIndex = this.itemNumber;
536
516
  this.navigationService.focusCurrentElement(elementToFocus, true);
@@ -609,7 +589,7 @@ FilterExpressionOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
609
589
  <span>{{ getOperator(dataItem.value) }}</span>
610
590
  </ng-template>
611
591
  </kendo-dropdownlist>
612
- `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i2.ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { type: i2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
592
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i2.ValueTemplateDirective, selector: "[kendoDropDownListValueTemplate],[kendoDropDownTreeValueTemplate]" }, { type: i2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }] });
613
593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterExpressionOperatorsComponent, decorators: [{
614
594
  type: Component,
615
595
  args: [{
@@ -807,7 +787,7 @@ FilterBooleanEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
807
787
  valueField="value"
808
788
  >
809
789
  </kendo-dropdownlist>
810
- `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
790
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }] });
811
791
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterBooleanEditorComponent, decorators: [{
812
792
  type: Component,
813
793
  args: [{
@@ -1071,8 +1051,8 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1071
1051
  useExisting: forwardRef(() => FilterExpressionComponent)
1072
1052
  }], usesInheritance: true, ngImport: i0, template: `
1073
1053
  <div class="k-filter-toolbar">
1074
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
1075
- <div class="k-filter-toolbar-item k-filter-field k-toolbar-item" >
1054
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
1055
+ <div class="k-filter-field k-toolbar-item" >
1076
1056
  <kendo-dropdownlist
1077
1057
  [tabindex]="-1"
1078
1058
  [kendoAriaLabelValue]="messageFor('filterFieldAriaLabel')"
@@ -1085,7 +1065,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1085
1065
  (valueChange)="filterValueChange($event)">
1086
1066
  </kendo-dropdownlist>
1087
1067
  </div>
1088
- <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator k-toolbar-item" >
1068
+ <div *ngIf="!isBoolean" class="k-filter-operator k-toolbar-item" >
1089
1069
  <kendo-filter-expression-operators
1090
1070
  [currentItem]="currentItem"
1091
1071
  [operators]="operators"
@@ -1094,7 +1074,7 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1094
1074
  </kendo-filter-expression-operators>
1095
1075
  </div>
1096
1076
 
1097
- <div class="k-filter-toolbar-item k-filter-value k-toolbar-item">
1077
+ <div class="k-filter-value k-toolbar-item">
1098
1078
  <ng-container *ngIf="!editorTemplate" [ngSwitch]="getEditorType()">
1099
1079
  <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
1100
1080
  <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" [format]="numericEditorFormat" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
@@ -1108,20 +1088,19 @@ FilterExpressionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1108
1088
  </ng-container>
1109
1089
  </div>
1110
1090
 
1111
- <div class="k-filter-toolbar-item k-toolbar-item" >
1112
- <button
1113
- kendoButton
1114
- tabindex="-1"
1115
- icon="x"
1116
- [svgIcon]="xIcon"
1117
- fillMode="flat"
1118
- [title]="messageFor('remove')"
1119
- (click)="removeFilterExpression()">
1120
- </button>
1121
- </div>
1091
+ <button
1092
+ kendoButton
1093
+ class="k-toolbar-button"
1094
+ tabindex="-1"
1095
+ icon="x"
1096
+ [svgIcon]="xIcon"
1097
+ fillMode="flat"
1098
+ [title]="messageFor('remove')"
1099
+ (click)="removeFilterExpression()">
1100
+ </button>
1122
1101
  </div>
1123
1102
  </div>
1124
- `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: i10.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i12.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1103
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: FilterExpressionOperatorsComponent, selector: "kendo-filter-expression-operators", inputs: ["currentItem", "editorType", "operators"], outputs: ["valueChange"] }, { type: FilterTextEditorComponent, selector: "kendo-filter-text-editor", inputs: ["currentItem", "isDisabled"], outputs: ["valueChange"] }, { type: FilterNumericEditorComponent, selector: "kendo-filter-numeric-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: FilterBooleanEditorComponent, selector: "kendo-filter-boolean-editor", inputs: ["currentItem"], outputs: ["valueChange"] }, { type: FilterDateEditorComponent, selector: "kendo-filter-date-editor", inputs: ["currentItem", "isDisabled", "format"], outputs: ["valueChange"] }, { type: i10.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: AriaLabelValueDirective, selector: "[kendoAriaLabelValue]", inputs: ["kendoAriaLabelValue"] }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i12.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1125
1104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterExpressionComponent, decorators: [{
1126
1105
  type: Component,
1127
1106
  args: [{
@@ -1132,8 +1111,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1132
1111
  selector: 'kendo-filter-expression',
1133
1112
  template: `
1134
1113
  <div class="k-filter-toolbar">
1135
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
1136
- <div class="k-filter-toolbar-item k-filter-field k-toolbar-item" >
1114
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
1115
+ <div class="k-filter-field k-toolbar-item" >
1137
1116
  <kendo-dropdownlist
1138
1117
  [tabindex]="-1"
1139
1118
  [kendoAriaLabelValue]="messageFor('filterFieldAriaLabel')"
@@ -1146,7 +1125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1146
1125
  (valueChange)="filterValueChange($event)">
1147
1126
  </kendo-dropdownlist>
1148
1127
  </div>
1149
- <div *ngIf="!isBoolean" class="k-filter-toolbar-item k-filter-operator k-toolbar-item" >
1128
+ <div *ngIf="!isBoolean" class="k-filter-operator k-toolbar-item" >
1150
1129
  <kendo-filter-expression-operators
1151
1130
  [currentItem]="currentItem"
1152
1131
  [operators]="operators"
@@ -1155,7 +1134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1155
1134
  </kendo-filter-expression-operators>
1156
1135
  </div>
1157
1136
 
1158
- <div class="k-filter-toolbar-item k-filter-value k-toolbar-item">
1137
+ <div class="k-filter-value k-toolbar-item">
1159
1138
  <ng-container *ngIf="!editorTemplate" [ngSwitch]="getEditorType()">
1160
1139
  <kendo-filter-text-editor *ngSwitchCase="'string'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" (valueChange)="valueChange.emit()"></kendo-filter-text-editor>
1161
1140
  <kendo-filter-numeric-editor *ngSwitchCase="'number'" [currentItem]="currentItem" [isDisabled]="isEditorDisabled" [format]="numericEditorFormat" (valueChange)="valueChange.emit()"></kendo-filter-numeric-editor>
@@ -1169,17 +1148,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1169
1148
  </ng-container>
1170
1149
  </div>
1171
1150
 
1172
- <div class="k-filter-toolbar-item k-toolbar-item" >
1173
- <button
1174
- kendoButton
1175
- tabindex="-1"
1176
- icon="x"
1177
- [svgIcon]="xIcon"
1178
- fillMode="flat"
1179
- [title]="messageFor('remove')"
1180
- (click)="removeFilterExpression()">
1181
- </button>
1182
- </div>
1151
+ <button
1152
+ kendoButton
1153
+ class="k-toolbar-button"
1154
+ tabindex="-1"
1155
+ icon="x"
1156
+ [svgIcon]="xIcon"
1157
+ fillMode="flat"
1158
+ [title]="messageFor('remove')"
1159
+ (click)="removeFilterExpression()">
1160
+ </button>
1183
1161
  </div>
1184
1162
  </div>
1185
1163
  `
@@ -1255,24 +1233,18 @@ class FilterGroupComponent extends BaseFilterRowComponent {
1255
1233
  this.valueChange.emit(true);
1256
1234
  }
1257
1235
  onMouseDown(event) {
1258
- let elementToFocus;
1259
- if (event.target.closest(selectors.kendoFilterToolbarItem)) {
1260
- let index = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarItem)) + 1;
1261
- if (event.target.closest(selectors.andButton)) {
1262
- index = 0;
1263
- }
1264
- if (event.target.closest(selectors.orButton)) {
1265
- index = 1;
1266
- }
1267
- this.navigationService.currentToolbarItemChildrenIndex = index;
1268
- this.navigationService.isInnerNavigationActivated = true;
1269
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[index];
1236
+ const toolbarItemElement = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarItem));
1237
+ const buttonElement = Array.from(event.target.closest(selectors.kendoToolbar).children).indexOf(event.target.closest(selectors.kendoFilterToolbarButton));
1238
+ let index = (toolbarItemElement > -1 ? toolbarItemElement : buttonElement) + 1;
1239
+ if (event.target.closest(selectors.andButton)) {
1240
+ index = 0;
1270
1241
  }
1271
- else {
1272
- this.navigationService.currentToolbarItemChildrenIndex = 0;
1273
- this.navigationService.isInnerNavigationActivated = false;
1274
- elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].toolbarElement;
1242
+ if (event.target.closest(selectors.orButton)) {
1243
+ index = 1;
1275
1244
  }
1245
+ this.navigationService.currentToolbarItemChildrenIndex = index;
1246
+ this.navigationService.isInnerNavigationActivated = true;
1247
+ const elementToFocus = this.navigationService.flattenFilterItems[this.itemNumber].focusableChildren[index];
1276
1248
  this.navigationService.isFilterExpressionComponentFocused = false;
1277
1249
  this.navigationService.currentToolbarItemIndex = this.itemNumber;
1278
1250
  this.navigationService.focusCurrentElement(elementToFocus, true);
@@ -1284,26 +1256,26 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1284
1256
  useExisting: forwardRef(() => FilterGroupComponent)
1285
1257
  }], viewQueries: [{ propertyName: "_filterItems", predicate: FilterItem, descendants: true }], usesInheritance: true, ngImport: i0, template: `
1286
1258
  <div class="k-filter-toolbar">
1287
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
1288
- <div class="k-filter-toolbar-item">
1289
- <div class="k-widget k-button-group" role="group">
1290
- <button
1259
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
1260
+ <div class="k-toolbar-button-group k-button-group k-button-group-solid" role="group">
1261
+ <button
1291
1262
  tabindex="-1"
1292
1263
  *ngFor="let operator of operators"
1293
1264
  kendoButton
1265
+ class="k-toolbar-button"
1294
1266
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
1295
1267
  [selected]="currentItem.logic === operator.value"
1296
1268
  [attr.aria-pressed]="currentItem.logic === operator.value"
1297
1269
  [title]="operator.text"
1298
1270
  (click)="selectedChange(operator.value)"
1299
- >
1271
+ >
1300
1272
  {{getOperator(operator.value)}}
1301
- </button>
1302
- </div>
1273
+ </button>
1303
1274
  </div>
1304
- <div class="k-filter-toolbar-item">
1275
+
1305
1276
  <button
1306
1277
  kendoButton
1278
+ class="k-toolbar-button"
1307
1279
  tabindex="-1"
1308
1280
  [title]="messageFor('addFilter')"
1309
1281
  icon="filter-add-expression"
@@ -1311,10 +1283,10 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1311
1283
  (click)="addFilterExpression()">
1312
1284
  {{messageFor('addFilter')}}
1313
1285
  </button>
1314
- </div>
1315
- <div class="k-filter-toolbar-item">
1286
+
1316
1287
  <button
1317
1288
  kendoButton
1289
+ class="k-toolbar-button"
1318
1290
  tabindex="-1"
1319
1291
  [title]="messageFor('addGroup')"
1320
1292
  icon="filter-add-group"
@@ -1322,10 +1294,10 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1322
1294
  (click)="addFilterGroup()">
1323
1295
  {{messageFor('addGroup')}}
1324
1296
  </button>
1325
- </div>
1326
- <div class="k-filter-toolbar-item">
1297
+
1327
1298
  <button
1328
1299
  kendoButton
1300
+ class="k-toolbar-button"
1329
1301
  tabindex="-1"
1330
1302
  icon="x"
1331
1303
  [svgIcon]="xIcon"
@@ -1333,7 +1305,6 @@ FilterGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1333
1305
  [title]="messageFor('remove')"
1334
1306
  (click)="removeFilterGroup()">
1335
1307
  </button>
1336
- </div>
1337
1308
  </div>
1338
1309
  </div>
1339
1310
 
@@ -1364,26 +1335,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1364
1335
  selector: 'kendo-filter-group',
1365
1336
  template: `
1366
1337
  <div class="k-filter-toolbar">
1367
- <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (focus)="onFocus()" (focusout)="onBlur()" (mousedown)="onMouseDown($event)">
1368
- <div class="k-filter-toolbar-item">
1369
- <div class="k-widget k-button-group" role="group">
1370
- <button
1338
+ <div class="k-toolbar k-toolbar-md" role="toolbar" [attr.aria-label]="messageFor('filterToolbarAriaLabel')" (mousedown)="onMouseDown($event)">
1339
+ <div class="k-toolbar-button-group k-button-group k-button-group-solid" role="group">
1340
+ <button
1371
1341
  tabindex="-1"
1372
1342
  *ngFor="let operator of operators"
1373
1343
  kendoButton
1344
+ class="k-toolbar-button"
1374
1345
  [ngClass]="{'k-group-start': operator.value === 'and', 'k-group-end': operator.value === 'or'}"
1375
1346
  [selected]="currentItem.logic === operator.value"
1376
1347
  [attr.aria-pressed]="currentItem.logic === operator.value"
1377
1348
  [title]="operator.text"
1378
1349
  (click)="selectedChange(operator.value)"
1379
- >
1350
+ >
1380
1351
  {{getOperator(operator.value)}}
1381
- </button>
1382
- </div>
1352
+ </button>
1383
1353
  </div>
1384
- <div class="k-filter-toolbar-item">
1354
+
1385
1355
  <button
1386
1356
  kendoButton
1357
+ class="k-toolbar-button"
1387
1358
  tabindex="-1"
1388
1359
  [title]="messageFor('addFilter')"
1389
1360
  icon="filter-add-expression"
@@ -1391,10 +1362,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1391
1362
  (click)="addFilterExpression()">
1392
1363
  {{messageFor('addFilter')}}
1393
1364
  </button>
1394
- </div>
1395
- <div class="k-filter-toolbar-item">
1365
+
1396
1366
  <button
1397
1367
  kendoButton
1368
+ class="k-toolbar-button"
1398
1369
  tabindex="-1"
1399
1370
  [title]="messageFor('addGroup')"
1400
1371
  icon="filter-add-group"
@@ -1402,10 +1373,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1402
1373
  (click)="addFilterGroup()">
1403
1374
  {{messageFor('addGroup')}}
1404
1375
  </button>
1405
- </div>
1406
- <div class="k-filter-toolbar-item">
1376
+
1407
1377
  <button
1408
1378
  kendoButton
1379
+ class="k-toolbar-button"
1409
1380
  tabindex="-1"
1410
1381
  icon="x"
1411
1382
  [svgIcon]="xIcon"
@@ -1413,7 +1384,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1413
1384
  [title]="messageFor('remove')"
1414
1385
  (click)="removeFilterGroup()">
1415
1386
  </button>
1416
- </div>
1417
1387
  </div>
1418
1388
  </div>
1419
1389
 
@@ -1615,7 +1585,7 @@ class FilterComponent {
1615
1585
  setTimeout(() => {
1616
1586
  if (!(document.activeElement.closest('.k-filter'))) {
1617
1587
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '-1');
1618
- this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].toolbarElement;
1588
+ this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].focusableChildren[0];
1619
1589
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '0');
1620
1590
  this.navigationService.isInnerNavigationActivated = false;
1621
1591
  this.navigationService.isFilterExpressionComponentFocused = false;
@@ -1689,7 +1659,7 @@ class FilterComponent {
1689
1659
  }
1690
1660
  this.navigationService.reset(this.filterItems);
1691
1661
  if (!this.navigationService.currentlyFocusedElement) {
1692
- const firstElement = this.navigationService.flattenFilterItems[0].toolbarElement;
1662
+ const firstElement = this.navigationService.flattenFilterItems[0].focusableChildren[0];
1693
1663
  this.navigationService.currentlyFocusedElement = firstElement;
1694
1664
  this.renderer.setAttribute(firstElement, 'tabindex', '0');
1695
1665
  }
@@ -1716,9 +1686,10 @@ class FilterComponent {
1716
1686
  if (this.navigationService.currentToolbarItemIndex === this.navigationService.flattenFilterItems.length) {
1717
1687
  this.navigationService.currentToolbarItemIndex -= 1;
1718
1688
  }
1719
- this.navigationService.isInnerNavigationActivated = false;
1720
1689
  this.navigationService.isFilterExpressionComponentFocused = false;
1721
- this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[this.navigationService.currentToolbarItemIndex].toolbarElement;
1690
+ const itemIndex = this.navigationService.currentToolbarItemIndex;
1691
+ const activeChildIndex = this.navigationService.currentToolbarItemChildrenIndex;
1692
+ this.navigationService.currentlyFocusedElement = this.navigationService.flattenFilterItems[itemIndex].focusableChildren[activeChildIndex];
1722
1693
  this.renderer.setAttribute(this.navigationService.currentlyFocusedElement, 'tabindex', '0');
1723
1694
  this.renderer.addClass(this.navigationService.currentlyFocusedElement, 'k-focus');
1724
1695
  this.navigationService.currentlyFocusedElement.focus();
@@ -1900,7 +1871,7 @@ FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
1900
1871
  filterComponentAriaLabel="filter component"
1901
1872
  >
1902
1873
  </ng-container>
1903
- <div class="k-widget k-filter" [attr.dir]="direction">
1874
+ <div class="k-filter" [attr.dir]="direction">
1904
1875
  <ul class='k-filter-container' role="tree" [attr.aria-label]="messageFor('filterComponentAriaLabel')">
1905
1876
  <li class='k-filter-group-main' role="treeitem">
1906
1877
  <kendo-filter-group
@@ -2039,7 +2010,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2039
2010
  filterComponentAriaLabel="filter component"
2040
2011
  >
2041
2012
  </ng-container>
2042
- <div class="k-widget k-filter" [attr.dir]="direction">
2013
+ <div class="k-filter" [attr.dir]="direction">
2043
2014
  <ul class='k-filter-container' role="tree" [attr.aria-label]="messageFor('filterComponentAriaLabel')">
2044
2015
  <li class='k-filter-group-main' role="treeitem">
2045
2016
  <kendo-filter-group
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-filter",
3
- "version": "13.4.0-develop.1",
3
+ "version": "13.4.0-develop.10",
4
4
  "description": "Kendo UI Angular Filter",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -22,20 +22,20 @@
22
22
  "@angular/platform-browser": "13 - 16",
23
23
  "@progress/kendo-data-query": "^1.5.5",
24
24
  "@progress/kendo-licensing": "^1.0.2",
25
- "@progress/kendo-angular-buttons": "13.4.0-develop.1",
26
- "@progress/kendo-angular-common": "13.4.0-develop.1",
27
- "@progress/kendo-angular-dateinputs": "13.4.0-develop.1",
28
- "@progress/kendo-angular-dropdowns": "13.4.0-develop.1",
29
- "@progress/kendo-angular-inputs": "13.4.0-develop.1",
30
- "@progress/kendo-angular-intl": "13.4.0-develop.1",
31
- "@progress/kendo-angular-l10n": "13.4.0-develop.1",
32
- "@progress/kendo-angular-icons": "13.4.0-develop.1",
33
- "@progress/kendo-angular-label": "13.4.0-develop.1",
25
+ "@progress/kendo-angular-buttons": "13.4.0-develop.10",
26
+ "@progress/kendo-angular-common": "13.4.0-develop.10",
27
+ "@progress/kendo-angular-dateinputs": "13.4.0-develop.10",
28
+ "@progress/kendo-angular-dropdowns": "13.4.0-develop.10",
29
+ "@progress/kendo-angular-inputs": "13.4.0-develop.10",
30
+ "@progress/kendo-angular-intl": "13.4.0-develop.10",
31
+ "@progress/kendo-angular-l10n": "13.4.0-develop.10",
32
+ "@progress/kendo-angular-icons": "13.4.0-develop.10",
33
+ "@progress/kendo-angular-label": "13.4.0-develop.10",
34
34
  "rxjs": "^6.5.3 || ^7.0.0"
35
35
  },
36
36
  "dependencies": {
37
37
  "tslib": "^2.3.1",
38
- "@progress/kendo-angular-schematics": "13.4.0-develop.1"
38
+ "@progress/kendo-angular-schematics": "13.4.0-develop.10"
39
39
  },
40
40
  "schematics": "./schematics/collection.json",
41
41
  "module": "fesm2015/progress-kendo-angular-filter.mjs",
@@ -4,11 +4,11 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'FilterModule', package: 'filter', peerDependencies: {
6
6
  // peer dep of the dropdowns
7
- '@progress/kendo-angular-treeview': '13.4.0-develop.1',
8
- '@progress/kendo-angular-popup': '13.4.0-develop.1',
7
+ '@progress/kendo-angular-treeview': '13.4.0-develop.10',
8
+ '@progress/kendo-angular-popup': '13.4.0-develop.10',
9
9
  // peer dependency of kendo-angular-inputs
10
10
  '@progress/kendo-drawing': '^1.16.0',
11
- '@progress/kendo-angular-dialog': '13.4.0-develop.1',
11
+ '@progress/kendo-angular-dialog': '13.4.0-develop.10',
12
12
  // Peer dependency of icons
13
13
  '@progress/kendo-svg-icons': '^1.0.0'
14
14
  } });