@progress/kendo-angular-dropdowns 25.4.0-develop.5 → 25.4.0-develop.7

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.
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCode: 'KENDOUIANGULAR',
39
39
  productCodes: ['KENDOUIANGULAR'],
40
- publishDate: 1792080142,
41
- version: '25.4.0-develop.5',
40
+ publishDate: 1792397076,
41
+ version: '25.4.0-develop.7',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -550,6 +550,7 @@ class SearchBarComponent {
550
550
  _placeholder = "";
551
551
  _isSuggestable = false;
552
552
  _hasListAutocomplete = false;
553
+ composing = false;
553
554
  renderer;
554
555
  subs = new Subscription();
555
556
  _inputAttributes;
@@ -598,6 +599,12 @@ class SearchBarComponent {
598
599
  if (!isDocumentAvailable()) {
599
600
  return;
600
601
  }
602
+ // Avoid overwriting the input value while an IME composition is in progress.
603
+ // Writing to the value mid-composition disrupts the IME and results in
604
+ // duplicated (Chrome) or cleared (Safari) text once the composition is confirmed.
605
+ if (this.composing) {
606
+ return;
607
+ }
601
608
  let previousUserInput;
602
609
  if (this.input && (changes.userInput || changes.suggestedText)) {
603
610
  if (changes.userInput && changes.userInput.previousValue) {
@@ -634,6 +641,10 @@ class SearchBarComponent {
634
641
  this.subs.add(this.renderer.listen(this.input.nativeElement, 'focus', (event) => this.handleFocus(event)));
635
642
  this.subs.add(this.renderer.listen(this.input.nativeElement, 'blur', (event) => this.handleBlur(event)));
636
643
  this.subs.add(this.ngZone.runOutsideAngular(() => this.renderer.listen(this.input.nativeElement, 'keydown', (event) => this.handleKeydown(event))));
644
+ this.ngZone.runOutsideAngular(() => {
645
+ this.subs.add(this.renderer.listen(this.input.nativeElement, 'compositionstart', () => this.handleCompositionStart()));
646
+ this.subs.add(this.renderer.listen(this.input.nativeElement, 'compositionend', () => this.handleCompositionEnd()));
647
+ });
637
648
  }
638
649
  ngOnDestroy() {
639
650
  this.subs.unsubscribe();
@@ -668,14 +679,18 @@ class SearchBarComponent {
668
679
  }
669
680
  }
670
681
  handleInput(event) {
671
- const target = event.target;
672
- const isBrowserSafari = isSafari(navigator.userAgent);
673
- const value = isBrowserSafari && isJapanese(target.value) ? event.data : target.value;
682
+ const value = event.target.value;
674
683
  if (value !== this.userInput) {
675
684
  this._previousValue = value;
676
685
  this.valueChange.emit(value);
677
686
  }
678
687
  }
688
+ handleCompositionStart() {
689
+ this.composing = true;
690
+ }
691
+ handleCompositionEnd() {
692
+ this.composing = false;
693
+ }
679
694
  handleFocus(event) {
680
695
  this.onFocus.emit(event);
681
696
  }
package/index.d.ts CHANGED
@@ -84,6 +84,7 @@ declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy {
84
84
  private _placeholder;
85
85
  private _isSuggestable;
86
86
  private _hasListAutocomplete;
87
+ private composing;
87
88
  private renderer;
88
89
  private subs;
89
90
  private _inputAttributes;
@@ -99,6 +100,8 @@ declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy {
99
100
  private setInputSelection;
100
101
  private setAriaAutocomplete;
101
102
  handleInput(event: any): void;
103
+ handleCompositionStart(): void;
104
+ handleCompositionEnd(): void;
102
105
  handleFocus(event: any): void;
103
106
  handleBlur(event: any): void;
104
107
  handleKeydown(event: KeyboardEvent): void;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1792080142,
11
- "version": "25.4.0-develop.5",
10
+ "publishDate": 1792397076,
11
+ "version": "25.4.0-develop.7",
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-dropdowns",
3
- "version": "25.4.0-develop.5",
3
+ "version": "25.4.0-develop.7",
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",
@@ -132,7 +132,7 @@
132
132
  "package": {
133
133
  "productName": "Kendo UI for Angular",
134
134
  "productCode": "KENDOUIANGULAR",
135
- "publishDate": 1792080142,
135
+ "publishDate": 1792397076,
136
136
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
137
137
  }
138
138
  },
@@ -143,19 +143,19 @@
143
143
  "@angular/forms": "20 - 22",
144
144
  "@angular/platform-browser": "20 - 22",
145
145
  "@progress/kendo-licensing": "^1.11.0",
146
- "@progress/kendo-angular-common": "25.4.0-develop.5",
147
- "@progress/kendo-angular-utils": "25.4.0-develop.5",
148
- "@progress/kendo-angular-l10n": "25.4.0-develop.5",
149
- "@progress/kendo-angular-navigation": "25.4.0-develop.5",
150
- "@progress/kendo-angular-popup": "25.4.0-develop.5",
151
- "@progress/kendo-angular-icons": "25.4.0-develop.5",
152
- "@progress/kendo-angular-inputs": "25.4.0-develop.5",
153
- "@progress/kendo-angular-treeview": "25.4.0-develop.5",
146
+ "@progress/kendo-angular-common": "25.4.0-develop.7",
147
+ "@progress/kendo-angular-utils": "25.4.0-develop.7",
148
+ "@progress/kendo-angular-l10n": "25.4.0-develop.7",
149
+ "@progress/kendo-angular-navigation": "25.4.0-develop.7",
150
+ "@progress/kendo-angular-popup": "25.4.0-develop.7",
151
+ "@progress/kendo-angular-icons": "25.4.0-develop.7",
152
+ "@progress/kendo-angular-inputs": "25.4.0-develop.7",
153
+ "@progress/kendo-angular-treeview": "25.4.0-develop.7",
154
154
  "rxjs": "^6.5.3 || ^7.0.0"
155
155
  },
156
156
  "dependencies": {
157
157
  "tslib": "^2.3.1",
158
- "@progress/kendo-angular-schematics": "25.4.0-develop.5",
158
+ "@progress/kendo-angular-schematics": "25.4.0-develop.7",
159
159
  "@progress/kendo-common": "^1.0.1"
160
160
  },
161
161
  "schematics": "./schematics/collection.json",
@@ -9,9 +9,9 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
11
11
  // peers of the treeview
12
- '@progress/kendo-angular-inputs': '25.4.0-develop.5',
12
+ '@progress/kendo-angular-inputs': '25.4.0-develop.7',
13
13
  // peers of inputs
14
- '@progress/kendo-angular-intl': '25.4.0-develop.5',
14
+ '@progress/kendo-angular-intl': '25.4.0-develop.7',
15
15
  '@progress/kendo-drawing': '^1.17.2',
16
16
  // Peer dependency of icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0'