@progress/kendo-angular-buttons 19.3.0-develop.3 → 19.3.0-develop.31

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.
@@ -28,6 +28,9 @@ export declare class ChipListComponent implements OnInit, AfterViewInit, AfterCo
28
28
  private element;
29
29
  private ngZone;
30
30
  hostClass: boolean;
31
+ /**
32
+ * @hidden
33
+ */
31
34
  orientation: string;
32
35
  /**
33
36
  * @hidden
@@ -98,5 +101,5 @@ export declare class ChipListComponent implements OnInit, AfterViewInit, AfterCo
98
101
  private normalizeActiveIndex;
99
102
  private setChipSize;
100
103
  static ɵfac: i0.ɵɵFactoryDeclaration<ChipListComponent, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<ChipListComponent, "kendo-chiplist, kendo-chip-list", never, { "selection": { "alias": "selection"; "required": false; }; "size": { "alias": "size"; "required": false; }; "role": { "alias": "role"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; }, { "selectedChange": "selectedChange"; "remove": "remove"; }, ["chips"], ["*"], true, never>;
104
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChipListComponent, "kendo-chiplist, kendo-chip-list", never, { "orientation": { "alias": "orientation"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "size": { "alias": "size"; "required": false; }; "role": { "alias": "role"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; }, { "selectedChange": "selectedChange"; "remove": "remove"; }, ["chips"], ["*"], true, never>;
102
105
  }
@@ -31,6 +31,9 @@ export class ChipListComponent {
31
31
  element;
32
32
  ngZone;
33
33
  hostClass = true;
34
+ /**
35
+ * @hidden
36
+ */
34
37
  orientation = 'horizontal';
35
38
  /**
36
39
  * @hidden
@@ -70,7 +73,7 @@ export class ChipListComponent {
70
73
  return this.selection === 'single';
71
74
  }
72
75
  get multiple() {
73
- return this.selection === 'multiple';
76
+ return this.selection === 'multiple' ? true : undefined;
74
77
  }
75
78
  /**
76
79
  * @hidden
@@ -246,7 +249,7 @@ export class ChipListComponent {
246
249
  this.chips.forEach((chip, idx) => {
247
250
  const chipEl = chip.element.nativeElement;
248
251
  this.renderer.removeAttribute(chipEl, 'aria-pressed');
249
- this.renderer.setAttribute(chipEl, 'aria-selected', `${chip.selected}`);
252
+ this.selection !== 'none' && (this.renderer.setAttribute(chipEl, 'aria-selected', `${chip.selected}`));
250
253
  this.role === 'listbox' && this.renderer.setAttribute(chipEl, 'role', 'option');
251
254
  if (!this.navigable) {
252
255
  return;
@@ -275,7 +278,7 @@ export class ChipListComponent {
275
278
  !hasSize && (chip.sizeIsSet = false);
276
279
  }
277
280
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
278
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipListComponent, isStandalone: true, selector: "kendo-chiplist, kendo-chip-list", inputs: { selection: "selection", size: "size", role: "role", navigable: "navigable" }, outputs: { selectedChange: "selectedChange", remove: "remove" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-chip-list": "this.hostClass", "attr.aria-orientation": "this.orientation", "attr.dir": "this.direction", "class.k-selection-single": "this.single", "attr.aria-multiselectable": "this.multiple", "class.k-selection-multiple": "this.multiple", "attr.role": "this.role" } }, providers: [
281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipListComponent, isStandalone: true, selector: "kendo-chiplist, kendo-chip-list", inputs: { orientation: "orientation", selection: "selection", size: "size", role: "role", navigable: "navigable" }, outputs: { selectedChange: "selectedChange", remove: "remove" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-chip-list": "this.hostClass", "attr.aria-orientation": "this.orientation", "attr.dir": "this.direction", "class.k-selection-single": "this.single", "attr.aria-multiselectable": "this.multiple", "class.k-selection-multiple": "this.multiple", "attr.role": "this.role" } }, providers: [
279
282
  LocalizationService,
280
283
  {
281
284
  provide: L10N_PREFIX,
@@ -307,6 +310,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
307
310
  }], orientation: [{
308
311
  type: HostBinding,
309
312
  args: ['attr.aria-orientation']
313
+ }, {
314
+ type: Input
310
315
  }], direction: [{
311
316
  type: HostBinding,
312
317
  args: ['attr.dir']
@@ -577,7 +577,7 @@ export class FloatingActionButtonComponent {
577
577
  event.preventDefault();
578
578
  });
579
579
  });
580
- this.popupRef.popupAnchorViewportLeave.subscribe(() => this.toggleDialWithEvents(false));
580
+ this.subscriptions.add(this.popupRef.popupAnchorViewportLeave.subscribe(() => this.toggleDialWithEvents(false)));
581
581
  }
582
582
  closePopup() {
583
583
  if (this.isOpen) {
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1751984730,
14
- version: '19.3.0-develop.3',
13
+ publishDate: 1754576416,
14
+ version: '19.3.0-develop.31',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -10,10 +10,10 @@ import { ButtonItemTemplateDirective } from './../listbutton/button-item-templat
10
10
  import { FocusService } from './../focusable/focus.service';
11
11
  import { NavigationService } from './../navigation/navigation.service';
12
12
  import { NAVIGATION_CONFIG } from './../navigation/navigation-config';
13
- import { isDocumentAvailable, guid, isChanged, anyChanged, MultiTabStop } from '@progress/kendo-angular-common';
13
+ import { isDocumentAvailable, guid, isChanged, anyChanged, MultiTabStop, replaceMessagePlaceholder } from '@progress/kendo-angular-common';
14
14
  import { closest, isPresent } from './../util';
15
15
  import { Keys } from '@progress/kendo-angular-common';
16
- import { replaceMessagePlaceholder, getStylingClasses } from '../util';
16
+ import { getStylingClasses } from '../util';
17
17
  import { PopupContainerService } from '../listbutton/container.service';
18
18
  import { caretAltDownIcon } from '@progress/kendo-svg-icons';
19
19
  import { ListComponent } from '../listbutton/list.component';
package/esm2022/util.mjs CHANGED
@@ -38,10 +38,6 @@ export function closest(element, selector) {
38
38
  node = node.parentNode;
39
39
  }
40
40
  }
41
- /**
42
- * @hidden
43
- */
44
- export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
45
41
  /**
46
42
  * @hidden
47
43
  */
@@ -6,7 +6,7 @@ import * as i0 from '@angular/core';
6
6
  import { Injectable, isDevMode, EventEmitter, Component, Optional, Input, Output, HostBinding, HostListener, ContentChildren, Directive, InjectionToken, Inject, ElementRef, ViewContainerRef, ViewChild, ContentChild, forwardRef, NgModule } from '@angular/core';
7
7
  import { Subject, Subscription, fromEvent, merge, of, Observable, from } from 'rxjs';
8
8
  import * as i12 from '@progress/kendo-angular-common';
9
- import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, TemplateContextDirective, MultiTabStop, guid, isPresent as isPresent$1, EventsOutsideAngularDirective, anyChanged, ToggleButtonTabStopDirective, ResizeBatchService, KENDO_TOGGLEBUTTONTABSTOP } from '@progress/kendo-angular-common';
9
+ import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, TemplateContextDirective, MultiTabStop, guid, isPresent as isPresent$1, EventsOutsideAngularDirective, replaceMessagePlaceholder, anyChanged, ToggleButtonTabStopDirective, ResizeBatchService, KENDO_TOGGLEBUTTONTABSTOP } from '@progress/kendo-angular-common';
10
10
  export { ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
11
11
  import { caretAltDownIcon, xCircleIcon, moreVerticalIcon, microphoneOutlineIcon, stopSmIcon } from '@progress/kendo-svg-icons';
12
12
  import * as i1 from '@progress/kendo-angular-l10n';
@@ -45,8 +45,8 @@ const packageMetadata = {
45
45
  productName: 'Kendo UI for Angular',
46
46
  productCode: 'KENDOUIANGULAR',
47
47
  productCodes: ['KENDOUIANGULAR'],
48
- publishDate: 1751984730,
49
- version: '19.3.0-develop.3',
48
+ publishDate: 1754576416,
49
+ version: '19.3.0-develop.31',
50
50
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
51
51
  };
52
52
 
@@ -86,10 +86,6 @@ function closest(element, selector) {
86
86
  node = node.parentNode;
87
87
  }
88
88
  }
89
- /**
90
- * @hidden
91
- */
92
- const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
93
89
  /**
94
90
  * @hidden
95
91
  */
@@ -1592,6 +1588,9 @@ class ChipListComponent {
1592
1588
  element;
1593
1589
  ngZone;
1594
1590
  hostClass = true;
1591
+ /**
1592
+ * @hidden
1593
+ */
1595
1594
  orientation = 'horizontal';
1596
1595
  /**
1597
1596
  * @hidden
@@ -1631,7 +1630,7 @@ class ChipListComponent {
1631
1630
  return this.selection === 'single';
1632
1631
  }
1633
1632
  get multiple() {
1634
- return this.selection === 'multiple';
1633
+ return this.selection === 'multiple' ? true : undefined;
1635
1634
  }
1636
1635
  /**
1637
1636
  * @hidden
@@ -1807,7 +1806,7 @@ class ChipListComponent {
1807
1806
  this.chips.forEach((chip, idx) => {
1808
1807
  const chipEl = chip.element.nativeElement;
1809
1808
  this.renderer.removeAttribute(chipEl, 'aria-pressed');
1810
- this.renderer.setAttribute(chipEl, 'aria-selected', `${chip.selected}`);
1809
+ this.selection !== 'none' && (this.renderer.setAttribute(chipEl, 'aria-selected', `${chip.selected}`));
1811
1810
  this.role === 'listbox' && this.renderer.setAttribute(chipEl, 'role', 'option');
1812
1811
  if (!this.navigable) {
1813
1812
  return;
@@ -1836,7 +1835,7 @@ class ChipListComponent {
1836
1835
  !hasSize && (chip.sizeIsSet = false);
1837
1836
  }
1838
1837
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipListComponent, isStandalone: true, selector: "kendo-chiplist, kendo-chip-list", inputs: { selection: "selection", size: "size", role: "role", navigable: "navigable" }, outputs: { selectedChange: "selectedChange", remove: "remove" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-chip-list": "this.hostClass", "attr.aria-orientation": "this.orientation", "attr.dir": "this.direction", "class.k-selection-single": "this.single", "attr.aria-multiselectable": "this.multiple", "class.k-selection-multiple": "this.multiple", "attr.role": "this.role" } }, providers: [
1838
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipListComponent, isStandalone: true, selector: "kendo-chiplist, kendo-chip-list", inputs: { orientation: "orientation", selection: "selection", size: "size", role: "role", navigable: "navigable" }, outputs: { selectedChange: "selectedChange", remove: "remove" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-chip-list": "this.hostClass", "attr.aria-orientation": "this.orientation", "attr.dir": "this.direction", "class.k-selection-single": "this.single", "attr.aria-multiselectable": "this.multiple", "class.k-selection-multiple": "this.multiple", "attr.role": "this.role" } }, providers: [
1840
1839
  LocalizationService,
1841
1840
  {
1842
1841
  provide: L10N_PREFIX,
@@ -1868,6 +1867,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1868
1867
  }], orientation: [{
1869
1868
  type: HostBinding,
1870
1869
  args: ['attr.aria-orientation']
1870
+ }, {
1871
+ type: Input
1871
1872
  }], direction: [{
1872
1873
  type: HostBinding,
1873
1874
  args: ['attr.dir']
@@ -4124,7 +4125,7 @@ class FloatingActionButtonComponent {
4124
4125
  event.preventDefault();
4125
4126
  });
4126
4127
  });
4127
- this.popupRef.popupAnchorViewportLeave.subscribe(() => this.toggleDialWithEvents(false));
4128
+ this.subscriptions.add(this.popupRef.popupAnchorViewportLeave.subscribe(() => this.toggleDialWithEvents(false)));
4128
4129
  }
4129
4130
  closePopup() {
4130
4131
  if (this.isOpen) {
package/index.d.ts CHANGED
@@ -39,6 +39,7 @@ export { SpeechToTextButtonComponent } from './speechtotextbutton/speechtotextbu
39
39
  export { IntegrationMode } from './speechtotextbutton/models/integration-mode';
40
40
  export { SpeechToTextResultEvent } from './speechtotextbutton/models/result-event';
41
41
  export { SpeechToTextErrorEvent } from './speechtotextbutton/models/error-event';
42
+ export { SpeechToTextButtonSettings } from './speechtotextbutton/models/speechtotextbutton-settings';
42
43
  export { SpeechToTextButtonModule } from './speechtotextbutton/speechtotextbutton.module';
43
44
  export { ButtonSize, ChipSize, ButtonRounded, ChipRounded, ButtonFillMode, ChipFillMode, ButtonThemeColor, ChipThemeColor, ArrowIconSettings } from './common/models';
44
45
  export { FocusableDirective } from './focusable/focusable.directive';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-buttons",
3
- "version": "19.3.0-develop.3",
3
+ "version": "19.3.0-develop.31",
4
4
  "description": "Buttons Package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -21,7 +21,7 @@
21
21
  "package": {
22
22
  "productName": "Kendo UI for Angular",
23
23
  "productCode": "KENDOUIANGULAR",
24
- "publishDate": 1751984730,
24
+ "publishDate": 1754576416,
25
25
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
26
26
  }
27
27
  },
@@ -30,18 +30,18 @@
30
30
  "@angular/common": "16 - 20",
31
31
  "@angular/core": "16 - 20",
32
32
  "@angular/platform-browser": "16 - 20",
33
- "@progress/kendo-licensing": "^1.5.0",
34
- "@progress/kendo-angular-common": "19.3.0-develop.3",
35
- "@progress/kendo-angular-l10n": "19.3.0-develop.3",
36
- "@progress/kendo-angular-popup": "19.3.0-develop.3",
37
- "@progress/kendo-angular-icons": "19.3.0-develop.3",
33
+ "@progress/kendo-licensing": "^1.7.0",
34
+ "@progress/kendo-angular-common": "19.3.0-develop.31",
35
+ "@progress/kendo-angular-l10n": "19.3.0-develop.31",
36
+ "@progress/kendo-angular-popup": "19.3.0-develop.31",
37
+ "@progress/kendo-angular-icons": "19.3.0-develop.31",
38
38
  "rxjs": "^6.5.3 || ^7.0.0"
39
39
  },
40
40
  "dependencies": {
41
41
  "tslib": "^2.3.1",
42
- "@progress/kendo-angular-schematics": "19.3.0-develop.3",
42
+ "@progress/kendo-angular-schematics": "19.3.0-develop.31",
43
43
  "@progress/kendo-common": "^1.0.1",
44
- "@progress/kendo-webspeech-common": "1.0.0"
44
+ "@progress/kendo-webspeech-common": "1.0.1"
45
45
  },
46
46
  "schematics": "./schematics/collection.json",
47
47
  "module": "fesm2022/progress-kendo-angular-buttons.mjs",
@@ -0,0 +1,61 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ButtonFillMode, ButtonRounded, ButtonSize, ButtonThemeColor } from "../../common/models";
6
+ import { IntegrationMode } from "./integration-mode";
7
+ /**
8
+ * Defines the settings interface for the speech-to-text functionality used in components that integrate the SpeechToTextButton component, such as the AIPrompt ([see example](slug:configuration_aiprompt#enabling-speech-to-text)).
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const speechSettings: SpeechToTextButtonSettings = {
13
+ * continuous: true,
14
+ * lang: 'en-US',
15
+ * interimResults: false,
16
+ * disabled: false
17
+ * };
18
+ * ```
19
+ */
20
+ export interface SpeechToTextButtonSettings {
21
+ /**
22
+ * Specifies whether the component returns continuous results for each recognition, or only a single result once recognition stops.
23
+ */
24
+ continuous?: boolean;
25
+ /**
26
+ * When `true`, disables the SpeechToTextButton and prevents user interaction.
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Sets the background and border styles of the SpeechToTextButton.
31
+ */
32
+ fillMode?: ButtonFillMode;
33
+ /**
34
+ * Specifies which speech recognition engine or integration the component should use. Allows the component to operate in different environments or use alternative implementations.
35
+ */
36
+ integrationMode?: IntegrationMode;
37
+ /**
38
+ * Specifies whether the component should return interim results or not. Interim results are results that are not yet final.
39
+ */
40
+ interimResults?: boolean;
41
+ /**
42
+ * Specifies a `BCP 47` language tag (e.g., `'en-US'`, `'bg-BG'`) used for speech recognition.
43
+ */
44
+ lang?: string;
45
+ /**
46
+ * Represents the maximum number of alternative transcriptions to return for each result.
47
+ */
48
+ maxAlternatives?: number;
49
+ /**
50
+ * Sets the border radius of the SpeechToTextButton.
51
+ */
52
+ rounded?: ButtonRounded;
53
+ /**
54
+ * Sets the padding of the SpeechToTextButton.
55
+ */
56
+ size?: ButtonSize;
57
+ /**
58
+ * Sets a predefined theme color for the SpeechToTextButton. The theme color applies as a background and border color and adjusts the text color.
59
+ */
60
+ themeColor?: ButtonThemeColor;
61
+ }
package/util.d.ts CHANGED
@@ -16,10 +16,6 @@ export declare const tick: (f: any) => Promise<any>;
16
16
  * @hidden
17
17
  */
18
18
  export declare function closest(element: any, selector: string): any;
19
- /**
20
- * @hidden
21
- */
22
- export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
23
19
  /**
24
20
  * @hidden
25
21
  */