@progress/kendo-angular-buttons 19.2.1-develop.4 → 19.3.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.
package/index.d.ts CHANGED
@@ -35,6 +35,11 @@ export { DialItemAnimation } from './floatingactionbutton/models/item-animation.
35
35
  export { FabAlign } from './floatingactionbutton/models/align';
36
36
  export { FabPositionMode } from './floatingactionbutton/models/position-mode';
37
37
  export { FabOffset } from './floatingactionbutton/models/offset';
38
+ export { SpeechToTextButtonComponent } from './speechtotextbutton/speechtotextbutton.component';
39
+ export { IntegrationMode } from './speechtotextbutton/models/integration-mode';
40
+ export { SpeechToTextResultEvent } from './speechtotextbutton/models/result-event';
41
+ export { SpeechToTextErrorEvent } from './speechtotextbutton/models/error-event';
42
+ export { SpeechToTextButtonModule } from './speechtotextbutton/speechtotextbutton.module';
38
43
  export { ButtonSize, ChipSize, ButtonRounded, ChipRounded, ButtonFillMode, ChipFillMode, ButtonThemeColor, ChipThemeColor, ArrowIconSettings } from './common/models';
39
44
  export { FocusableDirective } from './focusable/focusable.directive';
40
45
  export { PreventableEvent } from './preventable-event';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-buttons",
3
- "version": "19.2.1-develop.4",
3
+ "version": "19.3.0-develop.10",
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": 1751639440,
24
+ "publishDate": 1752738968,
25
25
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
26
26
  }
27
27
  },
@@ -31,16 +31,17 @@
31
31
  "@angular/core": "16 - 20",
32
32
  "@angular/platform-browser": "16 - 20",
33
33
  "@progress/kendo-licensing": "^1.5.0",
34
- "@progress/kendo-angular-common": "19.2.1-develop.4",
35
- "@progress/kendo-angular-l10n": "19.2.1-develop.4",
36
- "@progress/kendo-angular-popup": "19.2.1-develop.4",
37
- "@progress/kendo-angular-icons": "19.2.1-develop.4",
34
+ "@progress/kendo-angular-common": "19.3.0-develop.10",
35
+ "@progress/kendo-angular-l10n": "19.3.0-develop.10",
36
+ "@progress/kendo-angular-popup": "19.3.0-develop.10",
37
+ "@progress/kendo-angular-icons": "19.3.0-develop.10",
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.2.1-develop.4",
43
- "@progress/kendo-common": "^1.0.1"
42
+ "@progress/kendo-angular-schematics": "19.3.0-develop.10",
43
+ "@progress/kendo-common": "^1.0.1",
44
+ "@progress/kendo-webspeech-common": "1.0.0"
44
45
  },
45
46
  "schematics": "./schematics/collection.json",
46
47
  "module": "fesm2022/progress-kendo-angular-buttons.mjs",
@@ -0,0 +1,13 @@
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
+ /**
6
+ * Arguments for the `error` event of the `SpeechToTextButton`.
7
+ */
8
+ export interface SpeechToTextErrorEvent {
9
+ /**
10
+ * Message detailing the cause of the speech recognition error. Use this message for debugging or user feedback.
11
+ */
12
+ errorMessage: string;
13
+ }
@@ -0,0 +1,11 @@
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
+ /**
6
+ * Specifies the speech recognition engine or integration the component will use. The possible values are:
7
+ *
8
+ * * `webSpeech`—Uses the browser's native Web Speech API to perform speech recognition. This is the default mode when available and supported by the browser.
9
+ * * `none`—Disables built-in speech recognition. Use this when integrating with a custom or third-party speech recognition service.
10
+ */
11
+ export type IntegrationMode = 'webSpeech' | 'none';
@@ -0,0 +1,18 @@
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
+ /**
6
+ * Arguments for the `result` event of the `SpeechToTextButton`.
7
+ */
8
+ export interface SpeechToTextResultEvent {
9
+ /**
10
+ * Indicates whether the speech recognition result is final (true) or interim (false).
11
+ */
12
+ isFinal: boolean;
13
+ /**
14
+ * An array of possible recognition alternatives returned by the speech engine.
15
+ * Each alternative contains a transcript of the recognized speech and a confidence score (see [SpeechRecognitionAlternative](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognitionAlternative)).
16
+ */
17
+ alternatives: SpeechRecognitionAlternative[];
18
+ }
@@ -0,0 +1,199 @@
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 { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
6
+ import { Subscription } from 'rxjs';
7
+ import { SVGIcon } from '@progress/kendo-svg-icons';
8
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
9
+ import { IntegrationMode } from './models/integration-mode';
10
+ import { SpeechToTextResultEvent } from './models/result-event';
11
+ import { SpeechToTextErrorEvent } from './models/error-event';
12
+ import { ButtonFillMode, ButtonRounded, ButtonSize, ButtonThemeColor } from '../common/models';
13
+ import * as i0 from "@angular/core";
14
+ /**
15
+ * Represents the Kendo UI SpeechToTextButton component for Angular.
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <button kendoSpeechToTextButton></button>
20
+ * ```
21
+ */
22
+ export declare class SpeechToTextButtonComponent implements OnInit, OnDestroy {
23
+ renderer: Renderer2;
24
+ ngZone: NgZone;
25
+ /**
26
+ * When `true`, disables the SpeechToTextButton and prevents user interaction.
27
+ *
28
+ * @default false
29
+ */
30
+ set disabled(disabled: boolean);
31
+ get disabled(): boolean;
32
+ /**
33
+ * Sets the padding of the SpeechToTextButton.
34
+ *
35
+ * @default 'medium'
36
+ */
37
+ set size(size: ButtonSize);
38
+ get size(): ButtonSize;
39
+ /**
40
+ * Sets the border radius of the SpeechToTextButton.
41
+ *
42
+ * @default 'medium'
43
+ */
44
+ set rounded(rounded: ButtonRounded);
45
+ get rounded(): ButtonRounded;
46
+ /**
47
+ * Sets the background and border styles of the SpeechToTextButton.
48
+ *
49
+ * @default 'solid'
50
+ */
51
+ set fillMode(fillMode: ButtonFillMode);
52
+ get fillMode(): ButtonFillMode;
53
+ /**
54
+ * Sets a predefined theme color for the SpeechToTextButton.
55
+ * The theme color applies as a background and border color and adjusts the text color.
56
+ *
57
+ * @default 'base'
58
+ */
59
+ set themeColor(themeColor: ButtonThemeColor);
60
+ get themeColor(): ButtonThemeColor;
61
+ /**
62
+ * Specifies which speech recognition engine or integration the component should use. Allows the component to operate in different environments or use alternative implementations.
63
+ */
64
+ integrationMode: IntegrationMode;
65
+ /**
66
+ * Specifies a `BCP 47` language tag (e.g., 'en-US', 'bg-BG') used for speech recognition.
67
+ *
68
+ * @default 'en-US'
69
+ */
70
+ lang: string;
71
+ /**
72
+ * Specifies whether continuous results are returned for each recognition, or only a single result once recognition stops.
73
+ *
74
+ * @default false
75
+ */
76
+ continuous: boolean;
77
+ /**
78
+ * Specifies whether interim results should be returned or not. Interim results are results that are not yet final.
79
+ *
80
+ * @default false
81
+ */
82
+ interimResults: boolean;
83
+ /**
84
+ * Represents the maximum number of alternative transcriptions to return for each result.
85
+ *
86
+ * @default 1
87
+ */
88
+ maxAlternatives: number;
89
+ /**
90
+ * Fires when the speech recognition service has begun listening to incoming audio.
91
+ */
92
+ start: EventEmitter<any>;
93
+ /**
94
+ * Fires when the speech recognition service has disconnected.
95
+ */
96
+ end: EventEmitter<any>;
97
+ /**
98
+ * Fires when the speech recognition service returns a result - a word or phrase has been positively recognized.
99
+ */
100
+ result: EventEmitter<SpeechToTextResultEvent>;
101
+ /**
102
+ * Fires when a speech recognition error occurs. The event argument is a string, containing the error message.
103
+ */
104
+ error: EventEmitter<SpeechToTextErrorEvent>;
105
+ /**
106
+ * Fires when the user clicks the SpeechToTextButton.
107
+ */
108
+ click: EventEmitter<any>;
109
+ get iconButtonClass(): boolean;
110
+ get listeningClass(): boolean;
111
+ speechToTextButtonClass: boolean;
112
+ classButton: boolean;
113
+ get classDisabled(): boolean;
114
+ get getDirection(): string;
115
+ get ariaPressed(): boolean;
116
+ /**
117
+ * @hidden
118
+ */
119
+ onFocus(): void;
120
+ /**
121
+ * @hidden
122
+ */
123
+ onBlur(): void;
124
+ /**
125
+ * Focuses the SpeechToTextButton component.
126
+ */
127
+ focus(): void;
128
+ /**
129
+ * Removes focus from the SpeechToTextButton component.
130
+ */
131
+ blur(): void;
132
+ ngOnInit(): void;
133
+ ngOnChanges(changes: any): void;
134
+ ngAfterViewInit(): void;
135
+ ngOnDestroy(): void;
136
+ constructor(element: ElementRef, renderer: Renderer2, localization: LocalizationService, ngZone: NgZone);
137
+ /**
138
+ * Indicates whether the button is actively listening for incoming audio.
139
+ */
140
+ isListening: boolean;
141
+ /**
142
+ * Indicates whether web speech functionality is supported.
143
+ */
144
+ get isWebSpeechSupported(): boolean;
145
+ set isFocused(isFocused: boolean);
146
+ get isFocused(): boolean;
147
+ /**
148
+ * @hidden
149
+ */
150
+ get hasText(): boolean;
151
+ /**
152
+ * @hidden
153
+ */
154
+ onClick(): void;
155
+ /**
156
+ * @hidden
157
+ */
158
+ get buttonSvgIcon(): SVGIcon;
159
+ /**
160
+ * @hidden
161
+ */
162
+ get buttonIcon(): string;
163
+ /**
164
+ * @hidden
165
+ */
166
+ setAttribute(attribute: string, value: string): void;
167
+ /**
168
+ * @hidden
169
+ */
170
+ element: HTMLElement;
171
+ /**
172
+ * @hidden
173
+ */
174
+ isDisabled: boolean;
175
+ /**
176
+ * @hidden
177
+ */
178
+ subs: Subscription;
179
+ private microphoneSvgIcon;
180
+ private stopSvgIcon;
181
+ private speechRecognition;
182
+ private _size;
183
+ private _rounded;
184
+ private _fillMode;
185
+ private _themeColor;
186
+ private _focused;
187
+ private direction;
188
+ private handleClasses;
189
+ private handleStart;
190
+ private handleEnd;
191
+ private handleResult;
192
+ private handleError;
193
+ private toObservable;
194
+ private handleThemeColor;
195
+ private destroyWebSpeech;
196
+ private createWebSpeech;
197
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpeechToTextButtonComponent, never>;
198
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpeechToTextButtonComponent, "button[kendoSpeechToTextButton]", ["kendoSpeechToTextButton"], { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "integrationMode": { "alias": "integrationMode"; "required": false; }; "lang": { "alias": "lang"; "required": false; }; "continuous": { "alias": "continuous"; "required": false; }; "interimResults": { "alias": "interimResults"; "required": false; }; "maxAlternatives": { "alias": "maxAlternatives"; "required": false; }; }, { "start": "start"; "end": "end"; "result": "result"; "error": "error"; "click": "click"; }, never, ["*"], true, never>;
199
+ }
@@ -0,0 +1,19 @@
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 * as i0 from "@angular/core";
6
+ import * as i1 from "./speechtotextbutton.component";
7
+ /**
8
+ * Represents the exported package module.
9
+ *
10
+ * Required for adding SpeechToTextButton features in NgModule-based Angular applications.
11
+ *
12
+ * The package exports:
13
+ * - `SpeechToTextButtonComponent`&mdash;The SpeechToTextButton component class.
14
+ */
15
+ export declare class SpeechToTextButtonModule {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpeechToTextButtonModule, never>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SpeechToTextButtonModule, never, [typeof i1.SpeechToTextButtonComponent], [typeof i1.SpeechToTextButtonComponent]>;
18
+ static ɵinj: i0.ɵɵInjectorDeclaration<SpeechToTextButtonModule>;
19
+ }
package/util.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2025 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 { Renderer2 } from "@angular/core";
5
6
  import { ButtonStylingClasses } from "./common/models";
6
7
  /**
7
8
  * @hidden
@@ -15,10 +16,6 @@ export declare const tick: (f: any) => Promise<any>;
15
16
  * @hidden
16
17
  */
17
18
  export declare function closest(element: any, selector: string): any;
18
- /**
19
- * @hidden
20
- */
21
- export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
22
19
  /**
23
20
  * @hidden
24
21
  */
@@ -39,6 +36,10 @@ export declare const getStylingClasses: (componentType: any, stylingOption: stri
39
36
  * Returns the themeColor classes to be added and removed
40
37
  */
41
38
  export declare const getThemeColorClasses: (componentType: any, prevFillMode: any, fillMode: any, previousValue: any, newValue: any) => ButtonStylingClasses;
39
+ /**
40
+ * @hidden
41
+ */
42
+ export declare const toggleClass: (className: string, add: boolean, renderer: Renderer2, element: any) => void;
42
43
  /**
43
44
  * @hidden
44
45
  *