@progress/kendo-angular-dropdowns 18.1.0-develop.9 → 18.1.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,8 +36,12 @@ export declare class ResponsiveRendererComponent {
36
36
  searchBarValue: string;
37
37
  animationDuration: number;
38
38
  xIcon: SVGIcon;
39
+ private expanded;
39
40
  messageFor(key: string): string;
40
41
  onValueChange(value: string): void;
42
+ onOverlayClick(): void;
43
+ handleExpand(): void;
44
+ handleClose(): void;
41
45
  static ɵfac: i0.ɵɵFactoryDeclaration<ResponsiveRendererComponent, never>;
42
46
  static ɵcmp: i0.ɵɵComponentDeclaration<ResponsiveRendererComponent, "responsive-renderer", never, { "title": { "alias": "title"; "required": false; }; "showActionButtons": { "alias": "showActionButtons"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showTextInput": { "alias": "showTextInput"; "required": false; }; "sharedPopupActionSheetTemplate": { "alias": "sharedPopupActionSheetTemplate"; "required": false; }; "isActionSheetExpanded": { "alias": "isActionSheetExpanded"; "required": false; }; "text": { "alias": "text"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "closePopup": "closePopup"; "textInputChange": "textInputChange"; "navigate": "navigate"; "onExpand": "onExpand"; "onCollapse": "onCollapse"; "onApply": "onApply"; "onCancel": "onCancel"; }, never, never, true, never>;
43
47
  }
@@ -42,6 +42,7 @@ export class ResponsiveRendererComponent {
42
42
  searchBarValue = '';
43
43
  animationDuration = animationDuration;
44
44
  xIcon = xIcon;
45
+ expanded = false;
45
46
  messageFor(key) {
46
47
  return this.localization.get(key);
47
48
  }
@@ -49,15 +50,28 @@ export class ResponsiveRendererComponent {
49
50
  this.searchBarValue = value;
50
51
  this.textInputChange.emit(value);
51
52
  }
53
+ onOverlayClick() {
54
+ if (this.expanded) {
55
+ this.handleClose();
56
+ }
57
+ }
58
+ handleExpand() {
59
+ this.onExpand.emit();
60
+ this.expanded = true;
61
+ }
62
+ handleClose() {
63
+ this.closePopup.emit();
64
+ this.expanded = false;
65
+ }
52
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsiveRendererComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
53
67
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsiveRendererComponent, isStandalone: true, selector: "responsive-renderer", inputs: { title: "title", showActionButtons: "showActionButtons", subtitle: "subtitle", size: "size", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", isActionSheetExpanded: "isActionSheetExpanded", text: "text", placeholder: "placeholder" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand", onCollapse: "onCollapse", onApply: "onApply", onCancel: "onCancel" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
54
68
  <kendo-actionsheet
55
69
  #actionSheet
56
70
  [animation]="{ duration: animationDuration }"
57
71
  [expanded]="isActionSheetExpanded"
58
- (overlayClick)="closePopup.emit()"
72
+ (overlayClick)="onOverlayClick()"
59
73
  (keydown)="navigate.emit($event)"
60
- (expand)="onExpand.emit()"
74
+ (expand)="handleExpand()"
61
75
  (collapse)="onCollapse.emit()"
62
76
  >
63
77
  <ng-template kendoActionSheetTemplate>
@@ -79,7 +93,7 @@ export class ResponsiveRendererComponent {
79
93
  [tabIndex]="-1"
80
94
  aria-hidden="true"
81
95
  innerCssClass="k-button-icon"
82
- (click)="closePopup.emit()"
96
+ (click)="handleClose()"
83
97
  ></button>
84
98
  </div>
85
99
  </div>
@@ -141,9 +155,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
141
155
  #actionSheet
142
156
  [animation]="{ duration: animationDuration }"
143
157
  [expanded]="isActionSheetExpanded"
144
- (overlayClick)="closePopup.emit()"
158
+ (overlayClick)="onOverlayClick()"
145
159
  (keydown)="navigate.emit($event)"
146
- (expand)="onExpand.emit()"
160
+ (expand)="handleExpand()"
147
161
  (collapse)="onCollapse.emit()"
148
162
  >
149
163
  <ng-template kendoActionSheetTemplate>
@@ -165,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
165
179
  [tabIndex]="-1"
166
180
  aria-hidden="true"
167
181
  innerCssClass="k-button-icon"
168
- (click)="closePopup.emit()"
182
+ (click)="handleClose()"
169
183
  ></button>
170
184
  </div>
171
185
  </div>
@@ -141,6 +141,9 @@ export class ListComponent {
141
141
  this.scrollToFocused = !changes['data'].isFirstChange();
142
142
  }
143
143
  this.setOverflow();
144
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
145
+ this.setGroupAttributes();
146
+ });
144
147
  }
145
148
  if (isChanged('virtual', changes, false)) {
146
149
  this.setOverflow();
@@ -257,7 +260,7 @@ export class ListComponent {
257
260
  let index;
258
261
  if (item.getAttribute("role") === "group") {
259
262
  index = parseInt(item.getAttribute("group-index"), 10);
260
- this.currentGroup = this.dataService.groupAt(index).value;
263
+ this.currentGroup = this.dataService.groupAt(index)?.value;
261
264
  }
262
265
  else {
263
266
  index = parseInt(item.getAttribute("index"), 10);
@@ -495,7 +498,7 @@ export class ListComponent {
495
498
  tabindex="-1"
496
499
  aria-hidden="true"
497
500
  [ngClass]="checkboxClasses"
498
- (change)="onCheckedChange($event, itemIndex)"
501
+ (change)="onCheckedChange($event, itemIndex + startFrom)"
499
502
  [checked]="isChecked(itemIndex)"
500
503
  />
501
504
  <ng-template *ngIf="template"
@@ -519,7 +522,7 @@ export class ListComponent {
519
522
  'minHeight.px' : virtual?.itemHeight,
520
523
  'boxSizing' : virtual ? 'border-box' : 'inherit'}"
521
524
  [attr.group-index]="dataItem.index"
522
- [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value"
525
+ [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value.split(' ').join('')"
523
526
  [attr.tabIndex]="-1"
524
527
  [style.width.px]="rowWidth ?? null">
525
528
  <span [class]="listGroupItemTextClass">
@@ -633,7 +636,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
633
636
  tabindex="-1"
634
637
  aria-hidden="true"
635
638
  [ngClass]="checkboxClasses"
636
- (change)="onCheckedChange($event, itemIndex)"
639
+ (change)="onCheckedChange($event, itemIndex + startFrom)"
637
640
  [checked]="isChecked(itemIndex)"
638
641
  />
639
642
  <ng-template *ngIf="template"
@@ -657,7 +660,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
657
660
  'minHeight.px' : virtual?.itemHeight,
658
661
  'boxSizing' : virtual ? 'border-box' : 'inherit'}"
659
662
  [attr.group-index]="dataItem.index"
660
- [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value"
663
+ [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value.split(' ').join('')"
661
664
  [attr.tabIndex]="-1"
662
665
  [style.width.px]="rowWidth ?? null">
663
666
  <span [class]="listGroupItemTextClass">
@@ -1252,6 +1252,7 @@ export class MultiSelectComponent {
1252
1252
  }
1253
1253
  selectedDataItems = [];
1254
1254
  popupMouseDownHandler;
1255
+ isOpenPrevented = false;
1255
1256
  customValueSubject = new Subject();
1256
1257
  customValueSubscription;
1257
1258
  subs = new Subscription();
@@ -1446,7 +1447,7 @@ export class MultiSelectComponent {
1446
1447
  if (!this.isActionSheetExpanded) {
1447
1448
  const inputElement = this.searchbar.input.nativeElement;
1448
1449
  if (event.button === 0) {
1449
- if (this.isFocused && this.isOpen && event.target === inputElement) {
1450
+ if (this.isFocused && (this.isOpen || this.isOpenPrevented) && event.target === inputElement) {
1450
1451
  return;
1451
1452
  }
1452
1453
  if (!touchEnabled || (touchEnabled && event.target.tagName !== 'SPAN')) {
@@ -1669,6 +1670,9 @@ export class MultiSelectComponent {
1669
1670
  return;
1670
1671
  }
1671
1672
  const isDefaultPrevented = this.triggerPopupEvents(open);
1673
+ if (open) {
1674
+ this.isOpenPrevented = isDefaultPrevented;
1675
+ }
1672
1676
  if (!isDefaultPrevented) {
1673
1677
  this._toggle(open);
1674
1678
  }
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1738339412,
14
- version: '18.1.0-develop.9',
13
+ publishDate: 1739868613,
14
+ version: '18.1.1-develop.1',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCode: 'KENDOUIANGULAR',
39
39
  productCodes: ['KENDOUIANGULAR'],
40
- publishDate: 1738339412,
41
- version: '18.1.0-develop.9',
40
+ publishDate: 1739868613,
41
+ version: '18.1.1-develop.1',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -2014,6 +2014,9 @@ class ListComponent {
2014
2014
  this.scrollToFocused = !changes['data'].isFirstChange();
2015
2015
  }
2016
2016
  this.setOverflow();
2017
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
2018
+ this.setGroupAttributes();
2019
+ });
2017
2020
  }
2018
2021
  if (isChanged('virtual', changes, false)) {
2019
2022
  this.setOverflow();
@@ -2130,7 +2133,7 @@ class ListComponent {
2130
2133
  let index;
2131
2134
  if (item.getAttribute("role") === "group") {
2132
2135
  index = parseInt(item.getAttribute("group-index"), 10);
2133
- this.currentGroup = this.dataService.groupAt(index).value;
2136
+ this.currentGroup = this.dataService.groupAt(index)?.value;
2134
2137
  }
2135
2138
  else {
2136
2139
  index = parseInt(item.getAttribute("index"), 10);
@@ -2368,7 +2371,7 @@ class ListComponent {
2368
2371
  tabindex="-1"
2369
2372
  aria-hidden="true"
2370
2373
  [ngClass]="checkboxClasses"
2371
- (change)="onCheckedChange($event, itemIndex)"
2374
+ (change)="onCheckedChange($event, itemIndex + startFrom)"
2372
2375
  [checked]="isChecked(itemIndex)"
2373
2376
  />
2374
2377
  <ng-template *ngIf="template"
@@ -2392,7 +2395,7 @@ class ListComponent {
2392
2395
  'minHeight.px' : virtual?.itemHeight,
2393
2396
  'boxSizing' : virtual ? 'border-box' : 'inherit'}"
2394
2397
  [attr.group-index]="dataItem.index"
2395
- [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value"
2398
+ [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value.split(' ').join('')"
2396
2399
  [attr.tabIndex]="-1"
2397
2400
  [style.width.px]="rowWidth ?? null">
2398
2401
  <span [class]="listGroupItemTextClass">
@@ -2506,7 +2509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2506
2509
  tabindex="-1"
2507
2510
  aria-hidden="true"
2508
2511
  [ngClass]="checkboxClasses"
2509
- (change)="onCheckedChange($event, itemIndex)"
2512
+ (change)="onCheckedChange($event, itemIndex + startFrom)"
2510
2513
  [checked]="isChecked(itemIndex)"
2511
2514
  />
2512
2515
  <ng-template *ngIf="template"
@@ -2530,7 +2533,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2530
2533
  'minHeight.px' : virtual?.itemHeight,
2531
2534
  'boxSizing' : virtual ? 'border-box' : 'inherit'}"
2532
2535
  [attr.group-index]="dataItem.index"
2533
- [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value"
2536
+ [attr.id]="optionPrefix + '-' + dataItem.groupIndex + '-' + dataItem.value.split(' ').join('')"
2534
2537
  [attr.tabIndex]="-1"
2535
2538
  [style.width.px]="rowWidth ?? null">
2536
2539
  <span [class]="listGroupItemTextClass">
@@ -2705,6 +2708,7 @@ class ResponsiveRendererComponent {
2705
2708
  searchBarValue = '';
2706
2709
  animationDuration = animationDuration;
2707
2710
  xIcon = xIcon;
2711
+ expanded = false;
2708
2712
  messageFor(key) {
2709
2713
  return this.localization.get(key);
2710
2714
  }
@@ -2712,15 +2716,28 @@ class ResponsiveRendererComponent {
2712
2716
  this.searchBarValue = value;
2713
2717
  this.textInputChange.emit(value);
2714
2718
  }
2719
+ onOverlayClick() {
2720
+ if (this.expanded) {
2721
+ this.handleClose();
2722
+ }
2723
+ }
2724
+ handleExpand() {
2725
+ this.onExpand.emit();
2726
+ this.expanded = true;
2727
+ }
2728
+ handleClose() {
2729
+ this.closePopup.emit();
2730
+ this.expanded = false;
2731
+ }
2715
2732
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsiveRendererComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2716
2733
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsiveRendererComponent, isStandalone: true, selector: "responsive-renderer", inputs: { title: "title", showActionButtons: "showActionButtons", subtitle: "subtitle", size: "size", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", isActionSheetExpanded: "isActionSheetExpanded", text: "text", placeholder: "placeholder" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand", onCollapse: "onCollapse", onApply: "onApply", onCancel: "onCancel" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
2717
2734
  <kendo-actionsheet
2718
2735
  #actionSheet
2719
2736
  [animation]="{ duration: animationDuration }"
2720
2737
  [expanded]="isActionSheetExpanded"
2721
- (overlayClick)="closePopup.emit()"
2738
+ (overlayClick)="onOverlayClick()"
2722
2739
  (keydown)="navigate.emit($event)"
2723
- (expand)="onExpand.emit()"
2740
+ (expand)="handleExpand()"
2724
2741
  (collapse)="onCollapse.emit()"
2725
2742
  >
2726
2743
  <ng-template kendoActionSheetTemplate>
@@ -2742,7 +2759,7 @@ class ResponsiveRendererComponent {
2742
2759
  [tabIndex]="-1"
2743
2760
  aria-hidden="true"
2744
2761
  innerCssClass="k-button-icon"
2745
- (click)="closePopup.emit()"
2762
+ (click)="handleClose()"
2746
2763
  ></button>
2747
2764
  </div>
2748
2765
  </div>
@@ -2804,9 +2821,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2804
2821
  #actionSheet
2805
2822
  [animation]="{ duration: animationDuration }"
2806
2823
  [expanded]="isActionSheetExpanded"
2807
- (overlayClick)="closePopup.emit()"
2824
+ (overlayClick)="onOverlayClick()"
2808
2825
  (keydown)="navigate.emit($event)"
2809
- (expand)="onExpand.emit()"
2826
+ (expand)="handleExpand()"
2810
2827
  (collapse)="onCollapse.emit()"
2811
2828
  >
2812
2829
  <ng-template kendoActionSheetTemplate>
@@ -2828,7 +2845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2828
2845
  [tabIndex]="-1"
2829
2846
  aria-hidden="true"
2830
2847
  innerCssClass="k-button-icon"
2831
- (click)="closePopup.emit()"
2848
+ (click)="handleClose()"
2832
2849
  ></button>
2833
2850
  </div>
2834
2851
  </div>
@@ -10554,6 +10571,7 @@ class MultiSelectComponent {
10554
10571
  }
10555
10572
  selectedDataItems = [];
10556
10573
  popupMouseDownHandler;
10574
+ isOpenPrevented = false;
10557
10575
  customValueSubject = new Subject();
10558
10576
  customValueSubscription;
10559
10577
  subs = new Subscription();
@@ -10748,7 +10766,7 @@ class MultiSelectComponent {
10748
10766
  if (!this.isActionSheetExpanded) {
10749
10767
  const inputElement = this.searchbar.input.nativeElement;
10750
10768
  if (event.button === 0) {
10751
- if (this.isFocused && this.isOpen && event.target === inputElement) {
10769
+ if (this.isFocused && (this.isOpen || this.isOpenPrevented) && event.target === inputElement) {
10752
10770
  return;
10753
10771
  }
10754
10772
  if (!touchEnabled || (touchEnabled && event.target.tagName !== 'SPAN')) {
@@ -10971,6 +10989,9 @@ class MultiSelectComponent {
10971
10989
  return;
10972
10990
  }
10973
10991
  const isDefaultPrevented = this.triggerPopupEvents(open);
10992
+ if (open) {
10993
+ this.isOpenPrevented = isDefaultPrevented;
10994
+ }
10974
10995
  if (!isDefaultPrevented) {
10975
10996
  this._toggle(open);
10976
10997
  }
@@ -640,6 +640,7 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
640
640
  get isFocused(): boolean;
641
641
  private selectedDataItems;
642
642
  private popupMouseDownHandler;
643
+ private isOpenPrevented;
643
644
  private customValueSubject;
644
645
  private customValueSubscription;
645
646
  private subs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dropdowns",
3
- "version": "18.1.0-develop.9",
3
+ "version": "18.1.1-develop.1",
4
4
  "description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -20,7 +20,7 @@
20
20
  "package": {
21
21
  "productName": "Kendo UI for Angular",
22
22
  "productCode": "KENDOUIANGULAR",
23
- "publishDate": 1738339412,
23
+ "publishDate": 1739868613,
24
24
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
25
25
  }
26
26
  },
@@ -30,19 +30,19 @@
30
30
  "@angular/core": "16 - 19",
31
31
  "@angular/forms": "16 - 19",
32
32
  "@angular/platform-browser": "16 - 19",
33
- "@progress/kendo-licensing": "^1.0.2",
34
- "@progress/kendo-angular-common": "18.1.0-develop.9",
35
- "@progress/kendo-angular-utils": "18.1.0-develop.9",
36
- "@progress/kendo-angular-l10n": "18.1.0-develop.9",
37
- "@progress/kendo-angular-navigation": "18.1.0-develop.9",
38
- "@progress/kendo-angular-popup": "18.1.0-develop.9",
39
- "@progress/kendo-angular-icons": "18.1.0-develop.9",
40
- "@progress/kendo-angular-treeview": "18.1.0-develop.9",
33
+ "@progress/kendo-licensing": "^1.4.0",
34
+ "@progress/kendo-angular-common": "18.1.1-develop.1",
35
+ "@progress/kendo-angular-utils": "18.1.1-develop.1",
36
+ "@progress/kendo-angular-l10n": "18.1.1-develop.1",
37
+ "@progress/kendo-angular-navigation": "18.1.1-develop.1",
38
+ "@progress/kendo-angular-popup": "18.1.1-develop.1",
39
+ "@progress/kendo-angular-icons": "18.1.1-develop.1",
40
+ "@progress/kendo-angular-treeview": "18.1.1-develop.1",
41
41
  "rxjs": "^6.5.3 || ^7.0.0"
42
42
  },
43
43
  "dependencies": {
44
44
  "tslib": "^2.3.1",
45
- "@progress/kendo-angular-schematics": "18.1.0-develop.9",
45
+ "@progress/kendo-angular-schematics": "18.1.1-develop.1",
46
46
  "@progress/kendo-common": "^1.0.1"
47
47
  },
48
48
  "schematics": "./schematics/collection.json",
@@ -4,9 +4,9 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
6
6
  // peers of the treeview
7
- '@progress/kendo-angular-inputs': '18.1.0-develop.9',
7
+ '@progress/kendo-angular-inputs': '18.1.1-develop.1',
8
8
  // peers of inputs
9
- '@progress/kendo-angular-intl': '18.1.0-develop.9',
9
+ '@progress/kendo-angular-intl': '18.1.1-develop.1',
10
10
  '@progress/kendo-drawing': '^1.17.2',
11
11
  // Peer dependency of icons
12
12
  '@progress/kendo-svg-icons': '^4.0.0'