@progress/kendo-angular-buttons 21.4.1-develop.1 → 22.0.0-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.
Files changed (73) hide show
  1. package/fesm2022/progress-kendo-angular-buttons.mjs +105 -105
  2. package/listbutton/list-button.d.ts +1 -1
  3. package/package.json +11 -19
  4. package/splitbutton/localization/messages.d.ts +1 -1
  5. package/esm2022/button/button-settings.mjs +0 -5
  6. package/esm2022/button/button.component.mjs +0 -558
  7. package/esm2022/button/button.module.mjs +0 -43
  8. package/esm2022/button/button.service.mjs +0 -22
  9. package/esm2022/button/selection-settings.mjs +0 -5
  10. package/esm2022/buttongroup/buttongroup.component.mjs +0 -340
  11. package/esm2022/buttongroup/buttongroup.module.mjs +0 -49
  12. package/esm2022/buttons.module.mjs +0 -58
  13. package/esm2022/chip/chip-content-click-event-args.interface.mjs +0 -5
  14. package/esm2022/chip/chip-list-remove-event-args.interface.mjs +0 -5
  15. package/esm2022/chip/chip-list.component.mjs +0 -360
  16. package/esm2022/chip/chip-remove-event-args.interface.mjs +0 -5
  17. package/esm2022/chip/chip.component.mjs +0 -585
  18. package/esm2022/chip/chip.module.mjs +0 -45
  19. package/esm2022/chip/models/avatar-settings.interface.mjs +0 -5
  20. package/esm2022/chip/models/selection.mjs +0 -5
  21. package/esm2022/common/models/arrow-settings.mjs +0 -5
  22. package/esm2022/common/models/fillmode.mjs +0 -5
  23. package/esm2022/common/models/rounded.mjs +0 -5
  24. package/esm2022/common/models/size.mjs +0 -5
  25. package/esm2022/common/models/styling-classes.mjs +0 -5
  26. package/esm2022/common/models/theme-color.mjs +0 -5
  27. package/esm2022/common/models.mjs +0 -10
  28. package/esm2022/direction.mjs +0 -5
  29. package/esm2022/directives.mjs +0 -176
  30. package/esm2022/dropdownbutton/dropdownbutton.component.mjs +0 -482
  31. package/esm2022/dropdownbutton/dropdownbutton.module.mjs +0 -50
  32. package/esm2022/floatingactionbutton/animations/animations.mjs +0 -33
  33. package/esm2022/floatingactionbutton/dial-item.component.mjs +0 -161
  34. package/esm2022/floatingactionbutton/dial-list.component.mjs +0 -98
  35. package/esm2022/floatingactionbutton/floatingactionbutton.component.mjs +0 -954
  36. package/esm2022/floatingactionbutton/floatingactionbutton.module.mjs +0 -47
  37. package/esm2022/floatingactionbutton/models/align.mjs +0 -5
  38. package/esm2022/floatingactionbutton/models/item-animation.interface.mjs +0 -5
  39. package/esm2022/floatingactionbutton/models/item-click.event.mjs +0 -5
  40. package/esm2022/floatingactionbutton/models/item.interface.mjs +0 -5
  41. package/esm2022/floatingactionbutton/models/offset.mjs +0 -5
  42. package/esm2022/floatingactionbutton/models/position-mode.mjs +0 -5
  43. package/esm2022/floatingactionbutton/templates/dial-item-template.directive.mjs +0 -37
  44. package/esm2022/floatingactionbutton/templates/fab-template.directive.mjs +0 -38
  45. package/esm2022/floatingactionbutton/utils.mjs +0 -38
  46. package/esm2022/focusable/focus.service.mjs +0 -38
  47. package/esm2022/focusable/focusable.directive.mjs +0 -67
  48. package/esm2022/index.mjs +0 -33
  49. package/esm2022/listbutton/button-item-template.directive.mjs +0 -47
  50. package/esm2022/listbutton/container.service.mjs +0 -18
  51. package/esm2022/listbutton/list-button.mjs +0 -461
  52. package/esm2022/listbutton/list-item-model.mjs +0 -5
  53. package/esm2022/listbutton/list.component.mjs +0 -177
  54. package/esm2022/listbutton/popup-settings.mjs +0 -5
  55. package/esm2022/navigation/key-events.mjs +0 -13
  56. package/esm2022/navigation/navigation-action.mjs +0 -20
  57. package/esm2022/navigation/navigation-config.mjs +0 -9
  58. package/esm2022/navigation/navigation.service.mjs +0 -111
  59. package/esm2022/package-metadata.mjs +0 -16
  60. package/esm2022/preventable-event.mjs +0 -25
  61. package/esm2022/progress-kendo-angular-buttons.mjs +0 -8
  62. package/esm2022/speechtotextbutton/models/error-event.mjs +0 -5
  63. package/esm2022/speechtotextbutton/models/integration-mode.mjs +0 -5
  64. package/esm2022/speechtotextbutton/models/result-event.mjs +0 -5
  65. package/esm2022/speechtotextbutton/models/speechtotextbutton-settings.mjs +0 -5
  66. package/esm2022/speechtotextbutton/speechtotextbutton.component.mjs +0 -532
  67. package/esm2022/speechtotextbutton/speechtotextbutton.module.mjs +0 -31
  68. package/esm2022/splitbutton/localization/custom-messages.component.mjs +0 -40
  69. package/esm2022/splitbutton/localization/localized-messages.directive.mjs +0 -39
  70. package/esm2022/splitbutton/localization/messages.mjs +0 -50
  71. package/esm2022/splitbutton/splitbutton.component.mjs +0 -761
  72. package/esm2022/splitbutton/splitbutton.module.mjs +0 -37
  73. package/esm2022/util.mjs +0 -108
@@ -1,532 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, Output, Renderer2 } from '@angular/core';
6
- import { from, Observable, of, Subscription } from 'rxjs';
7
- import { take } from 'rxjs/operators';
8
- import { microphoneOutlineIcon, stopSmIcon } from '@progress/kendo-svg-icons';
9
- import { KendoSpeechRecognition } from '@progress/kendo-webspeech-common';
10
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
11
- import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
12
- import { anyChanged, isChanged, isDocumentAvailable, isFirefox, isSafari } from '@progress/kendo-angular-common';
13
- import { validatePackage } from '@progress/kendo-licensing';
14
- import { packageMetadata } from '../package-metadata';
15
- import { getStylingClasses, getThemeColorClasses, toggleClass } from '../util';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@progress/kendo-angular-l10n";
18
- const DEFAULT_ROUNDED = 'medium';
19
- const DEFAULT_SIZE = 'medium';
20
- const DEFAULT_THEME_COLOR = 'base';
21
- const DEFAULT_FILL_MODE = 'solid';
22
- /**
23
- * Represents the Kendo UI SpeechToTextButton component for Angular.
24
- *
25
- * @example
26
- * ```html
27
- * <button kendoSpeechToTextButton></button>
28
- * ```
29
- */
30
- export class SpeechToTextButtonComponent {
31
- renderer;
32
- ngZone;
33
- /**
34
- * When `true`, disables the SpeechToTextButton and prevents user interaction.
35
- *
36
- * @default false
37
- */
38
- set disabled(disabled) {
39
- //Required, because in FF focused buttons are not blurred on disabled
40
- if (disabled && isDocumentAvailable() && isFirefox(navigator.userAgent)) {
41
- this.blur();
42
- }
43
- this.isDisabled = disabled;
44
- this.renderer.setProperty(this.element, 'disabled', disabled);
45
- }
46
- get disabled() {
47
- return this.isDisabled;
48
- }
49
- /**
50
- * Sets the padding of the SpeechToTextButton.
51
- *
52
- * @default 'medium'
53
- */
54
- set size(size) {
55
- const newSize = size || DEFAULT_SIZE;
56
- this.handleClasses(newSize, 'size');
57
- this._size = newSize;
58
- }
59
- get size() {
60
- return this._size;
61
- }
62
- /**
63
- * Sets the border radius of the SpeechToTextButton.
64
- *
65
- * @default 'medium'
66
- */
67
- set rounded(rounded) {
68
- const newRounded = rounded || DEFAULT_ROUNDED;
69
- this.handleClasses(newRounded, 'rounded');
70
- this._rounded = newRounded;
71
- }
72
- get rounded() {
73
- return this._rounded;
74
- }
75
- /**
76
- * Sets the background and border styles of the SpeechToTextButton.
77
- *
78
- * @default 'solid'
79
- */
80
- set fillMode(fillMode) {
81
- const newFillMode = fillMode || DEFAULT_FILL_MODE;
82
- this.handleClasses(newFillMode, 'fillMode');
83
- this._fillMode = newFillMode;
84
- }
85
- get fillMode() {
86
- return this._fillMode;
87
- }
88
- /**
89
- * Sets a predefined theme color for the SpeechToTextButton.
90
- * The theme color applies as a background and border color and adjusts the text color.
91
- *
92
- * @default 'base'
93
- */
94
- set themeColor(themeColor) {
95
- const newThemeColor = themeColor || DEFAULT_THEME_COLOR;
96
- this.handleThemeColor(newThemeColor);
97
- this._themeColor = newThemeColor;
98
- }
99
- get themeColor() {
100
- return this._themeColor;
101
- }
102
- /**
103
- * Specifies which speech recognition engine or integration the component should use. Allows the component to operate in different environments or use alternative implementations.
104
- */
105
- integrationMode = 'webSpeech';
106
- /**
107
- * Specifies a `BCP 47` language tag (e.g., 'en-US', 'bg-BG') used for speech recognition.
108
- *
109
- * @default 'en-US'
110
- */
111
- lang = 'en-US';
112
- /**
113
- * Specifies whether continuous results are returned for each recognition, or only a single result once recognition stops.
114
- *
115
- * @default false
116
- */
117
- continuous = false;
118
- /**
119
- * Specifies whether interim results should be returned or not. Interim results are results that are not yet final.
120
- *
121
- * @default false
122
- */
123
- interimResults = false;
124
- /**
125
- * Represents the maximum number of alternative transcriptions to return for each result.
126
- *
127
- * @default 1
128
- */
129
- maxAlternatives = 1;
130
- /**
131
- * Fires when the speech recognition service has begun listening to incoming audio.
132
- */
133
- start = new EventEmitter();
134
- /**
135
- * Fires when the speech recognition service has disconnected.
136
- */
137
- end = new EventEmitter();
138
- /**
139
- * Fires when the speech recognition service returns a result - a word or phrase has been positively recognized.
140
- */
141
- result = new EventEmitter();
142
- /**
143
- * Fires when a speech recognition error occurs. The event argument is a string, containing the error message.
144
- */
145
- error = new EventEmitter();
146
- /**
147
- * Fires when the user clicks the SpeechToTextButton.
148
- */
149
- click = new EventEmitter();
150
- get iconButtonClass() {
151
- return !this.hasText;
152
- }
153
- get listeningClass() {
154
- return this.isListening;
155
- }
156
- speechToTextButtonClass = true;
157
- classButton = true;
158
- get classDisabled() {
159
- return this.isDisabled;
160
- }
161
- get getDirection() {
162
- return this.direction;
163
- }
164
- get ariaPressed() {
165
- return this.isListening;
166
- }
167
- /**
168
- * @hidden
169
- */
170
- onFocus() {
171
- this.isFocused = true;
172
- }
173
- /**
174
- * @hidden
175
- */
176
- onBlur() {
177
- this.isFocused = false;
178
- }
179
- /**
180
- * Focuses the SpeechToTextButton component.
181
- */
182
- focus() {
183
- if (isDocumentAvailable()) {
184
- this.element.focus();
185
- this.isFocused = true;
186
- }
187
- }
188
- /**
189
- * Removes focus from the SpeechToTextButton component.
190
- */
191
- blur() {
192
- if (isDocumentAvailable()) {
193
- this.element.blur();
194
- this.isFocused = false;
195
- }
196
- }
197
- ngOnInit() {
198
- this.ngZone.runOutsideAngular(() => {
199
- this.subs.add(this.renderer.listen(this.element, 'click', this.onClick.bind(this)));
200
- this.subs.add(this.renderer.listen(this.element, 'mousedown', (event) => {
201
- const isBrowserSafari = isDocumentAvailable() && isSafari(navigator.userAgent);
202
- if (!this.isDisabled && isBrowserSafari) {
203
- event.preventDefault();
204
- this.element.focus();
205
- }
206
- }));
207
- if (this.integrationMode !== 'webSpeech') {
208
- return;
209
- }
210
- this.createWebSpeech();
211
- });
212
- }
213
- ngOnChanges(changes) {
214
- if (isChanged("integrationMode", changes, false)) {
215
- if (this.integrationMode === 'webSpeech') {
216
- if (!this.speechRecognition) {
217
- this.ngZone.runOutsideAngular(() => {
218
- this.createWebSpeech();
219
- });
220
- }
221
- }
222
- else {
223
- this.destroyWebSpeech();
224
- }
225
- }
226
- if (anyChanged(['lang', 'interimResults', 'maxAlternatives', 'continuous'], changes)) {
227
- if (this.speechRecognition) {
228
- this.speechRecognition.setOptions({
229
- lang: this.lang,
230
- interimResults: this.interimResults,
231
- maxAlternatives: this.maxAlternatives,
232
- continuous: this.continuous
233
- });
234
- }
235
- }
236
- }
237
- ngAfterViewInit() {
238
- const stylingOptions = ['size', 'rounded', 'fillMode'];
239
- stylingOptions.forEach(input => {
240
- this.handleClasses(this[input], input);
241
- });
242
- }
243
- ngOnDestroy() {
244
- this.destroyWebSpeech();
245
- this.subs.unsubscribe();
246
- }
247
- constructor(element, renderer, localization, ngZone) {
248
- this.renderer = renderer;
249
- this.ngZone = ngZone;
250
- validatePackage(packageMetadata);
251
- this.direction = localization.rtl ? 'rtl' : 'ltr';
252
- this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
253
- this.element = element.nativeElement;
254
- }
255
- /**
256
- * Indicates whether the button is actively listening for incoming audio.
257
- */
258
- isListening = false;
259
- /**
260
- * Indicates whether web speech functionality is supported.
261
- */
262
- get isWebSpeechSupported() {
263
- return this.speechRecognition ? this.speechRecognition.isSupported() : false;
264
- }
265
- set isFocused(isFocused) {
266
- toggleClass('k-focus', isFocused, this.renderer, this.element);
267
- this._focused = isFocused;
268
- }
269
- get isFocused() {
270
- return this._focused;
271
- }
272
- /**
273
- * @hidden
274
- */
275
- get hasText() {
276
- return isDocumentAvailable() && this.element.textContent.trim().length > 0;
277
- }
278
- /**
279
- * @hidden
280
- */
281
- onClick() {
282
- if (this.isWebSpeechSupported && this.integrationMode === 'webSpeech') {
283
- this.ngZone.run(() => {
284
- if (this.isListening) {
285
- this.speechRecognition.stop();
286
- }
287
- else {
288
- this.speechRecognition.start();
289
- }
290
- });
291
- }
292
- else if (this.integrationMode === 'none') {
293
- let asyncFactory = () => of(null);
294
- this.ngZone.run(() => {
295
- if (this.isListening) {
296
- this.end.emit(fn => asyncFactory = fn);
297
- }
298
- else {
299
- this.start.emit(fn => asyncFactory = fn);
300
- }
301
- const result = asyncFactory();
302
- const observable = this.toObservable(result);
303
- observable.pipe(take(1)).subscribe(() => this.isListening = !this.isListening);
304
- });
305
- }
306
- }
307
- /**
308
- * @hidden
309
- */
310
- get buttonSvgIcon() {
311
- return this.isListening ? this.stopSvgIcon : this.microphoneSvgIcon;
312
- }
313
- /**
314
- * @hidden
315
- */
316
- get buttonIcon() {
317
- return this.isListening ? 'stop-sm' : 'microphone-outline';
318
- }
319
- /**
320
- * @hidden
321
- */
322
- setAttribute(attribute, value) {
323
- this.renderer.setAttribute(this.element, attribute, value);
324
- }
325
- /**
326
- * @hidden
327
- */
328
- element;
329
- /**
330
- * @hidden
331
- */
332
- isDisabled = false;
333
- /**
334
- * @hidden
335
- */
336
- subs = new Subscription();
337
- microphoneSvgIcon = microphoneOutlineIcon;
338
- stopSvgIcon = stopSmIcon;
339
- speechRecognition;
340
- _size = DEFAULT_SIZE;
341
- _rounded = DEFAULT_ROUNDED;
342
- _fillMode = DEFAULT_FILL_MODE;
343
- _themeColor = DEFAULT_THEME_COLOR;
344
- _focused = false;
345
- direction;
346
- handleClasses(value, input) {
347
- const elem = this.element;
348
- const classes = getStylingClasses('button', input, this[input], value);
349
- if (input === 'fillMode') {
350
- this.handleThemeColor(this.themeColor, this[input], value);
351
- }
352
- if (classes.toRemove) {
353
- this.renderer.removeClass(elem, classes.toRemove);
354
- }
355
- if (classes.toAdd) {
356
- this.renderer.addClass(elem, classes.toAdd);
357
- }
358
- }
359
- handleStart() {
360
- this.ngZone.run(() => {
361
- this.isListening = true;
362
- this.start.emit();
363
- });
364
- }
365
- handleEnd() {
366
- this.ngZone.run(() => {
367
- this.isListening = false;
368
- this.end.emit();
369
- });
370
- }
371
- handleResult(event) {
372
- const results = event.results;
373
- const lastResultIndex = results.length - 1;
374
- const lastResult = results[lastResultIndex];
375
- const alternatives = [];
376
- for (let i = 0; i < lastResult.length; i++) {
377
- alternatives.push({
378
- transcript: lastResult[i].transcript,
379
- confidence: lastResult[i].confidence
380
- });
381
- }
382
- const args = {
383
- isFinal: lastResult.isFinal,
384
- alternatives: alternatives,
385
- };
386
- this.ngZone.run(() => {
387
- this.result.emit(args);
388
- });
389
- }
390
- handleError(ev) {
391
- const errorMessage = ev.error || ev.message || 'Unknown error';
392
- this.ngZone.run(() => {
393
- this.error.emit({ errorMessage });
394
- });
395
- }
396
- toObservable(input) {
397
- return input instanceof Observable ? input : from(input);
398
- }
399
- handleThemeColor(value, prevFillMode, fillMode) {
400
- const elem = this.element;
401
- const removeFillMode = prevFillMode || this.fillMode;
402
- const addFillMode = fillMode || this.fillMode;
403
- const themeColorClass = getThemeColorClasses('button', removeFillMode, addFillMode, this.themeColor, value);
404
- this.renderer.removeClass(elem, themeColorClass.toRemove);
405
- if (addFillMode !== 'none' && fillMode !== 'none') {
406
- if (themeColorClass.toAdd) {
407
- this.renderer.addClass(elem, themeColorClass.toAdd);
408
- }
409
- }
410
- }
411
- destroyWebSpeech() {
412
- if (this.speechRecognition) {
413
- this.speechRecognition.stop();
414
- this.speechRecognition.destroy();
415
- this.speechRecognition = null;
416
- this.isListening = false;
417
- }
418
- }
419
- createWebSpeech() {
420
- if (!isDocumentAvailable()) {
421
- return;
422
- }
423
- this.speechRecognition = new KendoSpeechRecognition({
424
- lang: this.lang,
425
- interimResults: this.interimResults,
426
- maxAlternatives: this.maxAlternatives,
427
- continuous: this.continuous,
428
- events: {
429
- start: this.handleStart.bind(this),
430
- end: this.handleEnd.bind(this),
431
- result: this.handleResult.bind(this),
432
- error: this.handleError.bind(this)
433
- }
434
- });
435
- }
436
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
437
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpeechToTextButtonComponent, isStandalone: true, selector: "button[kendoSpeechToTextButton]", inputs: { disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", integrationMode: "integrationMode", lang: "lang", continuous: "continuous", interimResults: "interimResults", maxAlternatives: "maxAlternatives" }, outputs: { start: "start", end: "end", result: "result", error: "error", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-icon-button": "this.iconButtonClass", "class.k-listening": "this.listeningClass", "class.k-speech-to-text-button": "this.speechToTextButtonClass", "class.k-button": "this.classButton", "class.k-disabled": "this.classDisabled", "attr.dir": "this.getDirection", "attr.aria-pressed": "this.ariaPressed" } }, providers: [
438
- LocalizationService,
439
- {
440
- provide: L10N_PREFIX,
441
- useValue: 'kendo.speechtotextbutton'
442
- }
443
- ], exportAs: ["kendoSpeechToTextButton"], usesOnChanges: true, ngImport: i0, template: `
444
- <kendo-icon-wrapper
445
- innerCssClass="k-button-icon"
446
- [name]="buttonIcon"
447
- [svgIcon]="buttonSvgIcon">
448
- </kendo-icon-wrapper>
449
- <span class="k-button-text"><ng-content></ng-content></span>
450
- `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
451
- }
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonComponent, decorators: [{
453
- type: Component,
454
- args: [{
455
- exportAs: 'kendoSpeechToTextButton',
456
- providers: [
457
- LocalizationService,
458
- {
459
- provide: L10N_PREFIX,
460
- useValue: 'kendo.speechtotextbutton'
461
- }
462
- ],
463
- selector: 'button[kendoSpeechToTextButton]',
464
- template: `
465
- <kendo-icon-wrapper
466
- innerCssClass="k-button-icon"
467
- [name]="buttonIcon"
468
- [svgIcon]="buttonSvgIcon">
469
- </kendo-icon-wrapper>
470
- <span class="k-button-text"><ng-content></ng-content></span>
471
- `,
472
- standalone: true,
473
- imports: [IconWrapperComponent]
474
- }]
475
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.NgZone }], propDecorators: { disabled: [{
476
- type: Input
477
- }], size: [{
478
- type: Input
479
- }], rounded: [{
480
- type: Input
481
- }], fillMode: [{
482
- type: Input
483
- }], themeColor: [{
484
- type: Input
485
- }], integrationMode: [{
486
- type: Input
487
- }], lang: [{
488
- type: Input
489
- }], continuous: [{
490
- type: Input
491
- }], interimResults: [{
492
- type: Input
493
- }], maxAlternatives: [{
494
- type: Input
495
- }], start: [{
496
- type: Output
497
- }], end: [{
498
- type: Output
499
- }], result: [{
500
- type: Output
501
- }], error: [{
502
- type: Output
503
- }], click: [{
504
- type: Output
505
- }], iconButtonClass: [{
506
- type: HostBinding,
507
- args: ['class.k-icon-button']
508
- }], listeningClass: [{
509
- type: HostBinding,
510
- args: ['class.k-listening']
511
- }], speechToTextButtonClass: [{
512
- type: HostBinding,
513
- args: ['class.k-speech-to-text-button']
514
- }], classButton: [{
515
- type: HostBinding,
516
- args: ['class.k-button']
517
- }], classDisabled: [{
518
- type: HostBinding,
519
- args: ['class.k-disabled']
520
- }], getDirection: [{
521
- type: HostBinding,
522
- args: ['attr.dir']
523
- }], ariaPressed: [{
524
- type: HostBinding,
525
- args: ['attr.aria-pressed']
526
- }], onFocus: [{
527
- type: HostListener,
528
- args: ['focus']
529
- }], onBlur: [{
530
- type: HostListener,
531
- args: ['blur']
532
- }] } });
@@ -1,31 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NgModule } from '@angular/core';
6
- import { KENDO_SPEECHTOTEXTBUTTON } from '../directives';
7
- import { IconsService } from '@progress/kendo-angular-icons';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./speechtotextbutton.component";
10
- // IMPORTANT: NgModule export kept for backwards compatibility.
11
- /**
12
- * Represents the exported package module.
13
- *
14
- * Required for adding SpeechToTextButton features in NgModule-based Angular applications.
15
- *
16
- * The package exports:
17
- * - `SpeechToTextButtonComponent`&mdash;The SpeechToTextButton component class.
18
- */
19
- export class SpeechToTextButtonModule {
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonModule, imports: [i1.SpeechToTextButtonComponent], exports: [i1.SpeechToTextButtonComponent] });
22
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonModule, providers: [IconsService], imports: [KENDO_SPEECHTOTEXTBUTTON] });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpeechToTextButtonModule, decorators: [{
25
- type: NgModule,
26
- args: [{
27
- exports: [...KENDO_SPEECHTOTEXTBUTTON],
28
- imports: [...KENDO_SPEECHTOTEXTBUTTON],
29
- providers: [IconsService]
30
- }]
31
- }] });
@@ -1,40 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Messages } from './messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * Represents a custom component for overriding the default SplitButton messages.
12
- * ([see example]({% slug rtl_buttons %})).
13
- */
14
- export class SplitButtonCustomMessagesComponent extends Messages {
15
- service;
16
- constructor(service) {
17
- super();
18
- this.service = service;
19
- }
20
- get override() {
21
- return true;
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
25
- provide: Messages,
26
- useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
27
- }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
30
- type: Component,
31
- args: [{
32
- providers: [{
33
- provide: Messages,
34
- useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
35
- }],
36
- selector: 'kendo-splitbutton-messages',
37
- template: ``,
38
- standalone: true
39
- }]
40
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });
@@ -1,39 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Messages } from './messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * @hidden
12
- */
13
- export class LocalizedSplitButtonMessagesDirective extends Messages {
14
- service;
15
- constructor(service) {
16
- super();
17
- this.service = service;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
21
- {
22
- provide: Messages,
23
- useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
24
- }
25
- ], usesInheritance: true, ngImport: i0 });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- providers: [
31
- {
32
- provide: Messages,
33
- useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
34
- }
35
- ],
36
- selector: '[kendoSplitButtonLocalizedMessages]',
37
- standalone: true
38
- }]
39
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });